Prizes & Awards
My Profile
Active Members
TodayLast 7 Days
more...
|
New Feature: Community Sites:
Create your own .NET community website and start earning from Google AdSense !
It's Free !
|
Indigo - Service oriented architecture
Posted Date: 01 May 2005 Resource Type: Articles Category: WCF/Webservices
|
Posted By: sundararajan Member Level: Silver Rating: Points: 10
|
Service Orientation:
Service orientation is a means for building distributed systems. Fundamental to the service model, is the separation between the interface, and the implementation. The invoker of a service needs to understand only the interface;
Take an e.g. Today I have a Nokia 7600 mobile. My phone number is ‘xxxxxxxxxx’ and you can contact me on this number. The service you get is, talking with me. Tomorrow, I change my Mobile to Nokia 8910i, but my phone number remains the same.
Here the interface for you to contact me is the phone number that does not get changed. However the implementation behind it has changed the mobile. You will not see any interruption in the service. But in the act the service has evolved within itself. That’s the kind of architecture people were looking at.
In the current scenario to enable businesses go better, there is a need for Distributed systems. As of now most distributed system architectures are tightly coupled. But we don’t want it that way. We want a loosely coupled architecture. A good example for a loosely coupled architecture has been given by “Mr. Hao He” in his article ‘What is service oriented architecture’ in www.xml.com. It is quoted below.
Suppose take an example of CD. You want to play it. You put your CD into the player which plays it. The CD player offers a CD playing service. Now you can take the CD and play it with another CD player and you get the same service. This is an example of loosely coupled architecture. Imagine a situation that the CD and the service of it being played are tightly coupled. i.e., each CD comes out with a CD player then lives become horrible. Here the CD player is the Service provider and you are the Service consumer.
A service is nothing but a unit of work done by a service provider to achieve desired end results for a service consumer.
In fact Service orientation is a complement of object orientation. Object orientation, focuses on the applications that are built from interdependent class libraries. However service-oriented development focuses on the systems that are built from autonomous services.
The World Wide Web Consortium (W3C) refers to SOA as 'A set of components which can be invoked, and whose interface descriptions can be published and discovered’
Microsoft Technologies in Distributed application development
There were different technologies for distributed applications. The well known ASMX model web services:
Whenever it comes to designing and developing applications that are interoperable with other technologies, the answer to the technological decision is nothing but web services and the ASMX model in .Net
When it comes to ‘.Net to .Net’ intranet communication system then “.Net Remoting” will give more performance than others. Then comes the Enterprise services of COM+ when it comes to transacted applications. For disconnected distributed application the basic choice is MSMQ model.
Definitely performance wise COM+ services, doing binary over TCP are better than ASMX doing XML over HTTP. But when it comes to interoperability, which is a major concern today, ASMX model is preferred over the "binary over TCP" models. When there are needs to implement Load balancing technologies then the ASMX model is easier to implement, but a slightly difficult one, when it comes to COM+ services. Microsoft decided to combine all these 4 stacks into a cleaner and a powerful stack and named it as Indigo services.
Interoperable Web Services - ASMX model .NET – .NET Communication - .Net Remoting Distributed Transactions - COM+ services Queued Messaging - MSMQ
In the future the answer for all the above technological requirements is Indigo services. Basically the protocol that indigo uses in the wire is SOAP which is a standard in the web services across all platforms.
Creation of service will be easier. Each service will have 1 or more end points that are accessible by service consumers, and a Meta data information.
The "Indigo" service model makes service-oriented development explicit and simple from any CLR-targeted language.. The "Indigo" service model supports two kinds of contracts: service contracts and data contracts.
A service contract describes the pattern of message exchanges that are used to interact with a service. Service contracts are analogous to Web Services Description Language (WSDL) portType definitions.
Data contracts are structural in nature and describe the external format of a CLR type. A data contract is analogous to an XML schema definition.
To Create the Indigo service:
Step 1: Import The system.collections.generic; Step 2: Create a Interface and provide the declaration of the methods that the service will offer. Methods will be declared with operationcontract attribute Step 3: Mark the interface with ServiceContract attribute. It has two properties Name, Namespace. Step 4: Create a class that implements your service interface and provide the Definition for the method declared in the interface here. Step 5: Client. Create the binding, Service host and URI objects here. Step 6: Add end points to the service host. Call the service methods. That’s it. You have your indigo service.
Hosting Indigo Services:
A class implementing an Indigo service is compiled into a library. Indigo provides two options for hosting libraries that implement services.
1. Use a host app domain and process provided by the Windows Activation Service 2. Host the service in any app domain running in an arbitrary process.
Indigo will use the SOAP Message Transmission Optimization Mechanism (MTOM) for the attachment technology. More over Indigo will support transactions and synchronous and asynchronous messaging and peer-peer interaction. Begin building services that will be compatible with the Indigo services when released.
|
Responses
|
No responses found. Be the first to respond and make money from revenue sharing program.
|
|