Recently I was working with a client who wanted to implement a recursive process (i.e. one that calls itself). Now Recursion is a classic programming pattern, and in theory it should be pretty straight forward for a process to call itself. However at first sight it’s not so obvious.
The issue here is that the way a BPEL Process calls out to another process is to drag a Partner Link on to your BPEL Process and then use the Service Browser to select the deployed process that you wish to call.
I recently had the pleasure of presenting the Oracle Key Note at the Butler Business Process Management & Integration symposium. The subject of the keynote was to look at how we can use business analytics to enable us modify processes already in-flight.
When you consider the traditional closed loop BPM Lifecycle, as illustrated below, the emphasis has always been very much on using analytics about how processes have performed in the past, in order that we can modify the actual process definition in order to improve / optimize future versions of the process.
The notification service in Oracle BPEL Process Manager allows you to send a notification by email (as well as voice message, fax, pager, or SMS) from a BPEL process.
However another requirement is to be able to use the receipt of an email to initiate a BPEL process. This is the subject of this blog, many thanks to Muruga Chinnananchi on whose original example this is based.
Essentially we want to create a simple process EMailActivation which recieves an email sent to a particular email address. To achive this there are two basic steps:
When developing any BPEL based solution, you soon find that you are defining a common set of data objects that are used across multiple processes.
The most obvious place to define those data objects is in one or more XML Schemas which can then be referenced by each of your BPEL Processes.
Oracle BPEL PM 10.1.3 now provides the ability to import these Schemas as part of the BPEL Project Creation Wizard (in previous versions you had to import the Schema after the project was created – which you can of course still do in 10.1.3).
When debugging BPEL processes it can sometime be very useful to see the actual messages flowing between processes.
Now, often the audit trail in the BPEL Console provides sufficient information to see whats going on, and by clicking on the appropriate invoke, receive or reply activity you can see the content of the payload that was sent or received.
However this is only half the story as it doesn’t show details of the actual soap message exchanged and in particular details such as the SOAP headers used for WS-Security and WS-Addressing.
Today, I read a good article about how to use the processScope feature in Oracle JSF implementation: ADF faces.
The processScope is not a standard feature in of JSF, but is added by Oracle to overcome the problems with using the request or session objects to pass data between pages.
In a posting on Meeraj Kunnumpurath's weblog , I read that the Java Servlet specification 2.5 (still in maintaince version) will have the ability to inject dependencies to classes whose lifecycle are maintained by the container. This means that you can just inject and use resources, like EJBs and DataSources, in the same way as you can do now in the EJB3.o specification (still in beta-version).
Today, I read on Fermilab the news that the California Institute of Technology as won SC|05 Bandwidth Challenge in Seatlte last November. The team of high energy physicists, computer scientists and network engineers led by the California Institute of Technology transferred physics data at a rate of over 150 gigabits per second--equivalent to downloading over 130 DVD movies in one minute.
In a previous post, I noticed that Sun made several of its development tools free. I have downloaded the free Sun Java Studio Creator tool and started to play around with it.
I started to build a simple JSF application and I immediately noticed how easy it is to set things up and to add JSF components to your page. I also noticed that this tool is optimized for the development of web GUIs and it is clearly not meant to build EJB modules with it. (however you can import them and use them in your webapp as the model.)