Business Events - EBS Adapter vs SOA Gateway
By Vijay Shanmugam on Feb 18, 2010
- Message-based system integration
Propagate business event messages from one system to another. Messages can be propagated to other Oracle Databases through AQ propagation or consumed by external middle tier applications from the AQ.
- Business event-based workflows
Trigger workflows as a result of a business event occurrence and consume the business event parameters and data in the workflow process
- Non-invasive customization of packaged applications
Loose coupling between the application raising the business event and the application subscribing to the event. Custom subscriptions can be added for seeded business events without modification to packaged applications.With above features, Business Event System is a lightweight and powerful layer that enables seamless integration between application within E-Business Suite and with applications outside E-Business suite. Following are some of the SOA based features built on top of Business Event System.
Business Events in EBS Adapter
E-Business Suite Adapter is a component of Oracle SOA Suite 10g and 11g that is available from JDeveloper and SOA Suite middle tier to help integrate with E-Business Suite 11i and R12. EBS Adapter can consume a variety of E-Business suite interfaces that are defined in Integration Repository in R12.
Business Event is one of the EBS interfaces that EBS Adapter can consume inbound. A business event occurrence in E-Business Suite can be communicated to Oracle SOA Suite through EBS Adapter that can in turn be used to initiate a BPEL process or an ESB routing service.
From SOA processing perspective, the usage of business event by EBS Adapter can be considered a PULL mechanism wherein the EBS Adapter dequeues the message from WF_BPEL_Q in E-Business suite database to SOA processing in Oracle SOA Suite.
Business Events in Integrated SOA Gateway
As described in earlier posts in this blog, Integrated SOA Gateway is an integral part of Oracle E-Business suite R12.1 that service-enables E-Business suite by exposing E-Business suite interfaces such as PL/SQL, XML Gateway, Concurrent Program and so on as Web Services. Integration Repository is the source of truth for E-Business suite interfaces and also a console for service enablement.
- Business Event as an Interface in Integration Repository
In Oracle E-Business Suite R12.1, business events are exposed as interface in Integration Repository that Integration Administrators can subscribe to for integration with external systems. By clicking Subscribe button in the business event interface details page in Integration Repository, an event subscription is automatically created as follows.
Source Type - Local
Rule Function - WF_RULE.Default_Rule
Out Agent - WF_BPEL_QAGENT
In Business Event System this means when that event occurs, enqueue it to WF_BPEL_QAGENT. As to what dequeues from WF_BPEL_QAGENT is left to the implementers. For example, if there is a SOA Suite deployment, AQ Adapter could be used to dequeue the event message and used in SOA processes.
This use-case is synonymous to how business events are dequeued from EBS Adapter but the purpose of exposing business events in Integration Repository and providing ability to create an event subscription is generic in nature. The target consumer in this case could be any AQ client like AQ Adapter or a simple Java program.
- Business Event as enabler for Web Service Invocation
Integrated SOA Gateway in Oracle E-Business Suite R12.1 provides ability to invoke web services that could reside anywhere on the intranet or internet. This is called Service Invocation Framework (SIF) that has capability to consume a web service given the location of the WSDL and invoke a selected operation on a service defined in that WSDL. SIF essentially is a SOAP client available within E-Business Suite R12.1 that can be used by E-Business Suite products to invoke any standard web service.
How is SIF implemented?
SIF is a layer within Oracle Workflow Business Event Sytem. Given that the business event system is a proven integration methodology in E-Business Suite, the SIF is implemented using event-subscription model as follows.
The usage of business event here is purely as a SOAP client to invoke a web service that resides elsewhere. Please read a previous post on SIF in the same blog.
- Create an invoker business event
- Create an Invoke Web Service subscription by consuming the WSDL
- Raise the invoker business event with appropriate payload to invoke the Web Service
From SOA processing perspective, the usage of business event sytem here is to send a SOAP request to a web service. This can be considered a PUSH mechanism wherein the business event system initiates SOA processing by acting as a SOAP client within E-Business suite.
- Subscribe action from Integration Repository's Business Event interface details page does not have any impact on Service Invocation Framework. SIF and Integration Repository are two separate functionality.
- SIF is simple SOAP client built using Business Event System. It does not send any Web Service payload by itself. You have to build and pass all required headers and input to the Web Service as per Web Service operation's definition in WSDL.