27

Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Embed Size (px)

Citation preview

Page 1: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307
Page 2: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Dynamic Messaging with Microsoft BizTalk Enterprise Service Bus (ESB) Toolkit

Ryan CrawCourIndependent Consultant & Integration SpecialistSession Code: SOA 307

Page 3: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Session Objectives

Understand the ESB architectural pattern and its place within the overall Application PlatformUnderstand the architecture of the ESB ToolkitSee the capabilities and features of the ESB Toolkit, and how they can accelerate ESB deploymentsDiscuss the scenarios where it is appropriate to use instead of traditional BizTalk

Page 4: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Agenda

ESB: what it is and why it mattersArchitectural OverviewTechnical DrilldownDemos, demos, demosService compositionDemos

Page 5: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

So What’s The Difference?

BizTalk was positioned as a Hub and spoke

Now we’re saying it can be an Enterprise Service Bus?

Page 6: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

BizTalk Server

Static Receive Port

Static Send Port

Hard Coded Map Name

Static Schema

WSDL Schema

WSDL Schema

Static Receive Port

Static Send Port

Hard Coded Map Name

Static Schema

Static Schema

WSDL Schema

Static Receive Port

Static Send Port

Hard Coded Map Name

Static Schema

Static Schema

WSDL Schema

Static Receive Port

Static Send Port

Hard Coded Map Name

Static Schema

Static Schema

WSDL Schema

Static Receive Port

Static Send Port

Hard Coded Map Name

Static Schema

Static SchemaStatic Schema

All decisions are made and locked in at Design Time or at Deployment!

Any change is a re-development or a system re-configuration!

We’ve allowed the easy to use tools to define how we leverage the BizTalk features!

Page 7: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Rethinking The Solution As A Set Of Capabilities

Mapping Service

RoutingProcess

Orchestration

ProtocolAdaptation

End Point Resolution

Pub/Sub Service

WSDL Schema

WSDL Schema

Service Consumer

1. Transform my message2. Determine which endpoint I need3. Route my message4. Route the response to a second

service5. Return the final result to me

Page 8: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Enter The ESB Guidance V1

Jointly developed by Patterns and Practices and the Connected SystemsWhat was its goal?

Demonstrate the ESB pattern using BizTalk Reduce the amount of “plumbing” you need to doReduce the total cost and effort needed for an ESB

What was in it?Architectural guidancePrebuilt BizTalk componentsSamplesException Management Framework and Portal

Page 9: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Announcing The BizTalk ESB ToolkitPreviously known as ESB Guidance V2

Name change From “ESB Guidance V2” to “BizTalk ESB Toolkit”

General Availability Mid June 2009

Packaging & Distribution

Signed binaries and samples code (MSDN -> Download Center)Documentation (MSDN)Private Fixes (Microsoft Connect site)

License Free for BizTalk Customers

Support & Bug Reporting

Managed MSDN forums with Microsoft Customer Support Services in the loop to fix issues as required

Online Community Managed MSDN forums

Page 10: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Management Portal

Exception Management

Core ESB Services

External ServicesResolver Web Service

Transformation Web Service

Exception Web Service

Exception Logger

Exception Handler 1..nGeneric Custom Application

Transformation Agent

Generic Delivery Agent

On-ramps Off-rampsGeneric SOAP Send

Generic WCF Send

Generic JMS Send

Generic Custom Send

Generic SOAP Receive

Generic WCF Receive

Generic JMS Receive

Generic Custom Receive

Architectural Overview

Custom Business ProcessesScatter

Gather Service

Convoy

Page 11: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

The Core ESB Guidance Concepts

Itineraries

ResolversAdapter Providers

Page 12: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Itinerary Concept

Heart of the ESB GuidanceProvide runtime flexibility that BizTalk doesn’t have by defaultProvide a service composition mechanism

Page 13: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Creating An Itinerary

Page 14: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

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

ServiceProxy

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

AdvancedServiceClient

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

AdaptiveServiceClient

Page 15: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Resolvers

For runtime flexibility ESB Services are not hard-coded to specific endpoints or mapsResolver mechanism can locate and retrieve this metadataItineraries define which ESB services execute and in which orderResolvers define how ESB services execute

Page 16: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

NEW: Resolvers Shipped

Endpoint Resolution

UDDI 2.0

Artifact Resolution

ESB Resolvers

Static Static Map - BRE

WS-MEX BRE SQL Itinerary - Static

XPATH Composite Itinerary - BREUDDI 3.0

V1

V2

Page 17: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Service CompositionComposing, Choreographing or “Chaining” services is a key capability for an ESB

Physical Service Physical Service Physical Service

Composed Service

Page 18: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Service Composition In V2

We have the “Itinerary Forwarder”

Allows straight-forward chaining of services using only BizTalk ports

Orchestrations can be used to create more complex business processes across services

Page 19: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

BizTalk and the ESB Toolkit in actiondemo

Page 20: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

ESB Administration PortalOverview

ASP.NET-based sample applicationThis is a sample of how ESB operational metrics and data can be surfacedProcess or group-specific portals could be created in SharePoint, leveraging ESBG assets such as BAM tracking and exception handling

http://localhost/esb.portal/

Page 21: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

What Else Is New In V2?

Provides enhanced tooling, on top of an optimized coreProvides even more extensibility pointsIncludes a simplified install processesIncludes a new configuration tool

Configure core services and portalConfigure runtime stores

Page 22: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

SummaryWhat it gives you…

Loosely-coupled messaging environmentRegistry-driven message routingItinerary-based processingLogically-centralized messaging fabric

Why you want it…Higher levels of reuseLower operational costsDynamic business changesCollection point for business, service, and exception metrics

Page 23: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

question & answer

Page 24: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

www.microsoft.com/teched

Sessions On-Demand & Community

http://microsoft.com/technet

Resources for IT Professionals

http://microsoft.com/msdn

Resources for Developers

www.microsoft.com/learning

Microsoft Certification & Training Resources

Resources

Page 25: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Related Content

Breakout Sessions•Dynamic Messaging with Microsoft BizTalk Enterprise Service Bus (ESB) Toolkit (SOA307)

Whiteboard Sessions•Putting it all Together: BizTalk Server, Oslo and Azure. Bucket of Bits or SOA Strategy? (WTB206)

Page 26: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

Track Resources

MSDN BizTalk: http://msdn.microsoft.com/biztalk

Virtual Labs: http://msdn.microsoft.com/virtuallabs

ESB Toolkit: http://msdn.microsoft.com/esb

Microsoft SOA & Business Process: http://www.microsoft.com/soa

Page 27: Ryan CrawCour Independent Consultant & Integration Specialist Session Code: SOA 307

© 2009 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.