21
Building the Modern ESB with the Microsoft ESB Toolkit: An Architectural Overview With a Focus on Dynamic Messaging Brian Loesgen Principal SOA Architect Microsoft Corporation http://blog.BrianLoesgen.com

Building the Modern ESB with the Microsoft ESB Toolkit: An

  • Upload
    zubin67

  • View
    1.979

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Building the Modern ESB with the Microsoft ESB Toolkit: An

Building the Modern ESB with the Microsoft ESB Toolkit: An Architectural Overview With a Focus on Dynamic Messaging

Brian Loesgen

Principal SOA Architect

Microsoft Corporation

http://blog.BrianLoesgen.com

Page 2: Building the Modern ESB with the Microsoft ESB Toolkit: An

Session Objectives

• Explain architecture of the ESB Toolkit

• Drilldown into dynamic messaging

Page 3: Building the Modern ESB with the Microsoft ESB Toolkit: An

Agenda

• Service-orientation; ESB: why it matters

• Architectural Overview of ESB Toolkit

• Demos – focused on dynamic messaging

Page 4: Building the Modern ESB with the Microsoft ESB Toolkit: An

Re-think a Solution as a Set of Capabilities(the fundamental truth behind SOA success)

Mapping Service

RoutingCustom

Orchestration (Service)

ProtocolAdaptation

End Point Resolution

Pub/Sub Service Service ProvidersService Consumers

Custom Orchestration

(Service)

EnrichmentService

Page 5: Building the Modern ESB with the Microsoft ESB Toolkit: An

SOA Pattern Implementation

PolicyCentralization

RulesCentralization

Event-DrivenMessaging

Data Format Transformation

Protocol Bridge

Message Router

Message Broker

Legacy Wrapper

Architectural Design Patterns

Message Routing

Scatter-Gather

Routing Slip

Recipient List

Message Transformation

Content Enricher

Data Model Transformation

ESB Usage Patterns

Repair andResubmit

VETO/VETRO

Gateway

Reply Forward

MetadataCentralization

Perimeter Service Router

Content-BasedRouter

ESB Toolkit

Page 6: Building the Modern ESB with the Microsoft ESB Toolkit: An

BizTalk... BizTalk+ESB Toolkit...

• BizTalk is all about providing solutions based on configuration

• Configuration happens at dev time or post-deployment

• ESB Toolkit is all about runtime resolution, it interacts with external stores (e.g., services registry) to get operational configuration in a JIT manner

• ESB Toolkit adds a set of runtime resolution capabilities that BizTalk developers would need to create from scratch

Page 7: Building the Modern ESB with the Microsoft ESB Toolkit: An

Enter Microsoft ESB Toolkit…• From Patterns and Practices

• Provides architectural guidance, patterns and practices

• Delivers reusable BizTalk Server ESB and .NET components

• Enables construction of large and small-scale ESB solutions

Page 8: Building the Modern ESB with the Microsoft ESB Toolkit: An

The ESB Stack

BizTalk Server

Adapter Providers

Resolvers

Itinerary Components

Itineraries (Mediation Policies)

Page 9: Building the Modern ESB with the Microsoft ESB Toolkit: An

BizTalk ESB Toolkit ArchitectureESB Core

Core Engine Services

ESB MANAGEMENT PORTAL

Provisioning Framework

Reports

Alerts

Exception Management

Exception Logger

Exception Handler or Custom Application

Fault Processor

TRANSFORM SERVICE

ROUTE SERVICE

ON-RAMPS OFF-RAMPS

Generic SOAPSend

Generic WCFSend

Generic JMSSend

CustomSend

PIPELINE

GENERIC

PIPELINE

PIPELINE

CUSTOM

PIPELINE

Generic SOAPReceive

Generic WCFReceive

Generic JMSReceive

Generic CustomReceive

PIPELINE

PIPELINE

JMS PIPELINE

CUSTOM PIPELINE

ENRICH SERVICE

Exception

Management

Store

CUSTOM SERVICE

ESB SERVICES

Resolver Web Service

Transformation Web Service

Exception Web Service

UDDI Service

Operations Service

Itinerary

Configuration

Store

Resolver-Adapter Framework

CUSTOM RESOLVER

RESOLVERS (…) ADAPTER PROVIDERS(…)

CUSTOM ADAPTER PROVIDER

Page 10: Building the Modern ESB with the Microsoft ESB Toolkit: An

The Core ESBG Concepts

Itinerary

Processing

ResolversAdapter

Providers

Page 11: Building the Modern ESB with the Microsoft ESB Toolkit: An

Itinerary Concept

• Heart of the ESB Toolkit

• Itineraries help provide the runtime flexibility that BizTalk doesn’t have by default

• Itineraries provide a service composition mechanism

Itinerary

Processing

Page 12: Building the Modern ESB with the Microsoft ESB Toolkit: An

Developing Itineraries Itinerary

Processing

Page 13: Building the Modern ESB with the Microsoft ESB Toolkit: An

Using ItinerariesDesign Time

Itinerary

Processing

XML File

Itinerary

Repository

Run Time

Itinerary

OnRamp

Itinerary Selector

ESB Processing

Itinerary &Message

Message

Page 14: Building the Modern ESB with the Microsoft ESB Toolkit: An

Three Ways to Assign ItinerariesItinerary

Processing

Client resolves itinerary via resolver service and then sends request to On-Ramp with itinerary header

Client sends request to an Itinerary On-Ramp passing itinerary SOAP or WCF Header

Client sends message to Itinerary Generic On-Ramp, pipeline component selects an itinerary using configurable resolver

AdvancedServiceClient

AdaptiveServiceClient

ServiceProxy

Page 15: Building the Modern ESB with the Microsoft ESB Toolkit: An

Resolvers

• For runtime flexibility ESB Services are not hard-coded to specific endpoints or maps• This metadata is determined at runtime

• Resolver mechanism can locate and retrieve this metadata

• Itineraries define which ESB services execute and in which order

• Resolvers define how ESB services execute

Resolvers

Page 16: Building the Modern ESB with the Microsoft ESB Toolkit: An

Resolvers Shipped with V2

Endpoint Resolution Artifact Resolution

ESB Resolvers

Resolvers

ESB Toolkit V1

ESB Toolkit V2

Page 17: Building the Modern ESB with the Microsoft ESB Toolkit: An

Adapter Providers

• The Itinerary and Resolver mechanisms are .NET components. The endpoint information produced by the resolvers is stored in .NET based Dictionary objects

• We leverage BizTalk dynamic ports to handle the actual routing of messages. However, BizTalk isn’t built to work with Dictionary objects

• Adapter providers act as a bridge between the .NET based ESB components and the BizTalk based ESB components

Adapter

Providers

Page 18: Building the Modern ESB with the Microsoft ESB Toolkit: An

Adapter Providers Adapter

Providers

FTP

MQSeries

ESB Toolkit V1

ESB Toolkit V2

FILE

Custom

SQL

SMTP

ESB Adapter Providers

Page 19: Building the Modern ESB with the Microsoft ESB Toolkit: An

Using ESB Itineraries and Resolvers

Page 20: Building the Modern ESB with the Microsoft ESB Toolkit: An

Summary

• Architectural overview of the ESB Toolkit

• Demonstrated the dynamic messaging capabilities and features of the ESB Toolkit that accelerate ESB deployments

Page 21: Building the Modern ESB with the Microsoft ESB Toolkit: An

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market

conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.