Oracle WebLogic Server connects to a SAP R/3 system through Oracle Application Adapter for SAP R/3 Oracle Application Adapter for SAP R/3 provides connectivity and carries out interactions on a SAP R/3 system. This chapter contains the following topics:
Oracle Application Adapter for SAP R/3 using SAP Java Connector (SAP JCo) 3.0 is a remote function call adapter that provides a means to exchange real-time business data between SAP Enterprise Central Component (ECC) 5.0/6.0 systems and other application, database, or external business partner systems. The adapter enables external applications for inbound and outbound processing with SAP R/3. Oracle Application Adapter for SAP R/3 can be deployed as a J2EE Connector Architecture (J2CA) version 1.0 resource adapter. This deployment is referred to as Oracle Adapter J2CA. It can also be deployed as a Web services servlet and is referred to as Oracle Adapter Business Services Engine (BSE).
Oracle Application Adapter for SAP R/3 uses XML messages to enable non-SAP R/3 applications to communicate and exchange transactions with SAP R/3 using services and events.The role of services and events is outlined. Services and events are described as follows:
To support event functionality, channels are supported. A channel represents configured connections to particular instances of back-end or other types of systems.
The channel is the adapter component that receives events in real time from the EIS application. The channel component can be a File reader, an HTTP listener, a TCP/IP listener, or an FTP listener. A channel is always EIS specific. The adapter supports multiple channels for a particular EIS, which enables the user to choose the optimal channel component based on deployment requirements. In the case of this adapter, the channel is an RFC server.
Oracle Application Adapter for SAP R/3 provides:
Support for bidirectional message interactions.
Support for Remote Function Calls (RFC), Business Application Programming Interfaces (BAPI), and Intermediate Documents (IDoc) interfaces to SAP R/3.
XML schemas and WSDL files for the J2CA 1.0 and J2CA 1.5 resource adapter.
Web services for BSE.
Data Type Limitation: Data types
g are not supported. Type
h represents a deep structure. Type
g represents a variable length string. RFCTYPE_XSTRING and RFCTYPE_XMLDATA, as defined in SAPRFC.H, are not supported due to a limitation in the RFC Protocol.
The following SAP R/3 platforms are supported by Oracle Application Adapter for SAP R/3:
SAP R/3 Enterprise 47x100
SAP R/3 Enterprise 47x200
mySAP ERP Central Component (ECC) 5.0, deployed on SAP NetWeaver 2004
mySAP ERP Central Component (ECC) 6.0, deployed on SAP NetWeaver 2004s
SAP Java Connector (SAP JCo) Version 3.0.
For the current release status of the SAP Java Connector, refer to SAP Note #549268 in the SAP Service Marketplace.
Note:Release versions may vary by product component. In addition, SAP functions may vary by SAP product version and support package.
Oracle Application Adapter for SAP R/3 is designed to provide standard access to SAP R/3 interfaces such as Remote Function Call (RFC) modules, BAPIs (Business Application Programming Interfaces), and IDocs (Intermediate Documents), that are used to support existing business processes.
The adapter only supports Enterprise Central Components (ECC) that are accessed by classical SAP technologies. If you require support for additional SAP functionality and components, then contact your iWay Software Sales Representative.
These business components and methods are available to the adapter as requests of SAP R/3 and to the event adapter when SAP invokes its remote requests and work in the following ways:
Business Application Programming Interfaces (BAPIs) are interfaces within the business framework that are used to link SAP components to one another or to third-party components. BAPIs are called synchronously and return information.
Remote Function Call (RFC) Modules are SAP application interfaces that enable clients to invoke SAP technologies and receive responses.
Note:Depending on the release or service pack installed, certain RFCs, for example,
RFC_CUSTOMER_GET, may not exist in your particular SAP R/3 system. Therefore, the examples included in this document may not be relevant to your system. If this is the case, then you should use the examples as a general reference for adapter functionality and choose an RFC that exists within your SAP R/3 application environment.As described in SAP Release Note 109533, SAP Function Modules (RFCs) can be delivered with different release statuses. SAP supports only RFCs that are awarded with the Released for Customer status. There is no claim to the release independencies of the interfaces and the continued existence/functionality of the modules. For more information on the status of a specific function module, consult the SAP Service Marketplace.
Intermediate Documents (IDocs) are the “logical messages” that correspond to different business processes. They enable different application systems to be linked by a message-based interface. The IDoc type indicates the SAP format to use to transfer the data for a business transaction. An IDoc is a real business process in the form of an IDoc type that can transfer several message types. An IDoc type is described by the following components:
Control records. A control record contains data that identifies the sender, the receiver, and the IDoc structure. An IDoc contains one control record.
Data records. A data record consists of a fixed administration part and a data part (segment). The number and format of the segments can be different for each IDoc type.
Status records. A status record describes the processing stages through which an IDoc passes. The following scenario is an example of IDoc functionality and its components:
Purchase order number 4711 was sent to a vendor as IDoc number 0815. IDoc number 0815 is formatted in IDoc type ORDERS01 and has the status records “created” and “sent.” The purchase order corresponds to the “logical” message ORDERS.
You can use Oracle Application Adapter for SAP R/3 to initiate a SAP R/3 business process, such as add/update account, or you can use the adapter as part of an integration effort to connect SAP R/3 and non-SAP R/3 systems.All functions are processed synchronously, but all content in ALE IDocs is asynchronous..In service mode, the Oracle Application Adapter for SAP R/3 can send requests to SAP using the BAPI, RFC, or ALE interfaces.
The adapter quickly and easily integrates your SAP R/3 IDocs, RFCs, and BAPIs with mission critical SAP R/3 system applications and other enterprise applications. The benefits of the adapter include:
Elimination of the requirement for custom coding.
Consistent data representation.
Provides a standard XML representation of event data and request/response documents for SAP R/3.The developer is freed from the specific details of the SAP R/3 interface (BAPI, RFC, IDoc) and the specific configuration details of the target SAP R/3 system.
Adherence to SAP R/3 ABAP serialization rules and SAP R/3 Interface Repository standards published by SAP AG.
During event processing, the adapter receives RFCs and IDocs directly from SAP R/3. The SAP R/3 system can be configured to send an IDoc or RFC to a logical system when a certain event occurs, in this case to the adapter. The output sent by SAP R/3 can be in any of the following forms:
Application Explorer (used to configure SAP connections and create Web services and events) can be configured to work in a Web services environment with BSE. When working in a J2CA environment, the connector uses the Common Client Interface (CCI) to provide integration services using adapters instead of Web services.
Figure 1-1 shows the generic architecture for BSE for packaged applications. The adapter works with BSE, as deployed to a Web container in a J2EE application server.
Application Explorer, a design-time tool deployed along with BSE, is used to configure adapter connections, browse EIS objects, configure services, and configure listeners to listen for EIS events. Metadata created while you perform these operations are stored in the repository by BSE.
BSE uses SOAP as a protocol for receiving requests from clients, interacting with the EIS, and sending responses from the EIS back to clients.
BSE supports both a file-based and an Oracle database repository. The BSE repository stores the EIS connection information and the Web Service Definition Language (WSDL) for adapter services. A single instance of BSE can connect to multiple EIS applications.
Note:Do not use a file repository for BSE in production environments.
Figure 1-2 shows the generic architecture for Oracle Adapter J2CA for packaged applications. This is a pure J2CA 1.0 resource adapter deployed in managed mode to the Oracle WebLogic Server. It is a universal adapter. One adapter can connect to many EIS applications.
The Oracle Adapter J2CA repository contains the list of EIS connection names and the associated connection parameters. The repository can be a file system or an Oracle database. It is deployed as a RAR file and has an associated deployment descriptor called
ra.xml. You can create multiple connector factories by editing the Oracle WebLogic Server deployment descriptor
ra.xml. For more information, see Chapter 5, "Oracle WebLogic Server Deployment and Integration".
If you are using Oracle Application Adapter for SAP R/3 with Oracle SOA Suite components (for example, BPEL, Mediator, BPM, or OSB), then note that:
Only Oracle Adapter J2CA deployment supports inbound integration (event notification) with Oracle SOA Suite components.
Oracle Adapter J2CA and BSE deployments support outbound integration (request-response service) with Oracle SOA Suite components.
The following two factors explain the differences between deploying BSE and Oracle Adapter J2CA. Understanding these factors can help in selecting a deployment option.
BSE has the following advantages:
Can be deployed in a separate instance of Oracle WebLogic Server.
Provides better distribution of load.
Conforms more closely to the Service Oriented Architecture (SOA) model for building applications.
Oracle Adapter J2CA does provide slightly better performance than BSE.