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)
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], .
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
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
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
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
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
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
The configuration scripts are provided for download. They take the following arguments:
LDAP Host IP,
distinguished name and
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
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
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
Under the Software Bundles section, click Add bundle, as shown in Figure 11.
Figure 11. 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
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
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
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
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
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
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
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
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 .
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.
-  IBM SmartCloud Enterprise
- IBM Business Process Manager on the cloud
-  IBM BPM SmartCloud First Look Demo
-  Managing users and groups in IBM BPM
-  IBM Workload Deployer: Pattern based application and middleware deployment in private cloud
-  Convert single-tenant applications into multi-tenant applications
-  Best practices to architect applications in the IBM Cloud
-  The IBM Cloud Computing Reference Architecture 2.0
- Import a Linux OS to SmartCloud Enterprise
- developerWorks BPM zone: Get the latest technical resources on IBM BPM solutions, including downloads, demos, articles, tutorials, events, webcasts, and more.
- IBM BPM Journal: Get the latest articles and columns on BPM solutions in this quarterly journal, also available in both Kindle and PDF versions.
Dig deeper into Business process management on developerWorks
Experiment with new directions in software development.
Read and subscribe for the best and latest technical info to help you deal with your development challenges.
Software development in the cloud. Register today and get free private projects through 2014.
Evaluate IBM software and solutions, and transform challenges into opportunities.