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