Envoy – Multi-Client Endpoint

By | January 8, 2016

In this issue we will explore the latest enhancement to the Envoy™ framework commonly referred to as “multi-client endpoint” support, a remarkable new feature. The enhanced capability to support multiple clients with various “message framing” types simultaneously is what makes Envoy™ so flexible and adaptable. Envoy™ Server now communicates with both “Envoy™-enabled” and third party custom client applications.

Envoy™ Client – In the past, the Envoy™ Server communicated with the Envoy™ Client. The Envoy™ Client is in fact very flexible and powerful – it can be called from many programming languages and can run in either thick or thin client applications. It can be used from single user “agent desktop” applications and also enterprise server machines that support hundreds of “virtual agents” such as an Interactive Voice Response (IVR) application server.

  • Application Developers – The Envoy™ client can be used within a web page or an MFC application; Envoy™ Client is a stand-alone library with an Application Programming Interface (API) that allows a developer to send any type of data to Envoy™ Server to suit his / her specific needs. The Envoy™ Client API is in fact what is used to allow the Envoy™ Soft Phone (ESP) application running on an agent desktop to communicate with Envoy™ Server and backend telephony equipment. The Envoy™ Client can run with or without a user interface so the application possibilities are limitless.
  • Business Users – The Envoy™ Client architecture allows you to seamlessly integrate Envoy™ Server functionality into your existing call center applications.  This leverages your investment in existing custom software and also makes the transition to Envoy™ easier as your call center personnel no longer have to become familiar with a new CRM desktop product.

Custom Client – The Envoy™ Server can now communicate with custom client applications (i.e. applications that have not been specifically “Envoy™-enabled”). Custom applications are deployed throughout the enterprise in the form of thick and thin applications – and they too may be running on “multi-user” application servers and “single-user” desktops.

  • Application Developers – The Envoy™ Server can be configured to communicate with your desktop application(s) through the use of multiple concurrent “endpoints”. Each endpoint is capable of supporting different message framing protocols independently.  Envoy™ Server allows those endpoints to access the functionality contained within the Envoy™ Plugin code modules, such as database access, web services, and CTI call control. Effectively, Envoy™ Server becomes the “plumbing” between your client applications and enterprise backend systems and will allow you to centralize and manage resources to those systems.
  • Business Users – Perhaps there is a third party application within your organization that is widely distributed on all the agent desktop machines.  It is reliable and its users are proficient and comfortable with the interface.  It’s only downfall is that this application only communicates with one backend host system. Wouldn’t it be great if this application could retrieve “new” data from other backend systems on the network?  Envoy™ is the answer to leveraging your investment.

What is message framing? Envoy™ Server can communicate with Envoy™-enabled applications as well as custom applications speaking their own “message framing” types. The message framing of an application can be thought of as a “language” that each client uses to communicate with a server. So essentially what has been added to Envoy™ Server is the ability to communicate in many languages (message framing types) simultaneously, even with applications that do not have Envoy™ specific programming.  Better yet, an Envoy™ Plugin running within the Envoy™ Server can be customized so that the same message (known as a “payload”) can travel from “Client A” using “language A” to Envoy™ Server and then could be forwarded to “Client B” that uses “language B”. Because a payload can consist of virtually anything – perhaps the result of some work the server does and / or the original payload that arrived at the server, one can easily see that Envoy™ Server is truly an “information hub” for various client applications.

Sounds great! But how can Envoy™ Server become a “message translator”? Envoy™ Server associates the message framing type (i.e. “language”) of the incoming request with the connection that is made with the client issuing the request. Envoy™ Server then uses this connection-specific association (“endpoint”) in order to frame the response properly. Simply put, Envoy™ Server “remembers” the language used to communicate with it and so it responds back with the same language.

Use the power and ease of use of Envoy™ Client with logical connection multiplexing, multi-threaded performance, and routing intelligence built into it or use the client application of your choice – and connect to Envoy™ Server for all your backend system data access. Call us to learn more.

Richard Wolff, Director of Software Applications