Showing posts with label Oracle Fusion Middleware. Show all posts
Showing posts with label Oracle Fusion Middleware. Show all posts

Oracle BPEL PM 10.1.3.4

New features in BPEL 10.1.3.4 includes

1.Improved visibility of Engine Threading Model

Current:

a. Dispatcher page is static

b.Difficult to use when monitoring messages under load

c.Needs to be manually refreshed

d.Lack of messages details in a queue

10.1.3.4:

a.Dynamic, updated in real-time

b.Shows information about

i.Running threads

ii.New invocations that are queued

iii.Incoming calls that are queued.

c.Drill down on each thread to get process id , to see which process messages are coming from

2.Improved Statistics Collection

Current:

a.Statistics collection aggregates the times across all requests, regardless of process or instance

b.Many users find the current statistics page difficult to use for pinpointing bottlenecks, due to aggregation

c.Users need to flip between audit trail and statistics pages

d.Intended to be used by engineering

10.1.3.4

a.Statistics are aggregated on a per-process basis

b.Statistics are displayed on the process map

c.Easy to identify bottlenecks

post 10.1.3.4 (10.1.3.5)

a.Overlay following on process map:

• Transaction boundaries
• XML payload sizes
• Service invocation times

b.Persist statistics

3.Minimize XML Coding Errors

10.1.3.4

a.Test compliance of payload with schemas defined in process/WSDL

b.Reduce debugging effort when incorrect payloads are received by BPEL

c.Only starting invocations in 10.1.3.4

post 10.1.3.4 (10.1.3.5)

a.Validate XML against other schemas from project

b.Test XML against XPath from process

c.Enable unit testing of custom XPath functions

4.Rescuing Lost instances

current

A BPEL instance was started. But nothing appeared in the BPEL
Console or audit trail.Caused by a transaction rollback in certain
circumstances.Analogous to a database rollback

10.1.3.4

a.Detect 3rd party manipulation of the JTA transaction

b.Move audit trail persistence to an asynchronous thread (to increase visibility of errors within the process)

5.Automated Recovery agent

10.1.3.4

a.Implement automated recovery agent for failed activities/messages

b.Improve visibility of errors encountered during recovery by writing them out to the instance audit trail asynchronously

c.Agent can be triggered manually or via schedule
• Schedule during non-busy periods

d.Allow batch limits for each recovery attempt

6.Collection of Support information

10.1.3.4

a.Cut down on round-trips between customer and support/development for debugging information

b.Make BPEL Console single tool admins need to consult

c.Bundles:
• JVM thread dump
• JVM heap statistics
• Dispatcher statistics
• BPEL domain logs
• Request statistics
• Dehydration statistics

d.Can also export BPEL process

7. Deployment Plan

Current

a. Deploying a BPEL project to a different environment (e.g.,
dev, test, production) requires various changes to the project.
For example:
• Location of services
• Port numbers of services
• Location of hosted WSDLs
• Location of hosted XSDs
b.Changes have to be made in various files

c.Changes have to be made manually

d.Often need a different BPEL suitcase for each environment

10.1.3.4

Deployment plan

a.allows users to develop in one environment and then - without touching the source code - deploy the suitcase to another environment

b.holds the configuration for one environment.Instead of managing separate suitcase files, the user generates a deployment plan from a suitcase and modifies the configuration for each environment

c.eliminates the need to provide customized suitcases for each environment

Things to Come in 10.1.3.5

a.BPEL debugger
• Set breakpoints
• Step-by-step
• Introspect and modify XML variables

b.Log viewer
• Search and filter on particular instance

c.Notification
• Engine events like startup, shutdown
• Auto-recovery agents fails to recover
• Process state changes (active to stale, etc)

d.Improve XML validation
• Validate XML against other schemas
• Test process or customer XPath expressions

e.Import/Export instances runtime data
• Offline re-creation

Oracle BPEL PM 10.1.3.4 : Bugs Fixed

Oracle BPEL PM 10.1.3.4 patch fixed some critical bugs . Few of which are of interest to most of us includes

1.When the console is used to clear the wsdlCache, in a load-balanced Clicking clear WSDL cache from the console will now propagate the message to the other nodes in the BPEL cluster. Previously, clicking the button would only affect the single node.

2.NULL POINTER EXCEPTION was thrown when we validate a xml which has null values inside it.

3.Under certain circumstances, when multiple callbacks are received at the same time, the first callback will be processed but the remaining callbacks will throw a "scope not found" error. Fixed by serializing the callbacks.

4.With this fix, Any unhandled exception during a sync call will be returned to the caller.

5.DOMAINS CREATED IN A CLUSTER GETS NOT PROPAGATED TO NEW OR EXISTING NODES

Custom Domain User Management in Oracle BPEL PM 10.1.3.3

Context : In order to control the access to the business process developed in BPEL there is a need to segregate the process into different domains especially when there are different Business Teams uses the same Process Manager. For each of the domain, there is a need to create different roles which can be assigned to users who can view/modify/execute the processes in that domain

Here I will share the findings on how user management can be done in a custom domain ( not the "default") for Oracle BPEL Process Manager 10.1.3.3. I will talk about the details steps to create a custom domain and then create roles and assigning the roles with proper permission to access the custom domain. The security provider used is JAZN which is File Based Security provider based on JAAS. It also details the steps when the BPEL is installed with default OC4J instance (home) or different OC4J instance

Steps to create a Custom Domain
1. Login to Oracle BPEL PM as BPEL Administrator
2. Click on BPEL Domains
3. Click on “Create New BPEL Domain”
4. Enter the Domain Id as “custom_domain”
5. Click on Create to complete the Custom Domain Creation

User Management for Custom Domain (custom_domain)

Oracle BPEL PM comes with a domain “default”. It also comes with certain responsibilities which controls the access to this domain. The roles related to this “default” domain includes

BPMDefaultDomainAdmin
This role is to control the access to the “default” domain.
BPMSystemAdmin
This role is to control the access to the entire BPEL PM including the “default” domain and all other custom domains

Steps to implement for allowing access to Custom Domain (custom_domain)

BPEL Installation in Default OC4J instance

1. Navigate to $ORACLE_HOME/j2ee/home ($ORACLE_HOME/j2ee/)
2. Create the Role with name (BPMCustomDomainAdmin)

$ORACLE_HOME\j2ee\home>java -jar jazn.jar -user oc4jadmin -password welcome1 -addrole jazn.com BPMCustomDomainAdmin

3. Grant permissions to the role created in step (2) above

$ORACLE_HOME\j2ee\home>java -bootclasspath/a:$ORACLE_HOME\bpel\lib\orabpel-boot.jar -jar jazn.jar -grantperm jazn.com -role BPMCustomDomainAdmin com.collaxa.security.DomainPermission custom_domain all

4. Now create the users and assign the the above role

5. Restart the BPEL oc4j

5. Login to BPELConsole.

BPEL Installation in different J2EE home (oc4j_soa)

1. Navigate to $ORACLE_HOME/j2ee/home
2. Copy all the jar files and lib folder in this directory to $ORACLE_HOME/j2ee/oc4j_soa
This step is very important , if not the entries created further will get added to home system-jazn-data.xml
3. Navigate to $ORACLE_HOME/j2ee/oc4j_soa
4. Create the Role with name (BPMCustomDomainAdmin)

$ORACLE_HOME\j2ee\home>java -jar jazn.jar -user oc4jadmin -password welcome1 -addrole jazn.com BPMCustomDomainAdmin

5. Grant permissions to the role created in step (2) above

$ORACLE_HOME\j2ee\home>java -bootclasspath/a:$ORACLE_HOME\bpel\lib\orabpel-boot.jar -jar jazn.jar -grantperm jazn.com -role BPMCustomDomainAdmin com.collaxa.security.DomainPermission custom_domain all

6. Now create the users and assign the the above role

7. Restart the BPEL oc4j

8. Login to BPELConsole

grantperm : command option to grant permission
jazn.com : Realm for File Based Security Provider (JAZN)
com.collaxa.security.DomainPermission : Permission name for the Domain
custom_domain : Custom Domain Name
all : access level. The current version of Oracle BPEL PM ( 10.1.3.3) supports either to grant all permissions to a domain / no permission

More.......

1. To grant System Administrator privileges for a custom role created, the permission to be given to com.collaxa.security.ServerPermission

$ORACLE_HOME\j2ee\home>java -bootclasspath/a:$ORACLE_HOME\bpel\lib\orabpel-boot.jar -jar jazn.jar -grantperm jazn.com -role BPMCustomDomainAdmin com.collaxa.security.ServerPermission server all

2. If above commands run successfully, the entries will be added to system-jazn-data.xml

Reference:
Oracle® BPEL Process Manager Administrator's Guide 10g (10.1.3.1.0)