11.07.2015 Views

y - Net Developer

y - Net Developer

y - Net Developer

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

amrameshreddy.blog.com40 CHAPTER 2 ■ INTRODUCING WCF BASICSramrameshreddy.blog.comdiscussed the flaws in object-oriented technology in applications that mandate the need ofloosely coupled distributed systems. Services compose a distributed system that can looselycouple one another to achieve a particular business goal. These services can later be composeddifferently to achieve a different business goal.A lot of confusion exists about the terms component and services; a component is compiledcode. It can be assembled to build applications and can also be deployed. Ease ofreusability, maintenance, and lower application costs are some of the major factors for initiatingcomponent-based development. Most of the time, the term component has beenassociated with object-oriented programming but as per our earlier definition, you can usecomponents to build services. The functionality that gets added on top of the component featuresis the service definition. This service description gets deployed with the components,and the communication with the service is governed by data contracts and policies.The term services is used widely in various contexts. In service orientation, the termservice is that which adheres to the four tenets of service orientation, and services are independentlyversioned, deployed, operated, and secured in a message-oriented fashion. Toparaphrase Martin Fowler from his book Enterprise Integration Patterns: Designing, Building,and Deploying Messaging Solutions (Addison-Wesley, 2003), interesting applications rarely livein isolation. We discussed some of the challenges we face when trying to integrate applicationsin a homogeneous environment in Chapter 1. These can range from the tactical issuesthat a developer may face to the more strategic issues in a corporate environment where thechallenges are quite difficult.For a more detailed understanding of WCF’s unified programming model, please refer toChapter 3. The WCF stack maps almost on a one-to-one basis to all the SOA principles, asshown in Figure 2-6, which covers both the concrete and abstract implementations. WCF simplifiesthe development of connected systems because it unifies a wide range of distributedsystems in a composite and extensible architecture. This architecture can span various transportlayers, security systems, messaging patterns, network topologies, and hosting models.■Note Chapter 3 will explain aspects of the WCF stack from Figure 2-6 such as the service contract, themessage contract, the data contract, and so on.Building an application in terms of a service and not components also provides enormousbenefits in terms of the reuse of code, the reuse of service and functionality, and theability to glue together far more dynamic, far more agile business applications and businessservices. WCF makes it easy for developers to create services that adhere to the principle ofservice orientation. If you are an OO person, you will find a few things to be restrictive in SOA.The SOA world is a world of messages and not objects. Few key features (such as the ability topass an object reference) exist in the current technology stack that are not available in WCF.Actually, the paradigm has shifted now from object oriented to service oriented, and it makesmore sense to pass messages between services instead of objects.ramrameshreddyramrameshreddy

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!