ORS Intro Flashcards
ORS
The Orchestration server is responsible for executing the orchestration logic (SCXML) provided by Web Application Server. The URS will provide the routing service to the ORS. Both ORS and URS are connected to the T-Server to monitor interaction separately with ORS also connected to the URS to invoke URS services. Contains the SCXML Engine.
ORS Platform
Logic interaction platform that provides the ability to create customer services application. Compose of the ORS and URS. Both ORS and URS are connected to the T-Server to monitor interaction separately with ORS also connected to the URS to invoke URS services. Serves as a integration hub for orchestration related services from medial channels to back end server.
SCXML Routing Applications
ORS works with SCXML Routing Applications. They can be created from Genesys Composer by creating the routing strategy and generating the applications from them. It will publish the SCXML application to the config server. Third party tools or application can generate them including hand coded SCXML application done by an editor. Deployed to the Web Application Servers.
Web Application Servers
SCXML Application are uploaded to the web application servers. Upon HTTP request the web application server will provide the routing application logic to ORS in the form of a document. May interact with ORS during strategy processing for business specific task.
Supported Web Application Servers types
IIS a web application server by Microsoft, Apache Tomcat, JBoss Application Server(Java base), IBM Websphere Application Server.
ORS Persistent Storage
Apache Cassandra are storage to store and retrieve SCXML sessions and associated session states along with the data including documents. High Availability and Load Balancing via clustering. ORS cluster are configured to work with the same storage and the ORS exit if connection is lost.
Persistent Term for ORS
Facilitates High Availability, scalable, and load balancing. Provide capability to store and retrieve information related to SCXML session and documents including millions of session data and state for SCXML so when required they can be fully recovered.
What is Apache Cassandra
Store and retrieve SCXML sessions and associated session states. NoSQL open source DBS. Handle large amount of data spread across many commodity servers. Provides structured key value storage with eventual consistency. Keys mapped to multiple values are grouped into column families. Columns are added to specified keys so different keys have different numbers of columns in any given family. Value from a column family for each key are stored together making Cassandra a hybrid between column DBMS and row oriented.
Document Persistence
SCXML document serve as the basis for session construction so sessions may refer to the same document when persisted. The SCXML Engine will retrieve document from specified location in route point and request the persistence component(ORS node) to store the document info in the storage(Cassandra) when serialized document is verified and compiled. DocumentName Document Content is associated with the appropriate Document ID as the key.
Session Persistence
SCXML session are current representation of an active session. They are present in storage only if active so they have not reach final state and will be removed otherwise. The SCXML engine will request to store the compiled session information and will be serialized to be placed in the specified Cassandra cluster. The session is stored within the Orchestration Keyspace in the Session ColumnFamily, and Session Content ColumnName associated with SessionID as the key.
Orchestration Server - Clusters
Cluster contain several ORS node that share the workload and will take the place of a failed/removed node. This addresses the load balancing and high availability to run multiple instances of OR Server(node) into a single entity(cluster). The nodes will distribute the load(sessions) among members to be processed. Maintain connection to T-Server, URS, and Cassandra(Persistence Sotrage), ORS Cluster has a minimum of two nodes associated with one Apache Cassandra and one URS.
Orchestration Serve Master Super Node
Maintain the connection with all members of cluster and managed the workload distribution. It also handles the fail-over. Multiple node can be configured as a super node but must select a single master super node on start up. At least one super node or master node configured in cluster. Each node have an equal role in the cluster in a active state and is connected to every other node so no primary-backup pair. Others super node are ready to take over if there is a failure.
What is a super node?
Cluster must have at least one super node and maintain the connection with all members of cluster and managed the workload distribution. Handles the fail over as well and other super node are ready to take over when needed. Each node in cluster is connected to at least one super node. Other member node connect to all super node so no separate load balancing system is needed or primary backup mode.
Orchestration Server Fail over
When a node fail another one picks up the SCXML session processing and retrieve the via persistent storage. They are notified by the super node so each node is aware if another goes down and will pickup processing the session from the failed one.
How are connection with other nodes established?
When the ORS starts up, connection with each node is established. The ORS will read through a list of cluster nodes from the configuration and connect to each node on the list. It does this once and if failed then it assumes the other nodes have not been started. If connection is unsuccessful with other nodes than ORS will do it periodically until connection is successful with them.