(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: | + | [[File:SDCA_9.0.png]] |
'''Description''' | '''Description''' | ||
Line 15: | Line 15: | ||
==Multiple Data Center== | ==Multiple Data Center== | ||
− | [[File: | + | [[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 | + | * 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 | + | {{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
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/.