+ All Categories
Home > Documents > ESB Guidance 2.0 Kevin Gock .

ESB Guidance 2.0 Kevin Gock .

Date post: 26-Dec-2015
Category:
Upload: hugh-davidson
View: 215 times
Download: 1 times
Share this document with a friend
22
ESB Guidance 2.0 Kevin Gock http://www.itfocus.co.nz
Transcript

Agenda

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

• Demo• Questions?

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

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

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

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

What is an Itinerary?

• XML defining a sequence of Services to execute

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

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

Why have an Itinerary?

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

message

Caller must be changed to pass Itinerary

Dynamic Endpoint Resolution

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

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

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

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.

Demo - BRE

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

Demo – STATIC, UDDI

• Itinerary – Resolvers XML Fragment:

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

• UDDI resolves to physical drive location

Creating Itineraries

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

Web Services

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

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!


Recommended