Envoy XIPC is an advanced software toolset for the development of multitasking and distributed enterprise applications, regardless of the location of the involved processes and regardless of the variety of operating systems, network protocols and hardware platforms being used. Envoy XIPC essentially permits the developer to conceptualize the programming environment as a virtual multitasking environment where processes communicate and interact with each other using a single high-level programming model, independent of the physical location of the processes.
Envoy XIPC applies the standard programming model for multitasking Inter-Process Communication (message queues, semaphores, shared memory), expands it to include guaranteed message delivery and makes this enhanced model completely operating system and network transparent. To the Envoy XIPC programmer, the network appears as a single multitasking operating system. With the addition of high-level functionality and extensive monitoring and debugging aids, Envoy XIPC facilitates the rapid development and deployment of sophisticated multitasking, network-transparent and enterprise-scalable distributed computer applications.
Envoy XIPC lies between an application and its underlying environment, providing a rich Application Program Interface (API) that:
- Performs all interprocess communication operations
- Is independent of the underlying operating system, network protocol and hardware platform
- Is easy to learn and use
- Insulates the applications built with Envoy XIPC from changes to the underlying deployment environment.
The Envoy XIPC programming model has a number of important advantages:
- Productivity: With its familiar multitasking model, Envoy XIPC eliminates the need for network programming skills. As a result, the cost of developing and maintaining distributed applications is significantly reduced.
- Connectivity: Envoy XIPC's programming model allows processes of a distributed application to appear local to one another - client to server, peer to peer. The processes interact as if there were no network.
- Interoperability: The Envoy XIPC programming model is preserved even when processes are spread over a network of heterogeneous computer platforms. Application logic is independent of application environment mix.
- Portability: With its portable API, provides for immediate source code portability between dissimilar platforms. The IPC portion of an application need only be written once.
- Scalability: Applications written using Envoy XIPC are inherently scalable. Applications involving thousands of users and network nodes may be built and quickly deployed. Subsequent adding and deleting of nodes can occur "on the fly" - without disrupting or modifying any aspect of the running application.
- Reliability: Envoy XIPC's sophisticated exception handling, fault-tolerant recovery mechanisms and real-time monitoring tools provide the means for building distributed applications that are robust and reliable.
Envoy XIPC is comprised of four subsystems for supporting a wide range of interprocess communication activities. They are:
- , the Message-Oriented Middleware Subsystem: This subsystem provides a broad range of network transparent, program-to-program messaging functionality with a primary emphasis on guaranteed message delivery of application messages. Among the subsystem's many features are: dynamic system scalability, continuous message-tracking and asynchronous "fire-and-forget" application messaging.
- , the Queue Subsystem: This subsystem supports network transparent memory-based message queuing with a major emphasis on very high performance application message queuing within network and stand-alone settings. Other features include message multi-casting, queue overflow spooling, asynchronous message backlog monitoring, etc.
- - the Memory Subsystem: This subsystem supports network-transparent memory sharing between disparate application processes. Besides providing virtual access to shared memory segments, MemSys also supports the ability to dynamically lock, unlock and asynchronously monitor changes to regions of shared memory, with the granularity of a single byte.
- , the Semaphore Subsystem: This subsystem supports network-transparent semaphore synchronization between processes spread over a network. The primary focus of SemSys is support of network-transparent asynchronous event synchronization. SemSys additionally supports resource-contention management facilities.
You can find more information about Envoy XIPC in the on-line documentation