DCOM Connector: Concepts

Overview

This section contains the following topics:

dot.gif (151 Byte)  General Features

dot.gif (151 Byte)   Architecture

dot.gif (151 Byte)   Possible Scenarios for Using DCOM Proxies

dot.gif (151 Byte)   Platforms

DCOM provides a standardized basis for creating and integrating distributed software components. Client applications can use DCOM as infrastructure for their communication with SAP servers.
R/3 components such as BAPIs or remote function modules in this case appear as COM objects and use the runtime environment of the Microsoft Transaction Servers (MTS).

The DCOM Connector provides a C++ template library developed by SAP that you can use to create and administer COM objects from business objects of the R/3 system.

General Features

The template library offers the following features:

Note

 

Architecture

The figure below shows the system components required for integrating business objects via the DCOM Connector. In addition, it demonstrates the cooperation of these components and shows which transfer protocolls belong to which part of the architecture:

The methods of business objects provided on the R/3 application server or the remote functions are available in the MTS via interfaces of the generated COM objects. The runtime environment of the DCOM Connector is responsible for generating and administering COM objects and thus allows you to call BAPIs or remote functions in the R/3 system. The DCOM Connector is based on the RFC protocoll and uses parts of the RFC API. In connection with the MTS, the DCOM Connector can use the mechanisms of resource pooling to efficiently administer RFC accesses. For this purpose, the DCOM Connector is installed in the form of components within a package in the MTS.
As the central tool for the interoperability between R/3 components (BAPIs and remote functions) and COM or HTML clients MTS provides functions for managing the R/3 access ("system location", "load balancing") as well as its own security concept ("MTS roles").
COM clients use the DCOM interface
(1) to access MTS components. You can program them in VC++ or in VB (VBA) or in any other languages that support COM.
HTML clients (that is Web Browsers) establish the connection to the Internet Information Server (IIS)
(2) via the HTTP protocoll. This connection goes with the call of an Active Server Page (ASP). ASP is installed in the Internet Information Server as Scripting machine. The Active Server Pages communicate with the MTS via DCOM to access its components. The scripts embedded in HTML, on the other side, are executed via ASP on the server side and returned to the Web Browser as HTML coding.
In addition, the Internet Explorer 4.0 can establish a direct connection to Remote Data Services (RDS)
(3) via HTTP. RDS is a client-side technology that enables the client not only to display table data but also to change them directly.
RDS also uses DCOM to acces the components in the MTS. This connection is suited only for calling stateless objects.

Possible Scenarios for Using the DCOM Connector

The two scenarios below demonstrate different uses of the DCOM Connector to create client applications:

PC Client Applications

The client applications on a PC use DCOM to access COM objects that are executed on one or more MTS servers. In such a scenario, you only need to distribute the client application software between different PC's. You need no additional SAP software components on the  PC. The components of the MTS are accessed remotely.
DCOM Connector allows you to

WEB Scenario

You can use Active Server Pages (ASP) to create interactive WEB pages whose HTML coding contains executable scripts on the server side. ASP communicate with the MTS via DCOM to access its components. The MTS can but need not run on the same machine as the Web server (IIS).
The advantages of resource pooling in the DCOM Connector apply in this scenario:

Supported Languages

The DLLs are created in C++. The generated objects can be used by all programming languages that support COM.
We tested the following environments for developing client applications: