Jump to: navigation, search
(Update with the copy of version: 9.0.0DRAFT)
(Update with the copy of version: 9.0.0DRAFT)
Line 1: Line 1:
 
= Architecture of Web Services and Applications =
 
= Architecture of Web Services and Applications =
 
==Single Data Center==
 
==Single Data Center==
[[File:SDCA.png]]
+
[[File:SDCA_9.0.png]]
  
 
'''Description'''
 
'''Description'''
Line 15: Line 15:
 
==Multiple Data Center==
 
==Multiple Data Center==
  
[[File:MDCA.png]]
+
[[File:MDCA_9.0.png]]
  
 
'''Description'''
 
'''Description'''
Line 24: Line 24:
 
Data Services
 
Data Services
 
* Postgres data should be replicated across data centers
 
* Postgres data should be replicated across data centers
* Data replication should be made by standard mechanisms
+
* Data [https://www.postgresql.org/docs/11/high-availability.html replication] should be made by standard mechanisms
 
Genesys Servers
 
Genesys Servers
* Servers should be configured with the “Location” attribute
+
* Servers should be configured with the [[ConfigurationPremise#Creating_GWS_Server_Application|Location]] attribute (set the region under <tt>Connections</tt> in Application parameters)
  
 
==Data Storage Sources==
 
==Data Storage Sources==
Line 46: Line 46:
 
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.
 
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.
  
{{NoteFormat|Web Services and Applications does not support web sockets.}}
+
{{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.-->
  

Revision as of 19:33, September 28, 2020

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)

Data Storage Sources

GWS v9 uses multiple data sources to store its 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 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.

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

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

Comments or questions about this documentation? Contact us for support!