Integration Architecture Overview (PureConnect)


Overview

Integration Points

There are two key integration points with this architecture design:

  1. The PureConnect ICWS Service for RealTime metrics

  2. The PureConnect CIC database 


The ICWS integration (PureConnect Adapter)

Data Available from the ICWS is loosely based on the Statistics Catalog provided by the Genesys, for the latest revision of the Statistics Catalog. See this link: Statistics Catalog. eMite categorizes the available statistics based on the modules it uses.

Module Name

Module Description

Module Name

Module Description

Interactions

Subscribes to the interaction data looks at key information such as AcdSkillSet, CallState, ConnectionTime, WorkGroup Assigned, Agent Assigned, Acd Wait Reason, Termination Time (to clear the message)

QueueStatMetrics

Subscribes to the Queue Stat Metrics available within the Statistics Catalog.

UserStatMetrics

Subscribes to the User Stat Metrics within the Statistics Catalog

UserStatus

Subscribes to the User Statuses, looks at key information such as Agent Name, Agent Status

WorkGroupStatMetrics

Subscribes to the WorkGroup Stat metrics available within the Statistics catalog.

PureConnect Adapter Behavior

The PureConnect Adapter utilizes the ICWS pub-sub model of retrieving real time data. Its adapter acts like a subscriber and listens to the any new messages or changed states associated to the subscriptions.

Its first step is to attempt to log in using the credentials provided. Once authenticated, it will subscribe to the relevant APIs (based on the Module name). It will keep a running thread associated to the specific API to provide real time notifications. 

Multiple ICWS Services - It's common that there are multiple hosts associated to ICWS, usually when the ICWS hosts switch - it provides an error message to notify the subscriber that an alternate host is being used.

In the scenario when it switches it, there will be a period of time where the subscriptions will need to be re-subscribed. This might affect dashboards for a minute.


The PureConnect CIC Database integration

Data Available

Fact Queries

Description

Fact Queries

Description

AgentActivityLog

Provides data around the agent states; usually stored within the Agent Activity tables within the CIC Database

AgentHistorySummary

Based on the Interval Queue data using the Agent Summary Views

AgentHistoryDetail

Based on the Interval Queue data using the Agent Detail Views

QueueHistorySummary

Based on the Interval Queue data using the WorkGroup Summary Views

QueueHistoryDetail

Based on the Interval Queue data using the WorkGroup Detail Views; "CHKey4" being the key shown (in some contact centers this is used as a Skill field)

InteractionDetailSegments

Based on the Interaction Detail Data, key components of interaction data is broken down into 'Segments' to provide detailed analysis on transitions of segments within an interaction.

InteractionDetailSummary

Based on the Interaction Detail Data, key aggregated statistics associated to the interaction for faster statistical analysis over standard metrics.

  • Availability - Note that this data's availability can be delayed up to 30 minutes. There is a key dependency on the PureConnect PMQ (Persistent Messaging Queue) on pushing this data into the CIC Database. eMite will poll the latest data that is available at 5 minute intervals. However, it is still dependent on the availability within the database.

  • Granularity - Pertains to the Interval Queue data dependent indexes. The granularity is specified by PureConnect's settings. If the intervals are setup to be a minimum of 30 minutes, all our data Interval Queue data related indexes will be aggregated at 30 minute intervals.


Application Scaling (Multi-Tier Infrastructure)

The recommended method of scaling the solution once the single tier infrastructure has been maxed out is to naturally introduce multiple servers. To aid this process, it's easiest to understand how to set up each server and their server specifications based upon the core functions of each eMite component and understand which resource it is dependent upon.

Component

Resource Bottleneck

Comments

Component

Resource Bottleneck

Comments

PureConnect Adapter

CPU

Each module uses a single thread based upon a listening subscription.

PureConnect CIC Database Integration

RAM

Each fact query will poll data from the database, stores the data in memory and pushes it into the persistent ES store

RTBI Framework + Index Server

CPU

Handles requests from the dashboard and translates requests to Elasticsearch, dependent upon IIS.

Elasticsearch

RAM + Disk

Persistent data store; operates better with Linux based servers 

Dashboard

CPU

Direct interface and handles requests from Users/Wallboards, dependent upon IIS. 

eMite Scheduler

CPU

Fires/Schedules jobs based on configurations, runs Adapters. Low resource profile, takes from half to 1 CPU thread.

eMite Configuration DB

CPU

SQL Server Express capability. Low resource profile, takes up 1 CPU thread.


Examples

Example Configuration 1: Historical Analysis Orientated Configuration based on 2 servers

 

Server 1 - eMite Dashboard + Data Onboarding Server

Key Components:

  • Dashboard

  • eMite Scheduler

  • eMite Configuration DB

  • PureConnect Adapter

  • RTBI Framework + Index Server

 

Server 2 - Dedicated Elasticsearch host

  • Elasticsearch

 

Example Configuration 2: Real-Time Dashboard Orientated Configuration based on 2 servers

 

Server 1 - eMite Dashboard

Key Components:

  • Dashboard

  • eMite Configuration DB

 

Server 2 - eMite Onboarding Server

  • eMite Scheduler

  • RTBI Framework + Index Server

  • Elasticsearch

  • PureConnect Adapter

  • CIC Database Integration