Indigo Applications


The Indigo infrastructure enables you to create a wide variety of applications. You can create something as simple as a chat application that operates between two peers on an intranet and as complex as a scalable Web service for millions of users. And just as the complexities of such applications vary so widely, so do the features of Indigo. In other words, the Indigo infrastructure is also highly variable, and you need to use only those parts that are appropriate to the complexity of your solution.

Indigo service applications are one or both sides of a SOAP message exchange. The simplest example of an Indigo application resembles an XML Web service built with ASP.NET, an .asmx page. This type of application is known as a Indigo Web service application . You can also build Indigo applications that can create complex, two-way conversations between two objects in much the same way you can use proxies to remote classes in .NET remoting. This type of application is known as an Indigo RemoteObject service application .

Indigo Web Service Applications

Indigo Web service applications interoperate with Web services on many platforms, not just Microsoft platforms, because the applications are one implementation of the SOAP 1.1 or 1.2 and Web Services Description Language (WSDL) 1.1 specifications. An Indigo Web service application can do the following:

  • Securely communicate across any number of intermediaries, including firewalls

  • Participate in widely distributed transactions

  • Create conversations that flow in both directions (that is, services can call clients )

  • Provide guaranteed , reliable message delivery

  • Support Web service farms for excellent scalability

  • Use advanced features such a security, reliability, and transactions with participants that don t use Indigo or Microsoft platforms

  • Enable .NET Framework developers to build messaging applications without knowing anything about XML or SOAP

  • Enable developers familiar with XML Web services to leverage their XML, WSDL, and SOAP knowledge to work with XML messages described by XSD

  • Support easy management of deployed applications

An Indigo Web service application can integrate multiple, diverse participants ”each running on different platforms, each separated by public networks, and each using differing security and transaction infrastructures ”as components of a single application.

Indigo RemoteObject Service Applications

Indigo RemoteObject service applications provide behavior similar to .NET remoting but with greatly expanded features and support. Both .NET remoting and Indigo RemoteObjects allow client applications to connect with a running object on a server. Both technologies allow client applications to request a server to instantiate a type and then connect to the new instance. Both technologies require the client and the server to possess the type information (metadata) for the remote class.

However, .NET remoting has no authentication or encryption security mechanisms. .NET remoting requires the server to be up and running before any client attempts to connect ”there is no automatic activation of the server. .NET remoting also cannot flow a transaction across a remote method call.

However, Indigo RemoteObject applications are built using the Indigo SOAP messaging infrastructure; therefore, they support end-to-end security features, including authentication and encryption, widely distributed and long- running transactions, automatic activation, and a robust management infrastructure, in addition to providing the ability to perform interface-based remoting and use asynchronous server methods .

Choosing Between Indigo Web and RemoteObject Web Services

Both Indigo Web services and Indigo RemoteObject services provide the advanced infrastructure features required for a modern communications application: end-to-end security, distributed transactions, durable messaging, Web farms, and automatic activation. These features simply work regardless of the number of intermediaries between two Indigo applications. Use the criteria shown in Table 6-1 (in descending order of importance) to choose the appropriate type of Indigo service application for your task.

Table 6-1: Criteria for Choosing Indigo Service

Criteria

Indigo Web services

Indigo RemoteObject services

Interoperability with non-Microsoft platforms

¼  
Requires the other side of the communication channel to understand SOAP, which is platform agnostic .

»  
Requires Indigo RemoteObject services on both sides of the communication channel.

An improved .NET remoting model

»

¼  
Adds increased support for security, transactions, automatic activation, and ease of management.

Type identity

»
Accepts structured information and return structured information. Does not maintain type identity.

¼  
Preserves the exact type identity of the managed object on both sides of the communication channel.




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