Oracle Business Process Management Suite

Oracle Business Process Management Suite (Oracle BPM Suite) is a software suite that integrates the modeling, implementation, execution and monitoring of end-to-end business processes to support continuous optimization of the entire business process lifecycle.

Oracle released its BPM suite and is available for download now.

The suite improves process efficiency and quality by raising utilization and throughput. It increases visibility into process performance and simplifies compliance by providing transparent data. Ultimately, it increases corporate agility with flexible tools.

image

image

BPM suite consists of the following products

1. Oracle BPM (Aqualogic BPM 6.5). Documentation

2. Oracle BPEL

3. Oracle Business Rules

4. Oracle BAM

5. Oracle WebCenter Suite

Read the Alex Toussaint's blog post here where he is written about "Ten reasons why you should look at Oracle BPM Suite 10gR3". Its good read to understand what it offers to you based on the role you play in your organization BPM strategy.

What next ?

1. 11g BPM Suite release in 2009

2. BPM on BPMN 2.0 specification

3. BPEL PM on BPEL 2.0 specification

4. BPM studio in JDeveloper

5. BPM and BPEL PM will use same human task service based on WS-Human Task and BPEL4People

6.Common process portal built on Oracle WebCenter

7.Common BAM/BI layer

8.Common BPM Server built on SCA, WebLogic Server, JRockit JVM, Oracle Application Grid, and Coherence distributed caching and Enterprise Manager

9.BPM Studio integration with an Enterprise Repository, which automatically creates dependency maps for all modeling/design components checked in.

Oracle TopLink 11g Released

Oracle released its next version of TopLink 11g(11.1.1.0.0) . This is the first release based on the open-source EclipseLink project. (EclipseLink is derived from a previous version of Oracle TopLink)

Features of 11g are

1.Object-Relational Persistence

TopLink 11g includes support for the native TopLink ORM API as well as the Java Persistence API (JPA) through EclipseLink

a. Java Persistence API (JPA) Support ( supports JPA 1.0 spec)

b. JPA Extensions

    • Mappings
    • Mapping Customization
    • Converters
    • Entity Caching
    • Optimistic Locking
    • Query Hints
    • Stored Procedure Query
    • Lazy Loading
    • Schema Generation
    • Returning Policy
    • Change Tracking

c.JPA Configuration

d.Performance Requirements

  • Change tracking for JPA entities
  • Read-only queries
  • Parameter binding: now enabled by default.
  • Joining: additional support for many-to-many, direct-collection, direct-map, and aggregate-collection mappings, and mapping level inner and outer join support
  • Inheritance: support for outer joining inheritance subclasses on queries, and support for joining classes with inheritance
  • Improved performance and concurrency
  • Dynamic Expression and JPQL parse cache

e.Oracle Spatial support

f.Stored procedure configuration in ORM Project.xml

g. Support for SDO (Service data objects) for Java specification version 2.1

JSR311 : JAX-RS : Java API for RESTful Webservices

This JSR provides an API for providing support for RESTful(Representational State Transfer) Web Services in the Java Platform.

This JSR : Final Approval Ballot is done on 22-Sep-2008.

You can find the details of this API here

Not heard of REST ? read it here.

Goals of this API are

POJO-based : The API will provide a set of annotations and associated classes/interfaces that may be used with POJO's in order to expose them as Web resources. The specification will define object lifecycle and scope.
HTTP-centric : The specification will assume HTTP is the underlying network protocol and will provide a clear mapping between HTTP and URI elements and the corresponding API classes and annotations. The API will provide high level support for common HTTP usage patterns and will be sufficiently flexible to support a variety of HTTP applications including WebDAV and the Atom Publishing Protocol.
Format independence : The API will be applicable to a wide variety of HTTP entity body content types. It will provide the necessary pluggability to allow additional types to be added by an application in a standard manner.
Container independence : Artifacts using the API will be deployable in a variety of Web-tier containers. The specification will define how artifacts are deployed in a Servlet container and as a JAX-WS Provider.
Inclusion in Java EE : The specification will define the environment for a Web resource class hosted in a Java EE container and will specify how to use Java EE features and components within a Web resource class

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

Webservices Versioning

We do versioning on almost everyday while developing various components, be it java, PL/SQL or JSP's. There are well known standards for maintaining these versions. In the SOA world, we often use and develop web services and versioning of these webservices becomes extremely important.

Oracle published an article on OTN with title "Webservices Versioning" written by Gabriel Bechara. You can read the full article here.

BPEL Process Design : Best Practices

Best Practices to be followed while designing BPEL processes.

1.