Summary: This guide describes the application blocks that provide Agent Interaction SDK (Java) features.
Application blocks are components that use industry best practices to provide functionality needed by a broad range of Genesys customers. This particular application block set should be used when your application requires:
For more information on the application blocks that ship with the Genesys SDKs, consult Introduction to the Genesys SDKs.
Note: This document may not be the latest version of the API Reference. Please see the Genesys Technical Support website, the Technical Documentation website, and the SDK Documentation CD for the latest versions of all SDK documents.
Who
Should Read This Guide
Prerequisites
What Is in This Guide
Application Blocks Overview
Design
Patterns
Copyright
This guide is written for:
This guide, primarily intended for programmers developing Java-based applications for contact center agents, assumes that you have a basic understanding of:
You should also be familiar with:
This guide describes the design and features of the Agent Application Block and demonstrates how you can use the block to add agent interaction capabilities to your agent applications.
Chapter 1: Installing
the Agent Application Blocks
Chapter 1 details the process for building the blocks and modifying your
application to use it.
Chapter 2: The Connector
Application Block
Chapter 2 examines the Connector Application Block features, architecture,
design, and use, as well as its relationship to other components that
support it.
Chapter 3: The Agent Application
Block
Chapter 3 examines the Agent Application Block features, architecture,
design, and use, as well as its relationship to other components that
support it.
Chapter
4: The Open Media Interaction Handling Application Blocks
Chapter 4 examines the Simple and Complex Open Media Interaction Handling
Application Block features, architecture, design, and use, as well as
its relationship to other components that support it.
Chapter
5: The Hign Availability Server Application Block
Chapter 5 examines the HA Handling in a server application.
It shows how you should handle session and agent data to properly integrate HA to your applications.
Chapter
6: The Performance tester Application Blocks
Chapter 6 shortly describes these application blocks which show how you can evaluate performance of the Agent Interaction Layer in your environnment.
Table 1.1. The Agent Application Blocks
Application Block Name |
Description |
Connector |
Demonstrates the connection to the Genesys Framework. |
Agent |
Manages agent action on the media of a place. |
Simple Open Media Interaction Handling |
Manages simple actions on open media interactions. |
Complex Open Media Interaction Handling |
Manages complex actions on open media interactions. |
The design of the Agent Application Blocks makes it possible to use each application block independently, or to use them all together, according to the initialization that you choose.
This section presents the Design Patterns used to design the Agent Application Blocks.
Observer Pattern defines a one-to-many dependency between a subject
object and any number of observer objects. If the subject object's state
changes, all the associated observer objects are notified and updated.
The Observer pattern is also known as Dependents and Publish-Subscribe.
In Agent Application Blocks, the implemented ServiceListener,
the PlaceListener and the
InteractionListener listeners
receive events when the subscribed subjects are modified (serviceStatusChanged
,
handlePlaceEvent()
, handleInteractionEvent()
).
Figure 1.2. Observer Pattern for Agent Application Blocks
Factory Pattern defines an abstract factory class, which provides an interface for creating families of related or dependent objects without specifying their concrete classes. In Agent Application Blocks, the AilLoader class is a factory that is used to create AilFactory. The log4j factory is also used to create or get the log management instance.
Figure 1.3. Factory Pattern for Agent Application Blocks
Facade Pattern defines a higher-level interface that makes the subsystem easier to use. For example, to hide Agent Interaction (Java API) complexity, the InteractionOpenMedia interface provides you with the isPossible() method to test if your application gets a ringing interaction event. Based on the result of the call to this method, you can determine whether your application can call the answer() method.
Figure 1.4. Facade Pattern for Agent Application Blocks
Singleton Pattern ensures that a single instance exists and provides a single entry point of access to the instance. Agent Application Blocks use Singleton Pattern for log management. Log management, used by the Agent Application Blocks, originally belongs to the log4j framework.
Figure 1.5. Singleton Pattern for Agent Application Blocks