Powered By

Free XML Skins for Blogger

Powered by Blogger

Wednesday, August 6, 2008

Designing Interfaces and Proxy Generation

Purpose

Generally speaking, interfaces are where functions in a system can be executed. In the context of SAP Exchange Infrastructure, only the following interfaces are relevant:

· Interfaces designed for message exchange between application systems

· Interfaces used by a cross-component integration process to receive or send messages, or both

Starting with a cross-system integration process, you can then derive the corresponding interfaces required. SAP Exchange Infrastructure supports this process by using an integration scenario to describe the collaborative process. The integration scenario summarizes the interfaces required for this collaborative process.

You can use SAP interfaces that already exist in systems, non-SAP interfaces that are connected to SAP Exchange Infrastructure using adapters, or define new interfaces called message interfaces in the Integration Repository. Both worlds can also be interconnected in a collaborative process.

See also: Interface-Based Message Processing.

Integration

Interfaces are an essential component of SAP Exchange Infrastructure:

· You define the interfaces to be used in an integration scenario.

· Cross-component integration processes use interfaces to exchange messages.

· You define the XML transformations for messages that are to be exchanged between two interfaces in a mapping.

· You assign an interface in a sender system to one or more interfaces in a receiver system in logical routing.

· You generate proxies to implement your scenario based on message interfaces.

You save interface descriptions (message interfaces, BAPIs, RFCs, and IDocs) in the Integration Repository so that they can be referenced throughout SAP Exchange Infrastructure. However, adapters for external systems do not normally use interfaces; instead they access files or database tables in order to function, for example. For this reason, it is not necessary to import these interfaces into the Integration Repository. If the structure of the message is described using a WSDL, XSD, or DTD schema, you can import the schema as an external definition.

Features

Programming Models

You can use the following approaches when developing interfaces:

· Outside-In: You can develop new, platform-independent message interfaces by using the Integration Builder. Message interfaces are based on the WSDL standard Web Services Description Language), an XML schema for describing network services. Using this description, you can generate platform-specific proxies in Java or ABAP that you can then use to implement the actual message exchange.

· Inside-Out: You can connect interfaces from SAP and non-SAP systems to SAP Exchange Infrastructure by using adapters. The Integration Builder can import interface descriptions in XML format for BAPI, RFC, and IDoc interfaces from SAP systems Release 4.0 or higher.

By assigning the appropriate inbound and outbound interfaces, these two approaches can be integrated so that any combination of systems for exchanging messages using SAP Exchange Infrastructure is possible.

Tools in the Integration Builder

The Integration Builder supports both approaches by way of the following functions:

· Outside-In:

¡ Platform-independent definition of message interfaces. Data types for message interfaces are defined in XML schema. An XSD editor is available for this purpose.

¡ Generation of Java proxies directly from the Integration Builder.

To generate an ABAP proxy, use the object navigator (transaction SE80) in the SAP system in which you want to create the proxies. This is possible for SAP systems with SAP Web AS 6.40 or higher.

· Inside-Out:

¡ Import of BAPIs, RFCs, and IDocs from SAP systems Release 4.0 or higher.

¡ Use of imported BAPIs, RFCs, and IDocs in message interfaces to call them from ABAP and Java applications.

· Outside-In and Inside-Out:

¡ External definitions enable you to import WSDL, XSD, and DTD documents, from which you can extract message schema to use in other Integration Builder editors. External definitions support both the outside-in and inside-out approach: They exhibit a function that already exists in an application system (inside-out) and can also be used in message interfaces for proxy generation (outside-in). The same applies to RFC and IDoc messages. However, you cannot reference different object types from a message interface.

¡ Context objects simplify access to message fields. This improves the readability of conditions in integration processes and in logical routing.

For information about other general functions of the Integration Builder that are also useful for interfaces, see Integration Builder.

No comments:

Archives