Outlining Advanced Adapter Engine Extended (AEX)

Objectives

After completing this lesson, you will be able to:

  • Outline Advanced Adapter Engine Extended (AEX)

Advanced Adapter Engine Extended (AEX)

The SAP NetWeaver Application Server Java (AS Java) is a fully Java compliant server (J2EE or JEE5, depending on the release of the AS ABAP).The SAP NetWeaver Developer Studio is used for Java development for the AS Java. It is an integrated development environment, and it is based on Eclipse, whose open plug-in architecture provides a suitable platform that can be enhanced with special functions. Java applications are developed independent of the database type (and operating system) by using OpenSQL statements like in ABAP.

Java development is a decentralized development process on the AS Java: the SAP NetWeaver Developer Studio is installed locally on the developers PC. This means that the individual programs or Java applications are created locally on the developers computers. In principle, there is no common storage or testing. This can lead to problems in development projects with many participants.

This is where the SAP NetWeaver Development Infrastructure (NWDI) comes in. NWDI provides the SAP NetWeaver Developer Studio as an editor, a source code administration system, and a transport mechanism. The Design Time Repository (DTR) functions as a central source code administration and versioning system, and the Change Management Service (CMS) is used for transport from the development system to other systems. In addition to these components, the Component Build Service (CBS) enables central building. The characteristic of these development tools lies in their seamless integration into the SAP infrastructure. This way, all created development objects can be stored and managed in a central Repository, the Design Time Repository (DTR). They can be built in an automated build process using the Component Build Service (CBS) and added to Change Management, and finally distributed via a defined software logistics process.

Note that the ABAP Change and Transport System (CTS) was enhanced to CTS+ to enable the transport of some Java objects as well. This is of special importance for cases where transports of objects of a dual stack system have to be synchronized, for example, for SAP NetWeaver PI. CTS+ makes transports easier since the usage of the NWDI is not necessary in all cases.

J2EE Engine

The J2EE engine is the runtime system for J2EE compatible applications that represents the core of SAP NetWeaver AS Java.

Java is working with Central Services. Java has server processes, which are similar to work processes in the ABAP engine. For SAP NetWeaver Application Server 6.40, the concept of message and enqueue processes in the ABAP world was carried over to the Java engine. The central services, that is, message and enqueue management, exist once per system.

A Java cluster is formed when you install SAP NetWeaver AS Java. A Java cluster in general always consists of one or more Java instances, the central services (message service and enqueue service) and the database. The Java definition of the term instance is similar to the ABAP definition of the term. A Java instance is a unit in the SAP NetWeaver AS Java cluster that can be started, stopped, and monitored separately. One (or more) instance(s) is (are) installed on a physical server.

Advantages and Use Cases of AEX

SAP Process Orchestration, which includes both SAP Composition Environment and SAP PI, is placed between the service-enabled applications (back end applications) and the user interface (presentation layer).

The back end applications can be any SAP or legacy applications that provide a particular business content and functionality to an organization. In the cases of SAP back end applications, most come equipped with standard enterprise services provided by SAP. Whether delivered with standard services or not, the applications can be connected to via a diverse range of connectivity adapters that are provided by SAP PI.

The SAP AEX layer links all of the message traffic and exchange of data between applications. It plays the role of ESB and exposes the back end application’s functionalities as services or interfaces. It can also leverage enterprise services provided by SAP in the back end applications. The exposed services are presented in a format that suits widely accepted standards and protocols, such as SOAP, JMS, and many others.

The developed services can be maintained, discovered, and managed in the Enterprise Service Repository (ESR). The services can be published, searched, and discovered by using what can be seen as the yellow pages services: the Service Registry.

After all required services have been made available via the SAP PI layer, you can position the SAP Composition Environment layer on top. The composition layer encapsulates products such as SAP CAF, SAP BRM, and SAP BPM. It is now possible to build different composite services and applications based upon individual services exposed by the process integration layer (supported by SAP PI or AEX). This approach lets the composition layer leverage and reuse the services already provided by SAP PI and therefore saves on costs. This approach also lets the composition layer focus on the composition and bundling of services together to provide new functionalities and leaves integration-related work to SAP PI.

The presentation layer (which includes all technologies that the end user directly interacts with) is placed above the composition environment. Technologies such as SAP Portal, mobile, and desktop applications have the flexibility to directly interact with a business process via the composition environment or alternatively to communicate with the integration layer in case there are no processes or composite services involved in the scenario.

AEX and BPM Runtime Integration

The close cooperation between the AEX and BPM runtime is an important part of Process Orchestration.

The figure, AEX to BPM Integration, shows, how the integration between the AEX and BPM is realized.

AEX and BPM Runtime Messages

An external business system sends a message to the process orchestration system. According to the settings of an integrated configuration (along with a key that corresponds to the address fields of the message header), a business component is determined. This business component represents a BPM process, because a sender and a receiver channel are used which are based on the SOAP Adapter with XI protocol.

The business component is determined according to the settings of an integrated configuration (along with a key that corresponds to the address fields of the message header). This is a slow process, because both a receiver and a communication channel are used within the SOAP adapter XI based protocol.

Messages in the AEX are processed by the Java proxy runtime. The Java proxy runtime ensures reliable messaging, checks for duplicate messages, and passes the messages to the Web services runtime. From there, the messages are passed to the BPM runtime. The BPM processes are performed after a process is started or a message arrives at an interrupt event.

At run time, an automated activity is sent in a process instance message to the Web services runtime. The Web services runtime passes the message to the Java proxy runtime. The Java proxy runtime then sends the message to XI 3.0 AEX.

Further processing of messages from the BPM process is performed by an integrated configuration object within the BPM process, and a SOAP sender channel using XI 3.0 message protocol (along with its associated outbound service interface).

Features and Limitations

The figure, Checklist – How to Benefit from Reliable Connectivity: AEX to BPM, shows required settings for the connectivity from AEX to BPM.

Note
For this scenario, the service reference has to be of type XI and the sender component (BPM) must be identical to the communication component in the associated integration flow.

The figure, Checklist – How to Benefit from Reliable Connectivity: BPM to AEX, BPM to AEX, Inbound Interface, shows the settings for the inbound interface BPM-Side: here a Stateless (XI30 Compatible).

Note
In this scenario, only one operation is allowed and the operation name must be identical to the service interface name.

The figure, Reliable Connectivity: Between BPM and AEX, , Reliable Message Protocol, shows, how the reliable message protocol is configured in the different integrations.

The following features and limitations apply to BPM and AEX message processing:

  • A XI 3.0 compatible service interface can be used for the message exchange between AEX and BPM. Other interfaces are not supported.

  • The service interface must be defined in the Enterprise Services repository, because that is where the inbound/outbound direction of messages is defined.

  • For asynchronous (reliable) messaging from AEX to BPM, use the SOAP adapter with XI 3.0 message protocol. For synchronous messaging, use the SOAP adapter with message protocol XI 3.0 or SOAP 1.1.

  • SAP NetWeaver BPM supports the Quality-of-Service types Best Effort (synchronous processing) and Exactly Once (asynchronous processing). The type Exactly Once in Order is not supported.

  • BPM does not support acknowledgements.

  • BPM does not support message attachments.

Log in to track your progress & complete quizzes