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

ESB Guidance 2.0 Kevin Gock .

Dec 26, 2015

Download

Documents

Hugh Davidson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 2: ESB Guidance 2.0 Kevin Gock .

Agenda

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

• Demo• Questions?

Page 3: ESB Guidance 2.0 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: ESB Guidance 2.0 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: ESB Guidance 2.0 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: ESB Guidance 2.0 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: ESB Guidance 2.0 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: ESB Guidance 2.0 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: ESB Guidance 2.0 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: ESB Guidance 2.0 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: ESB Guidance 2.0 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: ESB Guidance 2.0 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: ESB Guidance 2.0 Kevin Gock .

Demo - BRE

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

Page 16: ESB Guidance 2.0 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: ESB Guidance 2.0 Kevin Gock .

Creating Itineraries

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

Page 18: ESB Guidance 2.0 Kevin Gock .

Web Services

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

Page 20: ESB Guidance 2.0 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!