Tuesday, June 8, 2010

SOA Integrations with Oracle EBusiness Suite (aka. Oracle Apps)

Oracle Apps started its first steps towards SOA with the introduction of a product called Integration Repository (IREP). This served as a catalog of the numerous interface endpoints which exposed by Oracle apps. The SOA evolution continued with the introduction of Oracle EBS Adapters. The EBS adapters exposed the Integration points/interfaces as Standard Web Services and translated the data from proprietary data format to a standard data representation like XML. In its latest release of 12.1.1 and higher Oracle Apps has out-of-the-box SOA capabilities in form of Native Service Enablement. This post will cover some of details about the SOA evolution in Oracle Apps.


Integration Repository (IREP):



IREP acts a source of truth for all integration projects. It has a powerful UI for searching and viewing available Interfaces exposed by Oracle Apps. It is kept in synch with latest source code via standard apps patching technology.

To access IREP you can use any of the below options:
  • From within Apps, you need to add a Responsibility : Integration Repository (In R12) and Integrated SOA Gateway (In R12.1.1 and above)
  • For 11i , you can use Oracle's hosted instance of Integration Repository at http://irep.oracle.com/ (with appropriate registration)
Data in IREP is organized for browsing and searching by interface types,which are based on the underlying integration technology used. The Various Interface types available in IREP are:
  • Java Service Interfaces/Service Beans
  • Service Data Object
  • Web Services
  • XML Gateway Message Maps
  • PL/SQL Procedures and Functions
  • Java Methods
  • Concurrent Programs
  • Open Interface Tables
  • Interface Views
  • EDI Message Transactions
You can also upload custom objects to IREP and expose them as integration end points. This facility is available in R12.1.1 and above with the help of a standalone IREP parser script which generates ildt files which can be later uploaded using FNDLOAD.

Ebusiness Adapter:

Ebusiness adapters are available out-of-the-box, have a wizard driven configuration, leverage IREP and expose only the public interfaces and generate the adapter metadata as WSDL files with JCA extensions.

Here is a screenshot of how the application module browser in Jdeveloper looks like (this screen appears in the adapter configuration wizard)


Some commonly used integration points are as below:

1. Integration with PLSQL APIs

2. Integration with Business Events
E-Business Suite is preconfigured with numerous Business Events and each business event represents a ready to use Integration point. These Integrations involve the advanced queue named WF_BPEL_Q which is created during creation of the EBS Adapter service. At runtime a WF_BPEL_QAgent Listener polls this queue and incase new records are found the corresponding BPEL Process is triggered.

3. Integration with Open Interface tables and concurrent programs.
BPEL processes insert data into the Open interface tables/staging tables, on which concurrent programs run,validate data and push the data into final base tables.

Other integration scenarios include integrations with XML Gateway maps primarily used for B2B scenarios for data exchange with Oracle trading partners.

R12.1.1 and Integrated SOA Gateway (ISG):

Service enablement feature in R12.1.1 and above is provided out-of-the box.
For R12 if we had to call some interfaces in Apps, it was done making use of EBS adapters . A separate BPEL process had to be created which used EBS Adapter to call the exposed Integration interface from IREP and generated the corresponding WSDL file. Simply speaking this was done outside of Apps.

However in R12.1.1 and above the adapter framework has been embedded within Apps techstack and the WSDL generation is done from the Apps pages itself.


Some major components of this new product/feature are:

Service Generator
This generates a native service(WSDL) for a particular interface registered in Integration Repository.

Enhanced Integration Repository (IREP)
It provides generate, regenerate, deploy and redeploy buttons on the interface pages itself. Extensible as it allows loading of custom interfaces . Also has support for composite BPEL.

SOA Provider
It deploys/undeploys the native services to Application Server. Also identifies and processes inbound soap requests.

SOA Monitor
It keeps track of the incoming SOAP requests and responses.

Service Invocation Framework (SIF)
It is used to invoke external webservices from within Apps leveraging the workflow business event system.

No comments:

Post a Comment