Skip to Content
author's profile photo
Former Member

Options for using canonical interfaces in XI 2.0?

I'm working on an enterprise EAI architecture for XI 2.0, and would like to define a business interface standard using RosettaNet. An example of how this works:

Oracle Financials (yuk!) sends a message to XI using

a proprietary XML format.

XI does a mapping to convert it to a RosettaNet format.

XI does a mapping to convert RosettaNet to an IDOC.

XI sends the IDOC to an SAP instance.

I can see that this is possible by sticking the SOAP adapter between the 2 mappings -- essentially, the RosettaNet interface is exposed by XI as a Web service. XI performs the 1st mapping, then calls that Web service.

However, there are a couple of drawbacks:

1. Performance -- the adapter engine is processing the RosettaNet XML twice (the message type stays the same).

2. Tracing -- you lose the history from the SAP headers when you go through the SOAP adapter.

Are there other options in XI 2.0 for this kind of approach? For example, can the integration engine route it directly back to the integration engine's URL, or will there be problems from the fact that the outbound and inbound interface types are different (even though message types are the same)?

--Dan King

Capgemini

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

3 Answers

  • author's profile photo
    Former Member
    Jul 08, 2004 at 08:05 AM

    Dan,

    XI 2.0 will refuse to receive the message it has sent itself. XI will consider the message being a duplicate.

    You can do an interface mapping from Oracle to IDoc with 2 mapping programs in a sequence:

    1st: Oracle to RosettaNet

    2nd: RosettaNet to IDoc

    Still, the RosettaNet interface will not be exposed to the outside world.

    Brings me to another point: what made you decide to use RosettaNet as a Common Data Format? Do the RosettaNet messages support all your needs?

    Kind regards, Guy Crets (ComCor Belgium)

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Jul 08, 2004 at 08:17 AM

    Daniel,

    Alternative setups:

    1. use 2 interconnected XI systems, whereby XI-1 sends a Rosetta message to XI-2

    2. do the 1st mapping from Oracle to RosettaNet in the 1st inbound adapter with the Dispatcher class and user exits

    What adapter are you using to connect to Oracle Financials: JDBC, JMS, File,..?

    Regards, Guy Crets

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      The mention of Oracle Financials was just an example -- we have a number of systems that we're planning to connect using this type of integration architecture (and Oracle isn't actually one of them). To answer your question, though, it would depend on the version of Oracle Financials -- 11i vs. 10.x, because 11i introduced new interfce mechanisms. I haven't investigated the JDBC adapter to know if it could fill that need, although I've used JDBC adapters from other middleware platforms to integrate to Oracle Apps 10.7 in the past. The WebMethods XI adapter for Oracle Apps might also be appropriate, again, depending on which interface mechanisms it supports (10.x vs 11i).

      We are looking at RosettaNet (with enhancement) as a canonical form because it's a reasonable fit for our needs. At the moment, it doesn't make business sense to maintain our own integration data architecture. SAP's standards (BAPI/IDOC), while much better than other vendor-specific standards, are still too tied to R/3's internal data models to serve as a canonical interface between other systems.

      --Dan King

      Capgemini

  • author's profile photo
    Former Member
    Jul 09, 2004 at 02:22 PM

    For lack of a better option, I've decided to use the SOAP adapter as a loopback mechanism. I have been able to prototype it successfully; but you do have to tell the adapter to drop the SAP headers in the adapter config.

    --Dan King

    Capgemini

    Add comment
    10|10000 characters needed characters exceeded