| By Thomas Abraham | Article Rating: |
|
| August 19, 2008 10:15 AM EDT | Reads: |
10,972 |
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 10,972
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 F. Abraham, MCPD, MCT, is a software architecture and development consultant in the Minneapolis/St. Paul, Minnesota area. Thomas maintains a blog at http://www.tfabraham.com/.
- Big Data in Telecom: The Need for Analytics
- Patterns for Building High Performance Applications
- Microsoft Tries Hadoop on Azure
- Amazon to Fix Some Kindle Fire Problems
- What Motivates Open Standards in the Cloud?
- What to Expect in 2012: Cloud Computing and Open Source Software
- Will PaaS Finally Bring Open Source Love to the Enterprise?
- Ten Hot Trends in Cloud Data for 2012
- Oracle Disaster Recovery Site Hosted by Amazon Cloud
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- The Future of Cloud Computing: Industry Predictions for 2012
- Make Customer On-Boarding Easy as Paint-by-Numbers for Cloud Services
- Gartner Hype Cycle for Emerging Technologies 2011
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Big Data in Telecom: The Need for Analytics
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- Patterns for Building High Performance Applications
- Microsoft Tries Hadoop on Azure
- The Next Web Architecture
- Cloud Computing: A Comparison of Computing Models
- The i-Technology Right Stuff
- The Top 150 Players in Cloud Computing
- Who Are The All-Time Heroes of i-Technology?
- Where Are RIA Technologies Headed in 2008?
- Get the Message
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December
- Five Reasons Why Web 2.0 Matters

















