• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
The Citrix Blog
Blogs for tag 'sap composite'

Permalink | Twitter Post to Twitter | Comments (0) | Views (1134) |

posted by Craig Ellrod

WFS dynamically provisions NetScaler VPX for SAP Load Balancing

In a previous post I discussed some use cases around the automatic provisioning of load balancing on a Citrix NetScaler using Citrix Workflow Studio.

We recently completed the follow-on project of creating a Workflow Studio script to perform a "Loop" to check the SAP Status Server on a regular basis, and dynamically Enable or Disable server load balancers in the NetScaler.

Drawing on the use cases from the previous post, we decided to build one WFS script to dynamically handle everything:

  • Auto-configure new SAP services
  • Graceful shutdown of SAP services

The latest script reads the SAP Status Server every x minutes or seconds, and based on the information in the SAP Status file, determines if a load balancing service should be enabled or disabled. This is useful for when SAP Servers are marked as "Down" and the NetScaler needs to reflect this change, dynamically. When the SAP Server comes back online, WFS enables the service in the NetScaler.

The WFS program that was designed to read the SAP Status Server is based on the SAP Message Server API specification, which can be found by clicking here.

SAP Status Message file format

<server-list> = "version" <major>"."<minor> CRLF
<sap-server-name> CRLF
<protocol-type> <host> <port> <description> CRLF
...
<protocol-type> <host> <port> <description> CRLF
CRLF
<sap-server-name> CRLF
<protocol-type> <host> <port> <description> CRLF
...
<protocol-type> <host> <port> <description> CRLF

SAP Message field to NetScaler Config Mapping

Message Field
Maps to Citrix Config
 
Host Service name  
Protocol-type J2EE HTTP  
Protocol-type J2EES HTTPS  
Host Server name or ip  
Port port  
Description LB=x If 0 shutdown
If <>0 add service if not already exists.

WFS Use Case

Read the file http://10.217.105.139/SAPStatus.htm
Skip 1st line. (version 1.2).

Loop1:
Read the sap-server-name, create Citrix NS Service.

  Loop2:
  Read message line.
  If Description LB=0, shutdown the service.
  If Description LB<>0 && doesn't already exists the service, add the server and service:
  Server = host
  Port = port
  Protocol = HTTP if J2EE, HTTPS if J2EES.
  Sleep 30 seconds
  End Loop2. (if line = blank).

End Loop1. (eof)

Sample SAPStatus.htm file used in this POC

version 1.2
J2EE187834720
J2EE Server1 51800 LB=2
J2EES Server1 51801 LB=2
P4 Server1 51804 LB=2
P4S Server1 51805 LB=2
IIOP Server1 51806 LB=2
IIOPS Server1 51807 LB=2
TELNET Server1 51808 LB=2

J2EE187834721
J2EE Server2 55000 LB=1
P4 Server2 55004 LB=1
IIOP Server2 55007 LB=1
TELNET Server2 55008 LB=1

J2EE187834722
J2EE Server3 56000 LB=0
P4 Server3 56004 LB=0
IIOP Server3 56007 LB=0
TELNET Server3 56008 LB=0

Where:
Server1 is the Citrix NS Service Name
J2EE indicates use the HTTP Protocol
J2EES indicates use the HTTPS Protocol also.
51800 is the port number to use on the backend
LB=2 indicates the service is up and running (LB<>0)

Get your own and try it

Download WFS here

Download NetScaler VPX here

Download the WFS Script here

Download NetScaler config file here

Download Sample SAPStatus.htm file here

If your not running XenServer yet, you should be, its free

Dynamic Load Balancing in action

Tap into the power of AppExpert!

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (6629) |

posted by Craig Ellrod

Load Balancing Auto-Configuration for SAP using Workflow Studio and NetScaler

At the tail end of our certification process at SAP, Citrix engaged in a unique opportunity to make use of the SAP APIs, using Workflow Studio to auto-configure the Citrix NetScaler for Load Balancing. The way it works is, Workflow Studio polls the SAP API, reads the response, and then based on the results in the response, configures the NetScaler Load Balancing groups that map directly to the SAP servers running in the server farm.

SAP has a community group dedicated to the development of their APIs, please reference the latest blog post Catching Up with Deployment and Operations Automation, describes the SAP APIs.

The SAP Community Definition Group (CDG) - titled "PCDG 97 NetWeaver Infrastructure APIs for Network Solutions" - is focused on automation of network-application integrated configuration and operation. As the group title implies, the SAP NetWeaver technology platform includes APIs, which are used by the NetScaler ADCs (load balancers) to auto-configure themselves as proxies for multi-instance SAP application systems. Using Citrix Workflow Studio, the SAP APIs are polled on a regular basis so that the NetScaler ADCs can react to SAP application instance changes during production runtime.

If another application instance is brought up, let's say for providing more computing capacity for an increasing end-user load, or if an instance is brought down temporarily for maintenance, Workflow Studio communicates with the NetScaler ADC to adjust load balancing automatically without any manual administrator intervention. There is no more wait, or lengthy change management required to provision applications.

Workflow Studio, NetScaler and SAP API Use Cases:

Use Case 1: (auto-configure new SAP services).

Workflow Studio sends a URL request to the SAP Message Server, and receives a response. Workflow Studio parse's the response, looking for specific SAP generated patterns. WFS then uses this information to configure a Load Balancing Virtual Server inside of the Citrix NetScaler.


Use Case 2: (dynamic configuration).

Workflow Studio repeatedly queries the SAP API. WFS studio can determine hostnames, ip addresses, port numbers, and whether an SAP server is coming online or going down. When a SAP server comes online/goes down - WFS detects this change, and then takes action on the Citrix NetScaler, to add/remove the SAP service from the Load Balancing group - automatically.


Use Case 3: (graceful shutdown).

Workflow Studio queries the SAP API, determines a SAP server is going down, and based on the response, waits until all existing sessions have been retired, before removing the server from the Load Balancing group . During the shutdown period, no new sessions are added to that SAP server, providing a graceful shutdown of the SAP service. This way, there are no TCP resets sent to existing sessions. New logins are routed to a different server.


Read the SAP article here.

Tap into the power of AppExpert!

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (7244) |

posted by Craig Ellrod

SAP certifies NetScaler v9.0 and Branch Repeater/WANScaler v4.5 solution

On 3/31/2009, SAP certified Citrix NetScaler v9.0 and Citrix Branch Repeater/WANScaler v4.5 as an integral solution to improve the delivery of the SAP applications. For SAP Portal, the Citrix NetScaler & Branch Repeater/WANScaler solution improved response time to clients. For downloads and backend operations from SAP Composite and ERP servers, response time was also improved.

SAP customers have hundreds of branch offices with a mixture of small and large offices, and a global distribution. It is important to have a solution which optimizes, simplifies and accelerates the delivery of the SAP applications. During certification testing it was proven that the NetScaler and Branch Repeater/WANScaler products improve performance of SAP applications through acceleration, provide security through HTTPS connections, and provide reliability & high availability through load balancing.

Read more about NetScaler here.

Read more about Branch Repeater/WANScaler here.

Tap into the power of AppExpert!

Expand Blog Post