Delivering Business Process as a Service (BPaaS) on the IBM SmartCloud, Part 1: Using ICON to extend Business Process Manager cloud images

This article looks at two new capabilities that were recently added to the IBM SmartCloud: the Image Construction and Composition Tool (ICON) and IBM Business Process Manager images. Together these features can help you develop and deploy your own process-centric cloud applications and enable you to create your own BPaaS offerings.

Christina Lau (clau@ca.ibm.com), Distinguished Engineer, IBM

Author photoChristina Lau is a Distinguished Engineer in WebSphere, focusing on emerging technologies such as cloud and mobile computing. Her current focus is on developing advanced technologies that support the delivery of multi-tenant SaaS solutions across the IBM SWG portfolio.


developerWorks Contributing author
        level

Valentina Birsan, Senior Developer, IBM

Valentina Birsan's photoValentina Birsan is a senior developer in WebSphere, currently focused on cloud projects. Previously Valentina was a technical lead on Rational Application Developer. She was one of the initial members of the Eclipse TPTP open source project, and served as the chair of the TPTP Architecture Group. Valentina was also the lead architect for the Cosmos Service Modeling Eclipse open source project and a member of the SML open standard.



Bhadri Madapusi, Advisory Software Developer, IBM

Bhadri MadapusiBhadri Madapusi is an Advisory Software Developer in WebSphere, currently focused on cloud projects. Bhadri has over 10 years of software development experience. Previously he worked on business process management and WebSphere Commerce.



28 March 2012

Introduction

The IBM SmartCloud Enterprise Version 2.0 (SCE) added new image construction tools that help users create and deploy customized images. The IBM Image Construction and Composition Tool (ICON) enables users to extend virtual images that are deployed on SCE and add their own custom configurations. Using ICON, a software specialist can create software bundles to encapsulate the installation or configuration tasks with appropriate parameters. ICON takes deployment automation to the next level by automating the image building processes and eliminates many of the manual steps that you had to do previously.

IBM Business Process Manager is a comprehensive business process management platform that provides you visibility and insight to manage your business processes. The new Business Process Manager BPM in the cloud offering enables you to quickly spin up new instances of Business Process Manager in minutes, and accelerate your projects with minimal up-front cost and resource requirements. Images are available for the IBM BPM Express, Standard and Advanced editions. This is an ideal environment for quick pilots, as well as for delivering cloud-based business processes that are flexible and secure.

The IBM Cloud Computing Reference Architecture 2.0 defines BPaaS as any business processes (both horizontal and vertical) that are delivered through the cloud service model, which includes multi-tenant, self-service provisioning, elastic scaling, usage metering and internet-enabled. Examples are processes for employee benefit management, business travel and procurement, as well as IT-centric processes. Figure 1 shows a simplified view of this reference architecture.

Figure 1. IBM cloud computing reference architecture (simplified)
IBM cloud computing reference architecture (simplified)

In this series, we'll share our hands-on experiences creating BPaaS solutions on SCE using the latest tools, which make this task dramatically easier. If you plan to build your own BPaaS solutions, we recommend you read our previous articles, which discuss the concept of multi-tenancy in detail (6], [7].


Getting started with the BPM cloud images

To get started with BPM on the cloud, log in to your SCE account, and use the Add Instance wizard to create new BPM instances. For example, you may want to create a Process Center virtual machine, and a Process Designer virtual machine to create and run your processes. A nice demo to show how you can do this step-by-step is available on youTube.

Although the BPM cloud images can get you started quickly and save you time installing the BPM products, you may want to add your own customizations to the image, for example, to connect to other software that is also running in the cloud. So how can you extend your BPM image in a way that is portable and repeatable? We'll show you how you can accomplish this task using ICON and illustrate the steps with a simple scenario.


The scenario: Extend the Process Center image to use a shared registry

The Process Center virtual machine stores all the users and groups locally. Most likely, you'll want to use a shared LDAP, such as the IBM Tivoli® Directory Server that is already deployed in your cloud environment, to centrally manage your users and groups. You can use the Process Center administrative console to configure the Process Center to use federated repositories, and add Tivoli Directory Server as a provider, as shown in Figure 2.

Figure 2. Using a shared LDAP for BPM users and groups
Using a shared LDAP for BPM users and groups

The shared LDAP provides a single place for managing users and groups. For example, the users and groups defined in the LDAP can be used in the Business Process Manager Process Center as well as by other components such as Sametime® for collaboration or Cognos® for reporting.


Automating the shared LDAP configuration

Because the configuration to use a shared LDAP has to be done on the Process Center virtual machine, every time you provision a new Process Center virtual machine you'll have to repeat the same step manually. This is clearly very tedious if you have to provision many Process Center virtual machines for testing purposes or for different projects. The question then becomes:
How can we extend the existing IBM Process Center image so that it can be configured to use a shared LDAP for users and groups instead of the local user registry?

In the following sections, we'll show you how to use ICON to extend the Business Process Manager Process Center image so that it can use a shared LDAP. This technique can be applied to adding other customizations of your own choice or for customizing other images.

Provision an instance of ICON

To get started with ICON, you first need to provision a VM that has ICON installed on it. To do this, use the Add Instance wizard, as shown in Figure 3.

Figure 3. Provision an instance of ICON
Provision an instance of ICON

Once the ICON VM is provisioned, you can log in to ICON, where you'll be presented with the Welcome screen, as shown in Figure 4.

Figure 4. ICON welcome screen
ICON welcome screen

Define your cloud provider

The first thing you need to do in ICON is define a cloud provider. A wizard is provided to walk you through the steps. In this wizard, you'll need to enter your SCE account userid and password for authentication. You'll select the data center you want your images to be created in, for example, the Markham Canada data center, as shown in Figure 5. You also need to specify the public and private key pair for accessing the test instances that will be created by ICON during the synchronize phase. The public and private key can be generated in your SCE account from the Account management page.

Tip: If you want to create your images in multiple data centers, you'll need to define multiple cloud providers, and select the particular cloud provider when you create your images.

Figure 5. Define a cloud provider in the desired data center
Define a cloud provider in the desired data center

Create a new bundle

A software bundle describes the software that can be installed or configured in an instance of an image. The bundle can include installation files, configuration files, parameter specifications, and a description of the prerequisites for the bundle. To extend an existing image, you must first create a bundle and then add the bundle to the existing image.

To create a new bundle in ICON, use the Create a New Bundle wizard as shown in Figure 6. The metadata for the bundle is stored locally in the ICON VM. You can export the bundles into your own private repository or store them in the SCE repository for backup. You can use the ICON import function to import the bundles back into your ICON workspace.

Figure 6. Create a new bundle
Create a new bundle

Add scripts to the bundle

The next step is to add the scripts for your configurations into the bundle. There are two important concepts to understand:

  • The scripts provided in the Install step are executed only once and the result is burned onto the image. Common tasks that are applicable across instances like product install and setting environment variables can be performed in the install scripts.
  • The script provided in the Configuration step is executed when a new instance is created from the image. Therefore, per instance customization can be provided in configuration scripts. Note that performing a very long-running task such as product installation in the Configuration step will cause instance activation to fail.

In our scenario, since we're trying to extend the IBM Process Center image so that it can use a shared LDAP, we'll click the Configuration tab to add our scripts, as shown in Figure 7.

Figure 7. Add scripts to configure Process Center to use a shared LDAP
Add scripts to configure Process Center to use a shared LDAP

The configuration scripts are provided for download. They take the following arguments: LDAP Host IP, LDAP Port, Bind distinguished name and Bind password, which you'll typically specify in the Process Center administrative console. These parameters allow you to connect your Process Center virtual machine to the shared LDAP that you deploy in your cloud. The wsadmin script adds the shared LDAP repository to the existing Federated repositories.

Import the Process Center image

The next step is to extend the base Process Center image with the new bundle that you created above. This requires first importing the Process Center base image into your ICON workspace before you can add your own extensions.

To get the IBM Process Center Standard image into your ICON workspace, use the Import Images from Cloud Provider wizard as shown in Figure 8. This wizard shows you all the images that are available to you from the data center to which the cloud provider is pointing.

Figure 8. Import existing Process Center image into your ICON workspace
Import existing Process Center image into your ICON workspace

Extend the Process Center image

After the IBM Process Centre Standard image is imported into the ICON workspace, click Extend, as shown in Figure 9, to create a new version that contains your own extensions.

Figure 9. Click Extend to extend the Process Center image
Click Extend to extend the Process Center image

In the Extend an Image dialog, specify the name and unique identifier for your image, as shown in Figure 10.

Figure 10. Specify a name and ID for the image
Specify a name and ID for the image

Under the Software Bundles section, click Add bundle, as shown in Figure 11.

Figure 11. Click Add bundle to add your own bundles
Click Add bundle to add your own bundles

In the Add bundle to image dialog, shown in Figure 12, select the bundles you created and add them to the image.

Figure 12. Add bundle dialog
Add bundle dialog

Synchronize the customized image

After the bundle is added to the base image, you need to synchronize the customized image with the cloud provider, in this case, the SmartCloud Markham data center you specified earlier.

As shown in Figure 13, ICON indicates that the image status is Out of sync. Click Synchronize to synchronize the IBM Process Center base image with this bundle.

Figure 13. IBM Process Center image is out of sync
IBM Process Center image is out of sync

The synchronization process creates a running, deployed virtual machine from the IBM Process Center base image and then executes the software bundle that you added. When the synchronization is completed, the image status will change to Synchronized as shown in Figure 14.

Figure 14. IBM Process Center Image is Synchronized
IBM Process Center Image is Synchronized

Validate and fine tune the new virtual machine

Once the new image is synchronized, log in to your SCE account. On the Instances tab, you should be able to find the test virtual machine that is deployed by ICON. Figure 15 shows the running Process Center virtual machine that is enabled to the shared LDAP. Now is a good time to validate that your scripts were copied to the right location so that they can be run during configuration.

Figure 15. Validate the virtual machine provisioned by ICON
Validate the virtual machine provisioned by ICON

Capture customized image

After you have validated that your configurations are set up correctly, you can proceed to the next step to capture the customized image. Click Capture as shown in Figure 16.

Figure 16. Capture customized image
Capture customized image

The capture operation typically takes over an hour to complete. When it is completed, log in to your SCE account. On the Images tab, you should be able to see the new customized image that was created by ICON, as shown in Figure 17.

Figure 17. New customized image created by ICON
New customized image created by ICON

Testing the new image

The final step is to try out your new customized image. Click Add Instance to create a new instance. In the Add instance wizard, you should notice that new parameters for specifying the shared LDAP information were added, as shown in Figure 18. Enter the IP address, Port, Password and Bind DN for your shared LDAP, and then provision a new virtual machine.

Figure 18. New parameters to extend the Process Center base image
New parameters to extend the Process Center base image

Once the new virtual machine for the Process Center is provisioned, it should be connected to your shared LDAP, and you should be able to assign the users from your shared LDAP in your process applications. An example is shown in Figure 19.

Figure 19. Process Designer can see users from IBM Tivoli Directory Server
Process Designer can see users from IBM Tivoli Directory Server

Conclusion

This article showed you how you can use ICON to customize your SCE cloud images and eliminate the need to work with the low-level parameters.xml file. Software bundles are portable, so it's very easy to re-create the virtual images in another SCE data center. All you need to do is create a cloud provider to point to a different data center, apply your bundles to the base image from that data center, and perform a capture.

With this approach, you can easily move your deployment between data centers, or create multiple deployment environments for development, test, and production within the same data center. We recommend the ICON approach over the SCE "image import and copy" approach, which can be very fragile [9].

In future articles, we'll discuss how the new SmartCloud Application Services can be used to support additional capabilities such as elastic scaling in the cloud. Together these tools and techniques can help you enter the emerging BPaaS market.


Download

DescriptionNameSize
Sample scriptsbpmldap.zip3KB

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


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. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

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.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

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

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management, WebSphere, Cloud computing
ArticleID=806948
ArticleTitle=Delivering Business Process as a Service (BPaaS) on the IBM SmartCloud, Part 1: Using ICON to extend Business Process Manager cloud images
publish-date=03282012