Kevin Gock

advertisement
ESB Guidance 2.0
Kevin Gock
http://www.itfocus.co.nz
• Enterprise Service Bus (ESB)
• ESB Guidance
– Itinerary
– Dynamic Endpoint Resolution
– Web Services
– ESB Management Portal
• Demo
• Questions?
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
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
• 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
Install:
• 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
• XML defining a sequence of Services to
execute
• Sent by a client as a SOAP header along with
message
1.
2.
3.
•
•
Client Sends Itinerary and Message (both flow together for each
Service executed)
ESB Pipeline sets Itinerary values as message context properties
Itinerary Subscribers:
Orchestration or ESB Agent (name=Transform/Routing)
Filter for specific name, type, state
• Makes message highly distributable.
• Ability for any ESB container to process the
message
Caller must be changed to pass Itinerary
Allows an Itinerary service endpoint to be
resolved, dynamically at runtime.
Supported Resolvers:
- UDDI
- LDAP
- Xpath
- BRE
- Static
• Itinerary – Resolvers XML Fragment:
Processing:
1. Transform message using BRE
2. Send the Order to
– static file location
– location resolved by using UDDI search
3. Send the response back to caller
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 WebServiceA
UDDI would be useful to lower maintenance by
changing the UDDI registry only.
• Resolver uses Itinerary’s data
(policy=ResolveMap) for BRE to set transform
• Itinerary – Resolvers XML Fragment:
• STATIC defines the full location so dynamic
resolution doesn’t occur
• UDDI resolves to physical drive location
• Use VS 2008 with the ItineraryDsl project type
• Validate and Export to XML
•
•
•
•
•
•
Itinerary On-ramp
Resolver
Transformation
Exception Handling
UDDI
BizTalk Operations
• 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!
Kevin Gock
http://www.itfocus.co.nz
Download