ebXML Collaboration Protocol Agreement (CPA) negotiation
About
The ebXML Collaboration Protocol Agreement (CPA) negotiation tool is a tool that allows you to evaluate the ebXML CPA negotiation process.
For testing purposes the system is setup to run two parties on the same system.
The tool includes various components:
- An ebXML Business Process (formermly Business Process Specification Schema BPSS) 1.06 engine (enough implemented to execute the automated CPA negotiation BPSS).
- A pseudo messaging system (actually transferring ruby objects over SOAP or XML-RPC)
- a framework to install collaboration domain managers
- An inventory sample which includes
- a inventory domain manager
- includes two sample backend applications.
- one to send inventory request messages and
- one to receive inventory request messages and to send inventory response messages
- the inventory domain manager and backend applications communicate via a Messaging Oriented Middleware called xmlBlaster (http://www.xmlblaster.org)
- an ebXML CPA negotiation implementation
- an ebXML CPA negotiation domain manager
- a negotiation backend that provides the enduser with a web or text interface to run through the CPA negotiation.
This implementation is more like the framework for an automated CPA negotiation. This implementation provides a negotiation backend that gets instructions from a human. This implementation does not provide a negotiation algorithm or negotiation agent that makes negotiation decisions or has any negotiation strategies etc. Aritificial intelligence may be used to implement such a negotiation agent that negotiates for ebXML CPA documents.
Note: To run the inventory example the xmlBlaster Message Oriented Middleware is required. This is currently not described in this installation document.
History
This implementation is from Sacha Schlegel and his Masters by Research studies in the areas of ebXML Collaboration Protocol Agreement formation process.
Version
Current version is: 0.0.9
Status
The project is beta version. Contributions welcomed
License
The Source Code of the "ebXML Collaboration Protocol Agreement (CPA) composition" tool is GNU General Public License (GPL) Version 2 which can be found at http://www.gnu.org/licenses/gpl.html
Download
Tool package
This package is too small to provide
- a ruby gem or
- a package installer
For Linux use: http://dev.havanawave.com/repos/cpa-negotiation/attachment/wiki/WikiStart/ebxml-bsi-architecture-0.0.9.tar.bz2
For Windows use: http://dev.havanawave.com/repos/cpa-negotiation/attachment/wiki/WikiStart/ebxml-bsi-architecture-0.0.9.zip
Source Code
svn checkout https://svn.havanawave.com:443/svn/cpa-negotiation
Installation
The tool is written in Ruby, an object oriented and interpreted programming language. The current Ruby version per September 2006 is Ruby 1.8.4. Ruby's website is http://www.ruby-lang.org/en/
There is a high chance that there is a ruby interpreter for your platform.
Ruby on Linux installation
The various Linux distributions mostly have the packages ready. To install ruby on the Debian GNU/Linux Distribution you can install ruby with apt-get as follow:
apt-get install ruby1.8
Ruby on Windows installation
For Windows there is a Ruby Installer that can be found at:
http://rubyinstaller.rubyforge.org/
After downloading the Windows one-click Ruby installer (file ruby184-20.exe) from the website and running the installer on Windows 2000 Professional you can check your ruby version with:
ruby --version ruby 1.8.4 (2006-04-14) [i386-mswin32]
Ruby on OSX installation
Mac OSX already comes with a ruby interpreter. So no need to install one.
Installation of the cpa-negotiation tool
Download the cpa-negotiation tool and unpack it to a dirctory and change into the cpa-negotiation directory.
On Linux you will need the bzip compression tool (mostly installed or available as package) you can unpack the file with:
tar xvfj ebxml-bsi-architecture-0.0.9.tar.bz2
as example lets say it is unpacked to "/tmp/ebxml-bsi-architecture"
On Windows use a Zip tool to unzip the zip file into a new directory.
as example lets say it is unpacked to "C:/temp/ebxml-bsi-architecture"
After unpacking the file change into the root directory of the unpacked file.
Configuration
The default setting should be OK for most use. But you can look at file bin/defaults.rb to check the available configuration settings.
Running
To run the ebXML CPA negotiation you will need:
- one terminal (or console) for company A
- one terminal (or console) for company B
- one terminal (or console) for the administration tool
- one browser to use the web interface to run the negotiation.
To start a termnal on windows go to the start button and click the "Run..." menu item. A dialog opens and asks you for the command to run. Type "cmd" and confirm it by pressing the "OK" button. You will have to do this three times.
Running the tool on Linux and Windows
Lets first start up company A.
cd /tmp/ebxml-bsi-architecture/bin ruby start1.rb
you will see that a system starts up.
Lets start up company B.
ruby start2.rb
again a system starts up. The system that is starting up is a Business Service System including the pseudo messaging system.
Last we have to start the administartion tool. So open a new terminal and
ruby admin.rb
In the administration tool you have various options. For example key "S" sends a message to both systems to print their status. Give it a try. But what we want is load the ebXML Business Process that defines the automated negotiation of CPA's. The key is N.
You will see that both systems receive the command and start to load the business process.
The default setting causes the Business Process System of company A and B to start a web interface. On Linux you have to point a browser to the following URL:
file:///tmp/ebxml-bsi-architecture/bin/webinterface.html
on Windows you have to point the browser to this URL:
file:///C:/temp/ebxml-bsi-architecture/bin/webinterface.html
On the browser you see two frames, the left frame points to the webserver of company A and the right frame points to the webserver of company B. The page refreshes every few seconds. The diagram shows you the current state of the negotiation. The two companies start up with a default "CPA template" and a default "Negotiation Description Document" (NDD; actually it is the CPA conflict file of the CPA composition). Company A on the left is the company that has to start the negotiation ... on the bottom of the left frame you the options you have available ... select it and send the "CPA Offer Doc" to company B. Once the "CPA Offer Doc" was sent to company B the webinterface of company B changes and shows you the available options you have at this stage. Select one and continue the negotiation.
At the end of the negotiation, that ended in a success or failure, you can reset the two Business Process Systems throught the administration console by the command NN.
Documentation
Other than the installation guide there is no further documentation available.
Attachments
- ebxml-bsi-architecture-0.0.9.tar.bz2 (0.7 MB) - added by sacha on 12/12/06 12:00:25.
- ebxml-bsi-architecture-0.0.9.zip (0.8 MB) - added by sacha on 12/12/06 13:12:31.
