Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Creating flexible service-oriented business solutions with WebSphere Business Services Fabric, Part 4: Creating metadata for the business process

Rohit Sardesai (rohitsardesai@in.ibm.com), Software Engineer, IBM
Rohit Sardesai photo
Rohit Sardesai works as a software engineer in the IBM India Software Lab, in Mumbai. He is part of the IBM WebSphere Business Services Fabric team. You can reach Rohit at rohitsardesai@in.ibm.com.
Manojkumar Pal (palmanojkumar@in.ibm.com), Software Engineer, IBM
Manojkumar Pal photo
Manoj Pal is a software engineer in the IBM India Software Lab, in Mumbai. He is part of the IBM Websphere Business Services Fabric. You can reach Manoj at palmanojkumar@in.ibm.com.
Pankuj Chachra (chpankuj@in.ibm.com), Quality Assurance Architect, IBM
Pankuj Chachra photo
Pankuj Chachra is a IBM Quality Assurance Architect and Technical Lead working on WebSphere Business Services Fabric. You can reach Pankuj at chpankuj@in.ibm.com.
Suresh Das (dasuresh@in.ibm.com), Quality Assurance Lead, IBM
Suresh Das photo
Suresh Das is a Test Lead working on Websphere Business Services Fabric Composition Studio. He is responsible for test planning, execution, automation for Composition Studio.He is also responsible for Global Verification Test and Translation Verification Test coordination. You can reach Suresh at dasuresh@in.ibm.com.

Summary:  Learn how you can leverage the features of WebSphere Business Services Fabric to build composite business applications that support dynamic binding and orchestration. Part 4 of this series describes how to create metadata for a business process based on the Fabric Business Service Model. This metadata enables users to reuse and extend existing components, and enables dynamic endpoint selection at run-time.

View more content in this series

Date:  12 Nov 2008
Level:  Introductory PDF:  A4 and Letter (597KB | 24 pages)Get Adobe® Reader®

Activity:  3034 views
Comments:  

Introduction

The WebSphere Business Services Fabric (hereafter called Fabric) Business Service Model provides a rich domain for modeling composite business applications. You can use the Fabric Business Services Composition Studio (Composition Studio) and the administrative console to create instances of types defined in the Business Service Model and store them in the Business Services Repository as metadata. This metadata can be used by other developers to understand and reuse existing components or refine and extend them for their specific needs. The metadata can also be used by the Business Services Dynamic Assembler (Dynamic Assembler) to make routing decisions at run-time. For more information on the Business Service Model, refer to the WebSphere Business Services Fabric Version 6.1 Information Center.

In previous articles in this series, we designed and implemented an auto loan procurement business process. In this article, you'll learn how to create the metadata from the business process.

Prerequisites

In order to complete the steps in this article, you need the following software installed on your system:

  • IBM WebSphere Integration Developer V6.1
  • IBM WebSphere Business Services ToolPack V6.1 (Unit Test Environment)

The Fabric assembly process

Fabric provides a governed environment that enables administrators, architects, business analysts, and developers to collaborate, assemble and deliver business services in an SOA system. Figure 1 shows a high-level view of the Fabric assembly process.


Figure 1. Fabric assembly process
Fabric assembly process

We'll follow this process for our auto loan application, starting with the set-up stage. We'll skip the set-up of federated sources since we won’t be using any. We'll start by setting up the organization and users of the system.

Create an organization and a user

Fabric supports multiple development teams working together to build business services using the Business Service Fabric model to create SOA applications. You can use the Fabric model to organize business applications to make SOA governance easier. In this section, we'll create an organization and a user.

An organization can have employees with varying responsibilities. You can form various teams within an organization, and assign different roles within a team. You can then create users with the appropriate roles and assign them to different teams. This enables administrators to provide the appropriate privileges to users based on role. Complete the following steps to create an organization and a user.

To define an organization entity that will own the Fabric project where you'll store all the metadata for the application, complete the following steps:

  1. Log in to the Fabric administrative console by pointing your browser to the following URL: http://localhost:<port>/fabric. For example, http://localhost:9081/fabric/, if the Unit Test Environment (UTE) is running on port 9081.
  2. Select My Services => Subscriber Manager => Manage Subscribers.
  3. Click Create an Organization.
  4. Specify Auto-org as the Organization name and click Create Organization.
  5. Click the Users tab, then click Create a User.
  6. Specify aut-admin for the User ID, and fill in the remaining required fields. Add the Administrator role , and click Create User.

Create a Fabric project

Before you can define the metadata for the business process, you first need to define a Fabric project in the Fabric Governance Manager. A Fabric project is used to group all the metadata related to your business service. This metadata can be exported and shared with other developers. To create a Fabric project, do the following:

  1. Select Governance Manager => Configure Projects.
  2. Click Create a Project, and provide the following information, as shown in Figure 2:
    • Name: Auto Loan Instance Model
    • Project Type: Business Service
    • Team Organization: Auto-org
  3. Click Create Project.

    Figure 2. Create a project
    Create project

  4. Now you need to create a namespace for holding service instance metadata and associate it with the project created above. Click the Namespaces tab and click Create a Namespace, then provide the following information as shown in Figure 3:
    • Display Name>: Auto Loan Instance NS
    • Namespace Type: Instance
    • Namespace URI: http://www.ibm.com/autoloan/inst#
  5. Click Create Namespace.

    Figure 3. Create a namespace instance for the project
    Create namespace

Create metadata for the composite service and interfaces

Now that you've created users, projects and namespaces, the next step, as shown in the assembly process in Figure 1, is to create a project. You can use the Composition Studio, an Eclipse-based plug-in, to create metadata for your applications. The metadata is then stored in the Business Services Repository and used by the Dynamic Assembler for dynamic endpoint selection.

To replicate the project you just created into the Composition Studio and create service metadata for the composite service interfaces and endpoints in this project, complete the following steps:

  1. In WebSphere Integration Developer, switch to the Business Service perspective.
  2. Select Window => Open Perspective => Other, and select Business Service.
  3. Select File => New => Project => Business Services Fabric => Fabric Project, as shown in Figure 4.

    Figure 4. Configure a Fabric project
    Configure project

  4. Click Next.
  5. Enter the project name and click Next.
  6. Click Configure, as shown in Figure 5.

    Figure 5. Configure a Fabric project
    Configure project

  7. Specify the repository connection information, as shown in Figure 6, by specifying the following information:
    • Hostname: localhost. The host where Fabric is deployed.
    • Port: portnumber. The port on which the Fabric UTE server is running (for example, 9081).
    • Username: admin
    • Password: admin
  8. Click OK.

    Figure 6. Specify repository connection information
    Repository                     connection info

  9. Click Next. Select the Auto Loan Procurement project and click Finish.

Now you have a Fabric project that will hold the composite service and associated interfaces for the auto loan application.

Create an application suite and application

You've learned about the concepts of application suites, applications, and business services. An application suite can contain multiple applications. An application can consist of multiple business services. A business service can consist of multiple Web services and endpoints. You can use the Composition Studio to create instances of each of these types that are defined in the Fabric model and store them in the Business Services Repository.

  1. Right-click the Fabric project and select New => Application Suite.
  2. Specify the information in the New Application Suite dialog, as shown in Figure 7.

    Figure 7. Creating a new application suite
    Create new application suite

  3. Right-click the Fabric Project and select New => Application.
  4. Specify the application information as shown in Figure 8. Click Browse and select the new application suite you just created (Auto Loan App Suite), then click Finish.

    Figure 8. Create an application
    Create new application

Create a process service

Complete the following steps to create a process service:

  1. Right-click the project and select New =>Business Service, then select Process Service, as shown in Figure 9.

    Figure 9. Create a process service
    Create process service

  2. Specify the information for the process service as shown in Figure 10, then click Browse and select the application you created in the previous step (Auto Loan App), then click Next.

    Figure 9. Specify process service information
    Specify process                    service info

  3. Add a channel for the process service by clicking Add Channel, as shown in Figure 11.

    Figure 11. Add a channel
    Add a channel

  4. In the Channel dialog, specify a display name for the channel, select Web Service Channel, and click OK, as shown in Figure 12.

    Figure 12. Specify channel information
    Specify channel                     info

  5. Click Next.
  6. Click Add Role Type, as shown in Figure 13.

    Figure 13. Add a role type
    Add role type

  7. Select Administrator for the role type, and click OK, as shown in Figure 14.

    Figure 14. Select Administrator role type
    Select                     Administrator role type

  8. Click Finish.

Create composite services, interfaces and endpoints

So far, you've created an auto loan application suite that holds an auto loan application, which in turn consists of an auto loan process service. Now you need to create a composite service definition for the actual BPEL process contained in the business service. Also, you need to create interface definitions for the atomic services called by the BPEL process.

In order to create this metadata, you'll need the BPEL module you created in the Part 3 of this series. If you don't already have this module, you can import the project interchange zip from the Download section into your Integration Developer workspace.

To create the composite service, do the following:

  1. Right-click on the Fabric project and select New => Composite Service, as shown in Figure 15.

    Figure 15. Create a composite service
    Create composite service

  2. The input to this wizard is the ProcureLoan module that you previously imported into the workspace. Specify ProcureLoan as the SCA Project and click Finish, as shown in Figure 16. The wizard creates metadata definitions for the composite service and the atomic services invoked by the composite service.

    Figure 16. Specify SCA project
    Specify SCA                     project

Now that you've created the service interface definitions, you next need to create service endpoint definitions which will perform the actual task of servicing the requests.

To create endpoints for the Credit Check, License Check and Loan Provider services, do the following:

  1. Right-click the project and select New => Endpoint.
  2. Enter the endpoint information for the Credit Check as shown in Figure 16, then click Next,

    Figure 17. Create a Credit Check Service endpoint for daytime processing
    Create Credit Check endpoint

  3. Specify the URL where the endpoint for the Credit Rating Day Service implementation is deployed, as shown in Figure 18, and click Finish.

    Figure 18. Specify endpoint URL
    Specify                     endpoint URL

  4. Click the Interfaces tab, and add the CreditCheck interface to the endpoint, as shown in Figure 18, then click OK.

    Figure 18. Add CreditCheck interface
    Add                     CreditCheck interface

  5. Repeat steps 1-4 for the remaining endpoints in Table 1.

Table 1. Endpoints you need to create
Service interfaceEndpoint nameEndpoint URL
CreditCheckCredit Check Day EPhttp://localhost:9081/CreditCheckWeb/services/CreditCheckDayPort
CreditCheckCredit Check Night EPhttp://localhost:9081/CreditCheckWeb/services/CreditCheckNightPort
LicenseCheckLicense Check CA EPhttp://localhost:9081/LicenseCheckWeb/services/LicenseCheckCAPort
LicenseCheckLicense Check NonCA EPhttp://localhost:9081/LicenseCheckWeb/services/LicenseCheckNonCAPort
LoanProviderLoan Provider Gold EPhttp://localhost:9081/LoanProviderWeb/services/LoanProviderGLDPort
LoanProviderLoan Provider Silver EPhttp://localhost:9081/LoanProviderWeb/services/LoanProviderSLVPort
  1. Double-click Auto Loan Process Service.
  2. Click the Channels tab.
  3. In the Interfaces section, click Add. Select ProcureLoan from the Module drop-down menu, then click on OK
  4. Open the Repository Changes view.
  5. Right-click the project and select Submit Changelist. Since you're using the UTE environment , the changes are automatically approved and published to the repository.

Export the project to the repository

The Fabric Governance Manager provides the ability to export all the metadata that you've created in the form of a Fabric Content Archive (FCA). Importing the FCA into a blank repository automatically creates metadata, thus eliminating the need to manually create the metadata.

An FCA file is a zip file that contains Web Ontology Language (OWL) files and a special manifest file called content-pack.xml. The manifest file contains all the information necessary to define a Fabric project and its namespaces. For each namespace owned by the project, it can refer to the OWL file containing content for this namespace.

To export the metadata as an FCA, complete the following steps:

  1. Select Import/Export => Export by Project .
  2. Select the Auto Loan Procurement project and the namespace instance.
  3. Click Export to File. This creates an FCA for your project.

Summary

In this article, you learned about the Fabric assembly process and walked through some of the steps involved in the process, including creating users, projects and namespaces in the Fabric administrative console, replicating the project in Composition Studio, and creating metadata for the application. Finally, you learned how to export these changes to the Business Services Repository.

In Part 5, we'll walk through the remaining steps in the Fabric assembly process (refer to Figure 1. You'll use the metadata created in this article and add capabilities in the form of assertions to the endpoints. You'll also create policies to address the points of variability in the business process. Finally, you'll see how the Dynamic Assembler uses all the metadata you've created and published to the repository to dynamically invoke endpoints based on customer requests.



Download

DescriptionNameSizeDownload method
Auto loan project interchangeAutoLoanPI.zip31KBHTTP

Information about download methods


Resources

About the authors

Rohit Sardesai photo

Rohit Sardesai works as a software engineer in the IBM India Software Lab, in Mumbai. He is part of the IBM WebSphere Business Services Fabric team. You can reach Rohit at rohitsardesai@in.ibm.com.

Manojkumar Pal photo

Manoj Pal is a software engineer in the IBM India Software Lab, in Mumbai. He is part of the IBM Websphere Business Services Fabric. You can reach Manoj at palmanojkumar@in.ibm.com.

Pankuj Chachra photo

Pankuj Chachra is a IBM Quality Assurance Architect and Technical Lead working on WebSphere Business Services Fabric. You can reach Pankuj at chpankuj@in.ibm.com.

Suresh Das photo

Suresh Das is a Test Lead working on Websphere Business Services Fabric Composition Studio. He is responsible for test planning, execution, automation for Composition Studio.He is also responsible for Global Verification Test and Translation Verification Test coordination. You can reach Suresh at dasuresh@in.ibm.com.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

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=WebSphere, SOA and Web services
ArticleID=350988
ArticleTitle=Creating flexible service-oriented business solutions with WebSphere Business Services Fabric, Part 4: Creating metadata for the business process
publish-date=11122008
author1-email=rohitsardesai@in.ibm.com
author1-email-cc=crothemi@us.ibm.com
author2-email=palmanojkumar@in.ibm.com
author2-email-cc=crothemi@us.ibm.com
author3-email=chpankuj@in.ibm.com
author3-email-cc=crothemi@us.ibm.com
author4-email=dasuresh@in.ibm.com
author4-email-cc=crothemi@us.ibm.com

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.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

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).

Try IBM PureSystems. No charge.

Special offers