
Designing applications in .Net using Service Oriented Architecture.Net was designed to be a platform to support communication for a wide group of systems, users and devices using open Internet protocols and hence improve the business performance. It brings with itself a rich framework that has class libraries, a host of servers (like Windows Server 2003, Microsoft BizTalk, etc.) and developer tools for achieving its goal. .Net provides the feature of interoperability of applications which can be made use of to build systems that require integration among themselves to provide the customized service from the existing service providers.
Service
Oriented Architecture (SOA) To react
to the emerging changes in business environment and hence be competitive,
enterprises should adapt their environment including IT infrastructure
so as to meet the challenge and provide solutions to dynamic business
needs. SOA provides a right approach to suit this requirement by its inherent
structure for providing reusable business services in distributed computing
platform. It truly aligns the business and technology by providing interoperability
and re-use through unification of existing and new resources and applications. SOA is based
on an object-oriented paradigm and is built on the concepts of distributed
and component based model. This has become the reason for it to provide
the enormous benefit that one can avail from it while using it. SOA is
based on the fundamental unit called Service. Service represents a unit
of functionality and is designed as a physically independent program with
well-defined interfaces exposed. Every service in SOA is exposed through
its endpoint which has the following information that needs to be published
to the client for accessing it: Contract
Behavior described as business interface to define the protocol
between the client and server Address
specifies the location of the service, usually in URL (Uniform
Resource Locator) form. This would be dynamically discoverable Bindings
explain how to access the service exposed Each service
that is provided usually maps to a business process. Each request making
use of the service may trigger many calls to the business objects (hidden
from external world) underlying the component representing the service.
Thus, a high level of abstraction is achieved. The core
concepts of SOA are as below: Services
are always available at specific endpoint and thus the boundary is well-defined. Enhancement
of a particular service will be provided at new endpoints, without changing
the earlier version and thus providing backward compatibility Compatibility
of Service is based on Policy in which the Service capability would be
published in the contract. An SOA service caters to the client based on
the Policy designed for it. Implementation
of SOA in .Net Each service
component acts as an independent component and operate in their own technology
and own boundary. Their service behavior and interface contracts are well-defined
in XML and WSDL (Web Service Definition Language) for the consumers to
avail. It provides all the information necessary for accessing programmatically
by a developer who needs to consume that service. Each service has a unique
URL where any client can find them and bind to this URL to avail the service.
The client
can then access the Web Service provider with the help of UDDI (Universal
Description, Discovery and Integration) specification. Web services use
SOAP (Simple Object Access Protocol) for transmitting messages through
protocols like HTTP (HyperText Transfer Protocol), TCP (Transmission Communication
Protocol). SOAP message contains both the communication channel information
and the actual business content. This message is sent along the actual
protocol (TCP, SMTP, etc.). WSDL, SOAP and UDDI are XML based and hence
provides readability and interoperability among all platforms. .Net offers
a great support to the developer community by quickly generating a Web
service with least effort and faster time. It provides many tools by which
complex tasks like generating SOAP message, WSDL description, etc. can
be done with ease. Microsoft BizTalk Server can be used for implementing
SOA by connecting heterogeneous systems through its orchestrations that
can be exposed as Web services. These orchestrations are built using Visual
Studio.Net environment and hence leverage the .Net framework to achieve
integration of multiple systems. .Net 3.0
offers WCF (Windows Communication Foundation) which integrates .Net remoting
MSMQ, Web services and COM+. WCF supports specifications defined by WS-I
(Web Services Interoperability) which promote interoperability of Web
Services across platform, languages, etc. Messaging
(WS Addressing) defines some extra additions to extend SOAP
headers and hence better communication between Web Service endpoints.
Security
(WS-Security, WS-Trust and Ws-Secure Conversation) define authentication,
security, data integrity for a service Transaction
(WS-Co-ordination and WS-Atomic transaction) Enables end-to-end
communication for SOAP messages to be traversed back and forth Metadata
(WS-Policy) - documentation of specification which cannot be expressed
by WSDL .Net 3.0
provides facility for faster implementation by helping to generate the
required XML details for implementing a specification. Thus, it provides
better support for developing secure and reliable web services than the
earlier version. Design
considerations while using SOA and .Net Design
the Web service such that the round-trips between the client and web service
is minimized and hence gain performance Leverage
the power of XML to package the data so that data is self-explanatory Choose
the right method for data transfer based on the context. For example,
huge set of data can be sent in binary form than plain XML Security
and type of protocol for communication(TCP, HTTP, etc.) must be considered
while designing services consumed extensively by clients outside the firewall Applications
built using SOA in .Net is ideally useful to build enterprise applications
out of available services within the least possible time and effort to
suit to the current business needs that is agile. By using SOA in .Net,
systems can provide business service through a flexible framework consisting
of loosely-coupled solutions that integrate existing legacy applications
with the newly developed system having required functionality and thus
accommodate the changes that occur in business process.
_______________________________________________________________________
FREE
Subscription
Subscribe
to our mailing list and receive new articles Note
: We never rent, trade, or sell my email lists to Visit
.NET Programming Tutorial Homepage ______________________________________________________ |