An Example of Business Process Modeling, Deployment and Execution in SOA-VM


In SOA Information Model (SOA-IM), either a business or an infrastructural process is modeled as a collaborative process. Each collaborative process has one or more collaborative process flows. A collaborative process flow is modeled by activities, decisions, events and other entities needed for its deployment and execution.

This example demonstrates modeling, deployment, and execution of the Order Promising collaborative process flow:


Figure 1: Order Promising Collaborative Process Flow

Activities are represented by rectangles, decisions by diamonds and events by circles. They are all connected with inputs and outputs depicted with arrows. Roles are in the swim-lanes on the left side. We will use this example to illustrate the steps of the methodology and to explain how Semantion SOA Virtual Machine (SOA-VM) works.

Figure 2 illustrates three main steps in process modeling, deployment and execution:


Figure 2: Business Process Modeling, Deployment and Execution

This example is executed in the following steps:

Step 1 - JBoss Web Services

This section documents deployment of JBoss-based Web Services used in the SOA-VM example.

Change your working directory to be the JBoss Web Services directory:

cd c:\semantion-2.1\examples\soavm\ws\jboss

Make sure that your JBoss home and jbossws.integration.target are properly set up in ant.properties.

Build and deploy JBoss Web Services:

ant

Step 2 - High-Level Business Process Modeling

High-level modeling of a business process includes the business process modeling and also modeling of participated organizations, people, services, messages that are going to be exchanged, etc.. The high-level business process model is done by the Value Reference Model (VRM) with output (Collaborative Process Information Document) generated in SOA-IM. The Collaborative Process Information Document (CPID) contains process activities, inputs, outputs and metrics. Organizations, people and messages are modeled in SOA-IM as well. Detailed services, resources and other needed models can be done using any corresponding reference models. The outputs of these models (WSDL, CPA, etc.) are referenced in SOA-IM.

Now, we will submit detailed definitions of organizations, people, and messages to the SOA-VM Federation Registry:

cd c:\semantion-2.1\examples\soavm ant setup

Step 3 - Detailed Business Process Modeling

This step (BPM in Fig. 2) includes detailed business process modeling.

The input of this step is the CPID generated in Step 2. If the URLs for the WSDL locations (i.e., http://localhost:8085/jaxws-ferasoa-checkproductcatalog/CheckProductCatalog?wsdl) in c:\semantion-2.1\examples\soavm\xml\cpid-demo.xml does not match your environment, update all these URLs containing port 8085.

The output of this step is the final version of CPID in SOA-IM (cpid-demo.xml). When the CPID is generated, it is submitted to the SOA-VM Federation Registry via Semantion Process Management Console (please see Fig. 3). Expand and click the Process Management/Modeling/Submit link. Using the Browse button download and submit the cpid-demo.xml document from c:\semantion-2.1\examples\soavm\xml folder.


Figure 3: Submit business process model (CPID)

As a result of the CPID submission, an execution concept of the business process model will be created and the cpid-demo.xml document will be associated with it in the registry:


Figure 4: Execution concept of the business process model

Finally, the run-time deployment needs to be done. This deployment prepares the process for the execution. Click the Run-time Deployment to perform this step.

Step 4 - Submit an Order

Now we are ready to submit an order since the Order Promising process model has been deployed:

ant order

When the order is submitted, the execution of the process will start and all CPID elements related to the process will be created:


Figure 5: Order Promising CPID elements

Expand and click the Process Management/Monitoring link to serach for the process and view above details.

At the end of the Order Promising collaborative process flow execution, Record Receivable and Order Committed alert events are executed by the Event Manager that instructs the Federation Manager to send the "Store Order has been committed" message to these events subscribers over the Federation Gateway:


Figure 6: Store Order Has Been Committed Message

SOA-IM and SOA-VM support not only business process modeling, deployment and execution but also any business process changes and/or extensions without coding. We purposely removed the Fix or Redo Order activity in the original CPID generated in Step 3. It can be seen in Fig. 5 that the Fix or Redo Order activity is missing. Now we can add the activity with all its related collaborative entities that will be included in the new version of CPID (cpid-new-demo.xml). The new CPID is located in c:\semantion-2.1\examples\soavm\xml\cpid-new-demo.xml. If the 8085 (JBoss) port is not used for the WSDL URLs, replace it with the corresponding port in c:\semantion-2.1\examples\soavm\xml\cpid-new-demo.xml using the Replace function of your text editor.

Click the Submit Model Document link (Fig. 4) to submit the c:\semantion-2.1\examples\soavm\xml\cpid-new-demo.xml document containing the new version of the process model. Now when the document is submitted, click the Run-time Deployment link to deploy the new version of the model.

If we submit one more order:

ant order

the execution of the process will start and the Order Promising collaborative process flow entities will also include just added Fix or Redo Order activity:


Figure 7: Order Promising CPID Elements