Click here to Skip to main content
14,033,335 members
Click here to Skip to main content
Add your own
alternative version

Tagged as

Stats

5.2K views
1 bookmarked
Posted 11 Oct 2013
Licenced CPOL

SOA and Webservice

, 11 Oct 2013
Rate this:
Please Sign up or sign in to vote.
SOA and WebserviceService Oriented Architecture - SOAOften a distributed system can takes years to come together. If these systems project a

This articles was originally at wiki.asp.net but has now been given a new home on CodeProject. Editing rights for this article has been set at Bronze or above, so please go in and edit and update this article to keep it fresh and relevant.

SOA and Webservice

Service Oriented Architecture - SOA

Often a distributed system can takes years to come together. If these systems project a narrow set of objectives without considering rapid business changes, it becomes highly expensive for industries or organization to accommodate these changing business needs. In order to satisfy this aspect, the SOA concept is introduced. In simple words, you can say SOA is not a technology driven approach but rather a “Business Driven approach”.

SOA is basically a design principle which consists of a set of interoperable services to provides services to loosely coupled system. These individual services can be customized according to industry requirements or business needs where the services itself are loosely coupled. An Interface is used to acts as the entry and exit points to access these services. The interesting thing about SOA is that it uses a ‘message based approach’ as a simplified generic communicative media in its design principles and differs from ‘component based development’ which also uses Interfaces for there interactions. As we know, the simple text messages can be understood independent across any platform, technology or programming languages. The SOA design principles are mainly targeted towards backend systems not front end. In fact with the combination of XML and XSL we can make changes to the front end which is targeted to html formats.

The interoperable services are autonomous i.e., they are self governed. The implementation details are hidden to user. The user can only access the service satisfying the contracts. The contract are rule sets in terms of interfaces. You can term it as Policies.

As SOA concept say okay with Object Oriented concept. The data involved in business processes are encapsulated within object. Therefore the object will protect the business data. Some of the points that should be remembered while designing the SOA concept are

  1. Descriptive: the messages that we use communicate should be generic in fashion.
  2. Less Structure: the user or consumer accessing the service should satisfy the interface contracts. These contracts are built using interfaces. There should be no complication in accessing these interfaces by limiting the complicity and number of interface.
  3. Extensibility: be faster, cheaper and quicker.
  4. Discoverability: the consumer should find easy in recognizing and usage of it.

We have discussed the merits, there is some disadvantage of integrating isolated system or application over different networks like transportation, and networks are not reliable. Data formats - application are developed in different languages irrespective of its platform, compromising data type is the biggest challenge. Changes – business requirement changes over time, the services must be customizable for respective changes.

Web Service acts as a key player in solving the industry problem in term of business integration. What ever we develop using web services are treated as SOA. But, actually they are not.

Service are autonomous business system which interact by accepting set of request and in turn responses to it via well defined interfaces. Service are usually consumed by Consumers and Provided by Producers. In the world of Client and Server architecture the producer acts as server and consumer act as clients. The services are registered in service repository where the consumer finds the available items, items available to consume, mutual dependences between them.

Web service can be used as key enabling technology for service oriented architecture. Some of its key items are:

  1. Standard Protocol: it can respond to protocol such as HTTP, SMTP, and FTP etc.
  2. Service Description: The consumers to access service need to know its interface details. The service provided interface details by using XML document which we call it as WSDL document and also XSD XML Schema definition.
  3. Finding Services: consumer needs to know where the services are there in repository to utilize it by binding it with client interface. The Universal Discovery, Description and integration called UDDI acts as service search engine to use it.

Messaging: the client need to invoke the web service through SOAP and XML. where XML is used for messaging. And SOAP is a light weighted protocol used to carry messages though soap envelopes and addressed via soap headers.

 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

ASP.NET Community
United States United States
The ASP.NET Wiki was started by Scott Hanselman in February of 2008. The idea is that folks spend a lot of time trolling the blogs, googlinglive-searching for answers to common "How To" questions. There's piles of fantastic community-created and MSFT-created content out there, but if it's not found by a search engine and the right combination of keywords, it's often lost.

The ASP.NET Wiki articles moved to CodeProject in October 2013 and will live on, loved, protected and updated by the community.
Group type: Collaborative Group

760 members


You may also be interested in...

Pro

Comments and Discussions

 
-- There are no messages in this forum --
Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web06 | 2.8.190423.1 | Last Updated 11 Oct 2013
Article Copyright 2013 by ASP.NET Community
Everything else Copyright © CodeProject, 1999-2019
Layout: fixed | fluid