Thursday, 8 November 2012

IBM Business Process Manager - Defining the Environment

In this brief article, I outline how an IBM BPM cell ( nodes, clusters, Service Integration bus, databases etc. ) can be built using a Deployment Environment.

The Deployment Environment is, in effect, a template that can be created, exported, edited and applied across different BPM environments, allowing one environment to be used as a template or pattern for others.

Here's what the IBM documentation says: -

A deployment environment is a collection of configured clusters, servers, and middleware that collaborate to provide an environment to host software modules. For example, a deployment environment might include a host for message destinations, a processor or sorter of business events, and administrative programs.

So I have a template, and I want to apply it to my newly created WebSphere Application Server v8 cell ( a managed node, with a co-located Deployment Manager ).

Note that I'm running Windows - why ? Because I can .... Just for a change ....

Preparation

(a) Edit Deployment Environment Definition file - in my case, c:\temp\BPM8Std.xml - to set: -

createTable="true"

to: -

createTable="false"

to avoid DB2 database tables being created whilst the Deployment Environment is being imported into, and applied to, the cell

(b) Change SOAP timeout from default of 180 in C:\IBM\WebSphere\AppServer\profiles\Dmgr01\properties\soap.client.props
- from com.ibm.SOAP.requestTimeout=180 to com.ibm.SOAP.requestTimeout=60000

(c) Backup profile directory - C:\IBM\WebSphere\AppServer\profiles

- This is a belt and braces approach to backups - other, better, approaches do exist

(d) Start wsadmin client: -

C:> cd C:\IBM\WebSphere\AppServer\profiles\Dmgr01\bin
C:> wsadmin.bat -lang jython

(e) Import and apply the Deployment Environment

wsadmin> AdminTask.importDeploymentEnvDef([ "-filePath", "c:\\temp\\BPM8Std.xml", "-topologyName", "BPM8Std"])
wsadmin> AdminTask.generateDeploymentEnv(["-topologyName", "BPM8Std"])
wsadmin> AdminConfig.save()

Note that the generateDeploymentEnvironment task may take some time - it took about 10 minutes on my VM

(f) Job done :-)

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...