DCOM Connector: Concepts
Overview
This section contains the following topics:
General Features
Architecture
Possible Scenarios for Using DCOM
Proxies
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:
- Strongly typed compile time object
:
The binary description of the interfaces an R/3 component opens up is stored in a Type
Library. The type library is part of the generated proxy objects, so that meta
information from the R/3 system is available at design time as well as at runtime of the
clients. This means that you can display the interface definition in the development
environment. In addition, no round trips to the SAP system are necessary at runtime. This
increases performance compared to those solutions that retrieve their meta data at
runtime.
- ABAP data types
are mapped automatically onto the corresponding OLE data types (and
vice versa).
- Tables and structures
from R/3 are represented by ADO Recordsets.
- COM versus
RFC:
Using DCOM between the client program and the MTS server allows you to distribute intranet
applications without having to supply the SAP DLL and the appropriate OCX controls. In
addition, there is no need for net-wide maintenance of services, samsg.ini and saprout.ini
files.
- Dual interface:
VB5 (and higher) or C++ can use it to access methods directy, that is by bypassing the
Automation interface IDispatch.
VB4 or the Scripting languages can access via IDispatch.
- Resource pooling
allows an optimized administration of resources and a high
performance of the R/3 accesses.
- There is no BOR runtime, since BAPIs are
called directly via the call of the function modules that define them.
- DCOM Connector uses the security services of the MTS to guarantee access security.
- BOR names
for methods, key fields, and parameters are transferred completely and
case-sensitively.
- Generation of DCOM proxies and their installation in the MTS (as host for COM objects)
is controlled via a user interface, the DCOM Object Builder. This allows you to
minimize the effort required to generate DCOM proxies and to concentrate on programming
the clients instead.
- The Object Builder supports also the generation and installation of a session
component.
Note
- Using the DCOM Connector Without MTS
The new version of the DCOM Connector (as of Release 4.6A) allows you to use the generated
business components without MTS as runtime environment as well. In this case, you need not
install the MTS.
However, keep in mind that you lose the advantages connected to the MTS such as resource
pooling, security services, and so on.
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
- concentrate on programming the client application without having to know details about
the RFC protocoll.
- simplify table handling with ADO by using standard tools (such as Data Bound Control).
- use comfortable development environments (VB 5/6) for developing the client.
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:
- High performance of the R/3 accesses shortens response times.
- Reduction of the number of user contexts in R/3 reduces storage use and rollin/rollout
during the access to the R/3 system.
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:
- Visual C++
- Visual Basic und VBA
- Java (Microsoft Virtual Machine)
- Scripting environments:
- Active Server Pages (ASP)
- Java Script
- VB Script