Contents
Introducing GIS
This chapter describes Genesys Integration Server (GIS) architecture, the APIs and services that GIS exposes, and the basic requirements for deployment.
About the Genesys Integration Server
GIS is an XML server implemented as a web application. Developers use GIS to access the Genesys Framework and the Customer Interaction Management Platform by using one or more APIs to expose available SDK services.
Container and Client-Server Options
GIS is an XML server implemented as a web application that is embedded in a Tomcat, WebSphere, or WebLogic web container.
GIS is compatible with the Java 2 Platform, Enterprise Edition (J2EE). GIS is based on open Internet technologies and industry standards, such as eXtensible Markup Language (XML) and Simple Object Access Protocol (SOAP).
Depending on your client applications’ requirements, any given instance of GIS can be configured and installed to use the Genesys proprietary GSAP protocol instead of SOAP.
The GIS client interface conforms to Web Services Description Language (WSDL) specifications. It uses HTTP as the underlying message transport layer. Because GIS is based on common technologies, you can develop your client applications using one of several supported toolkits. For a list, see GIS Built with Flexible Technologies.
For details, see the Genesys Supported Operating Environment Reference Guide.
GIS Services as Represented in the Configuration Layer
To integrate available GIS services into the Configuration Layer of a Genesys environment, you need to map those services to Genesys Configuration Layer Application objects. The services then become Configuration Layer entries that expose Genesys Integration Server services. Services do not function as servers. Each instance of Agent Interaction Service provides you with connections to the T-Servers, Interaction Server, and Universal Contact Server and each instance of Open Media Interaction Service provides you with connections to Interaction Service and Universal Contact Server.
Each GIS-exposed Genesys SDK Service is composed of three components:
-
GIS, which presents the necessary APIs.
-
Documentation that explains how to develop a client application that can successfully access the API. The documentation set for each SDK Service includes a
Developer’s Guide and a
API Reference.
The developer’s guides also contain the code used in the code examples, accompanied by brief comments explaining the methods used, for instance, the Agent Interaction SDK Services Developer's Guide.
-
Code examples, found on the Genesys Developer Documentation Library DVD, consisting of functioning code examples in Java and C# that exercise related functionality and provide a model for how to write code to make your application perform specific functions
.
Session Service
Session Service—provides login, logout, and licensing functionality.
The Session Service provides an interface for login, logout, and licensing functions. Your client application must address the Session Service and receive licensing validation before it can communicate with the other services. The Session Service does not include a documentation component.
Configuration SDK Service
Configuration Service—provides an interface to Configuration Layer objects, enabling your client applications to access and modify Genesys configuration data.
The Configuration SDK Service enables you to view and modify configuration information in the Genesys Configuration Layer, using a locally developed, user-customized application.
Possible customizations include the following scenarios:
-
A multi-site enterprise might provide access to configuration data for every tenant.
-
Your client application might present data to a web page, which off-site supervisors and administrators can access.
-
Your application might retrieve configuration updates based on time or change criteria.
-
You might configure client applications or their users to access subsets of data, for instance, configuration data for only certain switches, queues, or agent groups.
-
Your enterprise might use a centralized client application to retrieve, by way of the Internet, updated configuration information from multiple GIS servers deployed at different sites.
-
Your third-party application can be integrated with Genesys Configuration to provide real-time synchronization, in one or both directions.
Examples of some of the above functionality are reproduced, with comments and suggestions for developing your client applications, in the
Configuration SDK Web Services Developer's Guide.
Statistics SDK Service
Statistics Service—provides an interface to Stat Server statistics, granting your custom client applications access to Genesys real-time and historical data.
The Statistics SDK Service facilitates development of client applications that gather statistics about resource utilization, while introducing tools, such as filters, that enable a business-driven evaluation of contact-center operation and agent performance.
Users with a license only for the Statistics SDK Service can access read-only configuration information through the Configuration SDK Service using a limited selection of the Configuration Service methods.
Client applications using the Statistics SDK Service might perform such specialized functions as the following:
-
In an enterprise with many T-Servers® and Stat Servers, provide access to statistical subsets for particular T-Servers, switches, or agent groups.
-
Present data to a desktop application, to a wallboard display, or to a particular web page.
-
Retrieve statistics on contact-center traffic, or employee productivity, based on time or change criteria.
-
Access subsets of data, for instance, data that helps supervisors monitor agent performance or that enables managers to monitor campaign effectiveness.
-
Retrieve, using the Internet, updated statistical information from GISs at multiple sites.
Examples of some of the above functionality are reproduced, with comments and suggestions for developing your client applications, in the
Statistics SDK Web Services Developer's Guide.
Agent Interaction Services
Agent Interaction services—facilitates development of custom applications for interaction handling. For example, voice, e-mail, and/or chat interactions.
The Agent Interaction services enable you to develop applications for purposes like the following:
-
Create a contact-center agent desktop application for Genesys software implementations.
-
Integrate Genesys software with third-party software.
-
Create other, specialized applications tailored to your needs. Typical usage scenarios include:
-
Managing agent login activity.
-
Handling e-mail interactions: sending, receiving, replying.
-
Handling voice interactions: calling, receiving, callback.
-
Handling chat interactions.
-
Handling third-party media interactions.
-
Handling outbound campaign participation.
-
Maintaining a queued interface for Genesys media types and for third-party media.
-
Getting business attributes and their values.
-
Monitoring the changes in queues’ state, and in associated interactions.
-
Getting events on interactions in queues.
-
Maintaining a media interface for third-party media types.
-
Creating and managing third-party media interactions submitted to Interaction Server.
-
Managing third-party media interactions in the Universal Contact Server database.
-
Using the External Service Protocol (ESP) to handle interactions’ extensions, through Interaction Server.
Examples of some of the above functionality are reproduced, with comments and suggestions for developing your client applications, in the
Agent Interaction SDK Java Developer's Guide.
Typically, your applications will use the Agent Interaction services to establish connections to Genesys’ Framework, Internet Contact Solution, and Outbound Contact Solution servers; to manage agent login activities; and to manage interactions.
Open Media Interaction Services
Open Media Interaction services—enable you to build applications that manage third-party media interactions in the Genesys Framework. Such applications might submit third-party media interactions to Interaction Server; handle interactions’ extensions through Interaction Server, using the External Service Protocol (ESP); manage third-party media interactions in the Universal Contact Server database; or manage the system’s Customer Interaction Management queues.
The Open Media Interaction services enable you to develop applications for purposes like the following:
Examples of some of the above functionality are reproduced, with comments and suggestions for developing your client applications, in the
Open Media Interaction SDK Services Developer's Guide.
GIS Architecture
The following architecture diagram shows the connections between GIS, the Genesys Framework, and your client application.
- All the APIs and services shown in the diagram below]] are available to GIS:SOAP installations. Those labeled with an asterisk (*) are available only to GIS:SOAP installations—not to GIS:GSAP installations.
- A single instance of GIS can support multiple client applications at the same time.
GIS works with the Genesys Framework in the following ways:
-
GIS uses Configuration Server and License Manager for authentication and authorization.
-
GIS accesses Configuration Server for connectivity information for Genesys Framework components.
-
GIS supports integration with the Management Layer and is visible from Solution Control Interface.
-
GIS communicates with Stat Server to retrieve statistical information that GIS presents through the Statistics Service.
-
GIS communicates with Configuration Server’s SOAP interface to access and modify configuration data that GIS presents through the Configuration Service.
-
GIS communicates with the Agent Interaction Services to handle interactions on voice, e-mail, or chat media.
You can deploy single or multiple GIS instances that access the same or multiple Framework components. These connections are configured using Configuration Manager.
GIS Built with Flexible Technologies
GIS client applications communicate with GIS either using SOAP over HTTP, or using the proprietary Genesys Services Access Protocol (GSAP). For SOAP clients, communication conforms to a set of request/response operations that use XML as a basis for SOAP and WSDL definitions and behaviors.
If you are developing in Java, or in .NET-supported languages like Microsoft C#, Visual C++.NET, or VB.NET, you can generate stubs or proxies that connect your application to GIS. However, Genesys recommends that you use the Genesys Integration Server Proxies/Libraries that Genesys provides (in both Java and .NET versions, for both the SOAP or GSAP protocols). These proxies/libraries incorporate reconnect and defense mechanisms, as well as performance enhancements.
If you choose to deploy GIS as a SOAP connector, its reliance on HTTP as the underlying message transport layer means you can use existing, well-known communications and security functions in your applications. Only HTTP ports need to be opened. This permits minimal data transfer, which enables the use of standard ports and speeds up communications.
Supported Toolkits
Because of their XML-based nature and open architecture, the Statistics SDK Service and Configuration SDK Service enable developers to choose among various commercially available tools to build a SOAP-compliant client application that uses HTTP as the transport protocol.
You should be able to use most major-market toolkits to develop successful client applications. The following have been tested and are officially supported:
-
Microsoft .NET Framework SDK, version 3.0, 3.5, or 4.0
(http://msdn.microsoft.com/netframework/)
-
Apache AXIS toolkit, version 1.3 (
http://xml.apache.org/axis/index.html)
Adding a Web Server in Front of GIS
GIS resides in Tomcat, WebSphere, or WebLogic. If you plan to put an additional web server in front of GIS, see that web server’s documentation for deployment instructions.
System Requirements
GIS is compatible with several hosts. For details about GIS system requirements, see the
Genesys Hardware Sizing Guide
. Generally, the GIS host should:
- Have at least 512 MB RAM.
- Have a CPU speed above 1.5 GHz, with 1.7 GHz as a minimum for Windows platforms.
- Have network access of at least 10 Mbps; however, Genesys highly recommends 100 Mbps or higher, especially for SOAP deployments.
- Run the Java Runtime environment (JRE) or Java SDK, version 1.4 or 1.5:
- Windows and Solaris users should download the necessary software from the Sun Java site at
http://java.sun.com .
- AIX users should download the necessary software from http://www-106.ibm.com/developerworks/java/jdk/aix/.
-
HP-UX users should download the necessary software from
http://www.hp.com/products1/unix/java/.
-
Tru64 UNIX users should download the necessary software from
http://h18012.www1.hp.com/java/alpha/.
- When deploying GIS using the Web Module option, install the full Java SDK, not just the JRE.
- When deploying GIS on the Solaris operating system, install JDK 1.5.0_10 or higher.
- When deploying GIS using the GSAP option, first install Java Standard Edition—not Java Enterprise Edition—on the host machine. GIS requires certain JMX components that are not included in the Enterprise Edition.
ImportantCertain deployment scenarios require specific Java components:For details, see the Genesys Supported Operating Environment Reference Guide.
- Windows and Solaris users should download the necessary software from the Sun Java site at
http://java.sun.com .
Other deployment notes:
-
The GIS installation package includes the recommended version of Apache AXIS and Tomcat. Genesys encourages you to use these versions to generate proxies (Tomcat 5.5 is supported).
-
You can deploy GIS into a WebSphere or WebLogic web container.
-
The GIS directory tree consumes approximately 60 MB for SOAP deployments and 45 MB for GSAP deployments, with slight variations depending upon operating system.
-
If you implement high availability using GIS:GSAP, you will need a JDBC-compatible RDBMS (relational database management system), in which you will create a recovery database. Supported databases are Oracle 9.2i (or higher), and Microsoft SQL Server 2000 or SQL Server 2005.
-
To integrate a stand-alone GIS instance with the Genesys Management Layer’s Solution Control Server (SCS), you must install Local Control Agent (LCA), version 7.0.100.05 or higher, on the host that supports GIS.
Supported Operating Systems
For supported operating systems, see Genesys Supported Operating Environment Reference Guide
. This guide is updated regularly.
Sizing Guidelines
For sizing guidelines, refer to the Genesys Integration Server chapter in the
Genesys Hardware Sizing Guide
, which you can access from the Technical Support website. This document is updated regularly.
Production vs. Development/Test Environments
You can deploy a simplified development/test environment using one of the following architectures:
-
Install all required software on a single host. This includes GIS, DB Server, Configuration Server, Configuration Manager, and also all of the client development tools, including compilers, toolkits, and so on.
-
Install all of the client development tools on one host and put all of the servers on another.
-
Locate the client development tools and GIS on a single host, with the Genesys Framework resources on another host.
For more information, refer to the Genesys Integration Server chapter in the
Genesys Hardware Sizing Guide
Under any deployment architecture, if you require the Statistics SDK Service, ensure that GIS has access to Stat Server.
Framework and Solutions Compatibility
For details, see the Genesys Interoperability Guide.
Statistics SDK Service
The Genesys Statistics SDK Service is compatible with single-tenant or multi tenant Framework versions 6.5 and higher. To manage configuration data, you must use either Configuration Server 7.x (which can be configured either as a master Configuration Server or as a proxy), or CS Proxy 6.5.
Configuration SDK Service
The Configuration SDK Service requires either Configuration Server 7.x (which can be configured as either a master Configuration Server or a proxy) or CS Proxy 6.5. The Configuration SDK Service is compatible with single tenant or multi-tenant versions of the Genesys Framework.
Agent Interaction Service
The Agent Interaction SOA (Service Oriented Architecture) is compatible with Framework 7.0 and with the following Genesys products:
- Outbound Contact Solution (OCS): 7.x
- Voice CallBack: 7.x
- Multimedia or Multi-Channel Routing (MCR): 7.x
Open Media Interaction Service
The Open Media Interaction Service is compatible with Framework 7.1 or higher, and with Multi-Channel Routing 7.1.x or Multimedia 7.2.x and higher.
Management Layer Support
If you are using GIS in a Tomcat web container, you can start and stop GIS using Solution Control Interface (SCI).
To use the Management Layer, you must be running LCA (Local Control Agent) 7.0.1 or higher.
GIS Use-Case Scenario
This section provides details from one GIS deployment that Genesys implemented at a customer site. The design offers a highly available, robust, and redundant architecture for two-thousand agents.
GIS:SOAP 7.6 - Clustering
The GIS:SOAP 7.6 HA with Load Balancing deployment is suitable for a highly available, robust, redundant deployment scenario (See Example from a Load Balanced and Highly Available Environment, which details an actual GIS Deployment). The implementation consists of multiple instances of GIS in a cluster, as shown in the following figure.
With this deployment, if the current client-GIS connection fails:
- The client application is automatically switched (by the dispatcher) to one of the other GIS nodes in the cluster.
- The session data is maintained by the cluster cache. Therefore, a database is not required.
- The agent session data is maintained. The agent does not need to log in again.
Example from a Load Balanced and Highly Available Environment
The following figure shows a multi-site, multi-host, multi-cluster, high availability environment that supports two-thousand (2000) agents.
The environment includes:
-
Agents
-
Global Load Balancer (GLB)
-
Multiple Sites (Site A and Site B)
-
Multiple Host Machines (Hosts 1, Host 2, Host 3, and Host 4)
-
Multiple GIS Instances (GIS 1, GIS 2, and SDK/GIS Configuration)
-
Multiple GIS Clusters (GIS-cluster 1, GIS-cluster 2, and SDK/GIS Configuration cluster)
Agents
This environment supports a load of up to 2000 agents. The agent load is distributed over multiple sites and multiple hosts by GLB.
Global Load Balancer (GLB)
The GLB has a multi-dimensional configuration that distributes the agent load:
-
Between two sites (four hosts).
-
Across three GIS clusters.
To do this GLB is configured with three http addresses (one per GIS cluster). When a request is received from an agent, a session is opened to one GIS cluster (only one!). Then, the sessions will be balanced between the four GIS instances in the cluster. For example, if one of the GIS instances becomes unavailable, the session is managed on the remaining instances in the cluster.
Multiple Sites (Site A and Site B)
This sample environment is designed for multiple sites (Site A and Site B). This offers excellent availability. For example, if one site becomes unavailable, agents can connect to the second site and continue their work.
Multiple Host Machines (Host 1, Host 2, Host 3, and Host 4)
This design includes four host machines (two hosts per site). Each host has:
-
Three GIS instances (GIS 1, GIS 2, and SDK/GIS Configuration)
-
Two (2) GB for each GIS.
If a host or an application server on a host (Websphere) becomes unavailable, all agents connected to that host are redirected to another host by GLB.
Multiple GIS Instances (GIS 1, GIS 2, and SDK/GIS Configuration)
This sample environment includes three GIS instances per host:
-
GIS 1—each instance of GIS 1 is configured to support up to 500 agents. It is the primary GIS on a host, and it is in cluster with the GIS 1s on the other host machines.
-
GIS 2—each instance of GIS 2 is configured to support up to 500 agents. It is the backup instance on a host, and it is in cluster with the GIS 2s on the other host machines.
-
SDK/GIS Configuration—supports ongoing configuration and any further SDK customization needed.
Multiple GIS Clusters (GIS 1 Cluster, GIS 2 Cluster, and SDK/GIS Configuration Cluster)
This sample environment includes three clusters:
-
A cluster with four GIS 1s
-
A cluster with four GIS 2s
-
A cluster with four SDK/GIS Configurations
Typically, GLB directs agents to the GIS 1 Cluster. This cluster is replicated in the GIS 2 Cluster. However, GLB directs requests to the GIS 2 Cluster in the following circumstances:
-
If the entire GIS 1 Cluster becomes unavailable (stops responding), agents connected to GIS 1 Cluster are redirected to GIS 2 Cluster.
If three-of-four host machines become unavailable (stop responding). agents are directed to either a GIS 1 or GIS 2 on the remaining host.
Licensing
GIS manages the license control for the Statistics, Configuration, and Interaction SDK Services, and manages the number of sessions allowed for each interface. GIS 7.6 requires License Manager 8.3, which is available on a separate CD.
When you purchase a license for a GIS SDK Service, you receive license keys for GIS, the appropriate SDK Service, and the Configuration Server Proxy interface (which was packaged separately in 6.x releases as CS Proxy).
If you are upgrading to GIS 7.6 from Genesys Interface Server 7.1 or earlier, you must migrate your existing license keys. For details, see the
Genesys Licensing Guide
.
For more information on licensing, see:
-
The
Genesys Licensing Guide for a detailed discussion of Genesys product licensing and using License Manager.
-
Configuring the License Section of the Option Tab (for GIS:SOAP or GIS:GSAP), which contains instructions on how to configure license information.
-
Specifying Licensing at Startup (GIS:SOAP only), which explains how to specify license information when starting GIS.
-
The Developer’s Guide for each SDK Service. These explain how to configure your login message so that the client application is authorized to communicate with the correct SDK Service.
New In This Release
This section summarizes what has changed between Genesys Integration Server 7.6 and its predecessor products. It identifies new options and compatibility issues.
Backward Compatibility
GIS 7.6 servers are compatible with client applications written using Genesys 7.6, 7.5, 7.2 or 7.1 SDKs (Software Development Kits). However, features newly introduced in 7.6 will typically be available only if you also upgrade your client applications to incorporate new 7.6 SDK components.
If you are upgrading from Genesys .NET Server 7.1, GIS 7.6 supports your existing client applications by exposing new versions of the same Genesys .NET services. You simply need to connect your client applications to GIS 7.6 instead of .NET Server 7.1.
If you are upgrading from Genesys Interface Server 7.1, GIS 7.6 supports your existing client applications by exposing new versions of all the same Genesys services.
GIS:GSAP High Availability Support
GIS:GSAP 7.6 supports high-availability. This functionality provides failover to one or more backup GIS:GSAP servers.
For details, see High-Availability Deployments of GIS.