OOW – Oracle BPM Studio

Following an hands on lab regarding BPM Studio was really interesting for me, because I’m a firm believer of Oracle BPA Suite and I’m using it in day-to-day projects in Europe today.

So my big question was … what’s BPM Studio all about, and what will it offer that I don’t already have when using Oracle BPA Suite. Well I have to say, I still don’t know exactly how these 2 products will work together. So let’s have a quick overview of the different parts of BPM that got my attention on performing the hands-on lab.


The big difference in BPM Studio is the different contexts in which users will work depending on their skill-set and their responsibilities within the team.

You have 3 kinds of views within the ‘Eclipse’-environment – BPM Studio uses Eclipse as it’s IDE – you can be a ‘Business Analyst’, a ‘Business Architect’ or a ‘Business Developer’.
Depending on your responsibilities and your view you will get a different context within the IDE so only those components, views and perspectives are shown that are of importance for your skill-set.

The ability to add swimlanes, add activies, add components is more straight-forward than in BPA, but you’re not really using the BPMN Specs and best practices your used to working with as a BPMN Engineer.

When you’ve defined your process flow you can already test it, simulate it, within the environment and follow the process lifecycle using dashboards, charts, …

So the big value is that within one environment you have all the different artifacts you need to define a process, to deploy a process, to simulate a process (using KPI’s) and to monitor the process’ execution.

I will need to take a look at it to be able to have a clear comparison of strengths and weaknesses of both environments to be able to see the value in both of these products.

Apex Unreachable after Database Upgrade from 9.2 to 10.2

Recently we were performing a database upgrade from release 9.2.0.7 to 10.2.0.4. After the successful upgrade we were issuing a problem to reach APEX. We’ve tried to browse to the APEX URL ( :/pls/apex”>http://:/pls/apex ) and the only thing we were receiving was a blank page. The strange thing is that the APEX URL has been rewriten to :/pls/apex/apex”>http://:/pls/apex/apex
There were no errors in the error.log of the Apache and only HTTP 200 entries were written to the access.log of the Apache.

When trying to reach an existing APEX application ::/pls/apex/f?p=120″>http://::/pls/apex/f?p=120 it wasn’t possible to reach the application but the error.log did write some error entries in the error.log of the Apache.

[Wed Sep 17 06:40:19 2008] [error] [client 130.130.203.210] [ecid: 1221626419:193.53.194.211:5604:7448:145,0] mod_plsql: /pls/apex/f HTTP-404 ORA-06550: line 1, column 35:\nPLS-00201: identifier ‘SYS.DBMS_CRYPTO’ must be declared\nORA-06550: line 1, column 7:\nPL/SQL: Statement ignored\nORA-06512: at “FLOWS_030100.F”, line 279\nORA-06512: at line 31\n

The problem we were facing after the upgrade was a missing grant on the SYS.DBMS_CRYPTO to FLOWS_030100. DBMS_CRYPTO came into the picture from 10G. In previous releases such as 9i the DBMS_OBFUSCATION package is used. The grants to those packages were giving at the APEX install. Upgrading the database after APEX install needs a manually grant of this DBMS_CRYPTO package.

Maarten Fuchs

Handling request-response message in ESB Routing Services

Ever wondered how to define routing services based on soap services or database stored procedures where you could define routing rules on the request-and response-message.

Let’s say you want to define the following scenario:
- Call an existing stored procedure that takes as input parameter ‘employee.id’ and as output parameter the employee-information (firstname, lastname, address, …)
- Define routing rules on this stored procedure so you can send the response-message, the employee information to a 3-party application when the response-message isn’t empty. In other words, when employee information is found for the given employee.id you will send this xml-message to the 3-party application.

This isn’t rocket science right … this should be a piece of cake …

Well let’s start building up the scenario in ESB, using our IDE Jdeveloper:
1) Create a new esb project
2) Create a new esb system
3) Create a DB Adapter calling the stored procedure we’ve defined to extract employee information using the employee.id as input parameter
4) Create a routing service based on the DB Adapter

=> We stumble upon the first problem => we’re not able to define a routing rule on the response message, only the request-message (which is the input-parameter employee.id) can be used in our routing service.

Well let’s try to create an empty routing service and use the xsd’s generated by the db adapter, use the request-parameter as request-message and the response-parameter as response-message.

=> Nope, still not the right path to follow, we still can’t define a routing rule on our response message.

Having a look at OTN doesn’t provide me any answers, using the ESQREQUEST parameter is much to complicated for my basic scenario.

Now let’s have a look at how this could be accomplished in a much more straigth-forward manner:
1) Define DB Adapter (as in the scenario defined above)
2) Define a routing service using the request-parameter of the xsd (don’t fill in the response-message)
3) Define a routing service using the response-parameter of the xsd as the request-parameter of the routing service

In other words :
Define 2 routing services in which you will define the first to handle the request message and the second one to handle the response-message.

4) Link the 1st routing service, handling the request message, to the second routing service and now you can start using your services as needed.

I will provide screenshots for this scenario ASAP.

So what is FUSION exactly … well it’s exactly what you want it to be !!!

When you’re looking into Oracle 11g, what’s coming up, you will notice one thing very clearly … FUSION. SCA, Webcenter, Jdeveloper, OWB, ODI, BPM Suite, Oracle Service Bus, … it’s all becoming 1 user experience.

If we take a look at the Oracle Fusion Approach, you will have the same user experience in each environment you working in.

The IDE’s are converging, the management console’s are converging, … in other words the developer experience, dba experience, management experience, etl experience … every person, every team will work in the same UI, having the same experiences and in other words can team up with all different teams and projects.

It’s amazing when looking at OWB 11g release … it’s ODI put in a Jdeveloper UI, it’s like you’re working inside Jdeveloper not on a web application, soa architecture, database application … no your designing your datawarehouse.

AIA patterns can be used in BPA Suite, BPM Suite will hold all the features of BPMN to deliver a BPEL Blueprint which can be enriched in your Bpel designer. Bpel designer can be used in Jdeveloper or Eclipse, as well as the ESB Designer. Having the Jdeveloper experience and talking about data integration aspects and ETL, well no problem open up OWB 11g and have the same developer experience. The IDE looks the same, works in the same manner as Jdeveloper as well for OWB as for ODI, all suites converge … were do you have that experience now?

Moving towards 11g you will have the converge of BEA and Oracle to have a stronger middleware, an enhanced governance-approach (using AL Enterprise repository) and a whole new feature set coming up in SCA.

So now the million dollar question … when can we use all this great stuff ;o)