BizTalk Server 2009 ESB Guidance 2.0 By Kevin Gock

22
ESB Guidance 2.0 Kevin Gock http://www.itfocus.co.nz

description

A presentation on BizTalk 2009 ESB (Enterprise Service Bus) Guidance at Auckland Connected Systems User Group by Kevin Gock. Thiago Almeida presented Capabilities of BizTalk Server 2009

Transcript of BizTalk Server 2009 ESB Guidance 2.0 By Kevin Gock

Page 2: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Agenda

• Enterprise Service Bus (ESB)• ESB Guidance– Itinerary– Dynamic Endpoint Resolution– Web Services– ESB Management Portal

• Demo• Questions?

Page 3: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Definition of ESB

Implementation of an infrastructure for enabling a service oriented architecture (SOA)

• Enterprise – Integrate assets of one company• Service – Provides services e.g. Routing, Transformation• Bus – Pluggable messaging endpoints

Page 4: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Think of an ESB as ...

Collection of architectural patterns based on• Traditional enterprise application integration

(EAI)• Message-oriented middleware• Web services• .NET and Java interoperability• Host system integration• Interoperability with service registries and asset

repositories

Page 6: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

What is the ESB Guidance?

• Enhancements to BizTalk• Developed by Patterns and Practices Team• Extends BizTalk– Itinerary-based invocation– Dynamic endpoint resolution– Message routing using registry or rules engine– Web Services– Fault Management and Reporting– Integration with 3rd Party SOA Governance Solutions

• Sample Applications

Page 7: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

InstallationInstall:• BizTalk ESB Core, Exception Handling packages• Itinerary Designer• ESB Configuration Tool• Documentation• Source Code

Requires:• Windows 2008 • SQL Server 2008• Visual Studio 2008 SP1• Enterprise Library 4.0• Unity Application Block 1.1

Use Microsoft Hyper-V for virtualisation

Page 8: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

What is an Itinerary?

• XML defining a sequence of Services to execute

• Sent by a client as a SOAP header along with message

Page 9: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

How does an Itinerary work?

1. Client Sends Itinerary and Message (both flow together for each Service executed)

2. ESB Pipeline sets Itinerary values as message context properties3. Itinerary Subscribers:• Orchestration or ESB Agent (name=Transform/Routing)• Filter for specific name, type, state

Page 10: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Why have an Itinerary?

• Makes message highly distributable. • Ability for any ESB container to process the

message

Caller must be changed to pass Itinerary

Page 11: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Dynamic Endpoint Resolution

Allows an Itinerary service endpoint to be resolved, dynamically at runtime.

Supported Resolvers:- UDDI - LDAP- Xpath - BRE- Static

Page 12: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Dynamic Endpoint Resolution Example

• Itinerary – Resolvers XML Fragment:

Processing:1. Transform message using BRE2. Send the Order to– static file location– location resolved by using UDDI search

3. Send the response back to caller

Page 13: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Why use Dynamic Endpoints?

1. Avoid consumers binding directly to a static endpoint. If endpoint changes then the consumer needs to change also.

Example:Orchestration calls static WebServiceA.NET app calls static WebServiceAUDDI would be useful to lower maintenance by

changing the UDDI registry only.

Page 15: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Demo - BRE

• Resolver uses Itinerary’s data (policy=ResolveMap) for BRE to set transform

Page 16: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Demo – STATIC, UDDI

• Itinerary – Resolvers XML Fragment:

• STATIC defines the full location so dynamic resolution doesn’t occur

• UDDI resolves to physical drive location

Page 17: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Creating Itineraries

• Use VS 2008 with the ItineraryDsl project type• Validate and Export to XML

Page 18: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Web Services

• Itinerary On-ramp• Resolver• Transformation• Exception Handling• UDDI• BizTalk Operations

Page 20: BizTalk Server 2009  ESB Guidance 2.0 By Kevin Gock

Summary

• Guidance implementing an ESB, best practices and reducing effort

• Loose coupling with Itinerary and Dynamic Endpoint Resolution

• Lots of useful Web Services• Management of the ESB via a Portal (faults, UDDI)• Still in CTP2 so there are outstanding issues• Source code for ESB and samples• Extensible and Free!