What Is Indigo?


Indigo is an implementation of a messaging system that enables secure, reliable, transacted messaging over multiple transports and across heterogeneous systems.

Two Forms of Communication

An application that uses the Indigo messaging services is called, not surprisingly, an Indigo service application. Indigo service applications support two main communications types: a stateless model , in which messages are received with few if any guarantees , and a stateful model , which creates a communication session between two service objects. The stateless model is equivalent to current-day Web services and is useful when broadcasting noncritical information. The stateful model, on the other hand, uses session state to enable Web services to provide functionality across the Internet, including callback methods , events, widely distributed transactions, and reliability and durability guarantees that enterprise applications require.

Reliability and Durability

Once a session has been established between two service instances, Indigo provides delivery assurances about messages within the session to insulate applications from transient communications problems. You can require that messages arrive at least once, at most once, or exactly once and that they arrive in the order in which they were sent. The default session configuration ensures that messages arrive exactly once and in the order in which they were sent.

Indigo can also persist service instance data and messages to support long- running services and to protect against the consequences of a service application failure. Services that indicate which instance data should be persisted can be stored after a period of inactivity and be reactivated with their state restored when another message arrives. In addition, messages are persisted on arrival and departure . Should an application failure occur, a durable service can resurrect itself and pick up processing messages where its predecessor left off.

Message-Based Activation

Indigo service applications can be hosted in any type of application, but services hosted in ASP.NET can be activated automatically when a message arrives for them. This not only enables automatic startup, but also means that long-running services that persist instance data can be stored on disk, to be reactivated with their state data restored when a message for them arrives after a long period. In addition, Indigo service applications can be activated using an extensible protocol layer that supports HTTP, TCP/IP, and cross-process protocols out of the box.




Introducing Microsoft WinFX
Introducing WinFX(TM) The Application Programming Interface for the Next Generation of Microsoft Windows Code Name Longhorn (Pro Developer)
ISBN: 0735620857
EAN: 2147483647
Year: 2004
Pages: 83
Authors: Brent Rector

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net