• No results found

For the sake of improvement on performance, packaging has been introduced. This improvement works in such away by avoiding multiple HTTP calls to the same destination.

Instead of that, group of asynchronous messages (EO) messages can be combined as a new multi-message and sent as a single HTTP call.

This variant is similar to the “One Sender and One Receiver - Proxy-to-Proxy Communication using the Advanced Adapter Engine”. The message is processed via the ABAP proxy

runtime; the message is forwarded to the Adapter Engine of AEX instead of the Integration Server available in SAP PI systems.

For testing this functionality, you may use the previous configuration of the “One Sender and One Receiver - Proxy-to-Proxy scenario” completely as it is.

Beside this there is only one place where you should enable the packaging functionality and that is the receiver communication channel of the receiver component in the Integration Directory.

Note: If the corresponding scenario is already available according the description provided for “One Sender and One Receiver - Proxy-to-Proxy scenario using the Advanced Adapter Engine”, you can proceed directly with steps for enabling the packaging functionality only. This is described in the chapter of 1.1 especially the section “Additional setting for the Packaging” of this guide under the chapter Creating the Communication Channels for Sender and Receiver. In case not, configure the scenario as per description provided for “One Sender and One Receiver - Proxy-to-Proxy scenario using the Advanced Adapter Engine”.

For Execution and Verification of the Packaging functionality, follow the subsequent sections.

The demo program SXIPATT1 fulfills this prerequisite to send a multiple (identical)

messages. The important field is called “Msg. Count” sending a multiple messages. Here you may enter a number of messages to be sent post activation of the packaging in the receiver communication channel.

16.2 Configuring the Process Integration Scenario

Create the connection to the XI Adapter in the Advanced Adapter Engine

To connect the sending client to the Java XI Adapter you have to create a HTTP Destination

1. Call transaction SM59.

2. Create a HTTP Destination to an external server (Type G). As name set

JAVA_XI_ADAPTER_AAE, as description use Connection to Java XI Adapter in Adapter Engine Extended. As target host, set the host name of the adapter engine, as service set (Service No.) the HTTP Port and as path set

/XISOAPAdapter/MessageServlet?ximessage=true.

Note: Ensure that you have maintained the proper URL of the “Advanced Adapter Engine of PI system” in SM59 of the sender application.

You may get the warning „Query string not allowed‟ when saving the destination, just press enter to confirm the warning message.

3. Under Logon and Security select Basic Authentication and set the user PIAPPLUSER (or a copy of the PIAPPLUSER) with the corresponding password.

This user and password will be checked against the Advanced Adapter Engine Extended system, where the message is sent to.

4. Save and Test Connection

Activating the connection to the Java XI Adapter

To enable the sending application system to send a message to the Java XI Adapter instead of the Integration Server you have to create a filter for the sending interface and have to set the URL to the Adapter Engine in the sending application client. Execute the following steps in the sending client 105:

1. Call transaction SXMSIF.

2. Create a new entry for Sender/Receiver ID with the name JAVA_XI_ADAPTER. As description set Call the Java XI Adapter in PI Demo Examples, as communication Component set <SID>_105, as interface name and namespace set XiPatternInterface2_Out and http://sap.com/xi/XI/System/Patterns.

3. Save the entry.

4. Call transaction SXMB_ADM, select Integration Engine Configuration.

5. Select the button Change Configuration. Switch to Change Mode and create a new entry with the following settings:

 Category: RUNTIME

 Parameter: IS_URL

 Subparameter: select the Sender/Receiver ID JAVA_XI_ADAPTER

 Value: dest://JAVA_XI_ADAPTER_AAE

Note that this scenario cannot run in parallel with variant 6, if you set the

RUNTIME/IS_URL parameter in SXMB_ADM all messages for this interface will be sent to the destination maintained here.

6. Save the entry

Calling the Integration Directory

You perform the following configuration steps in the Integration Directory.

For this scenario, the integrated configuration object is used for configuration. The model configurator is not used in this case.

For more information, see Defining the Integrated Configuration.

First, call the Integration Directory. On the Process Integration initial screen, choose Integration Directory.

When you configure this variant, you will extend the configuration settings from variant “One Sender and One Receiver - Proxy-to-Proxy scenario”. You use the same configuration scenario XiPatternOneStepScenario_Proxy2Proxy_AAE.

Using the Configuration Scenario

In this variant, the configuration scenario XiPatternOneStepScenario_Proxy2Proxy_AAE created in variants 9 is extended.

For this scenario, again the integrated configuration object is used for configuration.

Additional setting for the Packaging

1. Maintain the following parameters to activate the packaging in the block XI Packaging

Parameter Unit Description

Select Check box

(value=true) none Select the check box enabling the packaging functionality

Wait Time Seconds

Maintain the maximum wait time until the queue is processed when the maximum number of messages has not yet been reached

Number Integer

Number Maximum number of messages per package Package Size MB Maximum total size of all messages in

package

Note:

1. In case of https, then you should specify the host and the whole qualified domain name

2. If receiver server is lower than NW7.10 please consider that the URL should contain the http(s) port. Check the transaction SMICM and use the

corresponding http(s) port instead of the URL which is used start the integration directory.

2. Save the communication channel.

3. Activate the change list.

Important Notes:

1. Ensure that you have maintained the proper URL of the “Advanced Adapter Engine of PI system” in SM59 of the sender application. Because of former Simple Use Case variant the URL of Integration Engine is maintained instead of the Adapter Engine.

2. Ensure that you have maintained in communication channel the proper “Target URL” of the receiver in integration builder.

16.3 Execution

Execution of the test scenario is similar to the execution of the “One Sender and One Receiver - Proxy-to Proxy Communication using the Advanced Adapter Engine Extended (AEX)”. 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 PI system, however this transaction should run in one of the business client but not on the client where the Integration Server is available i.e. 001.

1. Logon to the SAP system of the business system, client 105.

2. Choose transaction SXIPATT1.

3. Enter values for the fields Name, Country, and Tel.

4. Leave all radio buttons (Synchronous, Sys.Ack, Appl.Ack, sensitive data and EOIO) unselect.

5. Fill the number of messages you want to send in the field name called

“MsgCount”. This number should be more than the threshold you maintained in the “XI Packaging” block of the receiver communication channel. For example if you the threshould number is three then send 4 messages or more.

6. Send the message via the corresponding tab of the transaction SXIPATT1 7. Ensure the message is send via the “Receiver View” or in SXMB_MONI

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.

Verification:

The test case should have a positive packaging result.

Result observation from Sender/Receiver proxies:

1. The messages should be sent successfully.

2. Depending on the number of the messages sent, you can find corresponding entries in the transaction SXMB_MONI of the sender/receiver proxy system of each processed message.

Note: Transaction SXMB_MONI - Monitor for Processed XML Messages from Client 105

- You should observe n message entries of the Sender Client 105.

Sender Namespace and Sender Interface is

http://sap.com/xi/XI/System/Patterns and XiPatternInterface2_Out respectively for each message. The Pipeline is here “Sender”.

- You should observe n message entries of the Receiver Client 105.

Receiver Namespace and Receiver Interface is

http://sap.com/xi/XI/System/Patterns and XiPatternInterface2_In respectively for each message. The Pipeline is here “RECEIVER”.

- As the sender and receiver system is client 105 then there should be n x 2 entries for the sent and received messages in the sxmb_moni for just executed messages.

Result observation from NWA (SAP NetWeaver Administrator) of the AEX system.

1. Start NWA using http(s)://<host>:<port>/nwa

2. Navigate to SOA / Monitoring and select the Link message Monitoring.

3. Select the Database tab and use the advanced mode restricting your monitoring target.

4. Enter the time frame first then select the check box “Message Header Data” and enter

the Sender/Receiver component name.

5. You should be able to see n messages in the “Message List” block for sent and received Messages (n rows).

6. Select (mark) one of the messages from the “Message List” and go to the

“Message

Detail” block, here you should be able to see at least 4 tabs,namely Message Detail,

Message Log, Message Content and Further Links.

7. Select “Message Content” tab and select further “PayLoad” from Message tree.

You

should be able to view the message send.

8. Select the “Message Log” from the “Message Detail” tab. (Expand the Tray Option to maximum).

Ensure that there is successful entries (Status=information) are written beside other process information.

Time Information Description

…. Information …..

Information XI Packaging (Bulk Mode) Option: true Information Delivered this Message to the Message

Collector. It will be processed later.

Information MSG_FORMING_BULK

Information XISOAP Bulk Processing: Creating a Multi-Message for Packaging

Information XISOAP Bulk Processing: Retrieved from the bulk for processing

Information XISOAP Bulk Processing: This message will be added to the Multi-Message

Information XISOAP Bulk Processing: Successfully Created the Multi-Message. Number of child Messages : 1

Information Message was successfully transmitted to endpoint <local> using connection SOAP_http://sap.com/xi/XI/System Information Message status set to DLVD

Result observation from MDT (Message Display Tool) of the AEX system.

1. Start MDT using http(s)://<host>:<port>/mdt 2. Select Message from <Database>

3. Enter restriction criteria such as Sender/Receiver Components and time ranges.

4. Navigate to SOA / Monitoring and select the Link message Monitoring.

6. You should be able to see n messages in the “Message List” block for sent and received Messages (n rows).

Note: the Message List is configurable.

7. Select (mark) one of the messages by selecting the check box in the left column and select the tab “Details”.

There will be a new window generated and you should be able to see at least 3 tabs,namely Message Data, Message Content and Audit Log.

8. Select the Audit Log scroll the page if necessary. You should see the same information shown in the table before.

Note that the messages sent are asynchronous.

17 Variant 15: One Sender and One Receiver using Advanced Adapter Engine Extended – with Parameterized Mapping

This variant enables you to configure and execute message exchange with Parameterized Mapping:

One sender (file directory XiPattern1) sends a message to one receiver (file directory XiPattern2). Hereby, the message is exchanged between sender and receiver adapter by using one Advanced Adapter Engine Extended. A mapping is executed when the message is forwarded to the receiver. Here Mapping used is Parameterized Mapping.

Parameterized Mapping provides an option to pass configured parameters while executing a mapping. The Parameter needs to be defined while defining Mapping in repository. The Actual values can be provided in directory while configuring the Mapping for scenarios.

17.1 Design Objects Used

You use the component view File2File_WithParameterizedMapping in process integration scenario XiPatternOneStepScenario to configure this variant. The following graphic shows the component view:

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

You can see that the outbound interface entered in the connection editor is different. If you navigate further to the message type and data type used, you will see that the data structure on the sender side is different than the previous variants (defined by the data type

XiPatternDataType4).

However, the asynchronous service interface XiPatternInterface5 is entered as the inbound interface at the receiver. This service interface references the message type

XiPatternMessage5. The data structure of the message is defined by the data type XiPatternDataType5. The structure of data type XiPatternDataType5 is different to the structure of data type XiPatternDataType4 (which is used in the component view) in the following ways:

In data type XiPatternDataType4, two separate elements are used to specify the person‟s first and last name, whereas in data type XiPatternDataType5, only one element is used (Name) having Title (from Parameter defined in Message Mapping

XiPatternMessage4ToMessage5) prefixed and concatenated with FirstName and LastName.

In data type XiPatternDataType4, the name of the element that specifies the telephone number is MobileNumber, whereas in data type XiPatternDataType5, it is ContactNumber having CountryCode (from Parameter defined in Message Mapping

XiPatternMessage4ToMessage5) prefixed and concatenated with MobileNumber.

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 (XiPatternInterface4ToInterface5) 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.

Parameters are defined here which are mapped to parameters of message mapping. Double-click to open the message mapping (XiPatternMessage4ToMessage5).

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 ( ).

Also you can view Fields CountryCode & Title defined as parameter on Signature tab of Message Mapping XiPatternMessage4ToMessage5.

Summary of Design Objects Used

The following table summarizes the design objects used.

Design Objects Used

Object Type (Name) Description

Component View

File2File_WithParametrizedMapping (Process Integration Scenario XiPatternOneStepScenario)

Describes the process flow and the message exchange if a mapping is to be executed during message processing (the interfaces on the sender and receiver sides are not identical)

Service interface (XiPatternInterface4) Describes the interface and data structure of the receiver. The data structure is different to the data structure of the sender.

Service interface (XiPatternInterface5) Message Type (XiPatternMessage4) Message Type (XiPatternMessage5) Data Type (XiPatternDataType4) Data Type (XiPatternDataType5) Operation mapping

(XiPatternInterface4ToInterface5)

Describes the mapping between the source and target interface

Message Mapping

(XiPatternMessage4ToMessage5)

Describes the mapping between the source and target structure in detail

17.2 Configuring the Process Integration Scenario

To configure this variant, a new configuration scenario is created.

Selecting the Process Integration Scenario

Perform the following steps to select the process integration scenario that you want to configure from the Enterprise Services Repository. Also, enter the name of the configuration scenario (in the Integration Directory) in which you want to group the configuration objects.

1. To call the model configurator, choose Tools  Apply Model from ES Repository in the Integration Builder menu bar.

This calls a wizard, which you use to select a model (in this case, a process integration scenario) and create a configuration scenario in the Integration Directory.

2. Make sure that the model type Process Integration Scenario is selected (radio button under Type of ES Repository Model).

3. Choose the input help (for the Name field) ( )

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.31, 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_AAEX_Param_Mapping.

7. Choose Finish and then Close.

The system calls the model configurator.

Selecting the Component View

Check whether the component view File2File_WithParameterizedMapping is displayed. If it is not, choose the menu option Select Component View ( ). On the subsequent screen, select the component view (in the preview area) by double-clicking.

Assigning Communication Components

You perform the following steps to assign communication components to the application components of the process integration scenario. You use the business system components that you created before (see 2.2.7).

1. In the graphical editor, click on the lane representing the Sender application component.

This calls the Assign Business System Component dialog box for the Sender application component (below the graphical representation of the process integration scenario).

2. To assign a communication component click in the input field in the Communication Component column and call the input help ( ).

3. In the subsequent screen, select the communication component

<SID>_AAEX_FileSystem_XiPattern1 and then choose Apply.

4. Choose Next Role ( ) to navigate to the configuration dialog for the application component Receiver.

5. Assign the communication component <SID>_AAEX_FileSystem_XiPattern2 to the application component Receiver. Follow the same procedure as when assigning the communication component to the application component Sender.

6. Choose Assign.

Configuring the Connection

You perform the following steps to configure the connection of the process integration

scenario. You activate the relevant sender-receiver relation (between the sender and receiver component) and assign both the sender and receiver a (sender or receiver) communication channel. You create the communication channel on the basis of the communication channel templates that the process integration scenario already contains.

2. This calls the Configure Connection dialog box for the connection between the actions (below the graphical representation of the process integration scenario).

3. On the Configure Connections screen, choose the tab page Connections from Component Assignment. The communication components that you assigned in the previous configuration step are displayed.

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.31,

namespace http://sap.com/xi/XI/System/Patterns).

6. Choose Continue.

Rename the communication channel on the next screen to

Rename the communication channel on the next screen to