Book Image

SOA Patterns with BizTalk Server 2009

By : Richard Seroter
Book Image

SOA Patterns with BizTalk Server 2009

By: Richard Seroter

Overview of this book

SOA is about architecture, not products and SOA enables you to create better business processes faster than ever. While BizTalk Server 2009 is a powerful tool, by itself it cannot deliver long-lasting, agile solutions unless we actively apply tried and tested service-oriented principles. The current BizTalk Server books are all for the 2006 version and none of them specifically looks at how to map service-oriented principles and patterns to the BizTalk product. That's where this book fits in. In this book, we specifically investigate how to design and build service-oriented solutions using BizTalk Server 2009 as the host platform. This book extends your existing BizTalk knowledge to apply service-oriented thinking to classic BizTalk scenarios. We look at how to build the most reusable, flexible, and loosely-coupled solutions possible in the BizTalk environment. Along the way, we dive deeply into BizTalk Server's integration with Windows Communication Foundation, and see how to take advantage of the latest updates to the Microsoft platform. Chock full of dozens of demonstrations, this book walks through design considerations, development options, and strategies for maintaining production solutions.
Table of Contents (18 chapters)
SOA Patterns with BizTalk Server 2009
Credits
About the author
About the reviewers
Preface
Index

What is BizTalk Server?


So what exactly is BizTalk Server, and why should you care about it? In a nutshell, Microsoft BizTalk Server 2009 uses adapter technology to connect disparate entities and enable the integration of data, events, processes, and services. An entity may be an application, department, or even an altogether different organization that you need to be able to share information with. A software adapter is typically used when we need to establish communication between two components that do not natively collaborate. BizTalk Server adapters are built with a common framework which results in system integration done through configuration, not coding.

Traditionally, BizTalk Server has solved problems in three areas. First, BizTalk Server acts as an Enterprise Application Integration (EAI) server that connects applications that are natively incapable of talking to each other. The applications may have incompatible platforms, data structure formats, or security models. For example, when a new employee is hired, the employee data in the human resources application needs to be sent to the payroll application so that the new employee receives his/her paycheck on time. Nothing prevents you from writing the code necessary to connect these disparate applications with a point-to-point solution. However, using such a strategy often leads to an application landscape that looks like this:

Many organizations choose to insert a communication broker between these applications as shown in following figure.

Some of the benefits that you would realize from such an architectural choice include:

  • Loose coupling of applications where one does not have a physical dependency on the other

  • Durable infrastructure that can guarantee delivery, and queue messages during destination system downtime

  • Centralized management of system integration endpoints

  • Message flow control such as in-order delivery

  • Insight into cross-functional business processes through business activity monitoring

BizTalk Server solves a second problem by filling the role of business-to-business (B2B) broker that facilitates communication across different organizations. BizTalk supports B2B scenarios by offering Internet-friendly adapters, industry-standard EDI message schemas, and robust support for both channel- and message-based security.

The third broad area that BizTalk Server excels in is Business Process Automation (BPA). BPA is all about taking historically manual workflow procedures and turning them into executable processes. For example, consider the organization that typically receives a new order via email and the sales agent manually checks inventory levels prior to inserting the order into the Fulfillment System. If inventory is too low, then the sales agent has to initiate an order with their supplier and watch out for the response so that the Inventory System can be updated. What problems are inevitable in this scenario?

  • Poor scalability when the number of orders increase

  • Lack of visibility into the status of orders and supplier requests

  • Multiple instances of redundant data entry, ripe for mistakes

By deciding to automate this scenario, the company can reduce human error while streamlining communications between applications and organizations.

What's one thing all of these BizTalk Server cases have in common? They all depend on the real-time interchange and processing of discrete messages in an event-driven fashion. This partially explains why BizTalk Server is such a strong tool within a service-oriented architecture. We'll investigate many of BizTalk's service-oriented capabilities in later chapters, but it's important to note that the functionality that exists to support three top-level scenarios above (EAI, B2B, and BPM) nicely fits into a service-oriented mindset. Concepts such as schema-first design, loose coupling, and reusability are soaked into the fabric of BizTalk Server.

Note

Critical point

BizTalk Server should be targeted for solutions that exchange real-time messages as opposed to Extract Transform Load (ETL) products that excel at bulky, batch-oriented exchanges between data stores.

BizTalk Server 2009 is the 6th release of the product, the first release being BizTalk Server 2000. Back in those days, developers had access to four native adapters (file system, MSMQ, HTTP, and SMTP); development was done in a series of different tools, and the underlying engine had some fairly tight coupling between components. Since then, the entire product was rebuilt and reengineered for .NET and a myriad of new services and features have become part of the BizTalk Server suite. The application continues to evolve and take greater advantage of the features of the Microsoft product stack, while still being the most interoperable and platform-neutral offering that Microsoft has ever produced.