Main Page
From FreebXMLBP Editor
Introduction
This document provides brief information about the ebBP Editor, and a User Guide for end-users presenting the usage and capabilities of the ebBP Editor. Please note that, this document DOES NOT provide a background on ebBP. Moreover, the ebBP Editor is based on the ebBP v2.0.1 specification, but is not dependent on this specification. That is, it can be easily adapted to future specification versions.
The ebBP Editor is a tool designed to help the user in creating generic as well as domain specific Business Process Specifications based on ebBP Version 2.0 by using semantic mechanisms. The editor lets the user to create Process Specifications from scratch or use the existing ones.
The ebBP Editor implementation is based on an XML Schema (XSD) Editor, which is used in creating the XML segments of ebBP process specification. This generic XSD Editor parses the XSD file and dynamically creates the graphical user interface of the corresponding element defined in the XSD. The user can then fill in the necessary fields by providing required information. The editor also provides the user with information about the necessity, cardinality and optionality of the fields. Once the user has filled in the information through the GUI, a validation check is made, and the information is serialized into XML.
The ebBP Editor also provides a graphical user interface to define domain specific business transaction classification hierarchies based on ebBP Business Transaction and the associated patterns. A user can specialize any of the generic ebBP Business Transaction patterns by specifying properties, or the document to be exchanged, but not necessarily a complete transaction. For this purpose, a basic ebBP ontology is dynamically extended. When the user finishes the specialization of a transaction template, the new transaction (template) is automatically annotated by a name given by the user.
When the user specializes a transaction annotated with a node of this ontology, a subclass is created with a name provided by the user, and the specialized transaction is annotated with it. Note that, the user has the ability to annotate this (template) transaction with the nodes of other domain-specific ontologies as well, since ebXML allows registry objects to be annotated with more than one classification hierarchy. The nodes of the ontologies introduced are then created in the ebXML registry as ClassificationNodes. Using these ClassificationNodes it is possible to search for specialized Transactions to be used as building blocks of Process Specifications.
The ebBP Editor is developed by the Middle East Technical University, Software Research and Development Center, Ankara, Turkey (http://www.srdc.metu.edu.tr) as a part of the IST-2103 ARTEMIS project sponsored by the eHealth Unit of the European Commission and is donated to the freebXML community.
Role of the ebBP Editor
The ebBP Editor does not only facilitate creating a Process Specification conforming to the latest ebBP specification, but also allows domain-specific semantic annotation of Business Transactions. This semantic information provides building blocks for creating a Business Process Specification Schema.
User Guide
Installation Requirements
ebBP and ebCPP editor requires a Java Virtual Machine (JVM) which implements Sun's Java 2 Standard Edition. Recommended versions are JDK or JRE version 1.5. ebBP and ebCPP has been tested to work with Sun's JDK build 1.5.0_04 on Windows platform. Sun's Java 2 SE is available from http://java.sun.com/j2se/. In order to avoid class loading problems, try using J2SE 1.5.
Starting the ebBP Editor
The ebBP Editor can be compiled with the “ant build” command. After successfully compiling, the “ant run” command will start the editor (see Figure 1).
Initially, the ebBP Editor starts together with the XMLStylist (XSD Editor, more information is available in section 3.3 about the XSD Editor) (see Figure 2). This is due to the fact that initially the editor starts with a Business Collaboration, and this Business Collaboration should be created with the XSD Editor.
The user is supposed to provide the name and name ID of the Business Collaboration at this stage. Of course, it is also possible to provide other attributes as well. After creating the Business Collaboration and closing the XSD Editor, the Business Collaboration will be represented with a tab in the ebBP Editor (see Figure 3).
ebBP Editor components
The ebBP Editor has three internal windows representing its three components. This window design facilitates further extensions to the ebBP Editor. The current components are the “ebBP Visual Component” window, “Graphical Components” window, and “Business Transaction Classification” window (see Figure 3).
The ebBP Visual Component provides a visual representation of the Process Specification. However, instead of representing the whole Process Specification graphically, the Business Collaborations are presented in separate tabs (see Figure 4).
At the top-left there are “new Business Collaboration” and “remove Business Collaboration” icons. The ebBP Visual Component has two tabs: one for the initialBusinessCollaboration, and one for the anotherBusinessCollaboration. In addition, at the bottom of the window, the properties of the selected item are displayed.
The Graphical Components Panel displays the constructs that can be created within a Business Collaboration. These constructs are: Role, Business Transaction Activity, Collaboration Activity, Complex Business Transaction Activity, Success, Failure, Fork, Join, and Decision (see Figure 5). Dragging and dropping a button into the Business Collaboration tab, will create the corresponding ebBP construct.
Finally, the third component is the “Business Transaction Classification” Window (see Figure 6). This component provides a semantic infrastructure for the Business Transactions. The window presents a dynamic ontology representing the classification of Business Transaction patterns, and lets the user specialize any of the Business Transactions or a specialized Business Transaction. The Business Transaction instances are then annotated in the ebXML registry by using the selected classification nodes.
XmlStylist - XSD Editor
Abstract
Xml Stylist is a tool that generates XML instance documents from a given XML Schema by providing a graphical user interface. Xml Stylist parses the XSD file and dynamically creates the graphical user interface of the corresponding elements defined in the XSD. The user can then fill in the necessary fields by providing the required information. The editor also provides the user with information about necessity, cardinality and optionality of the fields.
Once the user has filled in the information through the GUI, a validation check is made, and the information is serialized into XML.
Usage Areas
Xml Stylist has two major usages. First of all, its main usage is to create new XML instance documents that conform to a XSD document. Secondly, it can be used to edit existing XML documents. It may also be used to validate XML documents against an XML Schema file.
General View
The main screen of the Xml Stylist has 3 parts. At the top left part of the window, XSD file is visualized as a tree object. Below this, dynamically created XML file is shown. Right part of the window contains the selected XSD element details as a form. Figure 7 shows the general view of Xml Stylist.
General Usage
First of all, Xml Stylist forms the XSD tree by parsing the XSD file. When the user loads a XSD file, Xml Stylist checks if it has a single global element. If it contains multiple global elements, Xml Stylist shows the whole global elements and their children as a tree as shown in Figure 8. The user must specify the root element of the XML instance by selecting the appropriate element.
After that, the user can select the elements of the XSD file by clicking the XSD tree. A form, corresponding to the selected element is created dynamically at the right side of the window as shown in Figure 9.
This form is created as follows:
- Simple elements are shown as a text field, if their maximum occurrences are 1, or as a combo box, if their maximum occurrences are greater than one.
- Complex elements are shown as a link to their form. When you click their name on the form, it selects this element from the XSD tree and its form is displayed in the panel. If this elements maximum occurrence is greater than 1, a new button appears next to the link named “New Branch” which adds a new element to the XML document.
- Attributes are also shown as a text field.
Field labels give valuable information. As Figure 10 shows, if you hold your mouse over a label, a tool tip that displays namespace, scope and cardinality information appears. If the field is a required field, a star (*) appears before its label and the label is written in bold. Fields also have tool tips that show the type of that field.
Validation
Validation can be performed any time by clicking the validate toolbar button, clicking the Tools – Validate menu item in the menu bar or pressing the F11 button. This process is shown in Figure 11.
Limitations
Xml Stylist uses text fields for simple type elements that have at most one occurrence and combo boxes for simple type elements that have more than one occurrence. Deleting a simple type element that is visualized as a text field is easy. Just delete the text in the text field and click the Add button. But deleting from a combo box is not possible in this version.
Xml Stylist also can not support the whole XML Schema specifications right now. No type checking is made in text fields/combo boxes.
Creating a Business Collaboration
A Business Collaboration can be created by clicking on the new Business Collaboration icon on the “ebBP Visual Component” (see Figure 12). This will create a new Tab in the ebBP Visual Component Window.
The XSD Editor will come up, so that the user can provide details about the Business Collaboration as described in Section 3.4. After the user provides the information and closes the XSD Editor, a new Business Collaboration tab will be created in the ebBP Visual Component (see Figure 14).
Removing a Business Collaboration
A Business Collaboration can be removed by clicking on the remove Business Collaboration icon on the “ebBP Visual Component” (see Figure 15). After removing the Business Collaboration, the tab representing this Business Collaboration will disappear.
Creating a Role
A Role can be created by dragging and dropping the role button on the “Graphical Components” window into the ebBP Visual Component. The role will be created as a part of the Business Collaboration within the Tab selected.
First, the XSD Editor will come up. The user is supposed to fill in the Role details (see Figure 16). After providing the information and closing the XSD Editor, the new Role will be placed into the Business Collaboration (see Figure 17).
Creating a Business Transaction Activity
A Business Transaction Activity can be created by dragging and dropping the Business Transaction Activity button on the “Graphical Components” window into the ebBP Visual Component. The Business Transaction Activity will be created as a part of the Business Collaboration within the Tab selected.
As shown in Figure 18, the user should first select the businessTransactionRef field. The combo box displays all Business Transaction patterns (Notification, Commercial Transaction, Query Response, Request Response, Request Confirm, Information Distribution, and Data Exchange) previously created. The user may choose one of these, or decide to create a new Business Transaction.
If the user decides to create a new Business Transaction and presses the Create button, a dialog will come up presenting the possible Business Transaction patterns (Figure 19). The user can create any of these Business Transactions. The XSD Editor will come up to create the new Business Transaction. The user should not forget to create the Requesting and Responding roles of the Business Transactions. These are later used in associating the Roles in the Business Collaboration with the roles of the Business Transaction.
Upon closing the XSD Editor, the Business Transaction will be saved, and accessible from the combo box. (Note: At first the item may not appear in the combo box: either refresh the form, reselect the BusinessTransactionActivity node at the left (see Figure 20); or directly type in the nameID of the newly created Business Transaction into the combo box)
After filling in the details of the Business Transaction Activity and pressing the Add button (see Figure 20), the user should close the XSD Editor.
In Figure 21 the representation of the newly created Business Transaction Activities can be seen. There are two Business Transaction Activities to explain the representation in detail. Note that the first one (newBTA) is in blue, whereas the second one (BTA2) is white. This difference is due to the fact that the first one represents the Start construct as well. The user cannot add a Start construct by default, but the first Business Transaction Activity is processed to be the Start. This can be changed by the user by replacing the Business Transaction Activities by dragging.
Another difference is in the icons. Note that both Business Transaction Activities have different icons. This is because of the Business Transaction types they reference. The first one (newBTA) references a Query-Response Business Transaction, whereas the other references a Notification. Other types of Business Transactions also result in different icons.
Now that we added the Business Transaction Activity, the roles should be associated with it. By dragging the ports of the Roles to the Business Transaction, the requesting Role can be set. Similarly, the requesting role can be set by dragging a port from the Business Transaction Activity to the Role (see Figure 22).
Creating a Collaboration Activity
A Collaboration Activity can be created by dragging and dropping the Collaboration Activity button on the “Graphical Components” window into the ebBP Visual Component. The Collaboration Activity will be created as a part of the Business Collaboration within the Tab selected.
The Collaboration Activity references a Business Collaboration. When a Collaboration Activity is created, the XSD Editor presents the user available Business Collaborations. The user may select one of the available Business Collaborations, or decide to create a new one (Figure 23). When a new one is created (see section 3.4) a new tab is added accordingly.
After closing the XSD Editor, the collaboration will be placed into the Business Collaboration as shown in Figure 24.
Creating a Complex Business Transaction Activity
A Complex Business Transaction Activity can be created by dragging and dropping the Complex Business Transaction Activity button on the “Graphical Components” window into the ebBP Visual Component. The Complex Business Transaction Activity will be created part of the Business Collaboration within the Tab selected.
Creating a Success
A Success can be created by dragging and dropping the Success button on the “Graphical Components” window into the ebBP Visual Component. The Success will be created as a part of the Business Collaboration within the Tab selected.
Creating a Failure
A Failure can be created by dragging and dropping the Failure button on the “Graphical Components” window into the ebBP Visual Component. The Failure will be created as a part of the Business Collaboration within the Tab selected.
Creating a Fork
A Fork can be created by dragging and dropping the Fork button on the “Graphical Components” window into the ebBP Visual Component. The Fork will be created as a part of the Business Collaboration within the Tab selected.
Creating a Join
A Join can be created by dragging and dropping the Join button on the “Graphical Components” window into the ebBP Visual Component. The Join will be created as a part of the Business Collaboration within the Tab selected.
Creating a Decision
A Decision can be created by dragging and dropping the Decision button on the “Graphical Components” window into the ebBP Visual Component (see Figure 25). The Decision will be created part of the Business Collaboration within the Tab selected.
After creating the Decision, the user can create the FromLink and ToLink constructs. Dragging from a Business Transaction Activity port to a Decision port will create a FromLink. On the other hand, a ToLink will be created dragging vice versa (see Figure 26).
When a ToLink is created the user will be prompted to provide the condition expression. Multiple ToLink’s can be created.
Specializing a Business Transaction
Business Transactions can be specialized by selecting a node from the ontology, which represents a Business Transaction pattern, and then pressing the Specialize button (see Figure 27). The XSD Editor will come up with specialized fields, if any. When the non-specialized (raw) Business Transactions are selected for specialization, the fields will all be empty. The user can fill in any detail about the Business Transaction.
When finished (please remember to press the Add button to save your entries), the user should close the XSD Editor. Upon closing the XSD Editor, a Specialization window is opened (see Figure 28). This window specifies the annotation for the newly specialized Business Transaction.
The user should provide a name for the newly specialized Business Transaction. With this name a new subclass will be created in the dynamic ontology, and the transaction will be annotated with the Classification Node in the ebXML registry, that will be created dynamically. Note that, the user cannot remove this annotation from the list.
Note that, the user may annotate the transaction with a node within a domain-specific ontology as well, by entering the ontology URL into the field, and then pressing the Annotate button (see Figure 29). This will bring up the Annotation Window. The user can explore the ontology and select a node from the ontology, either using the tree representation or the alphabetically ordered list. Both representations have also a filter associated that filters the nodes beginning with the entered text (see Figure 29). When the user presses the Annotate button on this window (see Figure 29), the selected node is added to the annotation list. The user may remove this node later, after selecting the node and pressing the remove button.
After adding all the nodes for annotation, the user should press the OK button to create the specialized Business Transaction (a template), and annotate it with the selected classification nodes in the ebXML registry (see Figure 30). If Cancel is pressed no action will be taken.
The newly specialized Business Transaction can be seen in Figure 31.
Creating a Business Transaction
A Business Transaction can be created with two approaches: top-down, bottom-up. This is mainly due to the fact that the Business Transactions are not directly represented in the ebBP Visual Component. The Business Transactions should be part of a Business Transaction Activity. Therefore, the top-down approach is as follows: When adding a Business Transaction Activity (see Section 3.7), a user can provide the businessTransactionRef reference. This field is presented as a combo box, which presents the user with all Business Transactions created so far (as well as those in other Process Specifications with XInclude, see Section 3.20). The user can select (reuse) a previously created Business Transaction, or decide to create a new one, by pressing the Create button. When the user presses the Create button, a new XSD Editor window will be opened. The user can create a new Business Transaction with this instance of the XSD Editor.
The bottom-up approach is explained in the next section.
Creating a Specialized Business Transaction
The bottom-up approach is as follows: The user may drag and drop a Business Transaction or a specialized Business Transaction from the Business Transaction Classification Window. The user will be presented with an instance of the XSD Editor. The XSD editor will come up empty for the top level Business Transactions (non-specialized), or some fields pre-filled for the specialized Business Transactions. The user is supposed to fill in at least the rest of the required fields and close the XSD Editor window. Upon closing the XSD Editor, a default Business Transaction Activity will be created, that references the newly created Business Transaction.
Editing the Process Specification
The user may edit the Process Specification from the Edit->Process Specification menu. The XSD Editor will come up with the Process Specification created so far. The user can make changes which will be saved after the XSD Editor is closed.
Saving the Process Specification
The Process Specification can be saved from the File->Save menu. A Save Dialog is opened to determine the File location and File name. If the Process Specification was previously saved it is directly overwritten.
Importing another Process Specification (XInclude)
The ebBP Editor also supports XInclude. The user can Import a file through the FileImport menu. An open dialog will come up to determine the file to be imported. After importing the file, XInclude structures can be used. However, this is not reflected to the user. XInclude operations are possible only where fields are represented with combo boxes. Selecting a value existing in another file will result is the addition of the XInclude when the Process Specification is saved.
ebCPP Editor
This section of the document provides brief information about the ebCPP Editor. It is to show how to use ebCPP editor for creating ebXML Collaboration Protocol Profile and Aggrement documents.
The ebCPP Editor is an open source software tool designed to help the user create ebXML Collaboration Protocol Profile (CPP) and Collaboration Protocol Agreement(CPA). The editor is based on OASIS ebXML Collaboration Protocol Profile and Agreement Specification Version 2.0. The editor lets the user create new CPP documents or edit the existing ones easily.
The ebCPP Editor implementation is based on the XML Schema definitions of ebXML CPP/CPA specifications. The editor presents a graphical user interface that contains the necessary fields that should be filled to create valid CPP and CPA documents. To help user create valid CPP documents, the editor also provides the user with information about the necessity, cardinality and optionality of the fields. Once the user fills in the information through the GUI, a validation check is made, and the information is serialized into XML.
Using ebCPP Editor
Starting the ebCPP Editor
After successfully compilation, the “ant run.ebCPP” command will start the editor. Initially, the ebCPP Editor starts with an empty frame (see Figure 32). The user can create multiple instances of CPP documents at the same time. This is done by creating new documents or opening the existing ones to edit them. This is illustrated in Figure 33.
Creating a new CPP
A new CPP can be created by clicking on the new CPP icon on the menu toolbar (see Figure 34) or by clicking the “New CPP” menu item (see Figure 35). These will create a new internal frame in which the user can define CPP documents. This internal frame is shown Figure 36.
Opening a CPP
An existing CPP can be loaded to the editor to further add, edit or remove CPP elements in the document. CPP document can be opened by clicking the open icon in the menu bar (Figure 37) or by clicking the “Open CPP” menu item (Figure 38).
Creating/Editing PartyInfo
When the user presses the “Add” button while the PartyInfo tab is selected in the left pane of the internal panel (Figure 39), a new PartyInfo will be created and added to the list. The user selects one of the PartyInfo elements from the list to fill in information and, thus, identify the organization by defining the organization details. In the right panel of the internal frame, the information about party is defined through the nine tabs, which are “General”, “PartyId”, “PartyRef”, “CollaborationRole”, “Certificate”, “SecurityDetails”, “DeliveryChannel”, “Transport” and “DocExchange”. Through these tabs, logical identifiers for the organization, links to more information about the organization, roles of the party in the context of a process specification, certificates used by this party, trust anchors, security policy, characteristics of messaging details and protocols are described.
Creating/Editing SimplePart
When the user presses the “Add” button while the SimplePart tab is selected in the left pane of the internal panel (Figure 40), a new SimplePart will be created and added to the list. The user selects one of a SimplePart from the list to see the message constituents. In the right panel, the details of the constituent part details such as mime type.
Creating/Editing Packaging
When the user presses the “Add” button while the Packaging tab is selected in the left pane of the internal panel (Figure 41), a new SimplePart will be created and added to the list. The packaging details presented in the right panel describes how the constituents are packed for transmittal. The user can edit the existing packaging definitions or add new packaging for the constituents.
Creating/Editing Signature
When the user presses the “Add” button while the Signature tab is selected in the left panel (Figure 42), a new Signature will be created and added to the list. The Signature defined here contains digital signature used to sign the CPP document.
Creating/Editing Comment
When the user presses the “Add” button while the Comment tab is selected in the left panel (Figure 43), a new comment will be created and added to the list. The user can select the comment to edit from the list in the left panel. Using the fields in the right panel, the user can enter textual notes to the CPP document that serves any purpose the author desires.
Conclusion
This document provides a basic User Guide presenting the functionalities and capabilities of the ebBP Editor. Although the implementation provides a user interface for creating the Process Specification complying with the latest ebBP Specification, there are still some functionalities that need to be implemented. The editor also reflects some development based on ongoing research. In this respect, later versions may have extended functionalities, or changes in the implementation. Additionally, this document presents the functionalities and capabilities of the ebCPP Editor.
The applications presented in this document are developed as a part of the IST-2103 ARTEMIS project sponsored by the eHealth Unit of the European Commission. Thank you for using ebBP and ebCPP editor. We hope this User Guide has helped you get started with ebBP and ebCPP.












































