Herbjörn also recommended two books which I shall read soon:
- Domain Driven Design by Eric Evans
- Enterprise SOA Adoption Strategies by Steve Jones (CTO of Cap Gemini) -- this book is available online after registration on innoq.
My vision is the closed loop between business and IT (both on the same page). The Moebius loop perfectly symbolizes how different sides can "melt". Overcoming cultural, language and collaboration barriers while changing the role of IT is a prerequisite for successful digital transformation in my eyes.
Some SOA nerds may squirm after reading the ESB sections in this chapter. If you’re one of them, you may be inclined to have a near-religious belief in the classical view of ESB. In the classical view, an ESB is a critical piece of SOA infrastructure that sits between service providers and consumers. The services themselves are not hosted on the bus. We also strongly believe in the need for such infrastructure and address it in the later section “Understanding Service Mediation,” but we don’t believe that only products with an ESB label have a special right to be that piece of infrastructure.
In order to achieve maximum flexibility in your SOA, service consumers should never connect directly to the service implementations in the service-enablement layer. Instead, they should connect to the service interface hosted in a separate service-mediation layer.
The Microsoft ESB Guidance provides architectural guidance, patterns, practices, and a set of BizTalk Server and .NET components to simplify the development of an Enterprise Service Bus (ESB) on the Microsoft platform and to allow Microsoft customers to extend their own messaging and integration solutions. The Microsoft ESB Guidance consists of a series of interoperating components that support and implement a loosely coupled messaging environment that makes it easier to build message-based enterprise applications. The services and components fall naturally into the following seven categories:
- Web services. These expose internal services such as itinerary processing, exception management, resolution of endpoints and maps, BizTalk operations, UDDI interoperation, and transformation of message content.
- Itinerary services and centralized store. These include agents for performing transformations and message delivery. You can resolve itinerary from the store and create custom services that participate in Itinerary processing.
- Itinerary on-ramps. These receive external messages using either SOAP or WCF. On-ramps expose the itinerary SOAP header and perform itinerary processing, using the Microsoft ESB Guidance Resolver and Adapter Provider Framework for dynamic resolution of endpoints and metadata.
- On-ramps. These receive external messages in a range of formats and transports, such as HTTP, JMS, WMQ, FTP, Flat File, and XML. They are typical BizTalk receive locations that optionally use the Microsoft ESB Guidance pipeline components and the Microsoft ESB Guidance Resolver and Adapter Provider Framework for dynamic resolution of endpoints and metadata.
- Off-ramps. These implement send ports for the delivery of messages using formats and transports such as SOAP, WCF, JMS, WMQ, FTP, HTTP, Flat File, XML, or any other custom formats. They are typical BizTalk send ports that optionally use the Microsoft ESB Guidance pipeline components and the Microsoft ESB Guidance Resolver and Adapter Provider Framework for dynamic resolution of endpoints and metadata.
- Exception Management Framework. This includes the exception Web service, the exception management API, and components that enrich, process, and pass exception details to the ESB Management Portal.
- ESB Management Portal. This provides registry provisioning, exception mediation, alert notification, and analytics.