Skip to main content

Use WebSphere Business Services Fabric v6.1 to Build Composite Business Services: Part 3: Design and implementation

Yan Jun Mo, Software Engineer, IBM
Yan Jun Mo
Yan Jun Mo is a software engineer from Global Business Solution Center, IBM, where he is currently building SOA-based business solutions for the government industry.
Lei Zhang, Associate I/T Architect, IBM
Lei Zhang
Lei Zhang is the lead architect of Road User Charging (RUC) solution of Intelligent Transportation System (ITS) in government industry from Global Business Solution Center. WBSF is one of the important products in GBSC solution stack as part of SOA fundamental. Especially, in the 2007, Lei led a team to join the WBSF V6.1 BETA program, and verified the WBSF 6.1 is much valuable in the government solution development.
Peng Tang, Software Engineer, IBM
Peng Tang
Peng Tang is a software engineer from Global Business Solution Center, IBM, where he is currently building CBE (Common Business Enabler) to enhance the common business service usage among different industrial sectors.
Jing Feng Zhang, Software Engineer, IBM
Jing Feng Zhang
Jing Feng is a member of IBM GBSC, and focuses on issues of J2EE, SOA solutions, EAI, and BPM.
Wei Wang, Software Engineer, IBM
Wsdl Wang
Wei Wang is a software engineer from Global Business Service Center, IBM. Currently he is building SOA-based business solutions for the government industry.

Summary:  The first article in this series, Part 1: Overview of WebSphere Business Services Fabric v6.1, provides an overview of WebSphere Business Service Fabric 6.1. In Part 2: Scenario Introduction, Problem Statement, and Business Analysis, we introduced how WBSF can be used for a Visa Application scenario in which there is a need for dynamic service provider selection. In this third installment, we’ll detail all the steps involved in implementing the scenario in order to address the need by building a Composite Business Service, using WBSF 6.1.

View more content in this series

Date:  12 May 2009
Level:  Intermediate
Activity:  120 views

Introduction

The previous article of this series introduced a Visa Application scenario, where Embassy ABC needs to choose the most cost-efficient service provider from total four candidate service providers that have different response time and cost, to verify the information submitted by various type of Visa applicants. In this article, you will learn how to build a Composite Business Service using WBSF 6.1 to meet the business needs in this scenario.

A typical Composite Business Services development process involves several activities, roles and tools, as figure 1 illustrates. You can refer to Part 1 of this series, Overview of WebSphere Business Services Fabric v6.1, for a detailed explanation of this development model. In this third installment, we’ll cover the first five steps listed in the diagram. Step 6 will be discussed in Part 4 of our series, Business Monitoring Using Performance Manager.


Figure 1. Development model
Development model

Assumptions

This article assumes that you have the following components installed:

  • WebSphere Process Server 6.1
  • WebSphere Business Services Fabric Foundation Pack 6.1
  • WebSphere Integration Developer 6.1
  • WebSphere Business Services Fabric Tool Pack 6.1

It is also assumed that you complete the additional two setup activities after the installation:

  • Configure federated sources (Optional). If you are only using IBM Business Services Repository, skip this step. You need to configure IBM WebSphere Business Services Fabric (WBSF) to integrate it with Lightweight Directory Access Protocol (LDAP) and WebSphere Service Registry and Repository (WSRR) repositories, if they are being used.
  • Grant users access to WBSF (Mandatory): To start using WBSF, you must enroll an organization and its users into the system. Subsequently, you must carry out business service entitlement for the users by enrolling organizations and users in the business services to provide access to them.
  • Note: For WBSF installation and configuration, you can refer to the WBSF 6.1 installation guide.

Establish the Fabric Project

WBSF activities are carried out within the scope of a project. Each project is configured to be associated with metadata content and a specific team organization that maintains that content. At the start of a development project, you have to create a new Fabric project, assign a team to it, and allocate namespaces for the instances belonging to that project.

In this project, we will create an organization, Embassy ABC, a project, VisaApplication and two namespaces, Visa Application Schema NS and Visa Application Instance NS. To do this, open page http://SERVER:PORT/fabric/ with a Web browser and login the Fabric Admin Console. Then follow the steps below.

Create Organization

  1. Navigate to the Manage Subscriber page by selecting Subscriber Manager > Manage Subscriber.
  2. Click the Create an Organization button. Input Embassy ABC as Organization Name. Then click the Create Organization button.

Figure 2. Create an organization
Create an organization

Note: The organization created here won’t be used during the subsequent development process within this article except for the following Create Fabric Project step. Actually, it is intended for business monitoring. Please refer to Part 4: Business Monitoring Using Performance Manager.

Create a Fabric project

To create a Fabric project, follow the instructions below:

  1. Select Governance Manager > Configure Projects.
  2. Click the Create Project button.
  3. Input VisaApplication as the Project Name. Select Business Service as the Project Type and Embassy ABC as the Team Organization.
  4. Click the Create Project button.

Figure 3. Create a project
Create a project

Create Fabric namespaces

You need to create two namespaces:

  • Schema namespace: Used to store schema information.
  • Instance namespace: Used to store business service model instances.

Create a schema namespace:

  1. Select Governance Manager > Configure Namespaces.
  2. Click the Create a Namespace button.
  3. c. Create a Schema Namespace with the values in Table 1 below.

Table 1. Schema namespace values
FieldValue
Display NameVisa Application Schema NS
Namespace TypeSchema
Namespace URLhttp://www.abc.org/service/embassy/visa-application-sch#
Namespace Prefixvisa_pre
Owner ProjectVisaApplication

Figure 4. Create a namespace
Create a namespace

Repeat the process to create an Instance Namespace with the values shown in Table 2:


Table 2. Instance Namespace values
FieldValue
Display NameVisa Application Instance NS
Namespace TypeInstance
Namespace URLhttp://www.abc.org/service/embassy/visa-application-ins#
Owner ProjectVisaApplication

Note: Typically, a Fabric Project only needs one namespace of type instance. The schema namespace created here is intended for ontology extension. In Part 4: Business Monitoring Using Performance Manager, you will learn how to create enrollment namespaces for enrollments and subscriptions.


Extend Ontology

An ontology is a collection of definitions of the terms and concepts used to describe and represent an area of knowledge. OWL is the Web Ontology Language, and used by WBSF to represent ontological information.

Why extend ontology?

As discussed in the second article in this series, the Visa application scenario involves several business concepts: service providers, response time, cost, and service provider selection principles. You can benefit from WBSF in that these business concepts can be easily mapped to WBSF concepts.

  • Service providers are mapped to endpoints
  • Service provider selection principles are mapped to policies
  • Response time, and cost are mapped to assertions

From the WBSF’s perspective, policies are used to select the most suitable endpoints, which are differentiated by assertions. Assertions describe the capabilities of an endpoint, as Table 3 demonstrates.


Table 3. Endpoints and assertions
EndpointAssertions
EpVisaApplicationServiceHUGMaxResponseTime=5 daysCost=20$/tranc
EpVisaApplicationServiceOMMKMaxResponseTime=12 daysCost=10$/tranc
EpVisaApplicationServiceABQMaxResponseTime=17 daysCost=8$/tranc
EpVisaApplicationServiceUYMaxResponseTime=18 daysCost=5$/tranc

In addition to describing the endpoints’ capabilities, assertions can also be used to define policies. Conceptually, policies are declared in IF (condition) THEN (assertions) format. For example:

IF Visa Type = Student, THEN Response Time less than 20 days, where Visa Type = Student is the condition, while Response Time less than 20 days depicts the business requirements (in the form of assertions), indicating that the candidate service providers should have a maximum response time of 20 days. Note that the condition can also be described using assertions, like Visa Type = Student. Endpoints, assertions and policies will be further explained later in this article.

Now the question why extend ontology can be answered: because of the assertions. Though WBSF provides some built-in assertion types, it doesn’t have those specific to the Visa Application business scenario. More specifically, assertion type Cost is built-in, but ResponseTimeAssertion and VisaTypeAssertion need to be created by yourself through extending WBSF’s core ontology.

Extending the ontology

To extend the ontology, perform the following three steps:

  1. Export the VisaApplication project. In the Fabric Admin Console, select Governance Manager > Import/Export. Click the Export by Project tab. In the project dropdown list, select VisaApplication. Check Visa Application Schema NS. Click Export to File. This will create a ZIP file including a XML file and two OWL files, each for one namespace you created earlier.
  2. Create new assertions with Protégé and save the OWL file.
  3. Replace the OWL file for the schema namespace in the ZIP file with the one you created in previous step, using exactly the same file name. Import the ZIP file using Import/Export in Fabric Admin Console.

You can also download VisaApplication-owl.zip here and directly import it with the Import/Export feature, instead of creating new assertions by yourself.

You can open the OWL file with a text editor and take a look at how new assertion types are defined. The code snippet below is extracted from the file.


Listing 1. OWL file content
OWL file content

Build and Assemble Composite Business Services

Business Services are usually realized as an orchestration of existing functionality provided by enterprise backend systems, and external third party systems exposed as Web services. Prior to building Composite Business Services for the Visa Application scenario, you can presume that the Visa Information Verification interface has been properly defined, and HUG, OMMK, ABQ, as well as UY, have implemented the interface so that they can provide Visa Information Verification services (don’t worry about where these service providers really are. There will be a pre-built SCA Module project that comes with the Visa Information Verification interface definition and four implementations, and can be downloaded and deployed to simulate the four service providers).

Now you can get started building CBS based upon the existing Visa Information Verification services. To do this, you need to develop two projects:

  • Fabric Studio project: Reinforce the Fabric Project established with Governance Manager at previous stage by creating, editing, testing and submitting Business Service metadata such as interfaces, endpoints and policies.
  • DA Module project: This is an SCA Module project that assembles the Business Services using Business Services Dynamic Assembler (hereafter called Dynamic Assembler), which enables dynamic policy assembly and service selection based on the Business Service metadata created by Fabric Studio project and requests.

Import the SCA Module project

As mentioned above, a pre-built SCA Module project that implements the Visa Information Verification services is made available to you as a starting point. You can download the Project Interchange and import it into your Composition Studio (please see the Resources section for a link to downloads).

Once imported, you can find two projects within the Composition Studio: lib.visa_application and module.visa_application.impl. The former defines the interface for the Visa Application business scenario, while the latter provides four SCA components, i.e., ProviderHUG, ProviderOMMK, ProviderABQ and ProviderUY. Each SCA component implements the interface using a Java implementation and is exported as a Web service.

You also need to deploy these Web services to IBM WebSphere Application Server (WAS) or IBM WebSphere Process Server (WPS) to simulate the four service providers.

Build Composite Business Services

With a Studio project, you can develop the Business Services model by defining a set of objects that together form a hierarchical structure.

  • Application Suite: A collection of one or more applications that together support a functional area of a business.
  • Application: A collection of business services that together solve a business problem - synonymous with a Composite Business Service.
  • Business service: A specific business function whose behavior can be adapted at runtime based on the operating context of the request and policies established to meet the service consumer’s needs.
  • Interface: Defines the communication boundary between a service consumer and service provider. It constitutes the set of operations and messages involved.
  • Endpoint: The physical address of a service which implements one or more service interfaces.
  • Policy: Specifies the requirements of a consumer that must be met by an endpoint for a given context.

To implement the Visa Application scenario, you need to create the following objects, as listed in Table 4:


Table 4. Objects overview
IndexNameTypeDescription
1VisaApplicationSuiteApplication SuiteRepresents a suite of related applications. Here there is only one application that will be built.
2VisaApplicationAppApplicationRepresents the Composite Business Service you are going to build
3VisaApplicationBSBusiness serviceRepresents the Visa Information Verification business function within a Visa Application scenario
4IfVisaApplicationServiceInterfaceDefines the Visa Information Verification service
5EpVisaApplicationServiceHUGEndpointRepresents service provider HUG
6EpVisaApplicationServiceOMMKEndpointRepresents service provider OMMK
7EpVisaApplicationServiceABQEndpointRepresents service provider ABQ
8EpVisaApplicationServiceUYEndpointRepresents service provider UY
9VerifyTouristPolicyPolicySpecifies the requirements that must be met by a service provider when the Visa Type is Tourist
10VerifyBusinessPolicyPolicySpecifies the requirements that must be met by a service provider when the Visa Type is Business
11VerifyStudentPolicyPolicySpecifies the requirements that must be met by a service provider when the Visa Type is Student
12S1SimulateUsed to simulate endpoint selection scenario based on policies

In order to create these objects, the following steps needs to be performed:

Start Composition Studio and switch to the Business Service perspective.

Create a new project.

  1. Right click in the Business Service Explorer view. From the context menu, select New > Fabric Project.
  2. In the New Fabric Project window, input studio.visa_application as the project name.

Figure 5. Create a fabric project
Create a fabric project
  1. Click the Next button.
  2. Click Configure. In the popup window, specify the protocol, host name, port, user name and password. Click OK.
  3. After the metadata from Business Services Repository being retrieved into the local repository, click the Next button.
  4. Select VisaApplication as the fabric project, click Finish.

Create an application suite.

  1. Right click in the Business Service Explorer view. Select New > Application Suite.
  2. In the New Application Suite window, specify studio.visa_application, VisaApplicationSuite and Visa Application Instance NS as the project, name and namespace respectively.
  3. Click Finish.

Figure 6. Create an application suite
Create an application suite

Create an application.

  1. Right click in the Business Service Explorer view. Select New > Application. The New Application window opens.
  2. For the project, select studio.visa_application. In the name field, enter VisaApplicationApp. Select Visa Application Instance NS as the namespace. Click the Browse button and select VisaApplicationSuite.
  3. Click Finish.

Figure 7. Create an application
Create an application

Create a Business Service.

  1. Right click in the Business Service Explorer view. Select New > Business Service.
  2. Select Optimization Service, click the Next button.
  3. In the New Optimization Service window, specify studio.visa_application as the project, VisaApplicationBS as the name, Visa Application Instance NS as the namespace and VisaApplicationApp as the application. Click Next.

Figure 8. Create a business service
Create a business service
  1. Click the Add Channel… button. Enter Web Service in the Display Name field. Select WebServiceChannel from the Matching Channel Types list. Click the OK button, and then the Next button.
  2. Click the Add Role Type… button and select Administrator from the list.
  3. Click Finish.

Create an interface.

  1. Right click in the Business Service Explorer view. Select New > Interface.
  2. In the Import Interfaces window, select studio.visa_application as the project and Visa Application Instance NS as the namespace.
  3. Click the Browse button, navigate to the folder that contains the lib.visa_application project imported earlier, select IfVisaApplicationService.wsdl and click Open.
  4. Click Next.
  5. Select the IfVisaApplicationService Port Type, click the Add button.
  6. Click Finish.

Create endpoints that represent the four service providers.

a). Create an endpoint named EpVisaApplicationServiceHUG

  1. Right click in the Business Service Explorer view. Select New > Endpoint.
  2. In the New Endpoint window, select studio.visa_application as the project.
  3. Enter EpVisaApplicationServiceHUG in the Name field.
  4. Select Visa Application Instance NS as the namespace.
  5. Select HTTP as the address.

Figure 9. Create an endpoint
Create an endpoint
  1. Click Next.
  2. Select SOAP 1.1 as the message type.
  3. In the URL field, enter http://HOST:PORT/module.visa_application.implWeb/sca/VisaApplication_HUG_Export, where the HOST/PORT is the host name/port number of your application server on which your Visa Application Web services deployed.
  4. Click Finish.

b). Associate the endpoint to the IfVisaApplicationService interface.

  1. In the Business Service Explorer view, double click the EpVisaApplicationServiceHUG endpoint.
  2. In the editor area, click the Interfaces tab.
  3. Click the Add Existing… button.
  4. Select IfVisaApplicationService and click OK.

c). Add an assertion to the endpoint.

  1. Switch to the Assertions tab.
  2. Click the Add… button.
  3. Expand Interoperability Assertion and select ResponseTimeAssertion. Click OK.
  4. In the Response Time field, input 5.

d). Add cost to the endpoint.

  1. Switch to the Overview tab.
  2. Select Transaction as the cost modifier.
  3. In the Cost field, enter 20.

Repeat the steps above to create the other three endpoints with the same values except those shown in Table 5, Table 6 and Table 7.


Table 5. OMMK provider values
FieldValue
NameEpVisaApplicationServiceOMMK
URLhttp://HOST:PORT/module.visa_application.implWeb/sca/VisaApplication_OMMK_Export
Response Time for the assertion12
Cost10

Table 6. ABQ provider values
FieldValue
NameEpVisaApplicationServiceABQ
URLhttp://HOST:PORT/module.visa_application.implWeb/sca/VisaApplication_ABQ_Export
Response Time for the assertion17
Cost8

Table 7. UY provider values
FieldValue
NameEpVisaApplicationServiceUY
URLhttp://HOST:PORT/module.visa_application.implWeb/sca/VisaApplication_UY_Export
Response Time for the assertion18
Cost5

Create policies

a). Create a policy named VerifyTouristPolicy

  1. Right click in the Business Service Explorer view. Select New > Policy.
  2. In the Create a Policy window, select studio.visa_application as the project.
  3. In the Name field, enter VerifyTouristPolicy.
  4. Select Visa Application Instance NS as the namespace.
  5. Click the Browse… button. In the Select Target window, select interface and then IfVisaApplicationService. Click OK.
  6. Click Next.

Figure 10. Create a policy
Create a policy
  1. Accept the default Policy Context values. Click Next.
  2. Click the Add… button.
  3. In the popup Content Selection window, select VisaType as the content type.
  4. Click the Add Content… button. Select Tourist as the VisaType. Click OK.
  5. Click OK to close the Content Selection window.
  6. Click Finish.

b). Add Assertion to the policy

  1. In the editor area, click the Add… button.
  2. Expand Interoperability Assertion and select ResponseTimeAssertion. Click OK.
  3. In the Response Time field, input 10. Click OK.

Repeat the steps above to create VerifyBusinessPolicy policy and VerifyStudentPolicy policy with the same values except those shown in Table 8 and Table 9.


Table 8. VerifyBusinessPolicy values
FieldValue
NameVerifyBusinessPolicy
VisaType for Content SelectionBusiness
Response Time for ResponseTimeAssertion15

Table 9. VerifyStudentPolicy values
FieldValue
NameVerifyStudentPolicy
VisaType for Content SelectionStudent
Response Time for ResponseTimeAssertion20

Policies are declared in IF (condition) THEN (assertions) format, where the condition is defined using the context and the content, while the assertions form the contract. Context is the metadata housed in the Business Services Repository. Content information is housed in the payload from the requester (that is, the headers and body). The contract is the set of assertions that have to be met by a service provider at runtime based on the context and content.

WBSF uses context and content to assemble policies, and contract to calculate endpoint selection. How context, content, contract and policy work together will be further discussed later in this article.

Create and run simulates:

  1. Right click in the Business Service Explorer view. Select New > Simulate.
  2. In the Name field, input S1. Accept all other values. Click Finish.
  3. In the editor area, click the Browse… button in the Required Context section.
  4. Select IfVisaApplicationService and click OK.
  5. Click the Add Content-based Dimension... button in the Optional Context section. Select VisaTypeAssertion, click OK. Click the Edit… button. Select Student as the VisaType, click OK.
  6. Click Run to simulate the policy.

Figure 11. Run a simulation
Run a simulation
  1. Change the VisaType to Business. Click Run.
  2. Change the VisaType to Tourist. Click Run.

The simulation results are listed in Table 10. From the table, you can see the results are exactly the same as that described in previous article.


Table 10. Simulation result
ScenarioContext/ContentPolicy AppliedCandidates FoundEndpoint Selected
1Interface=IfVisaApplicationService VisaType=StudentVerifyStudentPolicyEpVisaApplicationServiceUY
EpVisaApplicationServiceABQ
EpVisaApplicationServiceOMMK
EpVisaApplicationServiceHUG
EpVisaApplicationServiceUY
2Interface=IfVisaApplicationService VisaType=BusinessVerifyBusinessPolicyEpVisaApplicationServiceOMMK
EpVisaApplicationServiceHUG
EpVisaApplicationServiceOMMK
3Interface=IfVisaApplicationService VisaType=TouristVerifyTouristPolicyEpVisaApplicationServiceHUG EpVisaApplicationServiceHUG

Take a look at testing scenario 1, in which there are two input conditions:

Interface=IfVisaApplicationService (context) and VisaType=Student (content). All of the three policies met the context condition, while only VerifyStudentPolicy met the content condition. As a result, WBSF applied VerifyStudentPolicy, which has a ResponseTimeAssertion with the value 20 (contract), meaning that only those endpoints which have a maximum response time of 20 are required. Here all of the four endpoints meet the requirements since they all have a response time less than 20 (5, 12, 17, 18 respectively, as their ResponseTimeAssertion indicates). To decide which endpoint was the most suitable one, the cost was further evaluated. EpVisaApplicationServiceUY was finally selected because its cost is the lowest among all those candidates.

By analyzing the last two testing scenarios, you may get a deeper understanding of how context and content contribute to policy evaluation, and how contract determines endpoint selection.

Assemble Composite Business Services

WBSF provides Dynamic Assembler for Business Service assembling. The Dynamic Assembler is a highly optimized, metadata driven assembler that links service consumers to service providers and can be thought of as a smart proxy that determines which endpoints to use based on requests.

WBSF is capable of using the Dynamic Assembler in two different component modes: Dynamic Assembler as an SCA component and Dynamic Assembler as a stand alone component. The SCA approach is the IBM recommended mode.

To adopt Dynamic Assembler with the SCA mode, you need to create a Module project following the steps below.

a.) Create a SCA Module project:

  1. From the File menu, select New > Project…, and then Module in the New Project window. Click Next. Enter da.visa_application in the Module Name field. Click Finish.
  2. In the Business Integration view, right click on da.visa_application. Select Properties and then Java Build Path in the Properties window. Click Libraries tab, add three external JARs: fabric-da-api.jar, fabric-da-sca.jar, fabric-da-scdl.jar. You can find these JARs in the ToolPack installation directory.

b.) Create a Dynamic Assembler component:

  1. Drag the Dynamic Assembler component and drop it to the canvas of the assembly editor. Rename it to VisaApplicationDA.
  2. Double click the VisaApplicationDA component to implement it. Accept the default folder if prompted. On the Dynamic Assembly Configuration page, accept the default settings.

Note: Implementing a Dynamic Assembler component is quite simple. It doesn’t require you to implement any business logic. All you need to do is to double click it and to complete the configuration.

c.) Create a Context Extractor component. Dynamic Assembler comes with an extension model, with which you are able to customize plug-ins that can be invoked during the service invocation lifecycle. Here you need to create a Context Extractor extension that enables you to inspect request message body and inject values to the context.

  1. Drag the Java component and drop it to the canvas of the assembly editor. Rename it to VisaApplicationExtractor.
  2. Add the com.ibm.websphere.fabric.da.plugin.ContextExtractor interface to the VisaApplicationExtractor component.
  3. Double click to implement the VisaApplicationExtractor component. Add constant attributes Type_URI and VISA_TYPE to the implementation class:

Listing 2. Add two constants

private static final String Type_URI = 
"http://www.abc.org/service/embassy/visa-application-sch#VisaType";
	private static final String VISA_TYPE = "visaType";
			

  1. Complete the extractContext method (the one with a PendingRequest object as the parameter) by adding the following code:

Listing 3. The extractContext method

DataObject body = arg0.getMessageBody();
	DataObject request = (DataObject) body.getSequence(0).getValue(0);
	BusinessObject request1 =  (BusinessObject) request.getSequence(0).getValue(0);
	String type = (String) request1.getString(VISA_TYPE);
	Context context = arg0.getContext();
	context.setSelectionProperty(Type_URI, new TypedValue(type));
	return context;
			

The code snippet above extracts VisaType from the request and adds it to the context. At runtime, the Context Extractor extension is invoked right before the policy is built. Subsequently, the assembler performs policy evaluation and selection based on the values injected.

  1. Finally, wire the VisaApplicationDA component to the VisaApplicationExtractor component.

The final assembly diagram should look like Figure 12.


Figure 12. Assembly diagram
Assembly diagram

Publish Composite Business Services Metadata

Now you have created the business service metadata with the Composite Studio. The metadata need to go through the governance process for approval. Typically this involves two steps made by two different roles: (1) A developer submits the changelist from the Composite Studio; (2) An administrator reviews the business service metadata changes, approves them, and publishes them to the repository.

Submit the changelist from the Studio Project

  1. In Repository Changes view, right click on studio.visa_application. From the context menu, select Submit Changelist.
  2. Check the studio.visa_application radio. Click Next.
  3. Click the Add All >> button.

Figure 13. Submit changelist
Submit changelist
  1. Click Finish.

Approve and publish the changes within the Fabric Admin Console

  1. Select Governance Manager > Manage Changes.
  2. On the Manage Changes page, click Search.
  3. Approve and publish the changes.

Figure 14. Publish changes
Publish changes

Deploy and test

So far you have built the Composite Business Services for Visa Information Verification, submitted the metadata, and approved/published the changes. Now you can perform a test on the Dynamic Assembler component to verify the CBS you have just published.

  1. In the Composition Studio, switch to the Business Integration perspective.
  2. Expand the da.visa_application project. Double click the Assembly Diagram.
  3. In the Assembly Diagram, right click on the VisaApplicationDA component.
  4. Select Test Component.
  5. Change the value of the initial request parameter VisaType to Business.

Figure 15. Test the component
Test the component
  1. Click the Start button.
  2. Select an appropriate deployment location. Click Finish.

In the Console view, you can see the output messages that look like Figure 16.


Figure 16. Console
Console

This means that the OMMK provider is selected.

Similarly, you can try different testing scenarios by changing the initial request parameter VisaType to Student or Tourist.

Congratulations! You have finished all the steps needed to build a Composite Business Service after a rather long journey.


Summary

In this article, you learned how to build Composite Business Services to adopt a dynamic policy-driven mechanism provided by WBSF 6.1 to make the service invocation more flexible. In the next article of this series, you will learn how to monitor the Business Service using performance manager.



Downloads

NameSizeDownload method
http://download.boulder.ibm.com/ibmdl/pub/software/dw/webservices/ws-WSBFoverviewpart1/VisaApplication-owl.zip9KBHTTP
http://download.boulder.ibm.com/ibmdl/pub/software/dw/webservices/ws-WSBFoverviewpart1/visa_app.zip33KBHTTP

Information about download methods


Resources

About the authors

Yan Jun Mo

Yan Jun Mo is a software engineer from Global Business Solution Center, IBM, where he is currently building SOA-based business solutions for the government industry.

Lei Zhang

Lei Zhang is the lead architect of Road User Charging (RUC) solution of Intelligent Transportation System (ITS) in government industry from Global Business Solution Center. WBSF is one of the important products in GBSC solution stack as part of SOA fundamental. Especially, in the 2007, Lei led a team to join the WBSF V6.1 BETA program, and verified the WBSF 6.1 is much valuable in the government solution development.

Peng Tang

Peng Tang is a software engineer from Global Business Solution Center, IBM, where he is currently building CBE (Common Business Enabler) to enhance the common business service usage among different industrial sectors.

Jing Feng Zhang

Jing Feng is a member of IBM GBSC, and focuses on issues of J2EE, SOA solutions, EAI, and BPM.

Wsdl Wang

Wei Wang is a software engineer from Global Business Service Center, IBM. Currently he is building SOA-based business solutions for the government industry.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and Web services, WebSphere
ArticleID=388795
ArticleTitle=Use WebSphere Business Services Fabric v6.1 to Build Composite Business Services: Part 3: Design and implementation
publish-date=05122009
author1-email=moyanjun@cn.ibm.com
author1-email-cc=
author2-email=zhanglei@cn.ibm.com
author2-email-cc=
author3-email=tangpcdl@cn.ibm.com
author3-email-cc=
author4-email=zjfeng@cn.ibm.com
author4-email-cc=
author5-email=wsdl@cn.ibm.com
author5-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers