Contents
Architecture of Web Services and Applications
Single Data Center
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
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.
For details about CometD, see http://cometd.org/.