On this page:

ABAP Agent comprises of multiple components and uses various Cisco AppDynamics agents and APIs to enable relevant functionality. This page provides a high level overview of the solution architecture, isolated data flows, and prerequisites.

Prerequisites

Architecture Diagram

The following diagram depicts all components along with their interactions.

Controller Connection

Setup the Connection to Controller to enable the following data paths:

  • C++ SDK to Controller Connection
  • ABAP Agent to Controller Connection

C++ SDK to Controller Connection

Controller connection parameters are needed by C++ SDK to establish HTTP or HTTPS connection to a controller (diagram path 1.a). These connection parameters are propagated to C++ SDK from ABAP Agent via HTTP SDK config file during HTTP SDK process start-up.

Functionality

This setup is required for C++ SDK to be able to forward SAP data (business transactions, snapshot details, metrics, events, etc.) and to exchange setup and validate licensing with the controller.

SSL Connection

When SSL connection is required, set the correct Port (443 for SaaS controller) and check the Use SSL checkbox. For SaaS controllers, C++ SDK automatically uses the bundled ca-bundle.crt certificate. Additional actions are needed only when connecting to an On-Premises controller. The actions depend on where the HTTP SDK was installed:

HTTP Proxy

If a HTTP proxy exists between C++ SDK / HTTP SDK and the controller, HTTP proxy connection settings must be maintained. See step 2 in Connection to Controller.

These settings are propagated to C++ SDK from ABAP Agent via HTTP SDK config file during HTTP SDK process start-up. The HTTP proxy is relevant only for C++ SDK to Controller connection, not for ABAP Agent to HTTP SDK connection.

ABAP Agent to Controller Connection

The Controller API adapter component of the ABAP Agent needs the controller connection parameters to establish a direct HTTP or HTTPS connection to a controller. Controller API adapter reads all the relevant parameters directly from ABAP Agent database tables.

Functionality

This setup is required to check:

SSL Connection

When SSL connection is required, additional actions are needed for both On-Premises and SaaS controller types. Download all controller certificates using a web browser, upload them to a STRUST SSL client identity, and set the client identity name in ABAP Agent customizing. See Controller SSL Connection.

HTTP Proxy

If a HTTP proxy exists between the SAP system and the controller, HTTP proxy connection settings must be maintained. See step 2 in Connection to AppDynamics Controller.

HTTP SDK Connection

HTTP SDK is a middleware that exists between the ABAP Agent and the Controller. It uses an HTTP server that listens to a configured port and forwards commands from ABAP Agent to C++ SDK. For ABAP Agent to be able to report data to the controller, you need to setup HTTP SDK parameters (diagram path 2). See Configure SDK Settings

Functionality

This part of the setup is required for ABAP Agent to be able to forward SAP data (business transactions, snapshot details, metrics, events, etc.) and to C++ SDK via the HTTP SDK wrapper program.

Setup steps depend on where the HTTP SDK was installed.

HTTP SDK Installed Locally

When HTTP SDK is installed locally on SAP application servers with OS that supports a local installation for the HTTP SDK, it is controlled directly by the ABAP Agent using SAP SXPG command framework. ABAP Agent forwards data to HTTP SDK instances using local HTTP calls.

SSL Connection

SSL connection between ABAP Agent and HTTP SDK is not supported in this scenario. Calls between ABAP Agent and HTTP SDK are restricted to local calls, e.g. http//:localhost:<HTTP SDK port>/<action URL>.

HTTP Proxy

HTTP proxy is not relevant for this connection.

HTTP SDK Installed on Remote Gateway System

When HTTP SDK is installed on remote Gateway system, it is controlled by ABAP Agent via HTTP or HTTPS calls (diagram path 2.b) to SDK Manager process. SDK Manager needs to be started separately and requires additional setup steps, see SDK Manager Settings. ABAP Agent forwards data to corresponding HTTP SDK instances using HTTP or HTTPS calls (diagram path 2.b).

To link ABAP Agent with a Gateway server, maintain SDK Manager host (hostname or IP of Gateway server where SDK manager is running) and SDK Manager port (port where SDK Manager listens for commands, 7999 by default). Maintain a unique and unused HTTP SDK port for every application server. SDK Manager will spawn one HTTP SDK process for each application server and each process will listen on the maintained HTTP SDK port.  

SSL Connection

Optional SSL connection is possible, but can lead to unwanted overhead. See HTTP SDK and SDK Manager SSL Connection. The setup involves the following steps:

HTTP Proxy

HTTP proxy settings are not applicable for communication between ABAP agent and Gateway server.

Machine Agent Connection

HTTP SDK can be used to fully replace Machine Agent HTTP Listener. See Analytics API Adapters for more details.

Connection to Machine Agent HTTP Listener needs to be setup for ABAP Agent to be able to report custom application events if HTTP SDK cannot be used. Machine Agent Adapter component of the ABAP Agent uses the settings to establish a HTTP connection to HTTP Listener of a Machine Agent instances (diagram path 3). 

Functionality

This part of the setup is used to forward custom application events through the Machine Agent HTTP Listener to the controller.

SSL Connection

SSL connection between ABAP Agent and Machine Agent HTTP Listener is not supported.

HTTP Proxy

HTTP proxy is not relevant for this connection.

Event Service Connection

Connection to Event Service needs to be setup for ABAP Agent to be able to report custom analytics data to the Event Service via Analytics Events API. Analytics API adapter component of the ABAP Agent uses the settings to establish a direct HTTP or HTTPS connection to Event Service (diagram path 4). 

Functionality

This part of the setup is prerequisite for:

SSL Connection

When SSL connection is required, additional actions are needed for both On-Premises and SaaS event service server types. Change URL prefix to https:// and set the correct Port (443 for SaaS event service). Download all event service certificates using a web browser, upload them to an STRUST SSL client identity and set the client identity name in ABAP Agent customizing. See step 3 in Controller and Event Service SSL Connection.

HTTP Proxy

If a HTTP proxy exists between the SAP system and the event service, HTTP proxy connection settings must be maintained. See step 2 in Connection to AppDynamics Controller.

Analytics Agent Connection

Connection to Analytics Agent needs to be setup for C++ SDK to be able to establish an HTTP connection to Analytics Agent (diagram path 5). Analytics Agent is part of Machine Agent installation package, but needs to be configured and started separately. See Deploy Analytics With the Analytics Agent. Individual Analytics Agent instances can be deployed on every server where HTTP SDK / C++ SDK is running, or a central Analytics Agent instance can be used by multiple HTTP SDK / C++ SDK instances. 

Functionality

This part of the setup is required for C++ SDK to be able to forward transaction analytics data via Analytics Agent to the Event Service.

SSL Connection

SSL connection between C++ SDK and Analytics Agent is not yet supported.

HTTP Proxy

HTTP proxy is not relevant for this connection.

Browser Instrumentation Connection

JavaScript Agent host needs to be maintained as part of Browser End-User Monitoring setup. ABAP Agent does not directly connect to the maintained host. Instead it injects JavaScript code to relevant webpages that then loads the JavaScript Agent in the session.

Functionality

This part of the setup is required for ABAP Agent to be able to inject JavaScript Agent snippet to supported SAP web frontends. See SAP Supported UI Technologies.

SSL Connection

SSL connection is not relevant for this connection. JavaScript Agent can be hosted locally to increase security.

HTTP Proxy

HTTP proxy is not relevant for this connection.