Showing posts with label BPM. Show all posts
Showing posts with label BPM. Show all posts

Monday, June 4, 2012

BPM11g-Getting started with BPMHelloWorld process-issues/workarounds

It has been some time that I got queries on how to get started on BPM .The best way to start on any technology or product stack is to do it the HelloWorld way. Always start with a hello world example.
I am using 11.1.1.1.6 environment for the examples.
There is a good step by step guide of getting started in BPM  @ link
To start up with you can just do the small part of getting the hello message /greeting and writing it to a file . In Jdev it will look like this.
 

The Request Hello in turn is implemented using a Human work flow activity, which receives in a HelloMessage and makes a service call which in turn calls a file adapter to write to a file.
Two activities between Start and End in BPM layer. The implementations of these 2 activities are done in SOA layer using Human work Flow and call to a file adapter.
I will list down some points/issues you may face doing this example
  •       The JDev Role matters, In case you select the BPM Role for Jdeveloper development, the implementation tab will be missing from your activities when you drill down. So if you want to the implementation in SOA then the Role must be default which gives access to both BPM and SOA together.
  •            During your development the main tab that yo will be using is the BPMProjectNavigator which will list the different components that will be part of your process.

  •        There are some chances the auto-create Task form may run into issues. So create the Task form again and delete previous UI project associated with the BPM process. 
  •            Once you compile/deploy BPM process, you will need to login to BPM workspace to view and initiate the process. The common issue is that The BPM process is not visible in th BPM workspace.  The User roles become pretty important in BPM. By default the Role of the Hello world activities will be tied to Role. You can change it to Requester or other role based on your process design.
These roles will now need to be mapped to users.
In case the process doesn’t show up you will have to check or create /modify users for roles.
The below screenshots show the configurations that need to be done on User roles in jdeveloper, EM and BPM workspace.
In jdeveloper
a)    Add the users to the roles used in the process/project.

In Oracle Enterprise Manager
a)    Expand the domain farm  and select  Application Deployments
b)    Select the deployed Application .Go to Security >Application Roles
c)    Add the <project name>.<rolename> and Users to the roles who can access the role.

In oracle BPM workspace
a)    Go to Administration tab >Roles
b)    Add the user to  <composite name>.<role name> members.
  •   In BPM workspace when you click on process to initiate the process for entering the Hello Message. The UI page throws an error .Page not found exception.
Error:  OracleJSP error: java.io.FileNotFoundException: Set the init-param debug_mode to "true" to see the complete exception message.

         The error is because adfc-config.xml refers to Empty1.jspx file.
    Create a empty jspx file and name it as Empty1.jspx , add below content in the file.
<?xml version='1.0' encoding='windows-1252'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<jsp:directive.page contentType="text/html;charset=windows-1252"/>
<f:view>
<af:document id="d1">
<af:form id="f1"></af:form>
</af:document>
</f:view>
</jsp:root>
Once you add the file and redeploy the process the error will not recur.
Then you can enter all the hello message and submit the values, which in turn will make a service call to write a message to the file as specified in file adapter.
This is all some points I wanted to share with the newbies starting on BPM 11g
Hav a gr8 day ahead J

Wednesday, July 20, 2011

SOA-INFRA in Warning state due to BPM MDB’s - MDB application soa-infra is NOT connected to messaging system


One of the customers had the following issue where MDB’s where showing MDB application soa-infra is NOT connected to messaging system in one of their SOA environment. CubeActionMDB, BAMActionMDB, PeopleQueryMDB are added as part of the BPM suite.
These MDB’s are internally used by BPM.
Cube Action MDB:: A message driven bean (MDB) is used to trigger aggregation and persistence of the analytical data to the BPM cube schema stored in the SOA Service Infrastructure database.
BAM Action MDB::  A message driven bean (MDB) is used to publish analytical data towards the BAM adapter installed as part of the SOA Service Infrastructure.
Issue
The issue is caused by missing BPM Topics and connection factories.

This causes the MDB deployments in soa-infra to fail causing the soa-infra application to go into a warning state.
Create missing BPM Topics and connection factories.
Create a topic with the below JNDI names and target those to the SOASubDeployment (please make sure SOASubDeployment is targeted to one JMS Server on SOA Server).
1. jms/bpm/PeopleQueryTopic
2. jms/bpm/MeasurementTopic

Create the below connection factories (All are XA enabled connection factories) and target them into a SOA server (where soa-infra application is targeted to).
1. jms.bpm.PeopleQueryConnectionFactory
2. jms.bpm.CubeCommandXAConnectionFactory
3. jms.bpm.BAMCommandXAConnectionFactory

After the above changes, restart the SOA Servers and check the application deployment status.
Reference:
2.      2.  Oracle support:-- SOA-INFRA Application Deployment Display Status Shows Warning Instead of Active Status in a New SOA Suite Domain [ID 1159547.1]

Monday, July 28, 2008

some business process terminologies

In one of the sessions on evolution of SOA which I attended after joining fusion practice, I came to know about some business process terminologies like orchestration, choreography and collaboration. Some people use the terms interchangeably; some people distinguish them in terms of specificity and perspective. Will try to explain them in detail.

· Orchestration

Orchestration in business processes is a series of activities in a controlled work flow – typically involving one single swim lane. Centered on a single point-of-view, defines state full use-of-message exchanges with service providers and consumers (e.g. WS-BPEL). The description of the sequence of activities that make up a business process is called an orchestration. WS-BPEL is used to orchestrate services into composite solutions usually expressing organization-specific business process flows. With WS-BPEL, you build a business process by integrating a collection of Web services into a business process flow. A WS-BPEL business process specifies how to coordinate the interactions between an instance of that process and its partner services. Orchestration defines executable behavior and how it is to be achieved, and events are controlled centrally.

The key design attributes for Orchestration include participant and role definition, variables, properties which enable conversation, fault handlers for exception processing, compensation handlers for error recovery and event handlers to respond to concurrent events with the process itself and set of activities.

· Choreography

Choreography relates to observable public exchange of messages, rules of interaction and agreements between two or more business process end points and can address the collaboration among multiple swim lanes. Provides a global view of the exchanges (e.g. WS-CDL) The Web Services Choreography specification along with its corresponding Web Services Choreography Description Language (WS-CDL) provides another way to building SOA compositions. WS-CDL allows you to describe peer-to-peer relationships between Web services and/or other participants within or across trust boundaries. To define choreography, you create a WS-CDL choreography description document that will serve as the contract between the interacting participants. Specifically, a WS-CDL document describes the message exchanges between the collaborating participants, defining how these participants must be used together to achieve a common business goal. For Choreography, message structure, asynchronous communication, message rules, invocation, events and event handling are some of the important design factors.

· Collaboration

A business function or functions emerging from the cooperative interaction between multiple actors. This is usually pictured as a form of global business process, where business state is modeled. (e.g. Business Process Specification Schema). Business process models describe interoperable business processes that allow business partners to collaborate. Business process models for e-business must be turned into software components that collaborate on behalf of the business partners. The goal of the ebXML Specification Schema is to provide the bridge between ebusiness process modeling and specification of e-business software components.