Presentation Summary

Dynamic SOA Services in WCF

Level: Advanced
Track: n/a
Starts: Sep 29 2007 4:45 PM
Ends: Sep 29 2007 6:15 PM
Room: EBC
Speaker: Mark Mullin

Windows Communication Foundation (WCF) is specifically designed to ease the development of Service Oriented Architectures (SOA). One goal of SOA well supported by WCF is the concept of contracts between services and their customers, represented in WCF by DataContracts. DataContracts represent clear and unequivocal definitions of the exact messages exchanged, where the definitions are specific and can easily be constructed, parsed, and validated on either end of the communication channel. Loose coupling is another basic goal of most SOA architectures, where the goal is to change or update services in a running system, in essence completely detaching the service framework from the services that it offers. In this way, a system can stay in continuous operation, even when the mix of services it provides change over time. The combination of these two seemingly conflicting goals is possible, even relatively easy in the WCF framework. By combining these goals, individual services can present strong contracts for communication with external entities, yet these contracts are completely separate from the communication framework and system infrastructure. This means that individual services can be strongly typed through their contracts, yet loosely coupled to the environment that hosts them. This presentation will focus on the concrete details of a mechanism that allow any number of services to be exposed through a common endpoint, using DataContracts to define the organization of the exchanged data. The necessary code to load these services dynamically, and to ensure there is no coupling between the operating framework and the actual services will be presented. At the conclusion of this talk, participants will have enough information to know exactly how to dynamically attach any number of dynamically loaded services to a common endpoint, and how these services can be changed at any point during the operation of the system.

Technical Areas

  • Methodologies/Frameworks (MSF, MDA, Agile, etc)
  • Service Oriented Architecture (SOA)
  • Windows Communication Foundation (WCF)
© 2006-2007 thedevcommunity.org (Version: 1.0.021)