Proposed Solution. VoiceXML. Solution Architecture. Solution Architecture



Similar documents
JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers

WEBLOGIC ADMINISTRATION

MagDiSoft Web Solutions Office No. 102, Bramha Majestic, NIBM Road Kondhwa, Pune Tel: /

Apache and Tomcat Clustering Configuration Table of Contents

NetIQ Access Manager 4.1

Tomcat Tuning. Mark Thomas April 2009

JBS-102: Jboss Application Server Administration. Course Length: 4 days

Scaling Progress OpenEdge Appservers. Syed Irfan Pasha Principal QA Engineer Progress Software

Oracle WebLogic Server 11g: Administration Essentials

MID-TIER DEPLOYMENT KB

JBoss enterprise soa platform

EBA Procurement Procedure for the Supply of Website Services 2016: Annex 1 System Architecture Document SYSTEM ARCHITECTURE DOCUMENT

High Availability Implementation for JD Edwards EnterpriseOne

Apache Jakarta Tomcat

Oracle BI Publisher Enterprise Cluster Deployment. An Oracle White Paper August 2007

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Oracle Weblogic. Setup, Configuration, Tuning, and Considerations. Presented by: Michael Hogan Sr. Technical Consultant at Enkitec

PolyServe Matrix Server for Linux

JBoss Enterprise Middleware. The foundation of your open source middleware reference architecture

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

ELIXIR LOAD BALANCER 2

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Basic TCP/IP networking knowledge of client/server concepts Basic Linux commands and desktop navigation (if don't know we will cover it )

High Availability Technical Notice

Deployment patterns for Fusion Middleware. a best practice session by Simon Haslam & Jacco H. Landlust

KillTest. 半 年 免 费 更 新 服 务

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Glassfish, JAVA EE, Servlets, JSP, EJB

Apache Tomcat. Load-balancing and Clustering. Mark Thomas, 20 November Pivotal Software, Inc. All rights reserved.

WebSphere Product Family Overview

Tier Architectures. Kathleen Durant CS 3200

Performance Optimization For Operational Risk Management Application On Azure Platform

applications. JBoss Enterprise Application Platform

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Configuration Management of Massively Scalable Systems

JBOSS ENTERPRISE APPLICATION PLATFORM MIGRATION GUIDELINES

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence

Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment

Code:1Z Titre: Oracle WebLogic. Version: Demo. Server 12c Essentials.

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April Page 1 of 12

Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment

Tuning Your GlassFish Performance Tips. Deep Singh Enterprise Java Performance Team Sun Microsystems, Inc.

Red Hat Cluster Suite

Blackboard Learn TM, Release 9 Technology Architecture. John Fontaine

Avaya Aura Orchestration Designer

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

REDEFINING THE ENTERPRISE OS RED HAT ENTERPRISE LINUX 7

Centrata IT Management Suite 3.0

<Insert Picture Here> WebLogic High Availability Infrastructure WebLogic Server 11gR1 Labs

Oracle WebLogic Server 11g Administration

Xythos WebFile Server Architecture A Technical Guide to the Core Technology, Components, and Design of the Xythos WebFile Server Platform

Hosting Solutions Made Simple. Managed Services - Overview and Pricing

Advanced Liferay Architecture: Clustering and High Availability

High Availability Solutions for the MariaDB and MySQL Database

Active/Active HA Clustering on Shared Storage with Samba

Agenda. Tomcat Versions Troubleshooting management Tomcat Connectors HTTP Protocal and Performance Log Tuning JVM Tuning Load balancing Tomcat

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7

Red Hat Enterprise Linux: The ideal platform for running your Oracle database

RED HAT ENTERPRISE LINUX: A HIGHER VALUE AND LOWER COST ALTERNATIVE TO

Big Data Analytics - Accelerated. stream-horizon.com

OBIEE 11g Scaleout & Clustering

Siemens PLM Connection. Mark Ludwig

Open source business rules management system

Holistic Performance Analysis of J2EE Applications

Managing your Red Hat Enterprise Linux guests with RHN Satellite

Dell and JBoss just work Inventory Management Clustering System on JBoss Enterprise Middleware

JBoss Enterprise Middleware

Kony MobileFabric. Sync Windows Installation Manual - WebSphere. On-Premises. Release 6.5. Document Relevance and Accuracy

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

HP Business Service Management

Learn Oracle WebLogic Server 12c Administration For Middleware Administrators

High Availability with Elixir

[TFS 4.1 ADVANCED GUIDE]

What is it? What does it do? Benefits

Capacity Planning Guide for Adobe LiveCycle Data Services 2.6

Implementing a Well- Performing and Reliable Portal

Migrating from Unix to Oracle on Linux. Sponsored by Red Hat. An Oracle and Red Hat White Paper September 2003

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

WebLogic Server 11g Administration Handbook

5 Days Course on Oracle WebLogic Server 11g: Administration Essentials

Solutions for detect, diagnose and resolve performance problems in J2EE applications

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance.

Successfully Deploying Globalized Applications Requires Application Delivery Controllers

IBM WebSphere Server Administration

ArcGIS for Server Reference Implementations. An ArcGIS Server s architecture tour

High Availability Databases based on Oracle 10g RAC on Linux

S y s t e m A r c h i t e c t u r e

Best Practices for Data Sharing in a Grid Distributed SAS Environment. Updated July 2010

Oracle Corporation Proprietary and Confidential

Java Performance Tuning

LICENSE4J AUTO LICENSE GENERATION AND ACTIVATION SERVER USER GUIDE

JBoss EntErprisE ApplicAtion platform migration guidelines

Preparation Guide. How to prepare your environment for an OnApp Cloud v3.0 (beta) deployment.

Private Cloud for WebSphere Virtual Enterprise Application Hosting

How To Monitor A Server With Zabbix

Transcription:

About us Developing Interactive Voice Response applications on JBoss Enterprise Middleware: A Case Study Ravi Srinivasan, Hector Hugo Gonzalez Hewlett Packard Consulting & Integration Group HP Open Source Middleware - www.hp.com/go/osms Consulting Services Linux/Apache/Tomcat/JBoss Migration Services Performance Tuning & Optimization Feb 14 2008 Outline Introduction & Overview Solution Architecture Deployment Strategy Performance Summary Introduction & Overview

Customer Profile One of the largest providers of mobile services in Mexico More than 45 million subscribers and growing! 70 million+ subscribers all over Latin America Majority market share in multiple countries in Latin America Interactive Voice Response Systems (IVR) Handle large call volumes efficiently Efficient segmentation/routing based on caller profile Extended business hours Cost-effective The old system Not scalable Software approaching EOL Proprietary - integrating with other systems difficult A solution was needed and fast! High performance and meeting SLA s High Availability/fail-over capabilities Open and scalable platform Integration capabilities Standards based Simplified Monitoring and Management Failing to meet SLA losing revenue!

Proposed Solution Replace existing prepaid IVR functionality with VoiceXML applications developed on HP s OpenCall Media Platform (OCMP) and JBoss Enterprise Middleware VoiceXML W3C standard for interactive dialog between human and computer Interpreted by a Voice Browser OCMP provides a new IVR system built on industry standards that can act as a foundation for future Voice & Media services JBoss Enterprise Middleware Lower TCO. Zero license fees Open and Scalable platform * Source: Wikipedia Solution Architecture HP OpenCall Media Platform Legacy / Back office / Prepaid Systems as VoiceXML gateway Solution Architecture Telephony Network TCP/IP TCP/IP VoiceXML HTTP Application Server Database Called number 333 URL http://appsvr/ivr/hello.vxml

Application Server IVR Application Design Talking Points OCMP Apache Web Server Static VXML documents TCP/IP Sockets To EJB or not to EJB VoiceXML Browser http request VoiceXML document JBoss Application Server controller view model XML XSL DAO Controller DAO Servlets XML-RPC JDBC TCP/IP sockets CSV Multiple legacy back-ends CSV formatted results over TCP/IP sockets Multiple third party external systems XML/RPC JDBC HTML Browser http request HTML JSP Java Virtual Machine DAO Coarse grained Stateless services Easier to provide HA facilities Performance achieved by scale out Document Types Static Documents (Apache) VXML documents that will not change, for instance: menus, application logic, etc. Audio files. Grammar files (used for user input validation). Deployment Strategy Dynamic Documents (JBoss) VXML documents built on-the-fly (XSLT), for instance: Balance Enquiries and Credit Replenishment results. Data fetched from back-end (RDBMS, Legacy etc) low level re-usable libraries to each of the back-ends

Central idea Redundancy Redundancy across all layers OCMP App Server Backend Hardware Redundancy RAID NIC bonding ( teaming ) Redundant PSU s/routers/switches Approach 1: HA / Failover using JBoss Clustering Approach 2: HA / Failover using HP ServiceGuard Freely available out of the box. Very flexible (dynamic cluster membership) HP ServiceGuard is an enterprise grade HA solution that is widely used for mission critical IT infrastructures Stability and performance issues with mod_jk Migrates IP of failed node to a Standby Active/Passive node Moving to Apache mod_proxy/mod_rewrite. Better stability and performance Flexible cluster configuration (Active-Active, Active-Passive etc)

HA using HP ServiceGuard CLUSTER HP Service Guard Disk Array (Raid 1) Management & Monitoring HP OpenView for monitoring (high-level) Plugins for JBoss, Tomcat, Apache & MySQL available for free! http://www.openview.hp.com/products/spi/prod_spi_0002.html Custom MBeans exposes some run-time data AppSvr1 Red Hat Enterprise Linux AS 4 JBoss1 (Active) Intra-cluster communication AppSvr2 Red Hat Enterprise Linux AS 4 JBoss2 (Active/Passive) HP SIM (System Insight Manager) for Rack/Blade level monitoring Customized Redhat OS Customized software appliance like stack Slimmed down version of Redhat Linux AS 4 Quick & Easy Provisioning Image based (for homogeneous hardware) Kickstart LinuxCOE http://linuxcoe.sourceforge.net/ Patches and Updates on a need only basis Customized JBoss Customized for fast startup (15-20 seconds) Custom Logging policies Minimalist jboss-service.xml Synchronized deploy directories via NFS/FTP Patches and Updates on a need only basis

Performance focus areas Performance Apache/JBoss OS & Hardware JVM Application Source Code Apache/JBoss Tune for higher concurrency MaxClients ServerLimit maxthreads (JBoss/Tomcat) Disable unwanted modules/services Access logging separate partition (mount noatime ) Offload SSL processing to dedicated hardware Prefer mod_proxy_* over mod_jk for Apache 2.1/2.2 Apache KeepAlive timeout very low or turn OFF Note on JBoss Logging Log Levels prefer ERROR or WARN (in Production) Configure log file to rollover after it reaches a preset size Avoid using NFS for log directories Separate partition mount with noatime option Log4j jars inside your WAR can cause problems use scoped logging config use JDK java.util.logging

OS & Hardware Hardware Fast CPU s with large L2 caches 15K RPM SCSI disks, plentiful RAM Gigabit network switches File descriptors fs.file-max, ulimit n (per process) TCP stack tuning rmem_default, rmem_max, wmem_max, wmem_default tcp_sack, tcp_timestamps OFF (YMMV) JVM Aim for stability first! Server side apps tune for throughput (mostly) Important params (YMMV) -Xmx, -Xms, Eden space/ Survivor space sizing UseParNewGC (for Eden), CMS collector (for tenured) PermSize (to avoid OOM errors) JVM Tools VisualGC/jconsole (Sun JVM) JRockit Mission Control (BEA JRockit) HPJTune (Free!) http://www.hp.com/products1/unix/java/java2/hpjtune/ Detailed Code/JVM Profiling Yourkit JXInsight Last but not least.application source code Profiling revealed bottlenecks in the DAO->backend layer Socket creation and teardown very expensive Thread dumps (SIGKILL) showed many threads waiting - contention on shared resources Socket pooling improved performance tremendously Processing Read only Transactions from a separate dedicated back-end node also improved performance tremendously

Performance numbers approx. 24 million requests served per day Stability of the middleware platform has been excellent Summary < 30 seconds fail-over and recovery (Active-Passive) 30 million subscribers migrated over with minimal disruption In conclusion Stability and Performance of the system has resulted in customer s SLA being met Mission critical IVR applications can be scaled on commodity hardware and open platforms like the JBoss Enterprise platform Reduced TCO for the customer by using open source software and commodity hardware The open and standards compliant nature of OCMP and JBoss makes it easy to add new functionality and services Next Steps We are already in the process of implementing new services on the JBoss Enterprise platform We expect technologies like Seam, JBoss Messaging and ESB to play a very important role in the future Evaluating jbpm and Drools for workflow services We are planning to implement JAX-WS style web services for interoperability with 3 rd party systems

Questions? srinravi @ hp.com Gracias!