Service-Enable 11i -- Get A Jump On Fusion

You call 411 and ask for the phone number of the local Joe's Pizza. You ask your fancy-pants hotel concierge to book you tickets to the revival of, "Learn Oracle in 21 Days - The Musical."  You ask the E-Business Suite,  "How many Vision Laptops are in inventory organization M1?"  What's going on here? 

The World At Your Service

Web Services are key to the flexible infrastructure that has the potential to lower your costs of ownership and let your systems adjust to changes more easily. Lots of ink has been spilled: e.g. O'Reilly from 2001 is like looking at a time machine.

So if Web Services and Service Oriented Architectures (SOA) make applications easier to mix and match, what's a monolithic old application like the E-Business Suite to do?

Well, the Fusion Middleware BPEL Process Manager lets you Web Service-enable any of the E-Business Suite APIs today. Steven has given you the basics about using BPEL Process Manager and told you where to find the programming interfaces.  My goal is to connect these dots for you through the Fusion Middleware SOA Suite's E-Business Suite adapter. When these dots are connected, you'll see that you can service-enable any programming interface in the E-Business Suite - that's thousands of touchpoints to pick from.  The E-Business Suite is waiting to dance to your tune on puppet strings made of SOAP bubbles!

EBSAdapterGoForward: <FONT size=2>Going forward, the EBS adapter will get its metadata directly from your R12 instance.</FONT>
The EBS Adapter will get its metadata directly from your R12 instance going forward.

E-Business Suite - Exposed!

There are many interfaces published in the Integration Repository, and some of them are, in fact, document-style Web Services. The XML Gateway can take XML messages in standard Simple Object Access Protocol (SOAP) wrappers; it's a nice standards-based way to input some Sales Orders, the occasional Advanced Ship Notice. But let's face it:  you want 'remote procedure call' services! Request/Reply! Stock quotes! Exchange rates! The sexy stuff!

The E-Business Suite Adapter lets us do that with any of the procedural APIs in the Suite, many of which are based on PL/SQL. The ingredients are:
  • One pound E-Business Suite instance.  Any version will do - that's one of the cool parts.
  • One fired-up cup of JDeveloper, which includes the E-Business Suite adapter.  This version includes both BPEL and a runtime OC4J container, which will actually execute the whole BPEL product and your trial service - for testing purposes.
  • One tablespoon live Oracle Application Server with BPEL Process Manager, for actually implementing and deploying the process.
We're going to use our example of the inventory check:  "How many Vision Laptops are actually in M1?"  Turns out we can check out that PL/SQL method in the Integration Repository.  It's the Query Quantity procedure in the Quantity Tree package in Inventory

Now, this isn't a cookbook play-by-play; there's a good one already posted.  Here are just the basics, to show you it's pretty easy.
  • In JDeveloper, create a new, empty synchronous BPEL process.
  • From the Process Components palette on the right, pull a PartnerLink onto your diagram.
JDeveloper UI:
  • Start the E-Business Suite Adapter ("Define New Adapter Servce"), and search for the API.
  • Notice that the API looks the same as it does in the Integration Repository!
  • The Adapter Wizard waves a wand and suddenly you have:
    • A PL/SQL package
    • An XML Schema Definition (XSD)
    • The Web Services Description Language (WSDL) for the adapter service
That's pretty much it.  You can see in the diagram that for my process I defaulted in some values (org id, etc), and got out only the Quantity On Hand value. Those are BPEL "Assign" steps.

Servicing our Customers

Some of the most common questions our customers put to us lately include:
  • How does the E-Business Suite expose services?
  • How can I fit the E-Business Suite into my SOA strategy?
  • What's the Applications direction around Web Services? 
What we've shown here today is not what Web Services will look like in Fusion. In the future, web services will be tightly tied to the Java object model underneath the Framework, and will use the Service Data Object standard that Oracle and others are pushing.

But you can get a jump on that future, using the tools of the Fusion Applications -- Fusion Middleware, BPEL, Integration Repository -- and deliver real architectural value back to your business today.  That's pretty cool, and you'll pick up some neat tricks in the process.

Tell me if you do anything interesting like this in the Comments box.

For More Information
PS - Does anyone remember junior high English class - where Tom Sawyer gets all the other kids to paint the fence by telling them how good it will look on their curriculum vitae? Steven Chan does!


Rama, thanks for the feedback... and for catching the typo in that link.We'd be interested in hearing more about how you fare with your initiative.&nbsp; Feel free to drop us a comment or email now and then as your project moves along.Regards,Steven&nbsp;

Posted by Steven Chan on July 25, 2006 at 12:13 AM PDT #

Thank you very much for your article. Our organization is trying to use Web Services. It is timely for us.

P.S. The link for
"Oracle Applications Integration Cookbook: A Developer's Guide" is pointing to I changed that to and it worked.

Posted by Rama Nalam on July 25, 2006 at 12:40 AM PDT #

Hi, Rao,There is no patch number for the 11.5.10 Integration Repository; that's not available separately for Release 11i.&nbsp; You can access an online copy here:, the EBS Adaptor is packaged as part of Oracle Application Server 10g.&nbsp; It's not released as a separate Apps patch.The rest of your questions are outside of my area of expertise, unfortunately. If none of our blog readers chime in with their own suggestions, you might choose to post your questions on the Oracle Technology Network forums, the Metalink Support forums, or log a formal Service Request via Metalink for assistance with these.Best of luck with your research.Regards,Steven&nbsp;

Posted by Steven Chan on January 09, 2007 at 08:15 AM PST #

Hi Steven,

We are planning to use / Develope Web Services to perform Real Time Integration of Various custom development system with Oracle Application EBS 11.5.10 (mostly CRM and Financial Module).

As the Integration Repository is not part of 11.5.10, May I get the patch numbers for Integration Repository and EBS Adaptors?

Secondly, where do I get the list of seeded Web Services in the Oracle Application (I see only HelloWorld service when I login as SYSADMIN in jtflogin screen and look into Integration Tab.

Any pointers on how to publish an existing seeded or Custom API as an Web Service in 11.5.10 is greatly appreciated.

Per the Cookbook (Oracle Applications Integration Cookbook: A Developer痴 Guide Dated 08/2005)
"...The current version of the Oracle AS Adapter for Oracle Applications does not
support PL/SQL boolean and PL/SQL Records. You need to implement wrapper code for the above type support. The Adapter Service created can be deployed and invoked from a BPEL process....". If this is true, do we need to write wrapper functions/procedures to all the seeded/Custom APIs that take these types of parameters (like in XML Gateway)?

Rao J.V.

Posted by Venkoba Rao Jujaray on January 09, 2007 at 08:18 AM PST #

Hi Jim and Steven,

From your article, you mentioned that:
. Start the E-Business Suite Adapter ("Define New Adapter Servce"), and search for the API.

. Notice that the API looks the same as it does in the Integration Repository!

How could the JDeveloper Oracle Application Module Browser collect all the interfaces that are available through Oracle Integration Repository? Is it from the XML description file in the Oracle Integration Repository?


Posted by Qing on August 13, 2007 at 08:40 AM PDT #

Hi Steven,

Very useful and resourceful article. We are evaluating generating outbound messages from Oracle EBusiness using Jdeveloper BPEL designer When we create a Partner link and define the Oracle application adaptor, it throws up "The queue APPS.ECX_OUTBOUND cannot be found. The database connection user might not have privileges to access this queue". We are connecting using user "Apps". We've already given all privileges to the Apps user on the outbound queue. Is there something else we are missing here?

- Sunil

Posted by Sunil on February 13, 2008 at 10:53 AM PST #

Hi, Sunil,Glad to hear that you're working with this technology.&nbsp; I'm afraid that I don't have any suggestions on debugging this particular error, however.&nbsp; It might be worth logging a formal SR to get one our our ATG ECX Support specialists engaged on this one.Good luck with your integration project.Regards,Steven

Posted by Steven Chan on February 14, 2008 at 01:57 AM PST #

Post a Comment:
  • HTML Syntax: NOT allowed


« July 2016