ESB Guidance 2.0<br />Kevin Gock<br />http://www.itfocus.co.nz<br />
Agenda<br />Enterprise Service Bus (ESB)<br />ESB Guidance<br />Itinerary<br />Dynamic Endpoint Resolution<br />Web Servic...
Definition of ESB<br />Implementation of an infrastructure for enabling a service oriented architecture (SOA)<br />Enterpr...
Think of an ESB as ...<br />Collection of architectural patterns based on<br />Traditional enterprise application integrat...
What does an ESB look like?<br />
What is the ESB Guidance?<br />Enhancements to BizTalk<br />Developed by Patterns and Practices Team<br />Extends BizTalk<...
Installation<br />Install:<br />BizTalk ESB Core, Exception Handling packages<br />Itinerary Designer<br />ESB Configurati...
What is an Itinerary?<br />XML defining a sequence of Services to execute<br />Sent by a client as a SOAP header along wit...
How does an Itinerary work?<br />Client Sends Itinerary and Message (both flow together for each Service executed)<br />ES...
Why have an Itinerary?<br />Makes message highly distributable. <br />Ability for any ESB container to process the message...
Dynamic Endpoint Resolution<br />Allows an Itinerary service endpoint to be  resolved, dynamically at runtime.<br />Suppor...
Dynamic Endpoint Resolution Example <br /> Itinerary – Resolvers XML Fragment:<br />Processing:<br />Transform message usi...
Why use Dynamic Endpoints?<br />Avoid consumers binding directly to a static endpoint. If endpoint changes then the consum...
Demo - ESB in Action!<br />
Demo - BRE<br />Resolver uses Itinerary’s data (policy=ResolveMap) for BRE to set transform<br />
Demo – STATIC, UDDI<br />Itinerary – Resolvers XML Fragment:<br />STATIC defines the full location so dynamic resolution d...
Creating Itineraries<br />Use VS 2008 with the ItineraryDsl project type<br />Validate and Export to XML<br />
Web Services<br />Itinerary On-ramp<br />Resolver<br />Transformation<br />Exception Handling<br />UDDI<br />BizTalk Opera...
ESB Management Portal Demo<br />
Summary<br />Guidance implementing an ESB, best practices and reducing effort<br />Loose coupling with Itinerary and Dynam...
Questions?<br />
Thank you!<br />Kevin Gock<br />http://www.itfocus.co.nz<br />
Upcoming SlideShare
Loading in …5
×

BizTalk Server 2009 ESB Guidance 2.0 By Kevin Gock

2,732 views

Published on

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

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,732
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
109
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide
  • Another defintion of ESB – “Early Spring Beer”
  • Example of Service Registry: UDDI (Universal Description, Discovery and Integration) is used in the ESB Management Portal which I will demo
  • Purpose is to make implementing an ESB using BizTalk easier ESB Guidance 2.0 released January 14 as CTP2ESB Guidance is a little like the Enterprise Library is to .NET Development. ITINERARY: XML Message with a list of services to executeDYNAMIC: Finding an endpoint (like a web service location) at runtime, rather than hard coding itMSG ROUTING: Use the BRE to determine where to route the messageEND B3: One feature which I will leave out is SOA Governance Integration as it requires 3rd party tools. Its mainly about monitoring polices, usage information, service level agreements.
  • Use Hyper-V and snapshotsThere are 2 main installation options:Use Pre-compiled binaries (recommended, unless you need to change the source for some reason)Use Source CodeESB Configuration Tool sets up the ESB Core and Exception Handling Web Services and DBs
  • There are 3 key elements which are used by the filter for processing which are the name, type and state. There are currently 2 ESB Agent Orchestrations which subscribe to the Transform and Routing for processing of these services.The last service is processed outside of the generic ESB components.
  • 1) When a service is executed it is up to the Itinerary Subscriber to advance the Itinerary from the current step to the next step. There is a helper classes to do this.
  • When a message carries the list of services to execute with it, it decentralises the processing making the message more distributableAs an example a message have an itinerary for different environments, test, uat etc.
  • To resolve UDDI for example you would specify in the Itinerary, the UDDI search criteria which would result in a resolved location such as a file location.
  • This windows application is part of the ESE Guidance. You can combine a Message and Itinerary separately can make a Web Service call.Run the programThe first service in the Itinerary transformed the order by having a SubmitOrder element wrapped around the messageThe second service routed the message to the out folderShow the message generatedShow the ESB.Agent project Delivery: Receive Msg Filter Expression Resolve Shape – Resolves message using helper class and set the TransportLocation and Transport Type Set Delivery Shape – Sets the Delivery properties of the messageThe third message ran an orchestration which returned the response.
  • Show UDDI searching on the Provider “Microsoft.Practices.ESB“, Service is “OrderFileServicev3“
  • All the key features are exposed as web services.Itinerary:accept external messages and submits them for processingResolver: Look up end points and resolve themBizTalk: exposes information about BizTalk hosts, orchestration, applications, and status.
  • Exception Management:Go to TestData Folder and drop “Request_EAIProcessHandler.xml” to “RequestPort” folderCheck the PostDecline and RepairSubmit folderException Explanation:The EAIProcess orchestration determines there is an exception and constructs a Fault message using ESB Exception classes. The orch then publishes the Fault message to the BizTalk Message Box through a direct-bound port, and the orchestration endsThere is a custom fault handler orchestration EAIProcessHandler, which subscribes to a FaultCode of 1000 and processes it.3) Edit fault in Portal and resubmit with a “Unit Price”4) The PostApproval folder will have the approved RequestRegistry (UDDI):Click Registry Tab, Global.ESB dropdownPublish “EAIProcessHandler.RepairSubmit” ServiceCheck in UDDI Services Tab and search “EAIProcessHandler.RepairSubmit”Drill down to the Access Point.My Settings: Enable the applications by default they were off.
  • BizTalk Server 2009 ESB Guidance 2.0 By Kevin Gock

    1. 1. ESB Guidance 2.0<br />Kevin Gock<br />http://www.itfocus.co.nz<br />
    2. 2. Agenda<br />Enterprise Service Bus (ESB)<br />ESB Guidance<br />Itinerary<br />Dynamic Endpoint Resolution<br />Web Services<br />ESB Management Portal<br />Demo<br />Questions?<br />
    3. 3. Definition of ESB<br />Implementation of an infrastructure for enabling a service oriented architecture (SOA)<br />Enterprise – Integrate assets of one company<br />Service – Provides services e.g. Routing, Transformation<br />Bus – Pluggable messaging endpoints<br />
    4. 4. Think of an ESB as ...<br />Collection of architectural patterns based on<br />Traditional enterprise application integration (EAI)<br />Message-oriented middleware<br />Web services<br />.NET and Java interoperability<br />Host system integration<br />Interoperability with service registries and asset repositories<br />
    5. 5. What does an ESB look like?<br />
    6. 6. What is the ESB Guidance?<br />Enhancements to BizTalk<br />Developed by Patterns and Practices Team<br />Extends BizTalk<br />Itinerary-based invocation<br />Dynamic endpoint resolution<br />Message routing using registry or rules engine<br />Web Services<br />Fault Management and Reporting<br />Integration with 3rd Party SOA Governance Solutions<br />Sample Applications<br />
    7. 7. Installation<br />Install:<br />BizTalk ESB Core, Exception Handling packages<br />Itinerary Designer<br />ESB Configuration Tool<br />Documentation<br />Source Code<br />Requires:<br />Windows 2008 <br />SQL Server 2008<br />Visual Studio 2008 SP1<br />Enterprise Library 4.0<br />Unity Application Block 1.1<br />Use Microsoft Hyper-V for virtualisation<br />
    8. 8. What is an Itinerary?<br />XML defining a sequence of Services to execute<br />Sent by a client as a SOAP header along with message<br />
    9. 9. How does an Itinerary work?<br />Client Sends Itinerary and Message (both flow together for each Service executed)<br />ESB Pipeline sets Itinerary values as message context properties<br />Itinerary Subscribers:<br />Orchestration or ESB Agent (name=Transform/Routing)<br />Filter for specific name, type, state<br />
    10. 10. Why have an Itinerary?<br />Makes message highly distributable. <br />Ability for any ESB container to process the message<br />Caller must be changed to pass Itinerary<br />
    11. 11. Dynamic Endpoint Resolution<br />Allows an Itinerary service endpoint to be resolved, dynamically at runtime.<br />Supported Resolvers:<br /> - UDDI - LDAP<br /> - Xpath - BRE<br /> - Static<br />
    12. 12. Dynamic Endpoint Resolution Example <br /> Itinerary – Resolvers XML Fragment:<br />Processing:<br />Transform message using BRE<br />Send the Order to<br />static file location<br />location resolved by using UDDI search<br />Send the response back to caller<br />
    13. 13. Why use Dynamic Endpoints?<br />Avoid consumers binding directly to a static endpoint. If endpoint changes then the consumer needs to change also.<br />Example:<br />Orchestration calls static WebServiceA<br />.NET app calls static WebServiceA<br />UDDI would be useful to lower maintenance by changing the UDDI registry only.<br />
    14. 14. Demo - ESB in Action!<br />
    15. 15. Demo - BRE<br />Resolver uses Itinerary’s data (policy=ResolveMap) for BRE to set transform<br />
    16. 16. Demo – STATIC, UDDI<br />Itinerary – Resolvers XML Fragment:<br />STATIC defines the full location so dynamic resolution doesn’t occur<br />UDDI resolves to physical drive location<br />
    17. 17. Creating Itineraries<br />Use VS 2008 with the ItineraryDsl project type<br />Validate and Export to XML<br />
    18. 18. Web Services<br />Itinerary On-ramp<br />Resolver<br />Transformation<br />Exception Handling<br />UDDI<br />BizTalk Operations<br />
    19. 19. ESB Management Portal Demo<br />
    20. 20. Summary<br />Guidance implementing an ESB, best practices and reducing effort<br />Loose coupling with Itinerary and Dynamic Endpoint Resolution<br />Lots of useful Web Services<br />Management of the ESB via a Portal (faults, UDDI)<br />Still in CTP2 so there are outstanding issues<br />Source code for ESB and samples<br />Extensible and Free!<br />
    21. 21. Questions?<br />
    22. 22. Thank you!<br />Kevin Gock<br />http://www.itfocus.co.nz<br />

    ×