Sunday, 20 January 2013

Introduction of WCF (Windows Communication Foundation) and SOA (Service oriented Architecture)

Windows Communication Foundation is a programming platform and runtime system for building , configuring and deploying network-distributed services. Which Code Name is indigo. It is the latest web service oriented technology of Microsoft. WCF Model Provide in .Net Framework 3.0 with Visual Studio 2008. Interoperability is the fundamental characteristics of WCF.  WCF is a combined features of Web Service , Remoting, MSMQ and COM+. WCF provides a common platform for all Network communication.


Describing Windows Communication Foundation :

The move to service-oriented communication has changed software development.
 Viewing services as a distinct software abstraction is fundamental to service-oriented architecture (SOA). 
An approach that many organizations are putting in place today. Whether implemented using SOAP or in some other way, applications that interact through services are becoming the norm.
Software development environments must keep pace with these changes. The benefits services bring should be reflected in the tools and technologies that developers use. Windows Communication Foundation (WCF), Microsoft’s technology for service-oriented applications, is designed to address these requirements. First released as part of the .NET Framework 3.0 in 2006, an updated version of this technology is included in the .NET Framework 3.5. For a large share of new software built on .NET, WCF is the right foundation.


What is SOA (Service Oriented Architecture) :

 SOA is the acronym for Service Oriented Architecture. As it has come to be known, SOA is an architectural design pattern by which several guiding principles
determine the nature of the design. Basically, SOA states that every component
of a system should be a service, and the system should be composed of several loosely-coupled services. A service here means a unit of a program that serves a business process. "Loosely-coupled" here means that these services should be independent of each other, so that changing one of them should not affect any
other services.
SOA is not a specific technology, nor a specific language. It is just a blueprint, or a system design approach. It is an architecture model that aims to enhance the efficiency, agility, and productivity of an enterprise system. The key concepts of SOA are services, high interoperability and loose coupling.
 
Several other architecture/technologies such as RPC, DCOM, and CORBA have existed for a long time, and attempted to address the client/server communication problems. The difference between SOA and these other approaches is that SOA is trying to address the problem from the client side, and not from the server side. It tries to decouple the client side from the server side, instead of bundling them, to make the client side application much easier to develop and maintain.

Without SOA every application is a bundled, tightly coupled solution. The client-side application is often compiled and deployed along with the server-side applications, making it impossible to quickly change anything on the server side. DCOM and CORBA were on the right track to ease this problem by making the server-side components reside on remote machines. The client application could directly call a method on a remote object, without knowing that this object was actually far away, just like calling a method on a local object. However, the client-side applications continue to remain tightly coupled with these remote objects, and any change to the remote object will still result in a recompiling or redeploying of the client application.

Now with SOA, the remote objects are truly treated as remote objects. To the client applications, they are no longer objects; they are services. The client application is unaware of how the service is implemented, or of the signature that should be used when interacting with those services. The client application interacts with these services by exchanging messages. What a client application knows now is only the interfaces, or protocols of the services, such as the format of the messages to be passed in to the service, and the format of the expected returning messages from
the service.

 

No comments:

Post a Comment