Microsoft ESB Toolkit
Microsoft announced a toolkit around the concept of ESB’s. It is delivered as guidance with full source etc. Due out in two weeks or so.
Here are my notes from the session about this on the SOA & Business Process Conference.
Building an ESB on the Microsoft platform - Lukas Cudridge & Brian Loesgen
ESB:
A better way to integrate existing systems
What is an ESB? It means different things to different people.
We need to agree on what an ESB is and what it does similar to what determines a beer to be a beer….
o Message Broker (Routing etc.)
o Message Transformation
o Message Validation
o Message-Oriented Middleware (fault tolerant etc.)
· Adaptation
· Service Orientation!?
An ESB is one important building block of a Service Oriented Infrastructure.
Service-Oriented Infrastructure
Supports SOAP and different native protocols.
Contains:
Service Registry
Service Management
Security
The ESB itself has:
o Adaptation (adapters to support the protocols)
o Orchestration
o Core Engine (Routing, Transformation, Exception Management)
CIM: Consumer Interceptor Module
SIM: Service Interceptor Module
CIM/SIM To connect endpoints to the Service Management, Security, Registry offering. (WSE filters, agents etc.)
WSDL defined SOAP
HTTP, JPS over WMQSeries
Support for WCF and XMS
CIM/SIM Functionality
Service Registry
Enterprise Service Catalog (including SLA's etc.)
Custom Publisher
Extended Taxonomy
Runtime lookup (also based on security policies)
Web Services Management -> Amberpoint
Metrics through CIM/SIM
Integration with MOM & Tivoli
Usage metrics
SLA Monitoring
Who is in the ESB Game?
A lot of releases….
ANNOUNCING: Microsoft is releasing the Microsoft ESB Guidance for Partners
o For BTS 2006
o Architectural Guidance
o ESB Core Engine
o Sample On/OFF Ramps
o Provisioning Framework
ESB Core Engine
o On/Off Ramps (receive and send port)
o Intermediary Functions (dynamic transformation, dynamic routing and exception management)
o Standardized metadata "envelope" (to make decisions what needs to happen inside of the ESB) implemented via BTS property schemas
o Resolution Mechanism (UDDI lookup, Call Custom assembly, Xpath expression in the message, BRE Policy)
o Provisioning and administration of the ESB (Portal)
ESB Core Engine - Transformation
o Re-usable component for dynamic message transformation
o Multiple transformation lookup mechanisms
o Integrated into exception handling mechanism (not deployed assembly, wrong biztalk map name, not deployed map etc.) -> publish exception message
ESB Core Engine - Routing
o Re-usable component for dynamic message routing
o Multiple runtime endpoint lookup mechanisms
o Accommodates protocol-specific nuances
o Integrated into exception handling mechanism (same story) -> publish exception message
ESB Core Engine - Exception Management
o Message-oriented exception handling
o Apps Publish exception messages, handlers subscribe to them
o Generic Handlers provided (to handle exception messages)
o Architecture enables highly targeted handlers
Common mechanism to publish and subscribe to exceptions anywhere (in orchestrations, pipelines, assemblies etc.) handlers have a lot of additional properties at their disposal (message body, properties etc. etc.)
Flow Control
o Processing Instructions
o Itineraries (sequence of steps)
o State
Extending the reach - Orchestration
o Implement additional business processes
o Choreograph multiple services to create modular business services
o Web service aggregation and re-publishing….
o ……………
Extending the reach - provisioning
o End-point definition via simplified, task-centric user interface
o Could integrate with a registry
o Enables portal-based end-point publication/discovery
o Integratie external parties into ESB exchanges
ESB Infrastructure
Flexible distributed architecture (clusters, multiple messageboxes, separate boxes for receiving, processing, sending)
Metrics and Monitoring
o Infrastructure level health monitoring
o Operation-level monitoring & metrics
o Biztalk Server-level monitoring & metrics
Developer SDK
o Developer's Guide to the ESB Core Engine (how to use the Core Engine, not necessarily the internals)
o VM with ESB Core Engine installed
o Sample applications
o Sample unit tests
o Sample Automated Build Processes
Microsoft's products and technologies today offer a superset of ESB functionality.
Toolkit available in 2 weeks.