Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Microsoft BizTalk ESB Toolkit 2.1
Microsoft BizTalk ESB Toolkit 2.1

Microsoft BizTalk ESB Toolkit 2.1: Discover innovative ways to solve your mission-critical integration problems with the ESB Toolkit

eBook
Can$27.99 Can$18.99
Print
Can$34.99
Subscription
Free Trial

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Black & white paperback book shipped to your address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Jul 26, 2013
Length 130 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781849688642
Vendor :
Microsoft
Category :
Table of content icon View table of contents Preview book icon Preview Book

Microsoft BizTalk ESB Toolkit 2.1

Chapter 1. ESB Toolkit, Architecture, and Features

BizTalk Server has been around for quite a long time, evolving over the years and becoming one of the most complete and powerful middleware products in the market, helping thousands of companies to fulfill their requirements in terms of Systems Integration.

With such a powerful product and the flexibility it provides to implement integration solutions, it's more than useful to have at hand a set of architectural patterns and re-usable components. These will support our design and help us to reach the most successful result possible. And here's where the ESB Toolkit comes into the picture.

In this chapter, we will have an overview of:

  • What is Enterprise Service Bus (ESB)

  • What are the architectural principles that define an ESB

  • How the ESB Toolkit helps to build better integration solutions

  • What are the ESB Toolkit features and components

The content within this book is not meant to be a long dissertation about the different architectural terms and acronyms coined over time that lead into the definition of what an ESB is about. We will save you some time by going straight to the point of defining the basics of ESB so you can spend that extra time on enjoying a good BBQ.

Understanding the basics


An Enterprise Service Bus (ESB) is an architectural model that defines the patterns to integrate IT systems by interconnecting an ecosystem of loosely coupled and interoperable business services and components in an elastic way. The ultimate goal is to provide a flexible implementation of the enterprise business processes in such a flexible way that those processes can be efficiently adapted to the ever-changing circumstances of the enterprise.

In the following figure, we can see different example business processes that could be run within our ESB, as a set of decoupled business services or stages:

The VETRO pattern

In most cases, a business process is all about how information travels through the process and how it is handled along the way, and thus the ESB model predicates the integration of such business processes in terms of the five basic steps that conform to the VETRO pattern:

  • Validate: This is usually the very first step of the information processing, where we ensure that the information received is in the format expected, although there can be other validation steps along the process. This validation against the mutually agreed service/data contracts ensures that the information flowing through the ESB is legitimate and compliant with the expectations of any system connected to the bus.

  • Enrich: During this step, the information is enriched so it contains all the data required to continue its journey and provide a meaningful input to the target system.

  • Transform: The information is transformed to the format the target system expects and understands. This step could happen as the information arrives at the ESB (where in this case the target system is the ESB itself) where the information would be transformed into a canonical format (quite often defined by the company's Enterprise Data Model), as well as when the information leaves the ESB, transforming it from the canonical format to the format expected by the target system.

  • Route: In systems integration, the information intrinsically has to travel from one place to the other, and that is what happens during this stage. The next step the information needs to take is identified and the route is applied so the process can continue as expected.

  • Operate: The business processes are all about triggering actions within the enterprise that achieve the mission the process is designed for. In this stage, the target system is delivered the input information so any required actions are taken and any expected outcomes are produced. In essence, the Operate step is the invocation of a target service or even an interaction with the target service.

The ESB receives messages from the systems connected to it and performs one or more of the steps mentioned previously. All those steps that define how a message needs to be handled by the ESB are defined as itineraries, that are a set of decoupled processing steps that doesn't necessarily know about the whole process the message just went through or is going to go through afterwards, but they just know what they have to do with the message they just received for processing.

This doesn't sound like rocket science or anything very new, but what the ESB adds to the pattern is the means to make all these stages along the process as decoupled and configurable as possible, so once a process is in place any further changes can be made with the smaller effort and the smallest impact possible on existing systems.

ESB capabilities

An ESB has different features and capabilities that support one or many of the elements of the VETRO pattern.

The main capabilities that support this model in the ESB are listed in the following table:

Capability

Mapping to VETRO

Description

Message Routing

---RO

Dynamic and configurable message routing allows flexible processes to be changed even at runtime

Connectivity

---RO

Adapters and other protocol transformation components facilitate the connections between heterogeneous systems

Exchange Patterns

---RO

Business processes usually require different message exchange patterns, such as synchronous/asynchronous, pub-sub, and so on

Transformation

--T-O

Systems that understand different data formats and structures require a man in the middle to help them talk to each other

Service Directory

--TRO

Loosely coupled service architectures require a centralized directory where consumers can find the service they need to use

Rules Dynamic Resolution

VETRO

The configurable and elastic behavior ESB predicates require a rule system that provides flexibility to the other capabilities of the system

Validation

V-T--

Information needs to be validated to ensure it complies with the definition of the business processes

Aggregation

-ET-O

The business processes are usually composed of multiple subprocesses that will be invoked to enrich and transform the information as the overall process runs

Service Orchestration

---RO

 

Assured Delivery

---RO

Some features such as message queuing or assured delivery are required to ensure reliable and predictable execution of business processes

Management and Governance

-----

We need to be able to configure and monitor the behavior of the processes so we are always on top of what is happening in our business

Security

-----

The execution of our business processes needs to rely on a security system that ensures that all the parties involved are who they claim to be and are allowed to take the actions they want to perform

If you have been working with BizTalk Server for some time or have some basic knowledge about its architecture and features, you will find that most of those cover these capabilities any ESB system is required to have, but you will also appreciate that some of them could be implemented in different ways, requiring some extra effort from your architecture team to decide the best way of doing so.

Here is where the ESB Toolkit comes to help. Based on the years of experience of architects and IT teams building integrations solutions with BizTalk, these patterns and capabilities have been packaged as a set of guidelines and re-usable components that will help you to build an ESB solution with a more predictable and efficient result.

The ESB Toolkit


In this section, we will get to know what the ESB Toolkit is all about, why it was created, and the benefits it brings to any BizTalk solution, especially to build ESB architectures.

We all need a bit of guidance

As we saw in the previous section, ESB is an architectural model that can bring huge benefits to the integration architecture of a company, but there would be potentially many ways to achieve the same goal.

Around 2007, a group of talented architects and developers from the Microsoft BizTalk product group and the Patterns and Practices team came up with the idea of the ESB Guidance, as a set of architectural guidelines and re-usable components that would help us to build an ESB based in Microsoft BizTalk Server 2006 R2. This ESB Guidance was renamed later on to ESB Toolkit with its 2.0 version along with BizTalk 2009. The latest versions of it are the 2.1 that came with BizTalk 2010 (the one that we will cover in this book) and the latest one (2.2) that comes with BizTalk 2013.

Note

The main difference between ESB Toolkit 2.1 and 2.2 versions is that the ESB Toolkit 2.2 can be installed directly from the BizTalk installer splash screen, but the rest remain the same, so the contents described in this book apply to both versions.

Most of the current technologies and IT development platforms nowadays provide huge flexibility and power in terms of implementing solutions, but that flexibility and power sometimes make it difficult to know the better way to implement some common patterns.

In the old days of .NET, we all needed to implement common patterns such as aspect oriented programming, error handling libraries, logging, and so on, and there were teams around the world implementing the same things on and on, each of them on their own flavor. But then the Enterprise Library came along to make our life a bit easier.

The ESB Toolkit is to BizTalk the same as the Enterprise Library is to any .NET application. It just helps to implement common architectural and development practices in a reliable and proven way. Whether you are building an ESB or not, some of the ESB Toolkit principles and re-usable components will be really useful to build high quality BizTalk solutions.

ESB Toolkit features

The aim of the ESB Toolkit is to cover all of the capabilities required by a proper ESB by leveraging existing features in BizTalk Server, introducing new re-usable components and documenting it all together so we don't get lost along the way.

We can map the main ESB capabilities we listed in previous sections to the BizTalk and ESB Toolkit features like:

ESB Capability

Mapping to BizTalk and ESB Toolkit

Message Routing

BizTalk content-based routing and ESB Toolkit itineraries

Connectivity

BizTalk Adapters and ESB Toolkit ramps

Exchange Patterns

BizTalk Adapters and existing architecture

Transformation

BizTalk maps and ESB Toolkit components

Service Directory

BizTalk UDDI Services and ESB Toolkit itineraries

Rules Dynamic Resolution

BizTalk Business Rules and ESB Toolkit dynamic resolution

Validation

BizTalk Schemas and ESB Toolkit components

Aggregation

BizTalk orchestrations and ESB Toolkit itineraries

Service Orchestration

BizTalk orchestrations and ESB Toolkit itineraries

Assured Delivery

BizTalk Adapters and ESB Toolkit Exception Handling

Management and Governance

BizTalk management console, ESB Toolkit management portal, and Business Activity Monitoring (BAM)

Security

BizTalk Security and SSO

As we mentioned earlier, all these capabilities are pretty much required to build a full-blown ESB architecture and they should be interoperable and decoupled enough to provide the flexibility and scalability that we need.

All this can be very well represented with the representation of the ESB Toolkit architecture and main components shown in the following figure.

Itineraries

The itinerary is one of the core concepts on the implementation of an ESB solution. It's the definition of the flow of certain piece of information or message must follow, through the ESB to fulfill one specific business process or interface.

The itinerary is composed of a set of steps or processing units that pretty much can be mapped to one or more of the stages defined by the VETRO pattern. Those steps or processing units are called Itinerary Services. They can be either the standard itinerary service components that come with the ESB Toolkit (the Transformation and Routing Services) or our own custom developed itinerary services.

We will get to know the itineraries more in detail in the next chapter of this book.

Ramps and web services

The ramps are the connection points where the systems can connect to send messages to the ESB and receive messages from it. Those are respectively the On-Ramps and the Off-Ramps and are implemented as WCF web services and BizTalk send ports, although we could build our own ramps based on other types of BizTalk adapters.

The ESB Toolkit also provides a set of web services that expose the functionality of some ESB features to any external systems. Those services are:

  • Itinerary processing

  • Exception management

  • Endpoints and maps resolution

  • Messages transformation

  • BizTalk Server operations

  • BAM services

  • UDDI services

We will cover these in detail in Chapter 2, Itinerary Services and Chapter 4, Understanding the ESB Web Services.

Services directory

The services directory is provided in BizTalk and the ESB Toolkit by means of the Universal Description, Discovery, and Integration (UDDI) services. These services provide a centralized registry of the services available across an organization, either for internal or external consumers, exposing all of the required information to categorize, organize, discover, and manage those services' definitions.

We will talk more about it in Chapter 4, Understanding the ESB Web Services.

Exception Management framework

Exception Management framework is a set of components and APIs that provide a standardized approach to handle, notify, and process any exceptional situations that might occur during the processing of a message. It's pretty much like the counterpart of the exception handling in the Enterprise Library.

We will dedicate a whole chapter to this topic later on in this book.

ESB Management Portal


The ESB Toolkit includes a web portal built on ASP.NET that provides:

  • Insight to the status of our ESB processes' health with detailed reporting of any issues that might have happened in any of our ESB applications (with a basic implementation of failed messages reprocessing)

  • Alerting features to create notifications for the ESB administrators of any errors that might happen

  • Features to manage the new services registry requests users can create

  • Different management consoles to configure certain features of the system

We will get into the details of the portal on the last chapter of the book.

Note

The ESB Management Portal and Service are provided as samples. These will work fine for a development environment.

Other components and utilities


There are many other re-usable components and tools within the ESB Toolkit that are really helpful during the design, development, and operation of our ESB, as well as components that could be easily re-used in other non-ESB implementations, such as certain pipeline components and libraries. One example of those are the Add/Remove Namespace pipeline components.

Those could come in handy in many BizTalk solutions where we need to deal with systems that are not that careful with how they set the namespaces on the messages submitted to BizTalk. We can use them to:

  • Add a namespace when the incoming message doesn't have a root namespace

  • Replace the incoming root namespace when the difference between the external system schema and our canonical schemas just differ in their namespace (so we could avoid the implementation and execution of a ridiculously simple map)

  • When the type of the inbound message is defined by some data included within the message itself

Summary


In this chapter, we have learned about the main architectural principles that define an Enterprise Service Bus, why the ESB Toolkit was something very much needed to help us to build high quality BizTalk solutions, and what are the main features of the ESB Toolkit.

In the next chapter, we will deep dive on the itineraries concept and how it rules the processing of messages within our ESB.

Left arrow icon Right arrow icon

Key benefits

  • A comprehensive guide to implementing quality integration solutions
  • Instructs you about the best practices for the ESB and also advises you on what not to do with this tool
  • A sneak view of what's new in the ESB Toolkit 2.2

Description

An Enterprise Service Bus (ESB) is an architectural pattern and a key enabler in implementing the infrastructure for a service-oriented architecture (SOA). The BizTalk ESB Toolkit is a collection of tools and libraries that extend the BizTalk Server capabilities of supporting a loosely coupled and dynamic messaging architecture. It functions as middleware that provides tools for rapid mediation between services and their consumers. Enabling maximum flexibility at runtime, the BizTalk ESB Toolkit simplifies loosely coupled composition of service endpoints and management of service interactions. The thing about the technology that gets most readers excited is how easy it is to quickly implement flexible and well-architected ESB solutions. "Microsoft BizTalk Server 2010 ESB Toolkit 2.1" provides you with an easy-to-follow view of the tools and services that make up the toolkit. The content is packed with practical examples on how to utilize the technology, which will be appealing to the readers. This book provides you with all the information you need in one publication. The content is based on practical examples on how to use the technology to make it easier for readers to follow. This book starts off with a quick, high level introduction to ESB architectural principles, how these principles map into the ESB toolkit features, and an introduction to the different components that provide those features. The book then reveals the ins and outs of Itineraries. Next, you'll get engaged in the different ways errors can be handled and monitored by means of the ESB Toolkit features. There will be a hands-on sample on building a custom Repair and Resubmit solution to reprocess failed messages. Get to know the different web services that expose the ESB Toolkit features to external applications and how to use them with quick samples. The book ends with a preview to the new version of the toolkit.

What you will learn

Acquire knowledge about the architecture behind the ESB Toolkit Engage yourself in the ESB Toolkit´s components and features Create Itinerary components and apply them within an Itinerary process Learn about the different concepts and components that build up the error handling features within the ESB Toolkit and implement them in real-life scenarios Employ the interesting web services that are included in the ESB Toolkit Recognize the different features that comprise the ESB Management Portal Configure the registry, fault, and email notification settings of the ESB Management Portal

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Black & white paperback book shipped to your address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Jul 26, 2013
Length 130 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781849688642
Vendor :
Microsoft
Category :

Table of Contents

13 Chapters
Microsoft BizTalk ESB Toolkit 2.1 Chevron down icon Chevron up icon
Credits Chevron down icon Chevron up icon
About the Authors Chevron down icon Chevron up icon
About the Reviewers Chevron down icon Chevron up icon
www.PacktPub.com Chevron down icon Chevron up icon
Preface Chevron down icon Chevron up icon
ESB Toolkit, Architecture, and Features Chevron down icon Chevron up icon
Itinerary Services Chevron down icon Chevron up icon
ESB Exception Handling Chevron down icon Chevron up icon
Understanding the ESB Web Services Chevron down icon Chevron up icon
The ESB Management Portal Chevron down icon Chevron up icon
ESB Toolkit Version 2.2 for BizTalk 2013 Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Filter icon Filter
Top Reviews
Rating distribution
Empty star icon Empty star icon Empty star icon Empty star icon Empty star icon 0
(0 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 0%
1 star 0%

Filter reviews by


No reviews found
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela