| By Thomas Abraham | Article Rating: |
|
| August 19, 2008 10:15 AM EDT | Reads: |
4,694 |
Services are all the rage these days, but there's a lot more to building a service than just slapping an interface on top of some business and data access logic. Robust services need to take into account usage patterns, security, reliability, scalability, monitoring, and more. Covering all of those areas is not a simple task, which is why you should consider building your services using Microsoft BizTalk Server 2006 R2. BizTalk is an extensive development and runtime platform that includes workflow, monitoring, service hosting, message tracking, management tools, centralized configuration, a rules engine and more. In other words, it includes a vast amount of code that you don't need to write the next time you create a service!
This article will walk you through the process of designing and building a service using a contract-first design approach on top of BizTalk's infrastructure and its integration with Windows Communication Foundation (WCF). This article is neither a comprehensive introduction to BizTalk nor to WCF, so it will help to have some existing experience with these technologies.
First of all, let's talk briefly about services. The goal behind creating a service is simply to encapsulate some useful functionality behind one or more structured interfaces, or "contracts." We all know that we can browse a fast-food menu, make a selection, pay for it, and get food in return. It is not important to us how the food was created, where the money was stored, who decides what ingredients need to be reordered and when, and so on. This real-world example of abstraction and encapsulation is exactly what we are striving to accomplish with our own services.
Before we move on, let's establish that "service" does not equate to Web Service. True, a service may be exposed as a Web Service, but it may also be an endpoint of a message queue, a TCP endpoint, a Distributed COM server and so on. Whether we walk up to a fast-food restaurant counter or use the drive-in window, the transaction is the same. Windows Communication Foundation (WCF) is the framework that we can use to expose our services to these various transports, and BizTalk Server 2006 R2 includes built-in support for both creating and consuming WCF services. In the remainder of this article we'll be focused on creating services with WCF in combination with BizTalk.
A common method for designing service interfaces today is called "contract-first" design. A "contract" specifically defines the way that clients will interact with a service and what data passes from client to service and back. The typical and interoperable format for data contracts in a service is XML Schema (XSD), and here we will define our service's data structures and messages entirely in XSD. Visual Studio does not provide any visual tools that are specific to contract-first design. BizTalk, on the other hand, natively works with XML Schemas, so contract-first design is very straightforward. For more background on contract-first design, please check out a couple of Aaron Skonnard's "Service Station" columns in MSDN Magazine (http://msdn2.microsoft.com/en-us/magazine/cc163850.aspx, http://msdn2.microsoft.com/en-us/magazine/cc163800.aspx).
Published August 19, 2008 Reads 4,694
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Thomas Abraham
Thomas Abraham, MCPD, MCT, is an Enterprise Consultant with Minneapolis, MN-based management and technology consulting firm Digineer (www.digineer.com). Thomas maintains a blog at http://blogs.digineer.com/blogs/tabraham.
- The Top 150 Players in Cloud Computing
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Why IBM’s Server Chief Got Busted
- SOA World Power Panel on SYS-CON.TV
- 1st Annual GovIT Expo: Letter from the Technical Chair
- Deputy CIO of the CIA to Keynote 1st Annual GovIT Expo
- Stock in Focus: Dragon Capital
- 1st Annual Government IT Conference & Expo: Themes & Topics
- CIA was Headed to an Enterprise Cloud All Along: Jill Tummler Singer
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- The Top 150 Players in Cloud Computing
- SOA in the Cloud - Monitoring and Management for Reliability
- How to Diagnose Java Resource Starvation
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Software AG Named "Gold Sponsor" of SOA World Conference & Expo 2009 East
- Why IBM’s Server Chief Got Busted
- IBM & Cloud Computing: How "SOA in the Cloud" Can Produce Real Change
- SYS-CON's Cloud Expo Adds Two New Tracks
- SOA World Power Panel on SYS-CON.TV
- 1st Annual GovIT Expo: Letter from the Technical Chair
- The i-Technology Right Stuff
- Who Are The All-Time Heroes of i-Technology?
- Get the Message
- Where Are RIA Technologies Headed in 2008?
- Success, Arrogance, Rise and Fall
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV









The new widgetry features multi-cluster suppo...
























