05 June 2012

Weblogic Domain Creation - When to choose "for Developers" option

 
First step in creating the SOA Weblogic domain is to select "Oracle SOA Suite" product. The dilemma that I face is whether to select "Oracle SOA Suite" or " Oracle BPM Suite for developers".

Oracle documentation says about developers suite that it do not create an Managed Servers instead it creates only a single Administration Server. As a general practice, Managed servers are created in production and in case of development, single admin server is used for deployment.

Below are few advantages of having managed server over non-managed server.
  • It is independant server which will keep on working even if the admin server fails.
  • Production environments that require increased application performance, throughput, or availability should configure two or more of Managed Servers as a cluster.
Now the question arrises is what are the benefits of not having managed server in development mode?
  • Multiple managed servers means multiple JVMs which inturn needs more memory.
  • Having multiple managed servers will create an additional task to start that server after admin server is started. If the SOA server is a part of admin server then just start of server will also start SOA server i.e. it will start port 8001 and 7001 both. 
In short, there is no significant difference in developer mode and non-developer mode. So it is your decision to go with managed server mode or with developer mode. My suggestion would be
  • For 32 bit machine which will have RAM restriction of 2^32 Bytes i.e. 4 GB, you should go for developer mode.
  • Now days most of the machines are 64 bit and will support 2^64 Byes i.e. more than 18 quintillion, you should go for managed server mode.
Let me know if there are any points i have not considered. Comments appriciated.
     

11 May 2012

Link between Worklistapp and Enterprise Manager console

Problem Description
I want to trace the instance of BPM worklist in Enterprise manager.
Using search option given in the BPM worklist, we can easily search a specific instance in BPM worklist. But if it is faulted then how can we trace its corresponding instance in Enterprise manager console?

BPM Worklist

Enterprise Manager Console

Alternate work around:

I tried printing instance ID in BPM worklist using a form but there is not relevance of instance id between BPM worklist and the instance ID from Enterprise Manager.

The other way is by looking at the date-time stamp, but it is really painful process to track the exact instance in Enterprise manager.

Better work around:
The following query gives other details about the task basis task number from BPM worklist.
SELECT
TASKNUMBER, COMPOSITEINSTANCEID, INSTANCEID, TASKID,
ASSIGNEES, ASSIGNEESDISPLAYNAME, CALLBACKID, PROCESSID,
PROCESSNAME, PROCESSVERSION, ASSIGNEDDATE, CREATEDDATE,TITLE, USERCOMMENT
FROM wftask
WHERE TASKNUMBER = <task_number>;


Where <task_number> is the task number of BPM worklist. Using this you can easily locate the composite instance for a given task number.
In this query we get COMPOSITEINSTANCEID which is instance ID of PROCESSNAME and PROCESSVERSION which can be found in EM console under soa-infra -> default -> PROCESSNAME[PROCESSVERSION]
However INSTANCEID can be used to track down the instance in right click on soa_infra -> Service Engines -> BPEL. In the screen click on “Instances” tab. Enter the value in this and you will get the instance and other details.
Solution:
I am still looking for the easier way to trace EM instance from BPM task.