Quantcast
Channel: SCN : All Content - Process Integration (PI) & SOA Middleware
Viewing all articles
Browse latest Browse all 7030

SAP PI Scalability and Load Balancing using a Third Party Load Balancer( F5 )

$
0
0

Introduction

     Interfaces, both A2A ( Inter-organization) and B2B ( Intra-Organization ) are the heart of any enterprise system and businesses depend heavily on the interfaces for its critical success. Its not very uncommon when interface failures bring business to standstill. Critical business processes such as Inventory, Payments, Sales, Purchasing, Order fulfillment etc are the core of any business and business rely heavily on interfaces to carry out these cross business processes. This makes the make role of Integration Middleware's ( or ESB's in the new avatar ) so critical for business. Given the volume of critical transaction's flowing through these applications it make sense for business to invest in mitigating risks by scaling, load balancing and ensuring high availability of these applications.The same is true with enterprises having a SAP footprint and using SAP PI/PO.


The Requirement

Lets look at how to achieve the above mentioned business goals using SAP PI. SAP web dispatcher is a SAP solution for "software switching". However, more often than not IT organizations already have similar investments even before SAP comes in the picture. The goal of this paper is to demonstrate how we can achieve the same goals, using one such popular 3rd party softwareF5(http://www.f5.com/it-management/solutions/load-balancing/overview/), leveraging existing software investments.


Below is details on how to achieve  scalability and load balancing of SAP PI using F5.

 

The Solution

Pre-requisite:

 

  • Full Off-line Back-up of PI DB
  • Full Back-up of File System of PI central Instance
  • Back-up ofinstance.propertiesfile of PI central Instance
  • Full Export of Existing Exchange Profile

Design for Scaled PI (Dual Stack):


Configuration Steps:

1. Pipeline URL in SLD

The Adapter Engine uses the pipeline URL as defined for the Integration Server’s business system for sending messages to the Integration Server (sender adapter). Access the SLD and navigate to Business Landscape. Select the Integration Server’s business system and change the Pipeline URL so that it points to the load balancer.
1 0 (2).JPG
2. Full Cache Refresh in ABAP & JAVA Stack


Please run a full Cache Refresh both in PI ABAP & Java stack.

  • For full cache refresh in ABAP à Please go to SXI_CACHE à Run a Full cache refresh from menu
  • For full cache refresh in JAVA à Please access following URL(load balanced URL)  and login with cache refresh access

http://<Load_Balanced_URL>:50900/CPACache/refresh

  • Please wait till cache refresh completes.

2 0 (2).JPG

3. Adapter Engine Configuration in Configtool


The Adapter Engine’s messaging system registers its communication parameters, host name, and HTTP port with the SLD. These parameters are then read by the Integration Server and compiled into the target URL. The Integration Server sends the messages to this target URL if they are to be processed by the Adapter Engine (receiver adapter).To ensure that the Adapter Engines of all dialog instances are called, each JEE server node must register the same parameters pointing to the load balancer with the SLD. To do this, you can change the global configuration, or change each cluster configuration consistently.

  1. Start configtool à navigate to template  à services  à com.sap.aii.af.cpa.svc.

Enter the following for the load balancer:

  • Host name for SLD.selfregistration.hostName
  • HTTP port for SLD.selfregistration.httpPort
  • HTTPS port for SLD.selfregistration.httpsPort

3 0 (2).JPGSave the changes and restart the J2EE cluster.


4. Change in Exchange Profile Parameter

  • Login to Exchange Profile Administration Console
  • Check that the self-registration was successful and that the new host name is available.
  • Click on Connection Button à Change Hostname to NLB details as showed in following screen

Before Change

  • Save your change à Click on Save Configuration

Section 2 – Exchange Profile Parameter Change

  • In Exchange Profile Administration Console click on
  • And then change following parameter value from existing physical server FQDN to NLB FQDN as done following


Under Connections

  1. com.sap.aii.connect.cr.name
  2. com.sap.aii.connect.directory.name
  3. com.sap.aii.connect.integrationserver.name
  4. com.sap.aii.connect.integrationserver.sld.name
  5. com.sap.aii.connect.landscape.name
  6. com.sap.aii.connect.repository.name
  7. com.sap.aii.connect.rwb.name

Under Integration Builder

  1. com.sap.aii.ib.server.connect.webas.r3.ashost

Under RuntimeWorkbench

  1. com.sap.aii.rwb.server.centralmonitoring.name
  2. com.sap.aii.rwb.server.centralmonitoring.r3.ashost
  • Restart PI system and after PI system is up, please take export of latest Exchange Profile.

5. Change in PI ABAP Stack


Section 1 – Definition change for destination INTEGRATION_DIRECTORY_HMI

  1. Login to PI ABAP stack à Transaction Code SM59 àHTTP Connections to ABAP system à INTEGRATION_DIRECTORY_HMI
  2. Open the RFC definition and change Target Host Details under Technical System Settings

Section 2 – Definition change for SLDAPICUST

  • Please go to transaction code SLDAPICUST and change hostname details
  • Save your change and click on test button

Section 3 – Integration Server Definition change in SXMB_ADMIN

  • In transaction code SXMB_ADMIN, please click on following
  • Make the change in as in following screen to reflect F5 details instead of physical server details


6. Full Cache Refresh in ABAP & JAVA Stack


Please run a full Cache Refresh both in PI ABAP & Java stack.

  • For full cache refresh in ABAP à Please go to SXI_CACHE à Run a Full cache refresh from menu
  • For full cache refresh in JAVA à Please access following URL and login with cache refresh access

http://<Load_Balnced_URL>:50900/CPACache/refresh


Viewing all articles
Browse latest Browse all 7030

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>