This action might not be possible to undo. Are you sure you want to continue?
Authored by: Kevin Wilson
Author: Kevin Wilson
Page 1 /24
TABLE OF CONTENTS
CHAPTER 1 SAP CONNECTORS 3 1.1 SAP .NET CONNECTOR ---------------3 1.2 SAP JAVA CONNECTOR --------------3 1.3 SAP DCOM CONNECTOR -------------3 1.4 SAP BUSINESS CONNECTOR -------3 1.5 RFC LIBRARY -----------------------------3 CHAPTER 2 .NET CONNECTOR 4 2.1 OVERVIEW----------------------------------4 CHAPTER 3 JAVA CONNECTOR 5 3.1 OVERVIEW----------------------------------5 CHAPTER 4 DCOM CONNECTOR 6 4.1 OVERVIEW----------------------------------6 4.2 FEATURES----------------------------------6 4.3 TECHNOLOGY-----------------------------6 4.4 ARCHITECTURE---------------------------7 4.5 TRANSACTIONAL MODEL-------------7 4.6 RESOURCE POOLING-------------------8 4.7 THE OBJECT BUILDER-----------------9 4.8 PROGRAMMING CLIENTS FOR BAPIS IN VB..................................................................11 CHAPTER 5 COM4ABAP 13 5.1 OVERVIEW---------------------------------13 CHAPTER 6 BUSINESS CONNECTOR 14 6.1 OVERVIEW---------------------------------14 6.2 ARCHITECTURE-------------------------14 6.3 HARDWARE REQUIREMENTS------15 6.4 SOFTWARE REQUIREMENTS------15 6.5 BUSINESS CONNECTOR-------------16 6.6 SAP BC INTEGRATOR-----------------19 CHAPTER 7 RFC LIBRARY 22 7.1 OVERVIEW---------------------------------22 APPENDIX A. GLOSSARY 23
Author: Kevin Wilson
Page 2 /24
It combines an easy to use API with unprecedented flexibility and performance. the RFC Library offers the possibility to write a RFC Server Program.). Visual Basic. 1. which is accessible from any SAP System or external application. In particular.1 COM4ABAP com4abap is a multi-thread server that can expose any COM automation interface to an ABAP program and also offers semi-automatic type conversion between ABAP and COM data types. C++. Delphi or any other COM-compliant language) on the basis of Microsoft´s Distributed Component Object Model (DCOM). Java.2 SAP JAVA CONNECTOR The SAP Java Connector (SAP JCo) is a toolkit that allows a Java application to communicate with any SAP system. The connectors are means for technical interoperability of SAP Components (written in ABAP or ABAP Objects) and other components (e.5 RFC LIBRARY The RFC Library offers an interface to a SAP System.com application (outside-in).3. etc. written in Java. The RFC Library is the most commonly used and installed component of existing SAP Software. C++. 1.NET CONNECTOR The SAP . Thus the SAP BC seamlessly integrates different IT architectures with SAP Systems. Moreover. it allows you to address components that do not have their own user interface. 1.NET application (inside-out). The package supports both. The SAP BC provides bidirectional. This interface provides the opportunity to call any RFC Function in a SAP System from an external application. .NET Connector offers developers the possibility to expose BAPIs and remotelyenabled function modules to any . It is also possible to access . The SAP BC is a main part of the SAP Internet Initiative.NET. Cobol. 1. 1. Java to SAP System as well as SAP System to Java calls. Most SAP Connectors use the RFC Library as communication platform to SAP Systems.3 SAP DCOM CONNECTOR The DCOM Component Connector is a means for technical interoperability of SAP Components (written in ABAP or ABAP Objects) and COM Components (written in VB.NET components from any mySAP. 1. Author: Kevin Wilson Page 3 /24 . g.4 SAP BUSINESS CONNECTOR The SAP Business Connector (SAP BC) allows you to highly automate and extend your business processes over the Internet using open and non-proprietary standards.CHAPTER 1 SAP CONNECTORS The SAP Connectors allow the integration of different applications and technologies with SAP Systems via open standards.1 SAP . real-time as well as asynchronous communication to and from a SAP System.
At run-time the SAP .NET development environment. Author: Kevin Wilson Page 4 /24 .NET application (inside-out). All this is taking place within the familiar Visual Studio .509 certificates or Microsoft Passport.NET Connector offers developers the possibility to expose BAPIs and remotelyenabled function modules to any . Now it is possible to also access . which means access to . methods and even table structures from your . the SAP . At design-time the new Proxy Wizard for Visual Studio .CHAPTER 2 .NET allows the integration of SAP business data and processes into . Transactional RFC or queued RFC are supported.NET components from any mySAP. Generated code for logon and connecting to an SAP system as well as Intelligence support facilitate the process of building your first application.NET application independently of your preferred .NET CONNECTOR 2. X.NET Connector is a beta product.com application (outside-in). VB or any other supported language). The Proxy Wizard will interactively generate proxy classes in C# and add them to your . You then can access all properties.NET application and the SAP server.NET language (C#. Availability Currently.NET applications in a very comfortable and intuitive way.NET Connector will perform and manage all necessary communication between the .NET project. The release of the final product is planned for the middle of 2002. Transparent for the application both SOAP or SAP RFC can be used as communication protocols.1 OVERVIEW The SAP . For communication security you can use Kerberos.NET Connector works with all SAP application servers starting with release 3.NET applications for all existing SAP R/3 systems as well as for the new Web Application Server.1I. The SAP .
1 OVERVIEW The SAP Java Connector is a toolkit that allows a Java application to communicate with any SAP system. Supports inbound (Java client calls BAPI or RFM) and outbound (ABAP calls Java server) calls. It combines an easy to use API with unprecedented flexibility and performance. Supports synchronous. The SAP Java Connector is the best choice for building SAP-enabled Java applications because of the following features: • • • • • • • • High-performance JNI-based RFC middleware Supports R/3 3. Author: Kevin Wilson Page 5 /24 .1H and higher (and other mySAP components that have BAPIs or RFMs). and queued RFC. transactional (important for IDocs). The package supports both. multi-byte languages) Easy to install and deploy.CHAPTER 3 JAVA CONNECTOR 3. Supports client pooling (good for web servers). Java to SAP System as well as SAP System to Java calls. Multi-platform Complete and correct code-page handling (incl.
You can use this outbound server in any system from 4.2 • • • FEATURES Create proxy objects that allow you to address BAPIs from within an external program Create proxy objects that allow you to address remote function modules from within an external program. The MTS defines an application Author: Kevin Wilson Page 6 /24 . transactional. and robust enterprise. DCOM is based on the Open Software Foundation's DCE-RPC spec and will work with both Java™ applets and ActiveX™ components through its use of the Component Object Model (COM). and managing high performance. Internet. This also improves runtime performance. the SAP DCOM Connector also contains a generic RFC server. This transport contains a function group necessary for outbound communications.0B upwards. since your components do not have to retrieve type information from the R/3 System at this time. or queued RFC The SAP DCOM Connector allows you to: Use the generic RFC server Com4Abap to address COM components easily from an ABAP program The SAP DCOM Connector is an early-binding tool. secure. which forms part of the RFC SDK. and efficient manner. The only requirement is that you first apply a special transport to your system. DCOM is designed for use across multiple network transports. deploying. which allows you to address any COM component from within ABAP using a set of special remote function calls. allows you to expose BAPIs and remotely-enabled function modules as COM components.3 TECHNOLOGY The Distributed Component Object Model (DCOM) enables COM software components to communicate directly over a network in a reliable.1 OVERVIEW The SAP DCOM Connector. thus providing an entry point to the R/3 System that you can address using many different programming languages and application environments. The components that you create using the Object Builder can be used in the following environments: • • • • • • Visual C++ Visual Basic and VBA Java (Microsoft VM) Active Server Pages VB Script Java Script 4. It is available on request from SAP. native object transport for Windows NT and Windows® 95. and Intranet server applications. which gives you strong typing at compile time.6D onwards. MTS itself is a component-based transaction processing system for developing. Using the the SAP DCOM Connector and MTS allows you to create distributed applications without having to install the SAP DLL or COM component on each client machine. using either synchronous. scalable. including Internet protocols such as TCP and HTTP. The components also provide automatic type mapping between ABAP and automation data types (including conversion of ABAP internal tables into ADO Recordsets). The Microsoft Transaction Server (MTS) is based on COM and uses DCOM for component-tocomponent communications across a network.CHAPTER 4 DCOM CONNECTOR 4. From Release 4. 4. DCOM is a fast.
1 Transaction Model for BAPIs When you program against BAPIs using the DCOM Connector. Author: Kevin Wilson Page 7 /24 . 4. since there are differences in the transactional behavior. Once you have created a component. It also provides a run-time infrastructure for deploying and managing these applications. If you write your client in a language that supports COM. Each BAPI or function module in the component appears as a separate method. 4. you can create COM components that expose one or more BAPIs or remotely-enabled function modules. When you program using the SAP DCOM Connector. These database operations must operate on the "all or nothing" principle – they must either all be carried out or all be canceled.x or from Release 4. You can then use it in your client applications. If you write an HTML client (Web application). The Object Builder also adds certain adminstrative methods to the component.programming model for developing distributed component-based applications. 4.5 TRANSACTIONAL MODEL A transaction is an inseparable sequence of database operations that transforms the database from one consistent state to another consistent state. the program can access the package directly. you must use Active Server Pages (ASP) to run server-side scripts that can communicate with your COM component.5.4 ARCHITECTURE Using the Object Builder. or whether you have to commit them yourself. The most important question is whether the changes you make are committed automatically.0 or higher. you can install it in a Microsoft Transaction Server package. it is important to know whether the function in question is from Release 3. it is important to know how the components you are using behave with respect to transactions.
5. the transaction is ignored.1 BAPIs From Release 3.1 Synchronous RFC In synchronous RFC. you cannot guarantee the order in which the function calls will be processed in the system (it is quite possible that one call might overtake another). the system cannot tell at what point the error occurred (most crucially.3 Queued RFC When you use transactional RFC.6. When you attempt to process the transaction. 4. you can use transactional RFC. The system implements this safeguard by assigning a unique transaction ID (TID) to each transaction that you submit.4.1. Queued RFC calls are processed asynchronously. and commit them or roll them back as a block. you place each function call in a logical queue. To alleviate this problem.1. you must commit them using the CommitWork method (equally. even if you submit it repeatedly to the R/3 System. From here. In qRFC. since you risk duplicating a completed function call.x Up to and including Release 3. If after a certain period the object has still not been used. Since there is considerable overhead involved in establishing these connections. Restarting a failed call is therefore a dangerous thing to do. it keeps it in a connection pool. each BAPI call forms its own transaction. 4. the system checks whether that TID has already been processed. which is an extension of transactional RFC.1. Each RFC connection is characterized by the following properties: • • Target system Client Author: Kevin Wilson Page 8 /24 .2 Transactional RFC If an error occurs during a synchronous remote function call. the system will release it. it can be reused by another object.2. If it has.0. you can roll them back using RollbackWork). you need to decide between three types of RFC – synchronous. BAPI calls are no longer automatically committed by the system. This section explains which resources can be pooled by the MTS and the benefit that you gain from this. you need to call the CommitWork method yourself.5.6 RESOURCE POOLING If you choose to use the Microsoft Transaction Server (MTS) with the SAP DCOM Connector. Some function modules contain their own implicit or explicit commits.2 BAPIs From Release 4. it will automatically take care of resource pooling and thread management for you. Instead. For cases where you need to specify a particular processing order. and queued.5. A function call cannot be executed until all of its predecessors in the queue have been processed. refer to its documentation and source code.5. with the system automatically calling the ABAP COMMIT WORK statement at the end of the BAPI.2. 4. In other cases. which guarantees that each function call you issue will only be executed once. 4.2 Transaction Model for RFC When you create COM components for remotely-enabled function modules. whether the function module was actually processed in R/3 before the operation failed). 4. however.1 RFC Connections Communication between an MTS component and the R/3 System uses Remote Function Call (RFC). One practical consequence of this is that you can now combine several BAPI calls into one SAP LUW (transaction). the client program sends the function call to the R/3 System and waits until it is complete.5. 4. the MTS does not release a connection as soon as an object has finished with it.0 Onwards From Release 4.2. Instead. transactional. To find out which case applies to a particular function module.5. you can use queued RFC. 4.
4. enter the name to be assigned to the make file of the C++ project. A list of all of the business objects in that system appears. in which a name for the session object is already proposed. Thus resource pooling is of considerable importance in Web scenarios. but you can enter any value. choose Install Component DLL in MTS.7 THE OBJECT BUILDER The Object Builder is the part of the SAP DCOM Connector that you use to generate proxy COM objects for BAPIs and remotely-enabled function modules. For further information. 3.7. 4. Fill out any remaining logon details and choose Logon. 6. 5. Position the cursor on a business object that you want to include in your COM component and choose Add. 4. This name is automatically copied into the Target DLL field as well. 8. 4. Enter a namespace name. 7. because there will be many requests using the same connection parameters.4 The Generation Process When you generate a COM component using the Object Builder. The BAPIs of the object will be methods of the corresponding class. where several users share a single R/3 user. the list of objects available for selection is displayed in hierarchical form.• • User name Password • Language A pooled resource can only be reused by an object with the same properties. Select the RFC type that you want to use. The default is the system name.7.3 Procedure 1. Choose Build Component DLL. This connects to the destination. 4. refer to The Transaction Model. This creates the C++ project and generates the COM component. you set the various options for the C++ project that is created during the generation process. Below this. the DCOM Connector performs two steps: 1.2 Prerequisites There must already be a destination that points to the system whose BAPIs or function modules you want to use. Generating the source files Author: Kevin Wilson Page 9 /24 . Each business object that you select will be a class within the COM object.7. If you want the Object Builder to generate a session object. You can create this by creating a new destination in the DCOM Connector. On the righthand side of the screen. 4. In the top-left hand corner of the screen. It will be the first part of the ProgID of the class. In the COM/MTS group box. Select the destination to which you want to log on. the performance of the application will be improved. because you no longer have the overhead associated with creating new RFC connections.1 Structure The Object Builder contains three parts. An input field appears.7. If you are using Windows 2000 or Windows NT with the Microsoft Transaction Server and want to use the component in the MTS environment. Any logon information that has been stored for that destination will automatically appear in the relevant input fields. select the Session Object option. 9. 2. If the MTS can allocate an existing connection to these requests. you log onto the R/3 System containing the BAPIs or function modules for which you want to generate proxies.
idl <project>.3 Structure Type Source Files The following files are created for each structure type: Filename <StructureType>.2 Object Type Source Files The following files are created for each object type: Filename <ObjectType>.7.2.4.mak <project>.cpp <project>AfX. This is needed to generate the type library. InterfaceID. the following source files are generated: 4.7. and system data) <ObjectType>. as well as other functions for creating object types (from a class factory) and for registration Resource file for the project Interface Definition Langauge (IDL) source containing the interface description. Methods of the DCOM Connector Template Library are used to call remote function modules in R/3 The class definition for the corresponding proxy object Description of the registry entries to be created (including the ProgID.rgs 4.h 4.4.4. The file contains the definitions of all COM interfaces with the corresponding GUIDs for the selected objects of the project. It is required by the resource file Project. user.rc <project>.h <Project>Res.h Function Description of the fields of the corresponding ABAP Dictionary structure Author: Kevin Wilson Page 10 /24 . Compiling and linking the DLL During this process.rc <project>.def <project>AfX.cpp Function Implementation of a proxy object (such as as a business object).7.1 Project Source Files Filename <project>. DEF file with the exported functions of the DLL The C++ source file containing standard includes Include file for standard includes with type definitions This include file is created by Visual Studion.cpp Function Project file Contains the obligatory function DLLMain.h <ObjectType>.
The LOG file contains details of all errors that occurred during compilation and linking The type library of the project. It should work with any IDES System with Release 4.8 PROGRAMMING CLIENTS FOR BAPIS IN VB Use this procedure to program a VB client that calls BAPIs using a session object. 4. 4. 3.8. Create an instance of the session object.1 Prerequisites You must already have created and installed the proxy object and session object. containing the interface description exposed by R/3 objects The DLL that is actually installed.1 Example The following program retrieves a list of sales orders from an R/3 System and displays them in a Visual Basic program. The example is contained in a standard EXE project with a single form called Form1.Recordset oSession. _"800" Author: Kevin Wilson Page 11 /24 .h <project>. It contains data from the IDL file LIB file Output from the Microsoft IDL and C++ compilers and linkers is diverted into this file.SalesorderSessionComponent Dim oOrders As Object Dim oOrderList As ADODB.dll 4.lib <project>. and the Exit function is implemented in the cmdExit_Click routine.8. "EN".Recordset Dim oReturn As ADODB. Release the objects that you have used.2. Also contains the type library.4. Use the PutSessionInfo method to set the connection parameters for the object.7. The Get Sales Orders function is implemented in the routine cmdGet_Click. as long as you change the logon data in the oSession.2 Procedure 1. The data grid control is called DataGrid1. 6.4. Create instances of the relevant business objects Call the BAPIs that you need Call the CommitWork() method of your session object. "TESTUSER". <project>.4 Files Generated by Compiling and Linking The following files are generated when the DCOM Connector compiles and links the project: Filename <project>. 2.0B or higher.log Function Contains definitions for interfaces and generates headers for interfaces to objects from R/3. 4.PutSessionInfo "T20 [PUBLIC]". The Source Code Private Sub cmdGet_Click() Dim oSession As New T20salesLib. "LETMEIN".8.tlb <project>.PutSessionInfo function. The component T20Saleslib is a DCOM proxy for the business object SalesOrder plus a corresponding session object. 5. 4.
They should be formatted as a text stream.BapiGetList(CustomerNumber:="0000001000". 4. you use the method SubmitIdoc. It calls the R/3 function modules INBOUND_IDOC_PROCESS (in the case of a version 2 IDOC) or IDOC_INBOUND_ASYNCHRONOUS (in the case of a version 3 IDOC).Refresh Set oOrders = Nothing Set oSession = Nothing End Sub Private Sub cmdExit_Click() Unload Form1 End Sub 4.Set oOrders = oSession. "RETURN".3. It thereby eliminates the need to use the C RFC API to do so.3.DimAs "BAPIGETLIST".CreateInstance("T20.DimAs "BAPIGETLIST".1") oOrders.8. _ SalesOrganization:="1000".3 Integration You can use the IDOC RFC proxy in any of the development environments supported by the SAP DCOM Connector Author: Kevin Wilson Page 12 /24 .SalesOrder.8. SalesOrders:=oOrders) Set DataGrid1.8. To submit the IDOCs.3 The IDOC RFC Proxy The IDOC RFC Proxy is a special DCOM proxy component that allows you to submit IDOCs from external systems to an SAP System. "SALESORDERS". oOrderList oOrders.8.3. oReturn Set oOrderList = oOrders. 4. 4.2 Structure The component inherits from the transactional RFC interface of the SAP DCOM Connector (ISAPTRfcConnector).DataSource = oOrders DataGrid1.1 Use You can use this proxy component whenever you need to submit IDOCs from external systems. You may submit one or more IDOCs in a single call. Consequently. it supports transactional RFC.
for example.1 OVERVIEW Addressing external components using ABAP has never been easy. it allows you to address components that do not have their own user interface.CHAPTER 5 COM4ABAP 5. You must also register it as an RFC destination in the client R/3 System. MS Exchange. the situation was even worse. The result is com4abap – a multi-thread server that can expose any COM automation interface to an ABAP program and also offers semi-automatic type conversion between ABAP and COM data types. For Visual Basic programmers. you had to convert the data structures back and forth between the C structures and data types you could actually work with in VB. you had to ensure tha tthe service would be active when invoked from ABAP. or started as an executable. both your own and proprietary interfaces such as. because in order to communicate with the RFC API. in which you can instantiate any registered COM component. you program against this destination to create a COM session. The aim was to provide a generic RFC server for the Windows environment with which you could address any COM automation interface. Author: Kevin Wilson Page 13 /24 . Furthermore. Although SAP has long provided the RFC API. In particular. com4abap can be run as a W2K/Window NT service. In ABAP. you needed considerable C expertise to get the server to link and compile properly. Multi-threading was the responsibility of the programmer.
Since SAP BC uses both synchronous RFC (BAPI) and asynchronous tRFC (ALE) calls you can use both BAPIs and ALE for communication in your landscape.1 OVERVIEW SAP Business Connector is a middleware server application based on webMethods B2B Integration Server.sap.com/sbc-download. see the documentation on the SAP Service Marketplace at http://service.1. and SAP BC Integrator. 6.2 ARCHITECTURE The architecture of SAP Business Connector (SAP BC) is divided into two independent parts: the server itself. SAP Business Connector allows you to extend your business processes over the Internet and integrate non-SAP products using open. SAP BC Integrator is a Author: Kevin Wilson Page 14 /24 .com/connectors. Calling SAP Business Connector from within an SAP application is no different from calling any other RFC server. which is the processing component.CHAPTER 6 BUSINESS CONNECTOR 6. nonproprietary technology. 6. including SAP and nonSAP components and applications as well as Web applications. The SAP-proprietary RFC format is converted to Extensible Markup Language (XML) or HyperText Markup Language (HTML) so that no SAP software is needed on the other end of the communication line. SAP Business Connector provides bidirectional synchronous as well as asynchronous communication to and from applications in your mySAP.com landscape.1 FOR MORE INFORMATION For further information on SAP Business Connector. To download SAP Business Connector and SAP BC Integrator go to http://service.sap.
x • Microsoft Internet Explorer 4. you must have SAP R/3 3.development tool that lets you create custom functionality for one or more SAP Business Connector instances (It will be discussed in the next chapter). 6. you need one of the following browsers installed either on the machine where SAP Business Connector is installed or on any machine that can access SAP Business Connector through HTTP: • Netscape Navigator or Netscape Communicator 6.0 or later (5. Additionally.3 HARDWARE REQUIREMENTS Minimum Recommended 256 MB Depends on the number of transactions stored in the file system.com license. you need to install a Java Development Kit (JDK). No additional software is needed.4 SOFTWARE REQUIREMENTS To use SAP Business Connector.0 is recommended) If you want to create additional Java services. Author: Kevin Wilson Page 15 /24 . SAP Business Connector comes with built-in HTTP and FTP server and client functionality.2. also depends on the number of additional packages and services Pentium II 233 MHz or equivalent 128 MB 100 MB Processor Memory (RAM) free disk space 6. or you must have a mySAP. A version of SAP Business Connector including strong 128-bit encryption is available via SAPNet.1 Platforms You can run SAP BC on the following platforms: • • • • • Windows NT and Windows 2000 Linux Solaris AIX HP-UX 6.1G or higher.
HTTPS.5.1 RFC Server / Listener The SAP BC server listens for client requests on one or more ports. it looks for a routing rule.5. Author: Kevin Wilson Page 16 /24 . Select SAP Component and the RFC to execute BAPIs BAPIs RFC Requests mapped to server IDocs IDocs tRFC RFC Server (Listener) Message Store Requests NOT mapped to server tRFC Partner Manager Rule Rule Rule Rule FTP to a location Send via EMail HTTP post via URL 6. You can associate the type of protocol that the server uses for each port. and email ports. 6. The Partner Manager records each message that it receives.6. However.5. By default.3 The Partner Manager The Partner Manager is a built-in facility on SAP Business Connector that manages the routing of messages. recording it in the Message Store as a transaction. The Partner Manager determines how and where to route a message based on routing rules that you define.2 Message Store SAP Business Connector provides a persistent message store that the transaction manager uses to track all IDocs and all tRFC calls that are routed to and from SAP components via SAP Business Connector. Each routing rule is associated with an SAP BC flow service that the Partner Manager generates based on the information in the routing rule. After locating the routing rule for the incoming message. Create client that invokes service SAP BC Services 1. The server supports HTTP.5 BUSINESS CONNECTOR SAP R/3 RFCs RFCs RFCs tRFCs SAP Business Connector RFC Client 2. 6. you can configure the Partner Manager to use a database for the Message Store. FTP. the Partner Manager maintains the Message Store in a log file. the Partner Manager invokes the SAP BC flow service that is associated with the routing rule. When the Partner Manager receives a message.
6. You can control access to individual services by user groups. route an IDoc to an SAP component via tRFC. in the client.5 Guaranteed Delivery Guaranteed delivery is a facility of SAP BC that ensures one-time execution of requested SAP BC services. 6. If you do not specify the TTL period or retry number. It protects transactional requests from transient failures that might occur on the network. The routing rule includes transport information that indicates how and where to route a message.1 Routing Rules Routing rules indicate how a message is to be processed. and to prevent data from being intercepted during transmission: • • • • • • • SAP BC requires clients to present valid credentials – a user name and password or a client certificate – in order to connect to the server. 6. SAP BC resubmits the request. When the Partner Manager receives a message. receiver. You can resend messages to the Partner Manager for processing. 6. or post an IDoc-XML or RFC-XML to a URL. You can use guaranteed delivery when you invoke an SAP BC service from a client or from within another SAP BC service. and message type in the routing rules. When you complete the rule.6 Load Balancing Author: Kevin Wilson Page 17 /24 . receiver. You can configure an administrator listener so that only the administrator listener can accept requests to administer SAP Business Connector.4 Security Features SAP Business Connector is available in two versions. SAP Business Connector can present a different client certificate to each SSL server. SAP BC requires clients to present valid credentials for administrator privileges in order to gain access to SAP Business Connector administrator functions. SAP successfully delivers the request in a subsequent attempt. If it finds a match.3. A transient failure is a failure that can correct itself within a specified period of time. it looks for a routing rule to match the sender.5. depending on your security needs: • A version with weak (40-bit) encryption • A version with strong (128-bit) encryption. the Partner Manager uses the completed rule to route subsequent messages that have the same sender. and message type. and you can specify the number of times that SAP BC should retry a transaction. receiver. With the guaranteed-delivery feature of SAP BC.5. You do this by using the Access Control Lists (ACLs) mechanism to associate certain groups with a service.5. which is discussed below SAP Business Connector has several built-in security mechanisms to protect services from unauthorized access. send a message in FTP. to prevent unauthorized administration of SAP Business Connector. and message type. and message type of the incoming message with the sender. the Partner Manager notifies you that the routing rule is incomplete. You can determine what constitutes a transient error by specifying a time-to-live (TTL) period. and you can delete transactions.You can view and manage the transactions that the Partner Manager records in its Message Store. Each routing rule is uniquely identified by its sender. SAP BC uses the configured defaults. or on the server. SAP BC supports encrypted conversations through Secure Sockets Layer (SSL). If it finds no routing rule for the message.5. If the problem corrects itself. when a transient failure prevents a request from being delivered to the server. You can control access to services based on which listener receives a service request. route an RFC to an SAP component via RFC. send a message via e-mail. receiver. the Partner Manager processes the message in the manner that the routing rule indicates. The transports that you can specify in the rule allow you to route a message to an SAP BC service.
You also need to create an inbound map on SAP Business Connector.5. You can use them to trigger a process in asynchronous mode. You must also configure SAP Business Connector to have an RFC Server (Listener) that listens for RFCs from your SAP component.5. You can create XML-based SAP BC services that execute a BAPI. you can route an IDoc to another SAP component. Your business partners can make requests over the Internet to invoke a service that executes a BAPI. ABAP structures.7.Load balancing is an optimizing feature that you use with clustered servers running SAP Business Connector. The store is part of SAP Business Connector Repository. The inbound map indicates which service SAP Business Connector is to execute when it receives the RFC from the SAP component. You can invoke SAP BC services from an SAP component. which uses a central cluster store to maintain the status of SAP BC services running in the cluster.sap. and suppliers.7 Technical USES You can use BC to accomplish the following: 6. 6.4 Call SAP BC services from SAP systems.7. A number of transport types are available out of the box. administrators can then use the full services provided by ALE. you must configure the SAP component to have an RFC destination for a server running SAP Business Connector.5 Route SAP business documents (IDocs) SAP Business Connector provides great routing capabilities for IDocs. to mySAP Enterprise Portals. This allows SAP users to access information via SAP Business Connector. Asynchronous processing uses the ALE services inside the SAP components transparently for the client. 6.5. Author: Kevin Wilson Page 18 /24 . You can use them to trigger both synchronous and asynchronous processing.7.2 Execute BAPI methods. or the RFC protocol to communicate with an SAP component. Similarly.5.7. Synchronous processing uses the BAPI method of communicating.5. Load balancing allows a server to automatically refer a client request to another server if it is too busy to handle the request itself. After configuring the SAP component and SAP Business Connector. Thus SAP Business Connector enables business-tobusiness integration between trading partners. Before you can create an RFC that invokes an SAP BC service. The Interfaces Repository (IFR) available at http://ifr. 6. Applications within your organization can then invoke the SAP BC services to execute a BAPI on the SAP server.5. This defines the destination to which the SAP component sends RFCs to invoke an SAP BC service.1 Execute ALE functionality. Web-based access to the collection of BAPI interfaces provided by SAP and to the corresponding documentation. you use SAP Business Connector Clustering. thereby extending the reach of your SAP infrastructure to customers.com provides public. or simply to a remote URL in an XML format. partners. For example. To use this feature. including: • • • Performance benefits through asynchronous processing Monitoring services Distribution services 6.3 Execute Remote Function Calls You can execute RFCs to access all available SAP functionality. External applications do not need to support SAP data types. your business partners can make requests over the Internet to invoke a service that executes a BAPI.7. you can create a function module on the SAP component that requests the execution of an SAP BC service. Inside the SAP component. 6.
Packages are designed to hold all the components of a logical unit in an SAP BC component. For example. generate stubs for client applications. price. as specified by the SAP-XML Specification.2 Flow Services A flow service is a service that is written in webMethods flow language.9 Standards 6. and no software integration is needed on your partner’s side. No browser or manual intervention is needed.5. schemas. It supports all versions of IDoc-XML and RFC-XML. and create output templates. You can even handle Web sites that use scripts. records. record. specification. With the SAP Business Connector SAP-XML interface. After grouping these components into a single package.1 IDoc-XML and RFC-XML SAP Business Connector is the de facto XML interface to existing SAP component releases. The BizTalk XML envelope distinguishes between an application specific XML body and a transport-specific XML header. 6. or output template.2 BizTalk XML Envelopes As a default.6 SAP BC INTEGRATOR SAP BC Integrator is an integrated development environment that you use to create SAP BC services for one or several instances of SAP BC. schema. A typical application is to download information from several catalogs and then aggregate the results and return them to the SAP business solution.5. you can easily manipulate them as a unit. 6. It simplifies data exchange with other Web-based messaging systems.5. The BizTalk XML envelope can be used for both BAPI and RFC XML calls and also for both synchronous and asynchronous processing. It allows you to retrieve information directly and in real time from Web sites. you might group all the services and files specific to a particular marketplace in a single package. for example. For example. You may process several Web pages and even provide input to forms automatically. 6. Some of the most commonly used functional elements of SAP BC Integrator are described below.6.7. you save it in a package.5. developed by SAP. and availability information with your purchasing application Real-time integration of your shippers’ internal systems with your fulfillment and ordertracking applications 6.6.6. is called bXML. you might create a flow service that takes a purchase order from a Author: Kevin Wilson Page 19 /24 . This language lets you encapsulate a sequence of SAP BC services within a single service and manage the flow of data among them. This specific XML format.1 Packages A package is a container that you use to bundle services and related elements.9.9.8 Functional uses Typical uses for SAP Business Connector are the following: • • • Real-time integration of your suppliers’ inventories with your SAP components Real-time integration of your suppliers’ product. 6. When you create a folder.6 Web Automation Web Automation is a unique feature of SAP Business Connector. and output templates. SAP Business Connector uses the standardized BizTalk XML envelope format for BAPI and RFC XML messages. service. you can invoke RFCs via XML and convert IDocs to the SAP-XML format. The header communicates transport-specific information – about routing. such as specifications.5. 6. It provides all the tools you need to build and test SAP BC services.
webMethods flow language provides flow steps that invoke services as well as flow steps that let you edit data in the pipeline.6. specify their input values.6.6. webMethods flow language also provides a set of flow-control steps that allow you to direct the execution of a flow service at run time. A flow step is a basic unit of work.6. 6.1 Building SAP BC Services Using Java Since Java is the native language of SAP BC services. 6. Additionally. SAP BC saves them in XML files. a mode that lets you monitor a flow service’s execution path and/or execute its steps one at a time. For example. and inspect their results. It offers a graphical representation of all your data. expressed in webMethods flow language. For instance.6. These include tools to: • • • Write arbitrary messages to the server log. you can: • • • • Test services. which SAP BC interprets and executes at run time. you can create customized services in a variety of programming languages. Author: Kevin Wilson Page 20 /24 .buyer and executes the following series of SAP BC services before submitting it to an internal ordering component: • • • Receives a purchase order submitted by a buyer Logs the order in an audit-trail file Performs a credit check • Posts the order to the ordering system Any SAP BC service can be invoked by a flow service – including other flow services. Examine the call stack and the pipeline when an error occurs. a flow service might invoke a service that you create or any of the built-in services provided by SAP BC. Retry a specified sequence until it succeeds.4 The Pipeline Editor The Pipeline Editor is the facility you use to perform mapping and inspect the pipeline. You use the tools in the Pipeline Editor to route variables (data) between services or between document formats. Execute services in debug mode. The flow-control steps allow you to: • • • Conditionally execute a specified sequence based on a variable value.3 Flow Steps A flow service contains flow steps. 6. 6. Trace the pipeline at run time. You create flow services using SAP BC Integrator. You can create a library of custom code that a flow service or a client application can access and execute. Modify and save the contents of the pipeline at a specified point.5 Debugging SAP BC Integrator provides a range of tools to assist you during testing and debugging. Repeat a specified sequence (loop) for each element in an array variable.6 Building Coded Services In addition to using the built-in services that SAP provides.6. it is the easiest language in which to build an SAP BC service. Temporarily disable steps in a flow and/or specify points where you want to halt execution. SAP provides tools for collecting run-time information that can help debug a service. 6.
The development environment automatically generates an appropriately structured source file that you simply fill in using the built-in editor.6. selecting rows. or they use other database APIs (JDBC.2 Creating Client Code SAP BC Integrator enables you to automatically generate client code in a variety of languages and for several environments.3 Accessing Databases with SAP BC All types of services can access databases – flow services written in webMethods flow language. you make selections from screens in the Server Administrator to describe the function that you want the service to perform. C/C++. Client code is application code that invokes a service on SAP BC. and publish Java services. the development environment automatically compiles it and registers it on the SAP BC server.6. SAP BC provides built-in services that perform basic database operations. Your services can access these built-in services to perform database operations. and deleting rows. The server generates the flow service for you. compile. C/C++. such as connecting to a database. • Author: Kevin Wilson Page 21 /24 . 6. You can create Java. When you save the source file.SAP BC Integrator provides an integrated development environment that you can use to create. for example) to access databases. It typically performs the following basic tasks: • • • • • • Prompts the user for input values if your service takes input Places the inputs into an input record if your service takes input Opens a session on SAP BC Invokes a service Receives output from the service Closes a session on SAP BC • Displays the output to the user The client code that SAP BC Integrator generates can serve as a good starting point for your own development.6. or Visual Basic: • You can create flow services using the Administrator User Interface. and services written in Java.6. 6. and Visual Basic services using SAP BC Integrator or your own development environment. inserting rows. When you create a flow service.
i. As expected by modern software. an older release of the RFC Library can communicate with a SAP System at a higher version and vice versa. Most SAP Connectors use the RFC Library as communication platform to SAP Systems. Thus. the Unicode RFC Library is forward and backward compatible. Maximum functionality. The RFC Library exists in a Unicode and non-Unicode version. This interface provides the opportunity to call any RFC function in a SAP System from an external application. e. too. Maximum performance. a current Unicode RFC Application can communicate with any non-Unicode RFC Application independently of its release and vice versa. e. e. which is accessible from any SAP System or external application. incorporated in the RFC Library. almost all features of RFC in SAP Systems should be supported by the RFC Library. Maximum flexibility. Author: Kevin Wilson Page 22 /24 .CHAPTER 7 RFC LIBRARY 7. The most important design features of the RFC Library are: • • • • Working with the native RFC Protocol. the RFC Library offers the possibility to write a RFC Server Program. Information about where to find the current version of the RFC Library is described in OSS note 413708.1 OVERVIEW The RFC Library offers an interface to a SAP System. SAP provides the RFC API in the form of C-routines. The RFC Library is the most commonly used and installed component of existing SAP Software. This enables the user to write powerful multithreaded RFC Applications. • Full compatibility to other RFC Releases. i. The RFC Library is available on all SAP Supported Platforms. The RFC Library is forward and backward compatible. Moreover. i. the RFC Library is thread safe.
SAP Business Connector uses LIBRFC to communicate with the SAP components. TERM Business Application Programming Interface (BAPI) RFC Server (Listener) GLOSSARY DESCRIPTION Business functions in SAP components that are written in the programming language ABAP. or HTML Web sites) or services written in Java or C/C++ by you. For example. Communications method that an SAP component uses to synchronously invoke a function on a remote system and that a remote system uses to synchronously invoke a function on the SAP component. Listeners can accept RFC or tRFC requests. Typically. In SAP BC terminology. BAPIs are formalized RFCs. RFCs are requests that an SAP component sends to invoke functions on remote systems. the Partner Manager can route messages to an SAP system. or SAP AG. This allows SAP components to access functions in external systems. Protocol for ensuring that an RFC is executed successfully and executed only once on the target system. A process that accepts messages and routes them to a configured location. thirdparty vendors. XML documents. SAP Business Connector functions that are named with a hierarchical interface and service syntax. SAP terminology for a process that sends RFCs to an SAP component to invoke functions. to SAP BC. or to a remote URL in an XML format. The tRFC protocol ensures that an RFC is executed successfully and only once.APPENDIX A. A JDBC-compliant database that SAP Business Connector uses to track all transactions that pass through the Partner Manager. A process that can accept RFCs from SAP components. Systems that are remote to the SAP component commonly use BAPIs to invoke an action on the SAP component. Services can be flow services (interfaces to data sources. Listeners are named and register with an SAP gateway to indicate that they are ready to accept requests. SAP Business Connector can handle both inbound and outbound tRFCs. RFC Client Transactional RFC (tRFC) tRFC protocol Remote Function Call (RFC) RFC protocol SAP BC Service LIBRFC Intermediate Document (IDoc) Partner Manager Transaction and Message Store Author: Kevin Wilson Page 23 /24 . EDI-like SAP business document. the process is called a Listener. Communications method that an SAP component uses to asynchronously invoke a function on a remote system and that a remote system uses to asynchronously invoke a function on an SAP component. Code library provided by SAP that allows third parties to integrate the RFC protocol into applications. Listeners are one or more threads on SAP Business Connector that wait for incoming requests from SAP components. or calls that remote systems initiate to invoke functions on an SAP component. IDocs are routed through the Partner Manager.
Author: Kevin Wilson Page 24 /24 .
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.