Jump to: navigation, search
(Update with the copy of version: 9.0.0DRAFT)
(Update with the copy of version: 9.0.0DRAFT)
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
= Architecture of Web Services and Applications =
 
= Architecture of Web Services and Applications =
 +
==Single Data Center==
 +
[[File:SDCA_9.0.png]]
  
[[File:GWS_new1.png]]
+
'''Description'''
  
'''Description of the preceding diagram'''
+
Genesys Web Services (GWS) is an application cluster composed of several microservices that run together. GWS runs on multiple containers that are categorized as below:
 +
* Data Services: These services use multiple data sources (third-party databases) that you must maintain to store GWS data.
 +
* Platform Services: These services are used to connect to Genesys servers such as Configuration Server, Stat Server, SIP Server, and Interaction Server.
 +
* Core Services: These services are used for Web Services and Applications configuration and authentication.
 +
* UI Services: These services provide user interfaces (Workspace Web Edition and the authentication UI) and the underlying services needed to support them, such as the Workspace Service.
 +
* Client Application: This can be Workspace Web Edition (WWE) Agent Desktop, a custom desktop, or Gplus Adapter for Salesforce.
  
Genesys Web Services (GWS) is an application cluster composed of several microservices that run together. GWS runs on multiple Containers that are categorized as below:
+
A reverse proxy service is used as an ingress controller. This works as an internal application load balancer.
* Data Services: This service use  multiple data source (third-party databases) to store GWS data.  These databases should be maintained by customers.
+
==Multiple Data Center==
* Platform Services : These services are used to connect to Genesys servers such as Configuration Server, Stat Server, SIP Server, and Interaction Server.
 
* Core Services : These services are used to interface with Genesys configuration and authentication.
 
* UI Services: These services provide user interfaces (Workspace Web and Application Splash page with login UI) and underlying service to drive the interfaces (Workspace Service and Data Collector).
 
  
Reverse Proxy Service is used as an Ingress Controller. This works as an internal Application Load Balancer (ALB).
+
[[File:MDCA_9.0.png]]
  
== CometD==
+
'''Description'''
Web Services uses CometD version 3, an HTTP-based routing bus that uses an Ajax Push technology pattern known as Comet. Comet is a web application model that allows an HTTP request to push data to a browser, even if the browser has not requested it.
 
  
Web Services uses CometD to deliver unsolicited notifications to clients for real-time events, such as getting a new call or chat message. At runtime, CometD delivers messages, providing clients with a consistent approach while maintaining support for multiple browsers.
+
Load Balancer
 +
* Should support URL-based routing
 +
* Should support stickiness
 +
Data Services
 +
* Postgres data should be replicated across data centers
 +
* Data [https://www.postgresql.org/docs/11/high-availability.html replication] should be made by standard mechanisms
 +
Genesys Servers
 +
* Servers should be configured with the [[ConfigurationPremise#Creating_GWS_Server_Application|Location]] attribute (set the region under <tt>Connections</tt> in Application parameters)
  
{{NoteFormat|Web Services and Applications does not currently support web sockets.}}
+
See also [[SmartFailover|Smart Failover]] for multiple data centers when agents are using Workspace.
 +
 
 +
{{AnchorDiv|SIPClusterSupport}}
 +
==SIP Cluster Support==
 +
 
 +
Genesys Web Services (GWS) automatically support SIP Cluster configuration when both of the following conditions are met:
 +
# GWS Server application has a connection to a SIP Cluster Node and this connection is visible by GWS Voice Service (the location in connection's parameters matches the location of GWS Voice Service). Make sure that your SIP Cluster Node has the option '''server-role''' = <tt>5</tt> in the '''[TServer]''' section. Please see [[Documentation:SIPC:Solution:ConfSIPS|Configuring SIP Servers]] for more information.
 +
# Under SIP Cluster Switch you have a <tt>Voice over IP Service</tt> DN that has the '''service-type'''=<tt>sip-cluster-nodes</tt> option in the '''[TServer]'''  section.  Please see [[Documentation:SIPC:Solution:ConfigureClusterSwitch#CN|Configuring the SIP Cluster Node DN]] for more information.
 +
 
 +
==Data Storage Sources==
 +
Genesys Web Services (GWS) use multiple data sources to store data.
 +
*PostgreSQL
 +
**GWS-specific configuration details (contact center & environment) are stored.
 +
**Data stored in PostgreSQL is persistent.
 +
*Redis
 +
**Redis is used for system-wide caching, where concurrent requests are being served from Cache.
 +
**Data stored in Redis is not persistent. It is always runtime.
 +
* Elastic Search
 +
**Data stored in Elastic Search (ES) is not persistent. It is always runtime.
 +
**ES stores searchable data from Configuration Server, which is used by WWE and other services.
 +
**ES is also used to store statistical information for WWE-related functionality.
 +
 
 +
==CometD==
 +
Web Services use CometD version 3, an HTTP-based routing bus that uses an Ajax Push technology pattern known as Comet. Comet is a web application model that allows an HTTP request to push data to a browser, even if the browser has not requested it.
 +
 
 +
Web Services use CometD to deliver unsolicited notifications to clients for real-time events, such as getting a new call or chat message. At runtime, CometD delivers messages, providing clients with a consistent approach while maintaining support for multiple browsers.
 +
 
 +
{{NoteFormat|Web Services and Applications only supports the long-polling transport.}}
 
<!--For example, if the browser supports websockets, the websocket transport would be selected when the connection is negotiated. If the browser does not support websockets, other techniques such as long polling can be used to provide the same result.-->
 
<!--For example, if the browser supports websockets, the websocket transport would be selected when the connection is negotiated. If the browser does not support websockets, other techniques such as long polling can be used to provide the same result.-->
  

Latest revision as of 20:11, March 31, 2021

Architecture of Web Services and Applications

Single Data Center

SDCA 9.0.png

Description

Genesys Web Services (GWS) is an application cluster composed of several microservices that run together. GWS runs on multiple containers that are categorized as below:

  • Data Services: These services use multiple data sources (third-party databases) that you must maintain to store GWS data.
  • Platform Services: These services are used to connect to Genesys servers such as Configuration Server, Stat Server, SIP Server, and Interaction Server.
  • Core Services: These services are used for Web Services and Applications configuration and authentication.
  • UI Services: These services provide user interfaces (Workspace Web Edition and the authentication UI) and the underlying services needed to support them, such as the Workspace Service.
  • Client Application: This can be Workspace Web Edition (WWE) Agent Desktop, a custom desktop, or Gplus Adapter for Salesforce.

A reverse proxy service is used as an ingress controller. This works as an internal application load balancer.

Multiple Data Center

MDCA 9.0.png

Description

Load Balancer

  • Should support URL-based routing
  • Should support stickiness

Data Services

  • Postgres data should be replicated across data centers
  • Data replication should be made by standard mechanisms

Genesys Servers

  • Servers should be configured with the Location attribute (set the region under Connections in Application parameters)

See also Smart Failover for multiple data centers when agents are using Workspace.

SIP Cluster Support

Genesys Web Services (GWS) automatically support SIP Cluster configuration when both of the following conditions are met:

  1. GWS Server application has a connection to a SIP Cluster Node and this connection is visible by GWS Voice Service (the location in connection's parameters matches the location of GWS Voice Service). Make sure that your SIP Cluster Node has the option server-role = 5 in the [TServer] section. Please see Configuring SIP Servers for more information.
  2. Under SIP Cluster Switch you have a Voice over IP Service DN that has the service-type=sip-cluster-nodes option in the [TServer] section. Please see Configuring the SIP Cluster Node DN for more information.

Data Storage Sources

Genesys Web Services (GWS) use multiple data sources to store data.

  • PostgreSQL
    • GWS-specific configuration details (contact center & environment) are stored.
    • Data stored in PostgreSQL is persistent.
  • Redis
    • Redis is used for system-wide caching, where concurrent requests are being served from Cache.
    • Data stored in Redis is not persistent. It is always runtime.
  • Elastic Search
    • Data stored in Elastic Search (ES) is not persistent. It is always runtime.
    • ES stores searchable data from Configuration Server, which is used by WWE and other services.
    • ES is also used to store statistical information for WWE-related functionality.

CometD

Web Services use CometD version 3, an HTTP-based routing bus that uses an Ajax Push technology pattern known as Comet. Comet is a web application model that allows an HTTP request to push data to a browser, even if the browser has not requested it.

Web Services use CometD to deliver unsolicited notifications to clients for real-time events, such as getting a new call or chat message. At runtime, CometD delivers messages, providing clients with a consistent approach while maintaining support for multiple browsers.

Important
Web Services and Applications only supports the long-polling transport.

For details about CometD, see http://cometd.org/.

This page was last edited on March 31, 2021, at 20:11.
Comments or questions about this documentation? Contact us for support!