C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Communities   Interview   Jobs   Projects   Offshore Development    
Silverlight Tutorials | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Revenue Sharing |


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.

Feedbacks      
Popular Tags   What are tags ?   Search Tags  
Service Oriented Architecture with Indigo  .  Service Oriented Architecture using Indigo  .  Microsoft Indigo  .  Indigo  .  

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: JUMP-START IN WEB SERVICES
Previous Resource: Calling WebServices using Javascript (ADVANCED)
Return to Discussion Resource Index
Post New Resource
Category: WCF/Webservices


Post resources and earn money!
 
Related Resources



dotNet Slackers   BizTalk Adaptors    Web Design

silicone halloween mask

Contact Us    Privacy Policy    Terms Of Use