Friday, July 17, 2009
Wednesday, July 15, 2009
To use this event, the composite to subscribe to this event or use this event for publishing. Using this event can be defined in the mediator.
The mediator can me subsribed to this event or publish an event.
Thinking more in this event behaviour, what is the purpose? Before the 11g release we act on 'events' via queues (AQ / JMS) or via database (Polling) of file system. So why should we use it? This question I was asking myself.... and I found the answer. Apart of the event definition language (EDL) , standardization etc, there is a good reason to use this mechanism by default in your SCA applications.
Think about the next 'old' business flow, simplified. In this example 2 systems deliver data to the application. This data is handled in the BPEL process in chich the data is enriched, checked and transformed to a canonical data format. Then the message is put on the message bus and routed further.
With event driven architecture, we can make service independent of each other, guaranteed delivered and are decoupled. But the biggest advantage is that we are able to add composites that need to be handled without touching the other composite.
If we need to add another composite, we do not need to add an routing rule, we just add the composite, transform the message and send this event to the SOA 11g Server. There is no direct routing between the EventProvider and the EventHandler! It is decoupled!
An example of this code can be downloaded here.
So how does it works? The provider composites and the event-handler composite must have an identical event definition. These definitions must be the same;
Even definition name Event name Event message
Note: If different composite are subscribed to the same event, all this composites will be triggered and an composite instance is created.
Thursday, July 02, 2009
As I do SOA projects for a few years, many users are just entering this service oriented architecture world. For me the technology is common sense and I expect often that Service Oriented Arcitecture (SOA), Business Process Execution Language (BPEL), Enterprise Service Bus (ESB) is well known. But off-course this is not the case. When I started working with SOA/BPEL/ESB it was, and still is, a steep learning curve. The Oracle developers world comes from a traditional approach; thinking in functions and entities and since Java came to us, we are even thinking about objects and inherited them.
With SOA it is different, you have to think about processes; functional and technical. The gap between the functional people and technical people is reduced. Processes are part of the business, otherwise they do not have any reason for existence. While processes are running, the can fail, wait on other process, they finish, started, run in parallel etc. So SOA is a mind shift from the traditional development approach point of view.
In July 2009 the major milestone was reached, release 11g is out. This release has technically a new foundation; the Oracle WebLogic server; running on Java 1.6; new enterprise manager console for all FMW components and last but not least the service component architecture (SCA)
In 2008 Oracle announced the Oracle Application Integration Architecture. This is an add-on on the Oracle SOA Suite, which defines an abstract message layer that can be used to interface various systems; Siebel / SAP / Protal BRM / Cordys via a centralized system (Oracle SOA + AIA). This messages layers are created specific for different industries, for example the telecommunication market.
To start with Oracle SOA here are some of useful links:
Oracle SOA Suite general
- Oracle Application Intergration Architecture
- Oracle Fusion Middleware (functional)
- Oracle Fusion Middleware (technical)
Oracle Application Integration Architecture
- Oracle JDeveloper 11g
- General oracle documentation
- BPEL Correlation
- SOA Suite 10.1.3.3 docs
- SOA Suite 10.1.3.3 New Features
- Best practises 10.1.3.3
- Installation Guide
- ESB Performance patch
- SOA/BPEL patches
- General (Metalink -> Patches -> Advanced -> Product (SOA)BPEL)
- Test Online XPath (1)
- Test Online XPath (2)
- Business Process Modeling Notation (pdf)
- BPMN Visio Stencil (zip)
Wednesday, July 01, 2009