 | Level: Intermediate Emilio F Zegarra (ezegarra@us.ibm.com), Advisory Software Engineer, IBM
28 Feb 2007 This article illustrates how to use the team environment capabilities in IBM® WebSphere® Business Modeler Advanced V6.0.2 to configure and use Concurrent Versioning System (CVS) as a source control tool to enable the sharing of business processes. This article is intended for business analysts interested in learning about connecting to a CVS server and the recommended methods for interacting with CVS when using WebSphere Business Modeler.
From the IBM WebSphere Developer Technical Journal.
Introduction
Although the result of a modeling process is a single current or future business process model, there are typically multiple business analysts working to construct that model. A successful model requires constant feedback and collaboration from the different process stakeholders at different stages of the modeling process. To support this effort, a modeling tool must support rapid changes, enable team members to share work in a safe and reliable manner, and at the same time ensure consistency of the processes and its modeling resources, such as business items, organization structures, and resources.
WebSphere Business Modeler Advanced V6.0.2 (hereafter called Business Modeler) provides robust functionality for generating business processes. It not only has modeling, simulation, and analysis features that enable the understanding of business processes, but it also lets different team members work on the same Business Modeler project concurrently. This article will demonstrate how to leverage this collaboration feature in Business Modeler using Concurrent Versioning System (CVS), a free version control system that enables users to record and store the history of source files. CVS stores the original files and their change history into a repository. To work with these files, all that you need is access to the CVS repository. (See Resources for information on configuring a CVS server.)
Sample environment
Figure 1 shows an overview of the environment configured by following the steps described in this article. Business analysts use Business Modeler to work on their business process models. As the work progresses, they routinely check their work into a CVS repository. To obtain the latest version of the models, business analysts synchronize their workspace with the CVS repository. Doing so extracts the latest version of the models into the user’s workspace.
Figure 1. Environment overview
To demonstrate this activity, a sample process called ProcessOrder is shown in Figure 2. The process models the activities that take place when a payment is processed after a new order is received by a fictitious store called CountyStore.
Figure 2. ProcessOrder process
The ProcessOrder process starts by requesting payment from the user. Based on the type of payment submitted, the process invokes the corresponding credit card company to process the payment. Finally, after the payment processing has completed, ProcessOrder acknowledges the order to the customer. The remainder of this article will demonstrate the activities that two business analyst would perform to add an additional type of payment to this process.
Because we want to demonstrate how two different business analysts can work on the same business process, we will execute the scenario as follows:
- Business Analyst 1 will first create a business modeling project and start an initial base model.
- Business Analyst 1 will then add this new business modeling project to CVS; this project will serve as the base from which changes will start to be tracked by CVS.
- Business Analyst 2 will then obtain this base version from CVS, make the changes to the business process, and then put the changes into CVS.
- Business Analyst 1 would then extract the changes from CVS, compare the version in his workspace against the latest one available in CVS, and finally obtain the new models from CVS.
Prerequisites
This article assumes you have a configured CVS or CVSNT server (CVSNT V2.5.03), WebSphere Business Modeler Advanced V6.0.2 properly installed and running, and a good understanding of modeling business processes using Business Modeler.
Configure CVS
To demonstrate the cooperation capabilities of CVS, we will use two different workspaces to represent two users working on the same business process (workspace01 and workspace02). To configure your workspace to be able to interact with a CVS repository:
Obtain required CVS configuration information.
You must obtain some information from your CVS Server Administrator before setting up your CVS environment. This information, shown in the table below, is required for accessing the CVS repository location where the business processes will be stored.
| Property | Value |
|---|
| CVS user ID | Login ID used to connect to the CVS repository location | | CVS user password | Password for the login ID | | CVS server host | Hostname of the machine were the CVS server is running | | Repository location | Path to the location in the CVS server where files are stored | | Connection type | Type of connections used |
To demonstrate how two users interact, we will use two different CVS login IDs. If you are unable to obtain two different login IDs, you can still perform the demonstration with a single user ID, the primary difference being that when looking at the author of the changes, the same user ID will be displayed.
Launch Business Modeler by selecting Start => All Programs => IBM WebSphere => Business Modeler.
When prompted for a workspace location, enter c:\workspace01 and click OK (Figure 3).
Figure 3. Open Workspace dialog
Business Modeler opens and displays the Welcome page and the Quick Start wizard. Click Cancel to close the wizard and then close the Welcome page.
Add the CVS repository.
To add a CVS connection from Business Modeler to the CVS server:
Select Windows => Open Perspective => Other.
Figure 4. Select Perspective
Select CVS Repository Exploring and click OK (Figure 4).
Right click in any blank area of the CVS Repositories view and select New => Repository Location. (Figure 5)
Figure 5. New Repository Location popup menu
On the Add CVS Repository dialog, enter the information based on the details provided by your CVS Server Administrator (Figure 6). Check Save Password if you do not want to enter your password every time you interact with the CVS server.
Figure 6. Add CVS Repository dialog
Click Finish.
Figure 7. New CVS repository added
An entry for the CVS repository appears in the CVS Repositories view. At this point, you have configured a connection to the CVS repository and you are now ready to start sharing projects. The next step is to begin working on your business processes. The dialog will perform a validation of the information provided and attempt to connect to the CVS server. If you have problems, double check the values entered in the dialog and then contact your CVS Server Administrator. (See Resources for information on compatibility issues between Eclipse and CVS.)
Add a project to source control
Before you can start sharing projects with other team members, you need to make your projects available from the CVS repository:
Import the business modeling project.
To demonstrate the use of CVS, we will use the business modeling project export download file, CountyStore.mar, included with this article. Save this file into a temporary folder (such as c:\temp) in your computer, and then follow these steps to import it into your workspace:
- Select Windows => Open Perspective => Other.
- Select Business Modeling (default) and click OK.
- Select File => Import => WebSphere Business Modeler Import and click Next.
- Select WebSphere Business Modeler Project (.mar, .zip) and click Next.
- Select Browse and locate the directory where you saved the CountyStore.mar file.
- Under Files, select CountyStore.mar, and for Target Project, click New.
- Enter
CountyStore as the project name and click Finish.
- Back in the WebSphere Business Modeler Import dialog, click Finish and then OK.
Now that the business modeling project is available in the workspace, you need to add it to CVS so that others can access it (next). Take time to explore the contents of this sample project: from the Project View, expand CountyStore => Processes and open the ProcessOrder process. Close the process when done.
Add business modeling project to CVS.
To add the CountyStore business modeling project to CVS:
From the Project tree, right-click CountyStore, then select Version => Share.
Figure 8. Share Project dialog
From the Share Project dialog (Figure 8), make sure the location you created is selected, then click Finish.
The Synchronize view opens, enabling you to commit your changes to CVS. Committing changes is how you confirm to CVS that you want to add the files to the CVS repository. To do so from the Synchronize view, right click on CountyStore, then select Commit to Repository (Figure 9).
Figure 9. Commit To Repository
From the commit dialog, enter Initial Version as the comment and click OK.
When the operation is completed, a window opens indicating that the local and CVS repository versions of the project are the same. Click OK to close it.
The current business process modeling project is now marked as the base from which new changes will be tracked by CVS.
Switch business analysts
Now, switch to Business Analyst 2 so that the "other user" can make changes to the business process. To simplify the set up, you will use a different workspace to represent this other business analyst. To switch workspaces:
Select File => Switch Workspace...
For the workspace location, enter C:\workspace02 and click OK (Figure 10).
Figure 10. Select Workspace dialog
If the Quick Start wizard displays, click Cancel and then close the Welcome Page.
Repeat the same steps performed to configure the CVS repository for the first business analyst. If the CVS administrator provided you an additional login ID and password for the second user, be sure to use that login ID in the Add CVS Repository dialog (Figure 11).
Figure 11. Add CVS Repository dialog
Completed the CVS connection configuration, then proceed to the next step.
Check out the latest project version
Now that Business Analyst 1 has added the base project to CVS, you (as Business Analyst 2) can access the latest available version. This step will extract the project from CVS and add it to your workspace. To obtain the latest version:
- Select Window => Open Perspective => Other...
- In the dialog, select Business Modeling (default) and click OK.
- Select Window => Show View => Other...
- Expand Business modeler views, select Repositories, then click OK (Figure 12).
Figure 12. Show View dialog
From the Repositories view, expand CVS => [repository name], right-click on CountyStore and select Check Out Project (Figure 13).
Figure 13. Check Out Project
This process adds CountyStore to Business Analyst 2’s workspace and downloads all the files available in the CVS repository for that project.
Figure 14. Switch to 4-pane layout
Select the Apply 4-pane layout icon from the tool bar (Figure 14) to view the list of projects available in the workspace.
When complete, you should now have the CountyStore project extracted from the repository available in your workspace. You can now proceed to make changes to the OrderProcess model.
Update the model
To make updates to the model:
- From the Project Tree view, expand CountyStore => Processes.
- Open the ProcessOrder process by double clicking on it.
- Modify the process model so that the new model looks as it does in Figure 15.
Figure 15. Final business process model
- Notice that a new output branch named TumiCard has been added to the Payment Type decision node, along with a task named Charge TumiCard. These new elements have been connected as shown.
- Save your changes.
- Close the ProcessOrder process.
At this point, Business Analyst 2 has completed making the required changes. Next, you will add these changes to the CVS repository. To do so, Business Analyst 2 must commit the changes to the CVS repository.
Commit updated project to the repository
Before placing updated versions into the CVS sepository, always synchronize with the latest version. Synchronizing shows you what processes or elements differ between the project in your workspace and the current copy in the CVS repository. It will also indicate whether other users have committed changes to the CVS repository since you last retrieved the project.
To synchronize your project:
From the Project tree right-click on CountyStore and select Version => Synchronize (Figure 16).
Figure 16. Synchronize popup menu
The Synchronize view lists the project indicating that the current version in the workspace differs from the latest version in the CVS repository. This is correct, since you, as Business Analyst 2, just made changes to the model. The gray right arrow (Figure 17) indicates that the version in the current workspace has been changed and can be committed to the repository.
Figure 17.Synchronize view
Right-click on ProcessOrder and select Commit to Repository... (Figure 18).
Figure 18. Commit To Repository
In the Commit dialog, enter the comment: Added TumiCard payment type, then click OK.
If all the elements in the project in the local workspace and the CVS repository are the same, a dialog will display indicating such. If so, click OK.
At this point, Business Analyst 2 has completed the requested changes. Now, Business Analyst 1 should obtain and review the changes to the model.
Compare changes between versions
Synchronizing projects only indicates that an element has changed; it does not indicate what changed. Use the Compare Changes Between Version operation when you want to see what has changed between the version in your workspace and the latest CVS repository version.
Always compare the changes that occurred between versions so that you have an understanding of exactly what was changed. The Compare operation provides information such as what was changed, who changed it, and when the change was made. All of this information is very useful for auditing purposes.
To continue, you need to switch repositories so that you can resume work as Business Analyst 1:
- Select File => Switch Workspace...
- For Workspace, enter
C:\workspace01 and click OK.
- If the Quick Start dialog displays, click Cancel.
You are now working as Business Analyst 1, so you will want to perform the Compare operation.
- From the Project Tree view, right-click on CountyStore => Processes => ProcessOrder.
- Select Version => Compare with the Latest Version...
The Comparison view opens. Select the items from the left side to see what has changed. For example, Figure 19 shows that the Charge TumiCard activity is not currently present in the local workspace version, but was created by user user02 (who is Business Analyst 2) in version 1.2 of the process model.
Figure 19. Comparison View
When Business Analyst 1 has inspected the changes that were made to the ProcessOrder process by Business Analyst 2, the next step is to update the local version with this latest version from the CVS repository. You cannot reject a change that has been committed to the repository.
Update to the latest version
To replace the current version in your workspace with the latest version available in the repository of a particular process:
- From the Project Tree, right-click on the CountyStore project, then select Version => Synchronize.
From the Synchronize view, you can view the list of processes that have changed since your last synchronization. A blue arrow pointing left represents incoming changes to the process models (Figure 20).
Figure 20. Update From Repository operation
To add the new version of the ProcessOrder process to the workspace, right click on the ProcessOrder process and select Update From Repository.
At the end of the operation, the new version of the process will be available in the workspace, and a message will display indicating the workspace and repository versions are equal. Click OK.
Figure 21. Local and remote elements are the same
From the Project Tree, expand CountyStore => Processes, and double click on ProcessOrder. The changes made by Business Analyst 2 should now be incorporated into the local copy of the ProcessOrder process in Business Analyst 1’s workspace.
Both business analysts now have the same version of the process in their workspace. To make further changes, they simply follow the same procedure. While it is possible to work on the same process at the same time, as demonstrated here, it is vital that all members of the team be aware of who is currently working on a process at any given time and that everyone maintain this communication channel.
About deleted or renamed elements
If you delete an element (like a business item or process) from a shared project in the project tree, other users sharing the project must also delete the element from their local workspaces. If they do not, because it is still in their workspace, the deleted element appears in the Synchronize view as data that they can send to the repository. Similarly, if you rename an element, the Synchronize view shows the renamed element as data you can send as outgoing data. Because the repository has not yet renamed the element, the old name appears as incoming data that you can update from the repository. When you commit the renamed element, the old name disappears from the Synchronize view. The old element is deleted from the repository, while the renamed element is added to the repository.
Conclusion
The article showed you how to easily set up Business Modeler to leverage CVS for cooperation between multiple business analysts in the design and development of business processes. The included instructions demonstrated how to:
- Add a CVS repository.
- Commit changes to a CVS repository.
- Synchronize modeling projects with a CVS repository.
- Compare changes between different versions of modeling projects.
- Update modeling projects to the latest version.
Acknowledgements
The author would like to thank Jim Naugle, William Lange, Wei Liu, and Catherine Rivi for their contributions, suggestions, and assistance with this article.
Download | Description | Name | Size | Download method |
|---|
| Sample application | CountyStore.zip | 53 KB | HTTP |
|---|
Resources
About the author  | 
|  | Emilio Zegarra is an Advisory Software Engineer in the IBM Software Services for WebSphere - Industry Solutions organization based in Pittsburgh, PA. His areas of interest include User Interface Design, J2EE, autonomous applications, and object-oriented development. Emilio is currently pursuing a PhD degree in Computer Science at the University of Pittsburgh. He holds an MS in Industrial Engineering from the University of Pittsburgh and an MS in Information Technology - Software Engineering from Carnegie Mellon University. You can contact Emilio at ezegarra@us.ibm.com. |
Rate this page
|  |