Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
40
SAP AG Dietmar-Hopp-Allee 16 69190 Walldorf Germany T +49/18 05/34 34 24 F +49/18 05/34 34 20 www.sap.com
Copyright 2013 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology.
MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.
Disclaimer Some components of this product are based on Java. Any code change in these components may cause unpredictable and severe malfunctions and is therefore expressively prohibited, as is any decompilation of these components. Any Java Source Code delivered with this product is only to be used by SAPs Support Services and may not be modified or altered in any way.
Documentation in SAP Developer Network (SDN) Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. You can find this documentation in SAP Developer Network (SDN) titled SAP NetWeaver 7.4 - Simple Use Cases.
5 Variant 3: One Sender and Two Receivers with Routing Condition .........................................................................................28
5.1 5.2 5.3 6.1 6.2 6.3 Design Objects Used ............................................................................. 29 Configuring the Process Integration Scenario ....................................... 29 Execution ............................................................................................... 29 Design Objects Used ............................................................................. 30 Configuring the Process Integration Scenario ....................................... 32 Execution ............................................................................................... 33
8 Variant 6: One Sender and One Receiver - using Exactly Once In Order ..................................................................................36
8.1 8.2 8.3 Design Objects Used ............................................................................. 36 Configuring the Process Integration Scenario ....................................... 37 Execution ............................................................................................... 39
Design Objects Used ............................................................................. 40 Configuring the Process Integration Scenario ....................................... 41 Execution ............................................................................................... 42 Testing the Virus-Scanning of Messages: ............................................. 43
10 Variant 8: One Sender and One Receiver - Proxy-to-Proxy Communication with DB Encryption (PCI compliant) ..................45
10.1 10.2 10.3 Design Objects Used.......................................................................... 46 Configuring the Process Integration Scenario .................................... 47 Execution ........................................................................................... 48
11 Variant 9: One Sender and One Receiver With Mapping and encrypted persistent storage (PCI-compliant) ......................49
11.1 11.2 11.3 Design Objects Used.......................................................................... 49 Configuring the Scenario in Integration Directory ............................... 51 Executing the Use Case ..................................................................... 52
12 Variant 10: One Sender and One Receiver using Advanced Adapter Engine..............................................................54
12.1 12.2 12.3 Design Objects Used.......................................................................... 54 Configuring the Process Integration Scenario .................................... 54 Executing the Use Case ..................................................................... 56
13 Variant 11: One Sender and Two Receivers Using Advanced Adapter Engine..............................................................57
13.1 13.2 13.3 Design Objects Used.......................................................................... 57 Configuring the Process Integration Scenario .................................... 57 Executing the Use Case ..................................................................... 59
14 Variant 12: One Sender and Two Receivers using Advanced Adapter Engine with Routing Condition ..................59
14.1 14.2 14.3 Design Objects Used.......................................................................... 59 Configuring the Process Integration Scenario .................................... 59 Executing the Use Case ..................................................................... 60
15 Variant 13: One Sender and Two Receivers using Advanced Adapter Engine With Mapping ..................................61
15.1 15.2 15.3 Design Objects Used.......................................................................... 61 Configuring the Process Integration Scenario .................................... 61 Executing the Use Case ..................................................................... 62
16 Variant 14: One Sender and Two Receivers using Advanced Adapter Engine - with XML-Validation ........................62
16.1 16.2 16.3
4
Design Objects Used.......................................................................... 62 Configuring the Process Integration Scenario .................................... 62 Execution ........................................................................................... 63
January 2011
17 Variant 15: One Sender and One Receiver - Proxy-toProxy Communication using the Advanced Adapter Engine......64
17.1 17.2 17.3 Design Objects Used.......................................................................... 64 Configuring the Process Integration Scenario .................................... 64 Execution ........................................................................................... 67
18 Variant 16: Using HTTPS for internal communication between PI components .................................................................68
18.1 18.2 18.3 Prerequisites ...................................................................................... 68 Configuration ...................................................................................... 68 Execution ........................................................................................... 68 Setting up the double-stack system for payload encryption ............... 69
Setting up the Java-Part ................................................................................. 69 Creating the Keystore and generating the encryption key ............................. 69 Global configuration of the MessagingSystem for persistence layer 73 Setting up the ABAP-part ............................................................................... 74 Configure the SSFA and STRUST encryption key......................................... 74 Configure the Integration Engine encryption parameters............................... 75 PI Component Monitor for NWA ..................................................................... 76 Monitoring in Runtime Workbench ................................................................. 79 Transaction SXMB_MONI .............................................................................. 80 Monitoring in Solution Manager...................................................................... 80 PI Communication Channel Monitor Enhancement for NWA......................... 80 Configuration for data collection in Performance Monitor .............................. 81
19
Appendix ..................................................................................69
19.1.1 19.1.2 19.1.3 encryption 19.1.4 19.1.5 19.1.6
19.1
19.2
19.2.1 19.2.2 19.2.3 19.2.4 19.2.5 19.2.6
January 2011
1 Preface
Constraints The texts, references, and graphics contained in this manual have been compiled with utmost care; nevertheless, it is impossible to guarantee that they are fully without error. SAP cannot assume any responsibility for the correctness or completeness of the following documentation; the user alone is responsible for verifying the information contained therein. SAP will only assume liability for damage arising from the use of this documentation irrespective of the pertinent legal basis in the case of intentional or active negligence, under no other circumstances will a warranty be made. Definition This manual describes simple application cases for process integration and all the configuration steps that are necessary to execute the application cases on the basis of SAP NetWeaver 7.40. Intended Audience This manual is intended to be used by both technology and application consultants. Structure The structure of this document follows the sequence of steps required to configure and run the use cases. Additional Documentation List of related documentation Documentation SAP NetWeaver Library documentation: Demo Examples Configuration of SAP NetWeaver Process Integration Purpose Introduction to demo examples and description of the process integration scenarios Configuring usage type Process Integration
This document is updated on a regular basis in SAP Developer Network (SDN) at Process Integration (PI) & SOA Middleware.
Capabilities. Variant 6 is using the EOIO protocol. Variants 8 and 9 are following the PCI standard (sending sensitive data). The message payload is stored encrypted on the database. Variants 2 and 11: One sender and two receivers) Variant 3 and 12: One sender and two receivers with routing condition Variant 4 and 13: One sender and two receivers with mapping Represents message exchange between one sender and two receivers Variant 11 is using the Advanced Adapter Engine capabilities. Represents message exchange between one sender and two receivers in which the way the message is forwarded to the receivers is determined by routing conditions Variant 12 is using the Advanced Adapter Engine capabilities. Represents message exchange between one sender and two receivers. A mapping is executed when the message is forwarded to one of the two receivers. Variant 13 is using the Advanced Adapter Engine capabilities. Variant 5 and 14: One sender and two receivers with XMLValidation Represents message exchange between one sender and two receivers. A mapping is executed when the message is forwarded to one of the two receivers. The payload is validated using XML-Validation in inbound processing of the integration engine. Variant 14 is using the Advanced Adapter Engine capabilities. You can aim to learn about the following with the use cases: Working with the Enterprise Services Builder Enterprise Services Repository: Understanding existing design objects Working with the Integration Builder Integration Directory: Configuring simple scenarios and understanding created configuration objects Working with the runtime: Executing the use cases and checking the results by using monitoring
SAP provides the required design objects and files for these learning targets. This document contains a complete set of instructions that enable you to configure and execute the use cases without any additional special prerequisites.
SAP NetWeaver Process Integration must be installed and configured, and be error free. In this respect, note the information under 2.2.1. In variants 1 6, file directories on the host of the SAP system on which the Integration Server is installed serve as the senders and receivers of messages. These use cases rely on file directories (and therefore the file/FTP adapter) to keep the technical prerequisites as simple as possible. In variants 8, 9 and 14, an SAP system serves as sender and receiver of messages. This use case relies on the ABAP proxy runtime. In variants 9 13, file directories on the host of the SAP system on which the Integration Server is installed serve as the senders and receivers of messages. This used case relies on file directories (and therefore the File/FTP adapter) to keep the technical prerequisites as January 2011 7
simple as possible. The messages are sent directly from the sender adapter to the receiver adapter without using the ABAP IS runtime to show the possibility of using the Advanced Adapter Engine. This document assumes that you will configure the variants in succession, in the order specified. While it is technically possible to configure the variants in a different order, doing so would mean that the order of the step-by-step instructions in this document would no longer be correct.
If you need to configure and execute the use cases as quickly as possible, skip the chapters concerning the design objects used ( 3.1, 4.1) and start instead with configuration. You can then return to the skipped chapters at a later stage for a better understanding of the various concepts.
2.2 Prerequisites
2.2.1 General Prerequisites
To configure and execute the use cases, SAP NetWeaver with usage type Process Integration must be correctly installed and configured. The following table lists the prerequisites and the relevant guides: List of required steps Step 1. You have installed SAP NetWeaver 7.40. Documentation Master Guide SAP NetWeaver Installation Guide SAP Web AS ABAP and Java You can find the corresponding guides on SAP Service Marketplace in the Implementation Documentation Center for SAP NetWeaver 7.4 2. You have imported the content for the Enterprise Services Repository corresponding to the latest support package/patch. SAP Note 836200
The simple use cases are located in the Enterprise Services Repository in the software component SAP BASIS, software component version SAP BASIS 7.40, in the namespaces http://sap.com/xi/XI/Syste m/Patterns. 3. You have configured SAP NetWeaver Process Integration. 4. You have configured the System Landscape Directory (SLD). Configuration of SAP NetWeaver Process Integration Configuring, Working with and Administering System Landscape Directory
January 2011
Sender Proxy system should have 740 version for SAP_BASIS Software Component installed.
Note that you set up the use cases in your development or test system, but not in your productive system.
A work directory already exists on many computers that can be used for this purpose and under which you can create the required directories. 3. Create six further sub directories in the sub directory XiPatterns. Suggested names: XiPattern1, XiPattern1_PCI, XiPattern2, XiPattern2_PCI, XiPattern3, XiPattern4, XiPattern5, XiPattern6. 4. Create two further sub directories in the sub directory XiPatternsO. Suggested names: XiPattern7, XiPattern8.
You must have authorization to access this directory to be able to test the process integration scenario. Bear this in mind when you define the directory, and, if applicable, contact your system administrator. 5. Copy the following three files to directory XiPattern1 and XiPattern4. ZXiPatternSenderFile1.xml ZXiPatternSenderFile2.xml ZXIPatternSenderFile3.xml
6. Copy the following file to directory XiPattern7 XiPatternSenderFilesEOIO.zip (This file contains 1000 xml files for the EOIO scenario, they will be unpacked when executing the scenario.)
These files are provided by SAP in a ZIP file. The ZIP file for 7.40 containing also the EOIO test files is available in SAP Developer Network (SDN) and can be found using the direct link SAP NetWeaver Process Integration 7.4 Test Files for Simple Use Cases.
Creating the Technical and Business Systems in the System Landscape Directory
Perform the following steps to create the required technical and business systems in the System Landscape Directory (SLD): 1. To call the System Landscape Directory, choose Process Integration Integration Builder in the user menu. Start
2. Start the SLD. To do so, on the Process Integration start page, choose System Landscape Directory. 3. Log on using the XIDEMO user you created in 2.2.2. 4. On the initial screen of the SLD, choose Technical Systems. 5. Create a new technical system. To do so, choose New Technical System. 6. Select the type Standalone by choosing the appropriate radio button. 7. Choose Next. 8. On the Technical System Wizard - System Details screen, enter the following information about the technical system:
10
January 2011
Technical System Identification: Enter a name according to the following naming convention: <SID>_FileSystem. In this case, <SID> is the system ID of the SAP system (on which the Integration Server is installed). System Host Name: Enter the host name of the system on which you are working, for example pwdf2638.
9. Choose Finish. 10. Now create eight new business systems. To create the first business system, on the SLD start page, choose Business Systems. 11. Choose New Business System.. 12. Select the type Standalone by selecting the appropriate radio button. 13. Choose Next. 14. Select the technical system that you defined previously (dropdown list box in field System). 15. Choose Next. 16. Enter the name <SID>_FileSystem_XiPattern1. 17. Choose Next. 18. Specify the assigned Integration Server to be used for process integration (field Related Integration Server). 19. Choose Finish. 20. Following the same procedure, create business systems with the following names: <SID>_FileSystem_XiPattern2 <SID>_FileSystem_XiPattern3 <SID>_FileSystem_XiPattern4 <SID>_FileSystem_XiPattern5 <SID>_FileSystem_XiPattern6 <SID>_FileSystem_XiPattern7 <SID>_FileSystem_XiPattern8 <SID>_FileSystem_XiPattern1_PCI <SID>_FileSystem_XiPattern2_PCI
Therefore, to execute the activities described below, call the Integration Builder (user interface of Integration Directory). 1. To call the Integration Builder, choose Process Integration Start Integration Builder in the user menu. 2. On the initial screen, choose the hyperlink Integration Builder (under Integration Directory). 3. Log on using the XIDEMO user you created in 2.2.2. The system opens the Integration Builder. You use the steps below to define a communication component (business system component) in the Integration Directory for each business system. 1. Clear the SLD cache. To do this, select Environment Clear SLD Data Cache in the menu of the Integration Builder. 2. In the Integration Builder navigation area, on the Objects tab page, position the cursor on the Communication Components Without Party node. 3. To call the wizard for assigning business systems, choose Assign Business System in the context menu. 4. Choose Continue. 5. On the next screen, choose Continue. The business system components are not assigned to a party. 6. On the next screen, select the following business systems by using the corresponding checkboxes: <SID>_FileSystem_XiPattern1 <SID>_FileSystem_XiPattern2 <SID>_FileSystem_XiPattern3 <SID>_FileSystem_XiPattern4 <SID>_FileSystem_XiPattern5 <SID>_FileSystem_XiPattern6 <SID>_FileSystem_XiPattern7 <SID>_FileSystem_XiPattern8 <SID>_FileSystem_XiPattern1_PCI <SID>_FileSystem_XiPattern2_PCI
7. Make sure that the Create Communication Channels Automatically checkbox is deselected.
The relevant communication channels are created when the process integration scenario is configured. 8. Choose Finish. The system displays the communication components in the Integration Builder navigation area, on the Objects tab page, under Communication Components Without Party Business System. Perform the following steps to activate the communication components. 1. In the navigation area, choose the Change Lists tab page.
12
January 2011
2. Choose Open Standard Change List. 3. Check that the eight communication components you just created are contained in the change list. 4. Position the cursor on the Standard Change List node and choose Activate ( context menu. ) in the
The following chapters describe how to setup the application client. If client 105 is already setup in your system you can skip these chapters.
The client for the Integration Server is set up during installation of SAP NetWeaver Process Integration. The relevant configuration steps are described in detail in the document SAP NetWeaver Process Integration - Demo Examples Configuration Guide in the chapter Setting up the System Landscape (section 4.2). To configure this variant of the use cases, you only have to consider the steps according to client 105.
You can find this document in SAP Community Network at Process Integration (PI) & SOA Middleware.
January 2011
13
Creating the Technical and Business Systems in the System Landscape Directory
Since the involved business system is simulated by a specific client of the SAP system of the Integration Server, you only need one technical system (the system of the Integration Server).
The system of the Integration Server registers itself as a technical system in the System Landscape Directory automatically during installation of SAP NetWeaver Process Integration (according to the Installation Guide ). You should check the application client for this technical system. 1. On the initial screen of the System Landscape Directory, choose Technical Systems. The system displays all the technical systems in a table. The technical system of the Integration Server has the following name: <SID> on <Server Name>.
If you have called the system <SID>, the name of the server (<Server Name>) is displayed in the corresponding status field in the status bar of the SAP window (for the system <SID>) (for example, PWDF1234). 2. Open the technical system <SID> on <Server Name>. To do this, click the corresponding entry. 3. Details of the system are displayed. 4. Check if the client 105 is already automatically registered. This should be the case after you executed the Clients SLD Registration. Execute the following steps to define a business system for the sender/receiver: 1. On the initial screen of the System Landscape Directory, choose Business Systems. 2. Choose New Business System. The system opens the business system wizard. 3. Select the system type AS ABAP with the corresponding radio button. 4. Choose Next. 5. First specify the technical system. In the dropdown list box for the System field, select the name of the technical system. The name of the technical system is <SID> on <Server Name>. 6. In the Client field, select the client that implements the application system: 105. 7. Choose Next. 8. Enter the following name for the business system: <SID>_105. 9. Choose Next. 10. Select all the specified products. All software component versions resulting from the product selection are displayed. 11. Choose Next. 12. Enter the following information: In the Business System Role field, specify the role of the business system. Specify the role Application System for the clients of the application systems. In the Related Integration Server field, specify the technical system of the Integration Server (<SID> on <Server Name>).
14
January 2011
You define the communication component in the Integration Directory. Therefore, to execute the activities described below, call the Integration Builder (Integration Directory). 1. To call the Integration Builder (Integration Directory), choose Process Integration Start Integration Builder in the user menu. 2. On the initial screen of Process Integration, choose the hyperlink Integration Builder (under Integration Directory). 3. Log on using the XIDEMO user you created in 2.2.2.. The system opens the Integration Builder (Integration Directory). You use the steps below to define a communication component (business system component) in the Integration Directory for each business system. 1. Clear the SLD cache. To do this, select Environment Clear SLD Data Cache in the menu of the Integration Builder. 2. In the Integration Builder navigation area, on the Objects tab page, position the cursor on the Communication Components Without Party node. 3. To call the wizard for assigning business systems, choose Assign Business System in the context menu. 4. Choose Continue. 5. On the next screen, choose Continue. The business system components are not assigned to a party. 6. On the next screen, select the following business system by using the corresponding checkbox: <SID>_105. 7. Make sure that the Create Communication Channels Automatically checkbox is selected. 8. Choose Finish. The system displays the communication component in the Integration Builder navigation area, on the Objects tab page, under Communication Components Without Party Business System. The communication channels that are generated automatically are displayed in the Integration Builder navigation area under Communication Channel. The communication
January 2011
15
channels with adapter type XI (for proxy-to-proxy communication) have the name GeneratedReceiverChannel_XI. The name of the communication channel in the navigation area is preceded with the name of the business system the channel is assigned to. You need a receiver communication channel with adapter type XI. To be able to use the communication channel, you have to edit it manually.
The table contains the correct entries for all fields in the communication channel. Note that some fields will be completed by the system when communication channels are created automatically. The Specify Manually column indicates which fields remain to be completed. Entries for Communication Channels Specify Attribute Manually Transport Protocol Message Protocol Addressing Type Target Host X Service Number Value HTTP 1.0 XI 3.0 URL Address Name of the server of the target host (for example, pwdf0005) Number of the HTTP port
To find out the number of the HTTP port (service number), see the ICM Monitor of the relevant Integration Server (call transaction SMICM and then Goto Services). Select the Service Name/Port for the Protocol HTTP. Path Authentication Data Specify Attribute Manually x Authentication Type x x 16 User Name User Password /sap/xi/engine?type=entry Value Use Logon Data for SAP System PIAPPLUSER or a copy of the PIAPPLUSER Set the password for the user in client January 2011
Sender agreements are not necessary for adapter type XI and XI 3.0 protocol. Therefore, no sender communication channels are necessary. Perform the following steps to activate the communication component and communication channel. 1. In the navigation area, choose the Change Lists tab page. 2. Choose Open Standard Change List. 3. Check that the three communication components you just created are contained in the change list. 4. Position the cursor on the Standard Change List node and choose Activate ( context menu. ) in the
January 2011
17
The following describes all the objects that describe the message exchange in this variant in turn. Starting with the process integration scenario (component view), you can open all the objects that the component view uses. 1. To call the Enterprise Services Builder (user interface of the Enterprise Services Repository), choose Process Integration Start Integration Builder in the user menu. 2. On the Process Integration initial screen, choose Enterprise Services Builder under Enterprise Services Repository. 3. In the navigation area, open the software component SAP BASIS, software component version SAP BASIS 7.40, and namespace http://sap.com/xi/XI/System/Patterns. 4. Open the node Process Integration Scenarios. 5. Open process integration scenario XiPatternOneStepScenario by double-clicking. The process integration scenario editor is opened.
Interface Objects
Interface objects describe the communication mode and the data structure for exchanging messages. Interface objects comprise service interfaces, message types, and data types, which you can open by means of forward navigation, starting in the component view. 1. To open the interface objects used, double-click the connecting arrow in the component view. The connection editor is displayed.
18
January 2011
The service interfaces for the sender and receiver are displayed on the Assign Interfaces tab page: in the case of the sender, it is the outbound interface XiPatternInterface1 and in the case of the receiver, it is the same inbound interface XiPatternInterface1. Since the interface is the same for both the sender and receiver, no mapping is required. 2. To open the service interface XiPatternInterface1, double-click the interface name. 3. In the Service Interface editor you can see that it is an abstract interface. The interface is abstract because the interface description is not implemented in the relevant software component. 4. To open the message type, double-click the name of the message type XiPatternMessage1 (in the service interface editor under Messages). In the Message Type editor, you can display the data structure of the message. The data structure is defined by the data type XiPatternDataType1. Information about a person is structured by different elements in the data structure of the exchanged message. Details such as the maximum character length are displayed in the Details column.
Mapping Objects
If the interfaces at the sender and receiver are different, a mapping is required. Navigate to the connection editor and choose the Assign Mapping tab page. You can see that a mapping has not been assigned for the connection between the two (identical) service interfaces.
For a general description of the various object types, see SAP Help Portal at: Enterprise Services Repository Design Objects Used
Object Type (Name) Description
January 2011
19
Describes the process flow and indicates the points at which messages are exchanged between the different components. The component view File2File_NoMapping in particular describes all variants in which no mapping is executed (interfaces at the sender and receiver are identical).
Service Interface (XiPatternInterface1) Message Type (XiPattermMessage1) Data Type (XiPatternDataType1) Communication Channel Templates for Sender and Receiver (XiPatternChannel_FileSender, XiPatternChannel_FileReceiver)
Specifies the communication mode (asynchronous) and references the message type used. Describes the message sent at runtime and references the data type used. Describes the data structure of the message Specifies the sender (and receiver) adapter configuration details, which are defined at design time. Communication channel templates enable a communication channel to be preconfigured at design time.
Note the prerequisite steps described in section 2.2. In configuration, you translate the process described by the process integration scenario (component view) to an actual system landscape. You have already described the system landscape in the SLD. The communication components you defined earlier enable you to address the involved business systems as senders/receivers of messages in the Integration Directory. You use the model configurator for the whole configuration procedure. This tool enables you to use a process integration scenario from the Enterprise Services Repository as a configuration template and to add further information (which is not known until configuration time).
20
January 2011
This calls an input help, which displays all process integration scenarios from the Enterprise Services Repository in a list. 4. Select the process integration scenario XiPatternOneStepScenario (software component version SAP BASIS 7.40, namespace http://sap.com/xi/XI/System/Patterns) from the Enterprise Services Repository and choose Apply. 5. Choose Continue. 6. Enter the name of the configuration scenario as: XiPatternOneStepScenario. 7. Choose Finish and then Close. The system calls the model configurator.
January 2011
21
The remaining tab pages contain further information about the process integration scenario, for example, the communication channel templates that are defined for the process integration scenario in the Enterprise Services Repository. 4. Assign the sender a communication channel. To do so, place the cursor in the field Communication Channel for the Sender Component, in the push button bar choose Create Communication Channel With Template ( ). In the subsequent wizard you can create a communication channel based on a communication channel template. 5. Choose Continue. The default communication channel template on the subsequent screen is that which was assigned to the sender application component in the process integration scenario (name XiPatternChannel_FileSender, software component version SAP BASIS 7.40, namespace http://sap.com/xi/XI/System/Patterns). 6. Choose Continue. The default name for the communication channel on the next screen is XiPatternChannel_FileSender. 7. Confirm your selection by choosing Finish. 8. Following the same procedure (see step 4-7), assign the application component of the receiver a communication channel (XiPatternChannel_FileReceiver) based on the default communication channel template (name XiPatternChannel_FileReceiver, software component version SAP BASIS 7.40, namespace http://sap.com/xi/XI/System/Patterns).
Manual Editing
In the following steps, you edit the generated configuration objects manually and enhance the configuration settings made during generation. In this variant, you must edit the communication channels after generation. 1. In the editor Display Configuration Scenario (for the open scenario XiPatternOneStepScenario), on the tab page Objects open the communication channel ( ) XiPatternChannel_FileSender by double-clicking. 2. Under File Access Parameter in the Source Directory field, enter the path in the file directory that you defined previously (see 2.2.4). In the case of the sender
22
January 2011
communication channel, enter the whole path for the file directory XiPattern1. Example: C:/<selected path>/XiPatterns/XiPattern1 3. Save the communication channel. 4. Following the same procedure, edit the communication channel XiPatternChannel_FileReceiver (communication component <SID>_FileSystem_XiPattern2). Enter the path for the file directory XiPattern2. 5. Save the communication channel.
SAP recommends that you look at the configuration objects directly in the system and that you understand the configuration settings resulting from these objects.
For a general description of the various object types, see SAP Knowledge Warehouse at: Integration Directory Configuration Objects Configuration Objects Used
Object Type (Name) Configuration Scenario (XiPatternOneStepScenario) Description Groups all configuration objects that are relevant for the execution of the process integration scenario.
This documentation recommends that you group the configuration objects for all variants of the process integration scenario in the same configuration scenario.
Business System Component (<SID>_FileSystem_XiPattern1 for sender and <SID>_FileSystem_XiPattern2 for receiver) Identifies a business system in the Integration Directory that is to be addressed as the sender or receiver of messages.
January 2011
23
Contains the details for configuring a sender adapter that is used to process the message on the inbound side. In a real installation, the sender file/FTP adapter is used to write a file from a source directory to the pipeline.
Contains the details for configuring a receiver adapter that is used to process the message on the outbound side. The receiver file/FTP adapter writes the file to one or more target directories.
Receiver Determination (I <SID>_FileSystem_XiPattern1 I XiPatternInterface1) Interface Determination (I <SID>_FileSystem_XiPattern1 I XiPatternInterface1 I <SID>_FileSystem_XiPattern2) Sender Agreement (I <SID>_FileSystem_XiPattern1 I XiPatternInterface1) Receiver Agreement (I <SID>_FileSystem_XiPattern1 I <SID>_FileSystem_XiPattern2 I XiPatternInterface1)
Specifies the receiver of the message for the sender and the outbound interface XiPatternInterface1. The receiver <SID>_FileSystem_XiPattern2 must be entered in the receiver determination as a configured receiver. Specifies the inbound interface XiPatternInterface1 for the sender, outbound interface, and the receiver. The inbound interface must be entered in the interface determination as a configured inbound interface. Specifies the sender communication channel XiPatternChannel_FileSender to be used for the sender and the outbound interface. Specifies the receiver communication channel XiPatternChannel_FileReceiver to be used for the sender, the receiver, and the inbound interface.
3.3 Execution
You perform the following steps to check that the process integration scenario is executed without errors. 1. On the host of the Integration Server, open the file directory XiPattern1. 2. Rename the file ZXiPatternSenderFile1.xml as follows: XiPatternSenderFile1.xml. The File/FTP adapter is designed so that a file with exactly this name is recognized and moved from the source directory XiPattern1 to the target directory XiPattern2 every 60 seconds. If the configuration was executed without errors, the file will be moved from the source directory 60 seconds after it is renamed. 3. Open the directory XiPattern2 and check that the file has arrived. 4. Open the file and check whether the content has changed (compare with the original file ZXiPatternSenderFile1.xml).
The file must not be altered when this variant is executed. Furthermore, you can check the processing of the message in monitoring. To do this, proceed as follows: 1. Start the Monitoring by choosing Configuration and Monitoring Home on the PI start page. (transaction SXMB_IFR) 24 January 2011
2. Choose Message Overview. 3. Select the Integration Engine as component. 4. Use appropriate filter criteria to restrict the number of XML messages displayed (for example, the processing period). 5. Choose Display. The system displays the selected messages in a table. You want to locate the messages that were sent during execution. 6. Select the message to be displayed by selecting the appropriate radio button and then choose Open Message. The tab Payloads displays the message contents for the various versions of the message during processing.
Check Performance Monitoring of the message in NWA/PIMON Performance Monitoring is often required to gauge the performance of the Adapter Engine by measuring the bytes processed over a given time period. It would be a useful piece of information for the Administrators to get an idea about time spent by messages in various stages of its lifecycle. Performance Monitoring for message exchange can be done for parameters as 1) Message put in to the queue 2) Message retrieved from the queue and 3) 'Call Sap Adapter' module. 4) Any other custom module. To start Performance monitoring proceed as follows: 1. Start the Monitoring by choosing Configuration and Monitoring Home on PI Tools Home Page 2. Choose Monitoring -> Adapter Engine 3. Click on link Performance Monitor. New Screen opens up titled PI Performance Monitoring: Overview 4. Click on button Advanced Selection and Filter for Receiver Channel XiPatternChannel_FileReceiver in Outbound Channel Field 5. Entries with respect to above filter criteria are displayed in an hourly interval aggregation. Table will display following details of Message flow in the aggregation intervals a. Message Size (Bytes) b. Average Processing Time (Milliseconds) c. Total Processing Time (Milliseconds)
6. Select one entry of the Table. Message Scenario table with further details (directory objects involved in message flow) along with Average Message Size and Total Message size value will be displayed. An entry within this table is automatically selected. 7. Further another table titled Message Processing Details is displayed for above entry. This table has two tabs. a. Module Information tab - Information about time taken (Minimum Time, Maximum Time and Average Time) by different modules to process the message. Check existence of following modules i. Module:CallSapAdapter January 2011 25
ii. MS:Message_Put_In_Queue iii. MS: Message_Remove_From_Queue iv. Optional other custom module if Channel processing this message has custom adapter module b. Message Information tab - Information about size of message. Value in this is same as per first table. 8. Use appropriate filter criteria (for example, the processing period) and check for more message and their performance parameters. 9. A field Aggregation Interval is available to provide the time that db will write out collected performance data to disk, and therefore allow it to be visualized on UI. Aggregation Interval varies as per selection of Time Interval. Check for following combination of Time Interval and their corresponding Aggregation Interval a. Last 12 Hours 15 Minutes and 1 Hour b. Today 15 Minutes, 1 Hour and 1 Day c. Yesterday 1 Hour and 1 Day d. Last Seven Days 1 Hour and 1 Day e. This Week 15 Minutes, 1 Hour and 1 Day f. Last Week 1 Hour and 1 Day g. This Month 15 Minutes, 1 Hour and 1 Day h. This Year 15 Minutes, 1 Hour and 1 Day i. User-Defined Selection - 15 Minutes, 1 Hour and 1 Day along with an option to Select Start Date/Time and End Date/Time
10. Open Performance Monitoring in NWA via http(s)://<host>:<port>/nwa -> SOA -> Monitoring -> PI Performance Monitoring Repeat Steps 3 9 and Compare UI and displayed data. It should be same
26
January 2011
1. In the Integration Directory, open configuration scenario XiPatternOneStepScenario. To do so, in the Integration Directory navigation area, choose the tab page Scenarios and open the configuration scenario XiPatternOneStepScenario by double-clicking.
If you followed the configuration sequence suggested in this document, the configuration objects that were generated in variant 1 are displayed in the configuration scenario. 2. Change to Edit Mode. 3. Start the model configurator. To do so, in the menu bar of the configuration scenario object editor, choose Configuration Scenario Model Configurator.
The model configurator loads the same process integration scenario as in variant 1.
Using the communication channel template, create a new communication channel for the receiver communication component <SID>_FileSystem_XiPattern3. To do so, proceed as described in variant 1.
Manual Editing
Manually edit the new communication channel XiPatternChannel_FileReceiver for communication component <SID>_FileSystem_XiPattern3 as in variant 1. Under File Access Parameter in field Source Directory, enter the path for the file directory XiPattern3 (see 2.2.3).
January 2011
27
4.3 Execution
You perform the following steps to check that the process integration scenario is executed without errors. As for the execution of variant 1, in directory XiPattern1, copy the file ZXiPatternSenderFile1.xml and rename it XiPatternSenderFile1.xml. The file will be moved from the directory within the next 60 seconds. Since this variant has two target directories (receivers), check in both directory XiPattern2 and XiPattern3, whether the file has arrived. Furthermore, you can check the processing of the message in monitoring. To do this, proceed as follows: 1. Start the Monitoring by choosing Configuration and Monitoring Home on the PI start page. (transaction SXMB_IFR) 2. Choose Message Overview. 3. Select the Integration Engine as component. 4. Use appropriate filter criteria to restrict the number of XML messages displayed (for example, the processing period). 5. Choose Go. The system displays the selected messages in a table. You want to locate the messages that were sent during execution. 6. Select the message to be displayed by selecting the appropriate radio button and then choose Open Message. The tab Payloads displays the message contents for the various versions of the message during processing. Message monitoring displays three messages (see 3.3).
In this variant, two messages are created from the outbound message (one for each receiver).
4. Under Configured Receivers, select the cell for the receiver component <SID>_FileSystem_XiPattern2 in the column Condition. 5. Call the condition editor by choosing the input help icon ( ( ). ).
6. In the column Left Operand, call the expression editor by choosing the input help icon 7. In the expression editor, select the XPath radio button. The data structure of the message is displayed. 8. Expand the structure and select the element CountryCode by using the cursor. 9. Choose OK. 10. In the condition editor, choose the operator = in the column Op. 11. In the column Right Operand, enter US. 12. Choose OK. You have specified the routing condition CountryCode = US.
At runtime, messages that have the value US entered for the element CountryCode are sent to receiver <SID>_FileSystem_XiPattern2. 13. Following this procedure, create the routing condition CountryCode = DE for the configured receiver <SID>_FileSystem_XiPattern3. 14. Save the receiver determination. 15. Activate your change lists.
5.3 Execution
You perform the following steps to check that the process integration scenario is executed without errors. In directory XiPattern1, copy the file ZXiPatternSenderFile1.xml and rename the copied file XiPatternSenderFile1.xml. The file will be moved from the directory in the next 60 seconds.
January 2011
29
Check whether the file has arrived in directory XiPattern2. Open the file and check that the country code US is entered in the personal data. There should be no file in directory XiPattern3. Furthermore, you can check the processing of the message in monitoring. To do this, proceed as follows: 1. Start the Monitoring by choosing Configuration and Monitoring Home on the PI start page. (transaction SXMB_IFR) 2. Choose Message Overview. 3. Select the Integration Engine as component. 4. Use appropriate filter criteria to restrict the number of XML messages displayed (for example, the processing period). 5. Choose Go. The system displays the selected messages in a table. You want to locate the messages that were sent during execution. 6. Select the message to be displayed by selecting the appropriate radio button and then choose Open Message. The tab Payloads displays the message contents for the various versions of the message during processing. Monitoring contains an entry for this exchange of messages (see 3.3).
You can repeat this procedure for file ZXiPatternSenderFile2.xml. This file arrives in directory XiPattern3 (contains personal data with the country code DE).
30
January 2011
As described under 3.1, you can navigate to all design objects used from the component view. The following explains the design objects that play an additional role when using this component view.
Interface Objects
You can see that the outbound interface entered in the connection editor is the same as the interface in component view File2File_NoMapping. If you navigate further to the message type and data type used, you will see that the data structure on the sender side is the same as in the previous variants (defined by the data type XiPatternDataType1). However, the asynchronous service interface XiPatternInterface2 is entered as the inbound interface at the receiver. This service interface references the message type XiPatternMessage2. The data structure of the message is defined by the data type XiPatternDataType2. The structure of data type XiPatternDataType2 is different to the structure of data type XiPatternDataType1 (which is used in the component view) in the following ways: In data type XiPatternDataType1, two separate elements are used to specify the persons first and second name, whereas in data type XiPatternDataType2, only one element is used (FullName). In data type XiPatternDataType1, the name of the element that specifies the telephone number is TelephonNumber, whereas in data type XiPatternDataType2, the name is PhoneNumber.
Mapping Objects
A mapping between the sender and receiver data structures must therefore be executed for the message to be processed. In the connection editor, navigate to the relevant mapping objects by choosing the tab page Assign Mapping. Double-click on the name of the operation mapping (XiPatternInterface1ToInterface2) to open it. The names of the source and target interface, as well as the source and target message are displayed. The message mapping used is displayed under Mapping Program. Doubleclick to open the message mapping (XiPatternMessage1ToMessage2). In the message mapping editor, the tab page Design displays the source and target structures.
January 2011
31
You have the option of displaying for which elements of the source and target structure mappings are to be executed. To do so, choose Display Dependencies Display All ( ).
XiPatternOneStepScenario)
Service interface (XiPatternInterface2) Message Type (XiPatternMessage2) Data Type (XiPatternDataType2) Operation mapping (XiPatternInterface1ToInterface2) Message Mapping (XiPatternMessage1ToMessage2)
Describes the mapping between the source and target structure in detail
In this variant, only the connection between sender <SID>_FileSystem_XiPattern1 and receiver <SID>_FileSystem_XiPattern3 is reconfigured. The configuration of the connection between sender <SID>_FileSystem_XiPattern1 and receiver <SID>_FileSystem_XiPattern2 (defined in the previous variants) remains unchanged.
32
January 2011
Generation reuses the interface determination from variant 1. You must select this option to enter the mapping to be used in variant 4 in the existing interface determination. When you have checked the generation log, close it and save the configuration scenario. Activate your change lists.
6.3 Execution
You perform the following steps to check that the process integration scenario is executed without errors. In directory XiPattern1, copy the file ZXiPatternSenderFile2.xml. Rename the directory XiPatternSenderFile2.xml. The file will be moved from the directory within the next 60 seconds. Check whether a file has arrived in directory XiPattern3. Open the file. The structure will have changed: The first and second name of the person will have been concatenated, the field for the telephone number has a new name. You can also check the processing of the message in monitoring. To do this, proceed as follows: 1. Start the Monitoring by choosing Configuration and Monitoring Home on the PI start page. (transaction SXMB_IFR) 2. Choose Message Overview. 3. Select the Integration Engine as component. 4. Use appropriate filter criteria to restrict the number of XML messages displayed (for example, the processing period). 5. Choose Go. The system displays the selected messages in a table. You want to locate the messages that were sent during execution. 6. Select the message to be displayed by selecting the appropriate radio button and then choose Open Message. The tab Payloads displays the message contents for the various versions of the message during processing. If logging is activated in the Integration Server, (RUNTIME parameter LOGGING in SXMB_ADM Integration Server Configuration) you can compare the payload before mapping with the payload after mapping checking the payload in the different message versions. Monitoring contains an entry for this exchange of messages (see 3.3).
January 2011
33
You can repeat this procedure for file ZXiPatternSenderFile1.xml. This file is expected in directory XiPattern2 (no mapping executed).
If you followed the configuration sequence suggested in this document, the configuration objects that were generated in variants 1 to 4 are displayed in the configuration scenario. 2. Open the sender agreement I <SID>_FileSystem_XiPattern1 I XiPatternInterface1 by double-clicking. 3. Change to Edit mode. 4. Check that the software component version of the sender interface is set to SAP BASIS 7.30. As Schema Validation select the radio button Validation in Integration Engine. 5. Save the sender agreement and activate the change list.
7.3 Execution
You perform the following steps to check that the process integration scenario is executed without errors.
34
January 2011
Furthermore, you can check the processing of the message in monitoring. To do this, proceed as follows: 1. Start the Monitoring by choosing Configuration and Monitoring Home on the PI start page. (transaction SXMB_IFR) 2. Choose Message Overview. 3. Select the Integration Engine as component. 4. Use appropriate filter criteria to restrict the number of XML messages displayed (for example, the processing period). 5. Choose Go. The system displays the selected messages in a table. You want to locate the messages that were sent during execution. 6. Select the message to be displayed by selecting the appropriate radio button and then choose Open Message. The tab Payloads displays the message contents for the various versions of the message during processing. Message monitoring displays one message.
January 2011
35
To be able to edit the message content you need the role SAP_XI_MONITOR_ENHANCED. c. Restart the message with the option to skip the XML-Validation. Press the button Resend and answer the question Are you sure you want to execute the action? above the message table with Skip Validation. In this case the message will be processed despite the fact that the message has a wrong structure.
8 Variant 6: One Sender and One Receiver using Exactly Once In Order
This variant enables you to configure and execute the simplest kind of message exchange: one sender (file directory XiPatterns7) sends a series of messages to one receiver (file directory XiPatterns8). No mapping is executed between the outbound and inbound interface in this variant. The messages are delivered in some particular order. Concretely, the file adapter allows either the last-modified timestamp or the filename to be used to order the input files in its directory.
As described under 3.1, you can navigate to all design objects used from the component view. The following explains the design objects that play a role when using this component view.
Interface Objects
In this variant, the data structures at both the sender and receiver side are the same and no mapping is required, the service interfaces XiPatternInterface1O is used for sender and receiver
36
January 2011
XiPatternOneStepScenario)
Service interface (XiPatternInterface1O) Message Type (XiPatternMessage1) Data Type (XiPatternDataType1) Describes the interface and data structure of the sender and receiver. The data structure is the same for sender and receiver.
This calls an input help, which displays all process integration scenarios from the Enterprise Services Repository in a list. 4. Select the process integration scenario XiPatternOneStepScenario (software component version SAP BASIS 7.30, namespace http://sap.com/xi/XI/System/Patterns) from the Enterprise Services Repository and choose Apply. 5. Choose Continue. 6. Enter the name of the configuration scenario as: XiPatternOneStepScenario_EOIO. 7. Choose Finish and then Close. The system calls the model configurator.
January 2011
37
Manual Editing
In the following steps, you edit the generated configuration objects manually and enhance the configuration settings made during generation. In this variant, you must edit the communication channels after generation. 1. In the editor Display Configuration Scenario (for the open scenario XiPatternOneStepScenario_EOIO), on the tab page Objects open the communication channel ( ) XiPatternChannel_FileSender by double-clicking. 2. Under File Access Parameter in the Source Directory field, enter the path in the file directory that you defined previously (see 2.2.3). In the case of the sender communication channel, enter the whole path for the file directory XiPattern7. Example: C:/<selected path>/XiPatternsO/XiPattern7 3. Save the communication channel. 4. Following the same procedure, edit the communication channel XiPatternChannel_FileReceiverO (communication component <SID>_FileSystem_XiPattern8). Enter the path for the file directory XiPattern8. 5. Save the communication channel. 38 January 2011
8.3 Execution
You perform the following steps to check that the process integration scenario is executed without errors. 1. Stop the channel <SID>_FileSystem_XiPattern7 | XiPatternChannel_FileSenderO in the Configuration and Monitoring Home Adapter Engine Communication Channel Monitoring.to make sure no processing runs during the time the files are placed into the source folder. 2. On the host of the Integration Server, open the file directory XiPatternsO/XiPatterns8. If the output file XiPatternReceiverFile.txt is already present, delete this file. The execution of this test will create this file if it is not present and append a series of output files to this file. 3. Open the file directory XiPatternsO/XiPatterns7 4. Unpack file XiPatternSenderFilesEOIO.zip in the current directory. This will place a series of input files XiPatternSenderFile00001.xml, , XiPatternSenderFile01000.xml. The File/FTP adapter is configured so that the files are picked in the order sorted by the file names and moved from the source directory XiPatterns7 to the target directory XiPatterns8 and the files are concatenated into a single file XiPatternReceiverFile.txt. 5. Start the channel <SID>_FileSystem_XiPattern7 | XiPatternChannel_FileSenderO in the Configuration and Monitoring Home Adapter Engine Communication Channel Monitoring to start processing the files. 6. Open the directory XiPatternsO/XiPatterns8 and check that the files have been transferred. 7. Open the XML file XiPatternReceiverFileAll.xml which includes the output file and check whether the content is in the correct order.
The content must be in the correct order with the incremental ID value and the entire content must be present. 8. Furthermore, you can check the processing of the messages in the message monitoring as in Variant 1.
You can use this variant to test if an SAP system to be used as business system is configured correctly with regard to the connection from the SAP system to the Integration Server. In particular, you can test if an SAP system works correctly both as sender and receiver of messages. You can use this use case to check if the installation of SAP NetWeaver Process Integration is correct.
January 2011
39
As described under 3.1, you can navigate to all design objects used from the component view. The following explains the design objects that play a role when using this component view.
Interface Objects
In this variant, the data structures at both the sender and receiver side are the same and no mapping is required. Nevertheless, two different service interfaces are used: outbound interface XiPatternInterface2_Out for the sender and inbound interface XiPatternInterface2_In for the receiver. This is due to the fact that the sender and receivers systems are SAP systems that communicate with each other by the ABAP proxy runtime. This communication type requires an outbound proxy and an inbound proxy (both generated resp. derived from the outbound resp. inbound interface).
XiPatternOneStepScenario)
Service interface (XiPatternInterface2_Out) Service Interface (XiPatternInterface2_In) Message Type (XiPatternMessage2) Describes the interface and data structure of the receiver. The data structure is the same for sender and receiver. The fault message type is used to handle application-specific errors that occur on the inbound side and that are reported back
40
January 2011
to the sender.
This calls an input help, which displays all process integration scenarios from the Enterprise Services Repository in a list. 4. Select the process integration scenario XiPatternOneStepScenario (software component version SAP BASIS 7.40, namespace http://sap.com/xi/XI/System/Patterns) from the Enterprise Services Repository and choose Apply. 5. Choose Continue. 6. Enter the name of the configuration scenario as: XiPatternOneStepScenario_Proxy2Proxy. 7. Choose Finish and then Close. The system calls the model configurator.
9.3 Execution
You perform the following steps to check that the process integration scenario is executed without errors. To run the process integration scenario, you can use a transaction that is available in the SAP system of the Integration Server. 1. Logon to the SAP system of the Integration Server, client 105. 2. Choose transaction SXIPATT1. 3. Enter values for the fields Name, Country, and Tel. 4. Choose Send. 5. To check whether the data are transferred correctly from the sender to the receiver, switch to the receiver view (pushbutton Receiver View). When the message was sent without errors, the data are displayed that you entered in the sender view. 42 January 2011
If you switch fast enough from sender to receiver view after having chosen Send, you can see the former data. Choose Refresh to check if the message was already processed and the data is updated accordingly.
Prerequisites:
To test this scenario a virus scanner needs to be configured first. Refer the documentation. To enable the Virus Scanning of the messages on Integration Engine execute the following steps in the IS client: 1. Call transaction SXMS_IECONF. 2. Select the button Change Configuration and check if there are the following entries:
RUNTIME VIRUS_SCAN_MODE
Only attachments are scanned (default value). 1 Binary data is scanned (default value).
RUNTIME VIRUS_SCAN_TYPE
As we will test the scenario specific configuration for Virus Scanning of messages [Virus Scan by Adapter] hence we wont require any changes on the Integration Engine. The Above settings are default settings & mentioned above just for information.
January 2011
43
proxy [Sender Agreement is not required & hence was not created]. Hence we will create it here. Since Sender Agreement requires Sender Channel we will create it first. 1. Open the Configuration Scenario XiPatternOneStepScenario_Proxy2Proxy in edit mode by clicking on the button.
2. Click on the create button under the Objects tab. A popup Create object will appear. Select Communication Channel under Collaboration Profile. Set the communication component as <SID>_105 & communication channel as GeneratedSenderChannel_XI & hit create button. The Chanel editor will appear. 3. Select the Adapter type as XI of SWCV SAP Basis 7.40 & Save it. The Channel is created. 4. Go to the Configuration Scenario & click once again on create button & select Sender agreement under Collaboration Agreement. Set the communication component as <SID>_105 & Interface as XiPatternInterface2_Out (under namespace http://sap.com/xi/XI/System/Patterns) & hit create button. The Sender Agreement editor will appear. Note: Variant 15 consumes the same Sender service & Interface combination in the inbound processing of the Integrated Configuration. Hence if the Integrated Configuration exists then delete it first & then create the Sender Agreement. 5. Set the above created sender channel GeneratedSenderChannel_XI.
6. Select Virus Scan mode as Virus Scan by Adapter & save the sender agreement. 7. Now save the Configuration Scenario.
Perform the following steps to activate the Sender Agreement and communication channel. 8. In the navigation area, choose the Change Lists tab page. 9. Choose Open Standard Change List. 10. Check that the three Sender Agreement & Communication channel you just created are contained in the change list. 11. Position the cursor on the Standard Change List node and choose Activate ( in the context menu. )
Execution:
To run the scenario, you can use a transaction that is available in the SAP system of the Integration Server. 1. Logon to the SAP system of the Integration Server, client 105. 2. Choose transaction SXIPATT1. 3. Enter values for the fields Name, Country, and Tel. 4. Set the flag Attach Virus 5. Choose Send. 6. To check the Inbound Virus Scanning of Messages navigates to the SXI_MONITOR in the sender client 105.The overall status should be System Error The Status Details should show Virus Scan interface: Scan Error
44
January 2011
Open the Message by double clicking on it. Now select the label Error under Call Integration Server > Soap header. You should find the below content: <SAP:Category>XIServer</SAP:Category> <SAP:Code area="VIRUS_SCAN">VSI_ERROR_SCANRC</SAP:Code> <SAP:P1>2-</SAP:P1> <SAP:AdditionalText>At least one virus found</SAP:AdditionalText> <SAP:Stack>Virus Scan Interface - Scan Result Error</SAP:Stack> 7. Now as the Message is in error state we will cancel the message. In SXMB_MONI select the message then go to Edit menu > Cancel Message with errors. A confirmation popup will appear. Hit yes. The overall status of the message will be updated to completed. 8. Now we will test the above scenario by setting the Virus Scanning of the messages OFF on the configuration side [Sender Agreement].
Modify the Configuration: 1. Open the Configuration Scenario XiPatternOneStepScenario_Proxy2Proxy in edit mode by clicking on the button.
2. Go to the Sender agreement & Select Virus Scan mode as No Virus Scan & save the sender agreement. 3. Now save & activate the Configuration Scenario.
Now follow the Steps 1 to 5 under the label Execution again (give different values). Navigate to the SXI_MONITOR the message will be green. Double click & open that message then open the tree node Payload under the tree head Inbound message (Central). Along with the values you send there will be the attached virus as attachments [malicious string].
Clean Up:
As Variant 15 consumes the same Business System & Interface in the inbound processing of the Integrated Configuration,delete the Sender Agreement from the Configuration scenario to avoid any later conflicts.
10 Variant 8: One Sender and One Receiver Proxy-to-Proxy Communication with DB Encryption (PCI compliant)
In this variant, the message is processed via the ABAP proxy runtime. Following the standard configuration suggested below one application system is used both as sender and receiver of messages. The interfaces used in the sceanrio are used to send sensitive data, so the PCI standard is followed to encrypt the payload data during message processing. The process of encrypting and decrypting data is transparent to the user and message monitoring tools, as it only affects the data which is written/read from database. For this kind of data encryption, the system needs to be configured upfront (see prerequisite chapter 2.2.2). Make sure that this configuration has been made by an administrator before proceeding.
January 2011
45
As described under 3.1, you can navigate to all design objects used from the component view. The following explains the design objects that play a role when using this component view.
Interface Objects
In this variant, the data structures at both the sender and receiver side are the same and no mapping is required. Nevertheless, two different service interfaces are used: outbound interface XiPatternInterface2_Out_PCI for the sender and inbound interface XiPatternInterface2_In for the receiver. This is due to the fact that the sender and receivers systems are SAP systems that communicate with each other by the ABAP proxy runtime. This communication type requires an outbound proxy and an inbound proxy (both generated resp. derived from the outbound resp. inbound interface).
XiPatternOneStepScenario)
Service interface (XiPatternInterface2_Out_PCI) Service Interface (XiPatternInterface2_In) Message Type (XiPatternMessage2) Describes the interface and data structure of the receiver. The data structure is the same for sender and receiver. At the sender interface the flag sensitive data in the ESR is set, to invoke the DB encryption on the Integration Server. The fault message type is used to handle application-specific
46
January 2011
errors that occur on the inbound side and that are reported back to the sender.
This calls an input help, which displays all process integration scenarios from the Enterprise Services Repository in a list. 4. Select the process integration scenario XiPatternOneStepScenario (software component version SAP BASIS 7.40, namespace http://sap.com/xi/XI/System/Patterns) from the Enterprise Services Repository and choose Apply. 5. Choose Continue. 6. Enter the name of the configuration scenario as: XiPatternOneStepScenario_Proxy2Proxy_PCI. 7. Choose Finish and then Close. The system calls the model configurator.
January 2011
47
When you have checked the generation log, close it and save the configuration scenario. Activate your change lists. The receiver agreement from variant 7 will be reused, so it does not need to be generated/created if it was done before.
10.3 Execution
You perform the following steps to check that the process integration scenario is executed without errors. To run the process integration scenario, you can use a transaction that is available in the SAP system of the Integration Server. 6. Logon to the SAP system of the Integration Server, client 105. 7. Choose transaction SXIPATT1. 8. Enter values for the fields Name, Country, and Tel. 9. Set the flag Sensitive Data 10. Choose Send. 11. To check whether the data are transferred correctly from the sender to the receiver, switch to the receiver view (pushbutton Receiver View). When the message was sent without errors, the data are displayed that you entered in the sender view.
If you switch fast enough from sender to receiver view after having chosen Send, you can see the former data. Choose Refresh to check if the message was already processed and the data is updated accordingly. 12. To check if the message was encrypted navigate to the SXI_MONITOR in both, the sender client 105 and the integration server client, find the relevant message and in the detail view check the runtime header there should be following entry present in the Inbound version of the Sender and Central clients: <SAP:Attachment_Encryption_Active>1</SAP:Attachment_Encryption_Active > Also the payload should be visible
If you want to be sure, that the data is encrypted, you can corrupt the key just used in the Integration engine(SXMB_ADMIN). To do this go to the TA STRUST 48 January 2011
and delete or replace one of the entries SSF PI Key 1 DB Message Encryption or SSF PI Key 2 DB Message Encryption and then try to display the payload of the message again in the detail view. An error message shoud come up when navigating from grid to detail in the SXI_MONITOR and the payload will not appear under the SOAP Body node.
This optional verification needs administrator rights as the encryption key has to be changed. Please ask the system administrator to execute them or to provide you the necessary authorization.
11 Variant 9: One Sender and One Receiver With Mapping and encrypted persistent storage (PCI-compliant)
In this variant a new scenario will be created. The message is sent to one receiver. A mapping is executed when the message is forwarded to the receiver. Additionally, the message payload is encrypted every time it is stored on database to fulfill the requirements of the PCI standard. The process of encrypting and decrypting data is transparent to the user and message monitoring tools, as it only affects the data which is written/read from database. For this kind of data encryption, the system needs to be configured upfront (see prerequisite chapter 2.2.2). Make sure that this configuration has been made by an administrator before proceeding.
As described under 3.1, you can navigate to all design objects used from the component view. The following explains the design objects that play an additional role when using this component view.
January 2011
49
Interface objects
Special versions of the XiPatternInterfaces are used for this variant. These versions use the same message type and data type like the other interfaces, also the used mapping is performing the same transformation as in variant 4. However, in contrast to the other interfaces, for the versions used in this variant the Sensitive Data flag is set, which is the relevant configuration option for the payload to be encrypted at runtime. Please refer to variant 4 for the description of the message type used by the interface and what the mapping will do. The interfaces used by this variant are: XiPatternInterface1_PCI for the sender and XiPatternInterface2_PCI for the receiver.
Mapping Objects
As the same message types are used as in variant 4, a mapping is needed in this variant as well. In the connection editor, navigate to the relevant mapping objects by choosing the tab page Assign Mapping. Double-click on the name of the operation mapping (XiPatternInterface1_PCIToInterface2_PCI) to open it. The names of the source and target interface, as well as the source and target message are displayed. The message mapping used is displayed under Mapping Program. Double-click to open the message mapping (XiPatternMessage1ToMessage2). In the message mapping editor, the tab page Design displays the source and target structures.
You have the option of displaying for which elements of the source and target structure mappings are to be executed. To do so, choose Display Dependencies Display All ( ).
XiPatternOneStepScenario)
Service interface (XiPatternInterface1_PCI , XiPatternInterface2_PCI) Message Type (XiPatternMessage2) Data Type (XiPatternDataType2)
50
January 2011
Describes the mapping between the source and target structure in detail
Manual Editing
In the following step, you enhance the configuration settings made during generation. In this variant, you must edit the communication channels after generation You need to edit the communication channels, which were generated with the Channel Templates. Therefore you navigate to channels and configure the whole path for file directory XiPattern1_PCI as Source Directory field for the sender channel XiPatternChannel_FileSender_PCI and the path for file directory XiPattern2_PCI for the receiver channel XiPatternChannel_FileReceiver_PCI, as described in chapter 3.2 section Manual editing. January 2011 51
In this Monitor, you can get the Encryption statistics by selecting the radio button for Display all used keys and clicking on the Execute button. This will show a summary of all the key names which were used to encrypt messages and how many were encrypted by each.
52
January 2011
Additionally you can drill down and list all the message ids which were encrypted with a particular key by using the SXI_MONITOR link:In the list of messages for the key youve used, you need to be able to find the message id of the message which was created for your scenario Note: You can check similar behaviour in the Integration server client by executing the Transaction SXMB_CHK_ENCKEY. To verify, that the payload is indeed encrypted on database, you can rename the key which was used to encrypt the message. Therefore, navigate to the Keystore PI_KEY_STORE as described in the appendix. Find the relevant key in the Keystore and rename it using the Rename button.
This optional verification in the adapter engine monitoring needs administrator rights as the encryption key has to be changed. Please ask the system administrator to execute them or to provide you the necessary authorization. Renaming the key means that key for decrypting the message is not available. When the key is not available, the message payload cannot be decrypted so that it should not be possible to see it in the message monitoring. When you now open the message again and try to view the payload, you should get an error message that the key to decrypt the message isnt available. Now rename the key to its original name, and open up the message again. Now you should be able to view the payload again.
Now, check if the encryption took place on the Integration Server. Therefore, navigate to the SXI_MONITOR in the integration server client, find the relevant message and in the detail view check the runtime header there should be following entry present in the Inbound version of the Central client: <SAP:Attachment_Encryption_Active>1</SAP:Attachment_Encryption_Active > Also the payload should be visible
If you want to be sure, that the data is encrypted, you can corrupt the key used in the Integration engine (SXMB_ADMIN). To do this go to the TA STRUST and delete or replace one of the entries SSF PI Key 1 DB Message Encryption or SSF PI Key 2 DB Message Encryption and then try to display the payload of the message again in the detail view. An error message shoud come up when navigating from grid to detail in the SXI_MONITOR and the payload will not appear under the SOAP Body node. January 2011 53
This optional verification in the Integration server needs administrator rights as the encryption key has to be changed. Please ask the system administrator to execute them or to provide you the necessary authorization.
12 Variant 10: One Sender and One Receiver using Advanced Adapter Engine
This variant enables you to configure and execute the simplest kind of message exchange: One sender (file directory XiPattern4) sends a message to one receiver (file directory XiPattern5). Hereby, the message is exchanged between sender and receiver adapter by using one single Adapter Engine without using the integration server runtime. No mapping is executed between the outbound and inbound interface in this variant.
54
January 2011
4. Select the communication component <SID>_FileSystem_XiPattern4 and choose Apply. 5. In field Communication Channel enter XiPatternChannel_FileSender. 6. Under Add to Scenario select XiPatternOneStepScenario_AAE2AAE (input help). 7. Choose Create. The newly created communication channel is opened. 8. In the menu of the communication channel object editor select Communication Channel Apply Template. 9. Select the template XiPatternChannel_FileSender. 10. Choose Apply. 11. Under File Access Parameter in the Source Directory field, enter the path in the file directory that you defined under 2.2.5. In the case of the sender communication channel, enter the whole path for the file directory XiPattern4.
Example: C:/<selected path>/XiPatterns/XiPattern4 12. Save the communication channel. 13. Following the same procedure, create the communication channel XiPatternChannel_FileReceiver (communication component <SID>_FileSystem_XiPattern5) using the template XiPatternChannel_FileReceiver. Enter the path for the file directory XiPattern5.
If there already is an entry for the communication component in the Create Communication Component screen delete it before calling the input help. Otherwise the input help may not provide the <SID>_FileSystem_XiPattern5. 14. Save the communication channel. 15. Save the scenario. 16. Activate the change list.
4. Select the communication component <SID>_FileSystem_XiPattern4 and choose Apply. 5. In the fields Interface and Namespace enter XiPatternInterface1 and http://sap.com/xi/XI/System/Patterns, respectively.
The input help may not show the interface and namespace. Create the entry manually or choose Category Any in the F4 Help. January 2011 55
6. Under Add to Scenario select XiPatternOneStepScenario_AAE2AAE (input help). 7. Choose Create. 8. In tab Inbound Processing select the communication channel XiPatternChannel_FileSender. For the software component version of sender interface select SAP BASIS 7.40. 9. In the tab Receiver select the communication component <SID>_FileSystem_XiPattern5. 10. In tab Receiver Interfaces for name and namespace enter XiPatternInterface1 and http://sap.com/xi/XI/System/Patterns, respectively. In Software Component Version set SAP BASIS 7.40.
The input help may not show the interface and namespace. Create the entry manually. 11. In the tab Outbound Processing select the communication channel XiPatternChannel_FileReceiver. 12. Save the integrated configuration. 13. Save the Configuration Scenario.
56
January 2011
4. Use appropriate filter criteria to restrict the number of XML messages displayed (for example, the processing period). 5. Choose Go. The system displays the selected messages in a table. You want to locate the messages that were sent during execution. 6. Select the message to be displayed by selecting the appropriate radio button and then choose Open Message. The tab Payloads displays the message contents for the various versions of the message during processing. Note that the message cannot be seen in the Integration Server as the message is sent directly from the sender adapter to the receiver adapter.
13 Variant 11: One Sender and Two Receivers Using Advanced Adapter Engine
This variant extends variant 8 by adding an additional receiver. The message is sent from the sender to two receivers using the Advanced Adapter Engine, without a mapping being executed at runtime. One sender (file directory XiPattern4) sends a message to two receivers (file directory XiPattern5 and XiPattern6 ). The message is exchanged between sender and receiver adapter using one single Adapter Engine but without the integration server runtime. No mapping is executed between the outbound and inbound interface in this variant.
January 2011
57
4. Select the communication component <SID>_FileSystem_XiPattern6 and choose Apply. 5. In field Communication Channel enter XiPatternChannel_FileReceiver. 6. Under Add to Scenario select XiPatternOneStepScenario_AAE2AAE (input help). 7. Choose Create. The newly created communication channel is opened. 8. In the menu of the communication channel object editor, select Communication Channel Apply Template. 9. Select the template XiPatternChannel_FileReceiver. 10. Choose Apply. 11. Under File Access Parameters in the Target Directory field, enter the path in the file directory that you defined under 2.2.5. In the case of the sender communication channel, enter the whole path for the file directory XiPattern6.
Example: C:/<selected path>/XiPatterns/XiPattern6 12. Save the communication channel. 13. Save the scenario. 14. Activate the change list.
3. In the tab Receiver add a new line and additionally select the communication component <SID>_FileSystem_XiPattern6. 4. In tab Receiver Interfaces select the line for the communication component <SID>_FileSystem_XiPattern6. In the table Receiver Interfaces and Mappings for name and namespace enter XiPatternInterface1 and http://sap.com/xi/XI/System/Patterns, respectively. In Software Component Version set SAP BASIS 7.40.
The input help may not show the interface and namespace. Create the entry manually. 5. In the tab Outbound Processing select the line for the communication component <SID>_FileSystem_XiPattern6. In the table Configuration select the communication channel XiPatternChannel_FileReceiver. 6. Save the integrated configuration.
58
January 2011
3. Position the cursor on the Standard Change List node and choose Activate ( the context menu.
)) in
In this variant, two messages are created from the outbound message (one for each receiver). Again, the messages can not be seen in the Integration Server as the message is sent directly from the sender adapter to the receiver adapters.
14 Variant 12: One Sender and Two Receivers using Advanced Adapter Engine with Routing Condition
This variant extends variant 9 by adding a routing condition. Depending on the condition, the message is sent to one of the two receivers.
).
3. In tab Receiver, select the cell for the receiver component <SID>_FileSystem_XiPattern5 in the column Condition. 4. Call the condition editor by choosing the input help icon ( ( ). ).
5. In the column Left Operand, call the expression editor by choosing the input help icon 6. In the expression editor, select the XPath radio button. The data structure of the message is displayed. 7. Expand the structure and select the element CountryCode by using the cursor. 8. Choose OK. 9. In the condition editor, choose the operator = in the column Op. 10. In the column Right Operand, enter US. 11. Choose OK. You have specified the routing condition CountryCode = US.
At runtime, messages that have the value US entered for the element CountryCode are sent to receiver <SID>_FileSystem_XiPattern5. 12. Following this procedure, create the routing condition CountryCode = DE for the configured receiver <SID>_FileSystem_XiPattern6. 13. Save the integrated configuration.
You can repeat this procedure for file ZXiPatternSenderFile2.xml. This file should arrive in directory XiPattern6 (contains personal data with the country code DE).
60
January 2011
Again, the messages can not be seen in the Integration Server as the message is sent directly from the sender adapter to the receiver adapters.
15 Variant 13: One Sender and Two Receivers using Advanced Adapter Engine With Mapping
In this variant the scenario from variant 10 is extended. The message is sent to two receivers. A mapping is executed when the message is forwarded to one of the two receivers.
Mapping Objects
The mapping XiPatternInterface1ToInterface2 is executed between the sender and receiver data structure for receiver <SID>_FileSystem_XiPattern6 during message exchange.
3. In tab Receiver Interfaces select the line for the communication component <SID>_FileSystem_XiPattern6. In table Receiver Interfaces and Mappings for mapping select the mapping XiPatternInterface1ToInterface2 from software component version SAP BASIS 7.40. 4. In tab Outbound Processing, select the line for the communication component <SID>_FileSystem_XiPattern6. In the table Configuration, select the communication channel XiPatternChannel_FileReceiver again as in this scenario another interface is used (XiPatternInterface2). 5. Save the Integrated configuration.
January 2011
61
You can repeat this procedure for file ZXiPatternSenderFile1.xml. This file is expected in directory XiPattern5 (no mapping executed).
16 Variant 14: One Sender and Two Receivers using Advanced Adapter Engine - with XMLValidation
This variant extends variant 11 by switching on the XML-Validation to check the schema of the file to be sent. The message is sent from the sender to two receivers directly using the local Advanced Adapter Engine if the schema is correct, the file will not be picked up if the structure does not fit.
62
January 2011
3. In tab Inbound Processing for Schema Validation select the radio button Validation by Adapter. 4. Save the Integrated configuration.
16.3 Execution
You perform the following steps to check that the process integration scenario is executed without errors.
message-processing will not process the message because the message has the wrong XML-schema. If you check the XML file ZXiPatternSenderFile3.xml, you will see a tag with the name Email, this tag does not exist in the message type XiPatternMessage1 used in the outbound interface XiPatternInterface1. You cannot see the error in message monitoring because the adapter engine does not create a message out of the file because of the wrong structure. You can only see the error in channel monitoring. To do this, proceed as follows: 1. Start the Monitoring by calling the Configuration and Monitoring Home on the PI Start Page (transaction SXMB_IFR). 2. Select Adapter Engine Communication Channel Monitoring. 3. Use the Link Advanced to get additional selection fields. 4. Set XiPatternChannel_FileSender as channel name and <SID>_FileSystem_XiPattern4 as communication component to get only the channel used for this variant. 5. Choose Use Filter. The system displays the channel used for picking up the files from the sender directory. You will see that the channel is in error state because the XML-Validation found an error in the structure of the payload. 6. To end the processing delete the file XiPatternSenderFile3.xml from the directory.
17 Variant 15: One Sender and One Receiver Proxy-to-Proxy Communication using the Advanced Adapter Engine
In this variant, the message is processed via the ABAP proxy runtime, the message is forwarded using the Adapter Engine instead of the Integration Server. Following the standard configuration suggested below one application system is used both as sender and receiver of messages.
You will get the warning Query string not allowed when saving the destination, just press enter to confirm the warning message. 64 January 2011
3. Under Logon and Security select Basic Authentication and set the user PIAPPLUSER (or a copy of the PIAPPLUSER) with the corresponding password. 4. Save the destination.
For more information, see Defining the Integrated Configuration. First, call the Integration Directory. On the Process Integration initial screen, choose Integration Directory.
4. Select the communication component <SID>_105 and choose Apply. 5. In field Communication Channel enter XiPatternChannel_XISender. 6. Under Add to Scenario select XiPatternOneStepScenario_Proxy2Proxy_AAE (input help). 7. Choose Create. The newly created communication channel is opened. 8. In the menu of the communication channel object editor select Communication Channel Apply Template . 9. Select the template XiPatternChannel_XISender. 10. Choose Apply. 11. Save the communication channel. 12. Following the same procedure, create the communication channel XiPatternChannel_XIReceiver (communication component <SID>_105) using the template XiPatternChannel_XIReceiver. As path set the entry path for the application client 105: http(s)://server:port/sap/xi/engine?type=entry. As Authentication Data enter client 105 and the user PIAPPLUSER (or a copy of the PIAPPLUSER) with its password in client 105. 13. Save the communication channel. 14. Activate the change list. Note: Variant 7 consumes the same Sender service & Interface combination in the Sender Agreement. Hence to avoid conflicts delete the sender agreement used in variant7.Then proceed to the creation of Integrated Configuration.
4. Select the communication component <SID>_105 and choose Apply. 5. In the fields Interface and Namespace enter XiPatternInterface2_Out and http://sap.com/xi/XI/System/Patterns, respectively. 6. Under Add to Scenario select XiPatternOneStepScenario Proxy2Proxy_AAE (input help). 7. Choose Create. 8. In tab Inbound Processing select the communication channel XiPatternChannel_XISender. For the software component version of sender interface select SAP BASIS 7.40. 9. In the tab Receiver select the communication component <SID>_105.
66
January 2011
10. In tab Receiver Interfaces for name and namespace enter XiPatternInterface2_In and http://sap.com/xi/XI/System/Patterns, respectively. In Software Component Version set SAP BASIS 7.40. 11. In the tab Outbound Processing select the communication channel XiPatternChannel_XIReceiver. 12. Save the integrated configuration. 13. Save the Configuration Scenario.
17.3 Execution
You perform the following steps to check that the process integration scenario is executed without errors. To run the process integration scenario, you can use a transaction that is available in the SAP system of the Integration Server. 1. Logon to the SAP system of the Integration Server, client 105. 2. Choose transaction SXIPATT1. 3. Enter values for the fields Name, Country, and Tel. 4. Choose Send. 5. To check whether the data are transferred correctly from the sender to the receiver, switch to the receiver view (pushbutton Receiver View). When the message was sent without errors, the data are displayed that you entered in the sender view.
If you switch fast enough from sender to receiver view after having chosen Send, you can see the former data. Choose Refresh to check if the message was already processed and the data is updated accordingly. The message should be visible in the monitoring in client 105 and in the PI monitoring for the adapter engine, but not in Integration Server. January 2011 67
18.2 Configuration
This variant enables secure communication via HTTPS between different PI components, for example between Integration Server and Adapter Engine during message exchange. After you have setup HTTPS as described in the linked online documentation you perform the following steps to enable internal PI communication via HTTPS: 1. Call the PI Start Page (transaction SXMB_IFR). On the Process Integration initial screen, choose hyperlink Administration. Launch the exchange profile using the link ExchangeProfile.
You need the role SAP_XI_ADMINISTRATOR to call the exchange Profile. 2. Goto Connections and modify the following parameters: Parameter com.sap.aii.connect.secure_connections com.sap.aii.connect.integrationserver.r3.httpsport com.sap.aii.connect.integrationserver.httpsport Value messaging https port for the ABAP integration server https port for the java adapter engine of Integration Server
3. Save the parameters and close the browser window. 4. From the Administration Browser Window select AII properties to check the parameters present in the cache. If there still the old values are present refresh the cache using the Refresh Button. 5. Delete the cache content for the internal configuration in the integration server. Call transaction sxi_cache in the Integration server client and choose Goto Adapter Engine Cache. Delete the cache content using the wastebasket button.
The cache will be filled new when the next message is processed in the Integration Server.
18.3 Execution
Check Message Processing Verify the following to check if the HTTPS communication is enabled between the PI components Integration Server and Adapter Engine. 1. Execute one of the Variants 1 to 5 and check that the scenario is executed successfully and the internal communication happens via HTTPS.
68
January 2011
2. To verify this you can check the Audit logs for the receiver channels when the message is received by the messaging system. Start the Monitoring by choosing Configuration and Monitoring Home on the PI start page. (transaction SXMB_IFR) 3. Choose Message Overview. 4. Select the AdapterEngine as component. 5. Use appropriate filter criteria to restrict the number of XML messages displayed (for example, the processing period). 6. Choose Go. The system displays the selected messages in a table. You want to locate the messages that were sent during execution. 7. Select the message to be displayed by selecting the appropriate radio button and then choose Open Message. The tab Payloads displays the message contents for the various versions of the message during processing. The tab Audit Log the processing of the message can be checked. Here it can be found if the messaging system was called using the HTTP or HTTPS port: http(s)://<host>:<port>/MessagingSystem/AFW/XI
Keep in mind that after resetting the parameters both caches (AII cache and Adapter Engine Cache in Integration Server) have to be reset to get the other protocol again, see points 4 and 5 from the last chapter.
19 Appendix
19.1 Setting up the double-stack system for payload encryption
Before the payload of messages can be encrypted, the system needs to be configured initially. This includes the creation of a dedicated Keystore, the generation and storage of an encryption key in that Keystore and the setup of message payload encryption in the messaging system for the Java part, and the key creation and assignment of the current key on the ABAP Integration Server.
19.1.1 Setting up the Java-Part 19.1.2 Creating the Keystore and generating the encryption key
As a prerequisite for the persistence layer encryption, a dedicated Keystore has to be available and it needs to contain a key which can be used for encryption. To check, whether or not the Keystore is available, you need to access Certificates and Keys in the Netweaver Administrator (NWA), under tab Configuration / Security, as depicted in the following screenshot:
January 2011
69
In the tab Key Storage of that tool, all available Keystores (Views) are listed. Please check, if a view with the name PI_KEY_STORE is already existing. If this view is already existing, please proceed with the Key creation. If there is no view with that name yet, you need to create it. Therefore, click on the button Add View in the Key Storage Views section:
A popup dialog will appear. Enter PI_KEY_STORE as View Name, and click Create:
This will create a new Keystore, which is now listed in the Key Storage list. Now you need to create a Key, which can be used for encryption. Therefore, select the Keystore PI_KEY_STORE in the Key Storage list and click on Create in the Details section of the Keystore at the bottom:
70
January 2011
A popup dialog to create the new entry will appear. Enter some alias name for the key, for example: TestingKey as Entry Name, then click on the Next button:
On the next page, enter the mandatory values (countryName and an arbitrary description for commonName), then confirm the creation by clicking the Finish button:
January 2011
71
When the creation was successful, you now should be able to see the newly created entry in the View Entries tab, consisting of an entry for the Private Key:
If the Keystore PI_KEY_STORE is existing, and it contains a valid Key, the prerequisites for the persistence layer encryption are met and you can proceed to the next step.
72
January 2011
In the Java System Properties configuration UI, go to tab Services, find the Service XPI Service: Messaging System and select it. Now go to the Extended Details section and find the relevant properties by filtering for persistencelayer. This query should show the 3 properties which are relevant for the persistence layer encryption configuration. The viewName property must not be changed. To enable the persistence layer encryption, select property messaging.security.persistenceLayerEncryption.enabled, press the Modify button and enter the value true. Then you need to provide the key alias which should be used to find the encryption key. This is the EntryName, which you used while creating the Key in Step 1. Select property messaging.security.persistenceLayerEncryption.currentKeyAlias and press Modify. Now enter the name of the Key and confirm. Afterwards dont forget to save your changes.
January 2011
73
After youve saved your changes, you can verify that the settings were accepted by checking the status page for the persistence layer encryption of the MessagingSystem by accessing the following link:
http(s)://<host>:<port>/MessagingSystem
In the navigation pane on the left hand side, click on Persistence-Layer Encryption Monitor. On the opening page, you can verify the current values used by the MessagingSystem. Check there, that your configurations were applied correctly.
After the configuration of Step 1 and 2 are done, the system is ready to encrypt messages.
19.1.4 Setting up the ABAP-part 19.1.5 Configure the SSFA and STRUST encryption key
Do the following configuration on the sender and receiver ABAP Proxy client 105 and on the IS client (001).
74
January 2011
The client for IE: <sid>_105 (the same client is used for sender and receiver)
Configuration of SSFA
a. Execute the transaction SSFA and check if the entry for the "PI Key1 DB Message Encryption" (technical name = PIENC1) exists. If it exist, check the value for the Encryption Algorithm. It should be TRIPLE-DES.
b. If the above mentioned entry does not exist, create the entry and set the Encryption Algorithm to the value "TRIPLE-DES". Note the name of the Private Address Book for later reference. Leave other values as they are and save. Do the same for "PI Key 2 DB Message Encryption" (technical name PIENC2)
c.
Configuration of STRUST
a. Execute the transaction STRUST and check if the PSE for the entry- "SSF PI Key 1 DB Message Encryption" (technical name = PIENC1) exists. If it exists, check the algorithm. If should be RSA. b. If the above mentioned PSE does not exist, create it(via right mouse-click on the "SSF PI Key 1 DB Message Encryption" (technical name = PIENC1) entry) and set the algorithm to RSA and save. c. Do the same for SSF PI Key 2 DB Message Encryption" (technical name = PIENC2).
Check if entries for all application servers are green. With this step the encryption key is generated on the file system and distributed to the application servers
January 2011
75
SXMB_ADM Integration Engine configuration Category=Runtime Parameter = ENCRYPTION_KEY Value = <keyname>(use the Value help)
Component Types
Comment
SAP PI
AEX
Component Type = <All Component Types> AND Component Name=<All> 1 2 3 4 5 6 7 8 9 10 11 Central Adapter Engine Mapping Runtime Integration Directory Enterprise Service Repository Integration Engine De-central Adapter* Mapping Runtime BPM* All DAEs in the domain * All J2SEs in the domain* All ABAP Proxies in the domain* link to the host available link to the host available link to the host available link to the host available of de-central adapter engine, link to the host available of central adapter engine Yes Yes Yes Yes Yes Yes Yes
**
*, these component may not necessary available or connected to the system **, means not available or applicable for the corresponding product installation
Note: NWA 1. With the provided hyperlink of the hosts in the domain, a direct call of the corresponding system or process server is possible. You should have however the login details for each of the corresponding installation during initial executions. 2. Component Type and Component Name can be selected from dropdowns. For each component type, there could one or several components (Component Name).
76
January 2011
3. The component monitor on De-Adapter Engine (DAE) would not have the component name and component type dropdowns. The available components table will have only two rows - Adapter engine and mapping runtime.
Preconditions User with at least one of the following assigned roles will have write access to the monitor. Write access means that the 2 buttons for Repeat Ping and Repeat Self-test will be enabled. SAP_XI_ADMINISTRATOR_J2EE SAP_XI_MONITOR_J2EE SAP_XI_DEVELOPER_J2EE SAP_XI_CONFIGURATOR_J2EE SAP_XI_CONTENT_ORGANIZER_J2EE SAP_XI_PCK_ADMIN NWA_SUPERADMIN
The user with at least one of the following roles has read-only rights to the monitor. The 2 buttons for Repeat Ping and Repeat Self-test will be disabled. NWA_READONLY SAP_XI_RWB_SERV_USER SAP_XI_PCK_MONITOR SAP_XI_DISPLAY_USER_J2EE
The monitor would not be accessible for users without any of roles mentioned above.
Execution To start the NWA proceed as follows: 1. Launch the monitor via NWA page by typing http(s)://<host>:<port>/nwa in the address bar. 2. Select on the tab SOA and then on the sub-tab Monitoring. 3. Select (execute) on the link PI Component Monitor. 4. This initial execution retrieves the result of availability and operational status details of all available listed components but not for BPM as an exception and the icon remains grayed. The reason is reducing the load time for the monitor. Hence, for BPM monitor Self-Test should be done manually if required. 5. Moreover, the Ping and Self-Test can be repeated multiple times with the tool bar Repeat Ping and Repeat Self-Test for each listed component. 6. Post each selection from the dropdowns execute with the Go. 7. In case you choose ABAP Proxies for Component Type then you should specify the Component Name from the input help as well. Here you should be able seeing all ABAP business clients of the corresponding SAP PI (no ABAP client in AEX). 8. Beside the Ping and Self-Test, there exist a refresh button available on the right hand side of the table tool bar then the contents of the table are refreshed. Exception here is BPM.
Note: Identical result as NWA can be retrieved using PIMON tool Executing the pimon tool, use alias pimon (http(s)://<host>:<port>/pimon) in the address bar of the SAP PI or AEX on the initial screen, there exist the tab
January 2011
77
Monitoring and sub-tab common. With the link Component Monitor you should get identical status and statistics in PIMON likewise in NWA.
Note: BPM system overview is an alternative for PI Component Monitor BPM on AEX BPM system overview is an individual link from NWA for monitoring the component BPM. Follow the steps below for execution of the NWA tool - BPM system overview 1. 2. 3. 4. Use alias nwa (http(s)://<host>:<port>/nwa) in the address bar of the AEX. Select the Availability and Performance tab and Select the BPM System Overview sub-tab The Self-Test on the component monitor would be the status of the engine testing in the BPM System overview monitor. On launch of the BPM System overview monitor, the engine test is not performed; hence the test has to run the test by clicking on the Action and Start from the BPM System status block and then clicking on the Report and View from the same block to see the result of the test.
UI Elements The UI Element of PI Component Monitor contains two tables. These are Available Componentsand Self-Test Details. 1. The Available Components table has four columns. These are Component Type, Component Name, Availability and Self-Test corresponding for the above mentioned components. 2. The Availability and Self-Test columns in the Available Componentstable contains the status and the last refresh time for the respective tests. The status is indicated using the traffic lights. 3. The Available Components table has two buttons in its tool bar Repeat Ping and Repeat Self-Test. 4. The Self-Test details have 3 columns Status, Name and Details. 5. The Self-Test for the BPM would not be done when the monitor is loaded; instead a grey icon is displayed with the tooltip Engine test not yet run. Click the Repeat Self-Test button to run the engine test. 6. Post execution of the Repeat Self-Test for BPM, then the BPM Availability and Self-Test and Self-Test Details status are rated corresponding the result. 7. The result of the BPM Self-Test that is the Engine Status and the BPM System Overview monitor especially the Engine Testing results should be identical. In case of BPM verification of the BPM Self-Test and Availability status displayed by the monitor can be compared with the BPM system overview. In order to compare BPM system overview monitor with NWA PI Component Monitor
78
January 2011
7.1 Launch the monitor via NWA page by typing (http(s)://<host>:<port>/nwa) 7.2 Select the Availability and Performance tab. 7.3 Select the BPM System Overview sub tab. 7.4 The Overview initial screen contains three blocks namely BPM System Status, Processes and Tasks. 7.4.1 Go to the BPM System Status 7.4.2 Select Action and Start for Engine Testing 7.4.3 Post termination of this execution, Select Report: View 7.4.4 Compare this result with the Self-Test of PI Component Monitor The BPM System Overview contains several status and statistics beside the Engine Test result. These are 7.5 BPM System Status with status rated for 7.5.1 Process Server Availability: Sub-Systems, Adapters and Monitor 7.5.2 Process Instance Memory Threshold : View and configuration of number of process per instances 7.6 Processes with statistics of Total Process Instances, Error, Failed, Suspended, Completed, Canceled, In Progress. 7.7 Tasks with statistics of Total Task Instances, Error, Failed, Suspended, Completed, Canceled, In Progress. Expected results 1. The status and timestamp information of component availability (Availability is Ping). 2. The status and timestamp along with the detailed information of component SelfTest. Note: There will be options to repeat Self-Test and repeat ping. 3. The Self-Test details for each component and corresponding specific check on sub-components.
January 2011
79
2. Now click on Communication Channel Monitor. A new browser will open for PI Communication Channel Monitoring. 3. A new drop down selection named Maximum Number of Result is displayed before the button for table Options. Verification 1. The UI Element Maximum Number of Result is a drop down containing values for channels to be displayed. 2. The lowest value in drop-down will be 100 if total channel count is more than 100 else drop down will have only one item equal to Number of channel available on the server. 3. Press button Go. It results in list of channels being displayed. Result of query is a statement as Your query returned <Total Count of channels> channels. Displaying 100 channels. Refine your search criteria. 4. As per above result, only first 100 channels are displayed. To check the same, do scroll in table of channel. The tooltip of scroll says Row <start index of channel> - <end index of channel> of 100. 5. To display more channels, select a different entry from drop down Maximum Number of Result and press Go. Result of query is a statement as Your query returned <Selected Count of channels> channels. Displaying <Selected Count of channels> channels. Refine your search criteria. 6. Repeat Step 4 to check if number of displayed channels is equal to Selected Count of Channels. 7. Select Multiple Channels (2 or more) from table of displayed channels. All buttons (Start, Stop, Automatic Control, External Control and Ping Channel) are grayed out except Mass Change
January 2011
81