6 Building an Integration Flow
Architects have made architecture too complex. We need to simplify it and use a language that everyone can understand.
—Toyo Ito
In Chapter 5, you learned how to configure interfaces using the Integrated Configuration (ICO), which can be built from the Integration Directory (Java Web Start or Swing client). Besides the use of the Swing client, the SAP NetWeaver Developer Studio tool (often referred to as NWDS) is gaining popularity and becoming the tool of choice for performing various development tasks within the SAP NetWeaver platform. As a result, SAP has also made it possible to develop ICO-like configurations from SAP NetWeaver Developer Studio. These configurations are known as Integration Flows (iFlows).
iFlows are built on Business Process Model and Notation (BPMN)-like artifacts. This type of artifact gives a good overview of systems and components involved in end-to-end messaging and connectivity. It also presents an insight into the architecture of the process flow. Even though they are developed from SAP NetWeaver Developer Studio, an iFlow plays the same role as an ICO, and invariably iFlows provide an alternative to ICOs. The use of SAP NetWeaver Developer Studio for designing, configuring, and deploying iFlows presents a unique and simplified way of working in the SAP Process Orchestration (SAP PO) platform. Enhanced capabilities of SAP NetWeaver Developer Studio (e.g., as a unified Integrated Development Environment [IDE] tool for designing, configuring, and deploying iFlows, SAP Business Process Management [SAP BPM], SAP Business Rules Management [SAP BRM], Enterprise Java Beans [EJBs], and related projects) presents a new approach to working with composite services.
SAP NetWeaver Developer Studio supports the creation of both SAP PO Enterprise Services Repository (ES Repository) and Integration Directory objects. These objects are used for end-to-end messaging via the middleware layer without the use of the Enterprise Service Builder (ES Builder) and Integration Builder Java clients (Swing GUI tools).
The SAP NetWeaver Developer Studio is already used as the development tool for SAP BPM, SAP BRM, and many other SAP technologies.
In this chapter, we’ll delve into the SAP NetWeaver Developer Studio in greater detail to explain how to set it up to create and configure an iFlow. The explanations in this chapter are also supported with a step-by-step guide to creating ES Repository objects and to creating and configuring an iFlow.
6.1 SAP NetWeaver Developer Studio
SAP NetWeaver Developer Studio is the IDE tool for the SAP Composition Environment platform. It’s an Eclipse-based tool enhanced with extensive functionalities that supports development for the SAP NetWeaver technology platform. We’ll discuss using SAP NetWeaver Developer Studio with respect to working with iFlows in this chapter.
6.1.1 Installing SAP NetWeaver Developer Studio
To get started, the appropriate SAP NetWeaver Developer Studio IDE version compatible with the SAP NetWeaver Application Server for Java (SAP NetWeaver AS Java) version for deployment should be installed on your machine. A copy of the SAP NetWeaver Developer Studio software can be obtained via the SAP Service Marketplace, which is a portal that enables collaboration between SAP and its customers. It provides SAP Notes, support material for the different SAP applications, license key requests, customer messages, and much more. You can also download SAP software from the portal via https://support.sap.com.
Ideally, the SAP NetWeaver Developer Studio version and SAP NetWeaver AS Java version should be at the same level, or the SAP NetWeaver AS Java version should be at a higher level. You’ll need Java Development Kit (JDK) version 1.6.0 or above as a prerequisite.
Note
Edit the configuration settings file in the SAP NetWeaver Developer Studio folder with the JDK’s (javaw.exe) location—usually installed in the Program Files or Program Files (x86) of the C drive (e.g., -vm C:\Program Files\Java\JDK\6u33\bin).
Alternatively, when launching SAP NetWeaver Developer Studio, you’ll be asked to browse to the correct version, but that depends on the version of SAP NetWeaver Developer Studio in use.
After making sure that the previously stated prerequisites are fulfilled, you can launch the SAP NetWeaver Developer Studio EXE application, and the Start page will be loaded.
With the software installed and the initial steps performed, SAP NetWeaver Developer Studio should be fully ready to create iFlows and related objects.
6.1.2 Setting Up SAP NetWeaver Developer Studio
SAP NetWeaver Developer Studio is a client-side tool that must be set up with server connections to create and deploy iFlows, as well as other necessary design objects and related artifacts. The essential activities to be performed include connecting the SAP Process Integration (SAP PI) tools configuration to the SAP PO server and setting up the web service connection to the ES Repository.
SAP PI Tools Configuration
The SAP PI Tools Configuration node provides the connectivity necessary with SAP NetWeaver AS Java for creating, configuring, and deploying iFlows and repository objects. When connected to SAP NetWeaver AS Java, the following four perspectives are available in which to perform the different development activities:
-
ES Repository
This perspective allows you to create repository-related objects, such as interface objects, mapping objects, and namespaces. It supports the import of software component versions (SWCVs) that have been created in the System Landscape Directory (SLD). Most functions that could be performed by the Enterprise Service Builder are supported. -
SAP PI Administration
Two types of objects can be created from this perspective: iFlows and communication components (systems). This same perspective is used to deploy iFlows after they have been created. -
SAP PI Runtime
This perspective provides a detailed overview of all runtime-related activities for iFlows. In addition, this perspective allows the status of each iFlow to be retrieved and monitored. -
SAP PI Designer
This perspective makes it possible to work with the repository and directory objectives concurrently. When in this perspective, you can switch to the PI Explorer tab to create iFlows or switch to the Enterprise Service Browser tab to create repository objects.
iFlows are the equivalent of the traditional ICOs created in the Integration Builder tool of SAP PI or SAP PO. When an iFlow is created and deployed, an ICO is also automatically generated in SAP PI/SAP PO as one of the directory objects because iFlows and ICOs share the same database.
Follow these steps to set up the SAP PI Tools Configuration:
- Launch the SAP NetWeaver Developer Studio tool.
- Select Window • Preferences from the menu bar.
- Navigate to the PI Tools Configuration.
- Select Connections, and add the parameters shown in Figure 6.1.
- Test the connection by clicking on Test Connection. If the connection is successful, then click on Apply and finally on OK. With SAP NetWeaver Developer Studio connected to SAP NetWeaver AS Java, you’re ready to design and configure ES Repository and Integration Directory objects.
Note
To set up the connection, you’ll need to select the Manual radio button. Then, fill in the Host and HTTP Port fields, in the following formats:
- Host: http://<hostname>
- HTTP Port: <portnumber>
Enterprise Service Repository Connection
This is an optional step for working with iFlows. It’s only needed when repository objects to be used in iFlows are created with the ES Repository using the SAP NetWeaver Design Studio instead of the Swing client. Follow these steps to set up a connection to the ES Repository:
- Launch the SAP NetWeaver Developer Studio tool.
- Select Window • Preferences from the menu bar.
- Navigate to the Web Services option.
- Select Enterprise Service Browser.
- Add the parameters shown in Figure 6.2.
6.1.3 Enterprise Integration Patterns and User-Defined Templates
Integration specialists use integration patterns as design and implementation guides; these patterns help classify and develop integration solutions. Integration patterns are very popular among integration specialists and are widely used by various platforms. Different integration patterns support various business processes, and iFlows support a number of standard integration patterns by default. You can also create your own user-defined template that can be reused. The following custom enterprise integration patterns are available in SAP NetWeaver Developer Studio for creating iFlows:
-
Point-to-point
A point-to-point channel ensures that messages are sent to one receiver only. -
Recipient list
A recipient list allows you to specify one or more recipients. This message router examines the incoming message and routes it to one or more different receiver channels specified on the recipient list. -
Message translator
A message translator converts the data structure of a component into another data structure to use in a different context. -
Recipient list (dynamic conditions)
A recipient with dynamic conditions uses a mapping program to dynamically determine a target receiver and routes the incoming messages to the identified receiver system.
Figure 6.3 shows the integration pattern options available in the SAP PI Designer perspective of the SAP NetWeaver Developer Studio.