Oracle

Siebel IP17: Load Balancing Application Interface (AI) Servers

The release of Siebel Innovation Pack 2017 (IP 17.0) is set to revolutionize how our customers configure, manage and deploy the Siebel CRM application. At the same time, it will provide a modern developer experience that will enable parallel, collaborative and distributed team development.

Siebel IP 17.0 delivers many new features. Highlights include:

  • Revolutionary changes to Business Agility and the Application configuration, migration, and deployment process
  • Modern developer experience with Siebel Composer, parallel Workspaces and Approval Manager
  • New dynamic Gateway and web server components
  • Complete Test Automation Suite
  • UX enhancements

The new release also acts as a key stepping stone for future innovations.

What is Siebel Application Interface (AI)?

Siebel Application Interface is a module that enables communication between Siebel Web Clients and Siebel Servers. In Siebel Innovation Pack 2017, the Siebel Application Interface replaces the Siebel Web Server Extension (SWSE).

Below figure shows the flow of a user request fulfilled in Siebel IP 2017 architecture:

What is HTTPd Load Balancer?

HTTPd load balancer acts as a reverse proxy and distributes network or application traffic across a list of available tomcat servers. A load balancer works as a middleman between the client and the servers by accepting requests from clients and distributing the requests to the backend servers based on the configured parameters.

This blog describes how to setup and configure HTTPd Tomcat mod_jk connector for load balancing Application Interface servers used in a Siebel IP 2017 environment with one Siebel server and two Application Interface servers. You may be able to extend it further to cover your environment scenarios.

The Apache HTTPd mod_jk web server module can be used to load balance Apache Tomcat servers. The mod_jk connector is an Apache HTTPd module that allows HTTPd server to communicate with Apache Tomcat instances over the AJP protocol. This module is used in conjunction with Tomcat’s AJP Connector component.

Install Apache HTTPd Server

Download and unzip the latest version of 64-bit Apache HTTPd web server onto your server which will be acting as a web server for receiving the requests for Siebel application data coming from Web clients and flags these requests for routing to a Siebel Server. The HTTPd server will use mod_jk module to interact with Siebel Application Interface servers and route the request on a round-robin basis.

Setup HTTPd Service

Open the Windows terminal and go to the HTTPd server Installation bin directory.

httpd -k install

#Start the Service

sc start “Apache2.4”

Install apache mod_jk module

The Apache Tomcat connector allows using the Apache HTTPd server as a front-end for Apache Tomcat applications.  The mod_jk connector is an Apache HTTPd module that allows HTTPd to communicate with Apache Tomcat instances over the Apache Jserv Protocol (AJP). The Apache Jserv Protocol (AJP), is a binary version of HTTP that is optimized for communication between Apache HTTPd and Apache Tomcat over a TCP connection.

Oracle - Guide to Oracle Cloud: 5 Steps to Ensure a Successful Move to the Cloud
Guide to Oracle Cloud: 5 Steps to Ensure a Successful Move to the Cloud

Explore key considerations, integrating the cloud with legacy applications and challenges of current cloud implementations.

Get the Guide

Download 64-bit mod_jk connector. Unzip the mod_jk module file and copy the mod_jk.so file into the module folder of HTTPd server’s root folder.

Configure httpd.conf file

Locate the Listen section in the httpd.conf file and modify the line as below:

Listen <<HttpdHostname>>:80

Add below  lines at the end of the httpd.conf file
#Load mod_jk module
LoadModule jk_module modules/mod_jk.so

Add an if statement to define the commands to be executed once the module is loaded as follows:
#Declare the module for use with the <IfModule directive> element.

<IfModule jk_module>
JkWorkersFile conf/workers.properties
JkLogFile                  logs/mod_jk.log
JkLogStampFormat          “[%b %d %Y – %H:%M:%S]
JkRequestLogFormat      “%w %V %T”
JkLogLevel                  trace
JkMount                     /* loadbalancer
JkMount                    /Jkmanager status
</IfModule>

Create workers.properties file

Define the list of Tomcat workers that can accept requests by adding the following configuration to the workers.properties file:
# Define workers
worker.list=loadbalancer,status
# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=8009
worker.worker1.port=<ajportnumber>
worker.worker1.lbfactor=1
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
# Set properties for worker2
worker. worker2.type=ajp13
worker. worker2.host=8109
worker. worker2.port=<ajportnumber>
worker. worker2.lbfactor=1
worker. worker2.socket_keepalive=1
worker. worker2.socket_timeout=300
# Set properties for loadbalancer
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers= worker1, worker2
# Get statistics
worker.status.type=status

Configure server.xml

On each tomcat instance of Siebel Application Interface (AI), modify the server.xml file as below:

Example: Application Interface Server 1

Define AJP 1.3 connector

Locate Connector port line and change the port as needed. The default is AJP port is 8009.
<Connector port = “8009” protocol=”AJP/1.3” redirectPort=”9401”/>
Set JVMRoute to support load-balancing via AJP
<Engine name = “catalina” defaultHost=”localhost” jvmRoute=”worker1

Example: Application Interface Server 2

Define AJP 1.3 connector

Locate Connector port line and change the port as needed. The default is AJP port is 8009.
<Connector port = “8109” protocol=”AJP/1.3” redirectPort=”9301”/>
Set JVMRoute to support load-balancing via AJP
<Engine name = “catalina” defaultHost=”localhost” jvmRoute=”worker2

Restart Tomcat instances on Application Interface (AI) servers. Assuming that you already have Siebel services up and running.  If not, start the services in your environment.

Restart the HTTPd service on Apache Web Server

Test HTTPd load balancer

  1. Login to Siebel Management Console (SMC): http://<<httpdhostname>>/siebel/smc

The Web request is routed to one of the AI servers (Round Robin algorithm to find available AI Server). Login screen for Siebel Management Console (SMC) will be displayed as below:

2. Login into Siebel CallCenter application: http://<<httpdhostname>>/siebel/app/callcenter/enu?

The Web requested is routed to one of the AI servers. Login screen for Siebel CallCenter Application will be displayed as below:

3. Get Statistics on Load Balancer: http://<<httpdhostname>>/jkmanager

If you would like to read more about Siebel IP 17 Architecture, please visit our blog here.

 

About the Author

Varghese Daniel is a Solutions Architect with Perficient’s CRM practice. He is an accomplished CRM implementation consultant with 20-plus years of CRM implementation and upgrades experience. He holds several Specialist certifications in Salesforce CRM, Salesforce CPQ, Siebel CRM, and Oracle Sales Cloud and is also an active member in Oracle Community Spaces (Oracle Sales Cloud, Siebel and Integration Cloud service).

More from this Author

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Subscribe to the Weekly Blog Digest:

Sign Up
Categories