11.07.2015 Views

y - Net Developer

y - Net Developer

y - Net Developer

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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPTER 2 ■ INTRODUCING WCF BASICS 33ramrameshreddy.blog.comNot only can WCF interact with its counterparts from other vendors, but it also can existpeacefully with its predecessors such as COM+ and Enterprise Services. For developers, thisdrastically reduces the amount of infrastructure code required to achieve heterogeneousinteroperability.WCF As a Service-Oriented Development ToolWCF is the first programming model built from the ground up to provide explicit serviceorientedapplication development and ready-to-face-the-future business orientation. Serviceorientation is not a technology but instead is a design concept. Service orientation uses thebest practices for building today’s distributed applications. Purists and gurus of distributedapplications consider service orientation to be the design guideline for overcoming some ofthe complicacy existing in designing loosely coupled applications. Service orientation is not anew concept, and it has been around for some years. Some projects have tried to implementthe concept of service orientation by tweaking existing distributed technologies; these projectshave always demanded a framework that has built-in support for service orientation.Although existing distributed technologies can offer the groundwork for interoperability andintegration, a new platform was required—a new infrastructure that makes it much easier tobuild these distributed technologies. The new distributed technology should also supportadequate extensibility so that when fresh technologies and innovative protocols come along,they can be rapidly and effortlessly adopted without having to revamp the entire platformtime after time.Although it may seem surprising, one of the most intriguing parts of designing a service isdeciding how it should expose its functionality to the outside world. The level of granularity ofthe service quite often is one of the most heated topics of debate within an organization. If theservice is “finely grained,” then the focus is usually on exchanging small amounts of data tocomplete a specific task. This is usually associated with the more traditional RPC type of communicationstyle. Any additional tasks, if required, are invoked similarly. Since message-basedservice invocations are expensive, finely grained approaches might not be practical in mostsituations because the overhead of transmitting and processing many individual messageswould not be acceptable. On the other hand, coarse-grained services expose more functionalitywithin the same service invocation, combining many small tasks. This relates to fewermessages transmitted with more data as opposed to many messages with less data. In otherwords, the service is less chatty. This also relates to less overhead on both ends of the service,enabling a coarse-grained service to scale better.When designing services, you need to extend yourself beyond the basic object-orienteddesign principles and use the four tenets of service orientation briefly discussed in Chapter 1 asthe guiding principles. Figure 2-4 shows the four tenets of service orientation from Chapter 1.One of the challenges in developing WCF is shifting developers’ mind-sets away from thinkingabout building distributed systems in terms of objects and components and starting to thinkabout building distributed systems as services. WCF offers that foundation for service-orientedapplications built on Windows. It will be basic to the SOA efforts of many organizations. WCFprovides this platform for building the next generation of distributed applications.ramrameshreddyramrameshreddy

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

Saved successfully!

Ooh no, something went wrong!