46 Patterns: Implementing Self-Service in an SOA Environment
Vitally, there is no capability to substitute one implementation of a service
provider for another without changing the service consumers. Clients and
provider code tend to be bound to service invocations over specific protocols and
to specific addresses.
In conclusion, the use of basic Web services technologies on their own is not
sufficient to build an ESB. This technology only supports a subset of the
minimum capabilities that an ESB needs to provide. Support of the Web services
technologies is highly desirable within the ESB, as is support for other
technologies that are required in combination to fully implement an ESB
infrastructure.
3.2.6 Extended ESB capabilities
The minimum capabilities described in 3.2.4, “Minimum ESB capabilities” on
page 43 can help assess the suitability of individual technologies or products for
implementing an ESB. However, checking your avialable technologies against
these minimum capabilities will establish only those technologies that are
candidates. The detailed requirements of any particular scenario drive additional
ESB capabilities that can then be used to select specific, appropriate products.
In particular, the following types of requirements are likely to lead to the use of
more sophisticated technologies, either now or over time:
򐂰 Non-functional requirements such quality of service demands and
service-level capabilities
򐂰 Higher-level SOA concepts, such as a service directory, and transformations
򐂰 Advanced management capabilities, such as system management, and
autonomic and intelligent capabilities
򐂰 Truly heterogeneous operation across multiple networks, multiple protocols,
and multiple domains of disparate ownership
Figure 3-6 on page 47 shows the vision of the IBM On Demand Operating
Environment based on SOA.
Chapter 3. SOA and the Enterprise Service Bus 47
Figure 3-6 On Demand Operating Environment architecture
Figure 3-6 shows the capabilities that the ESB requires to facilitate the
interactions between the levels in the On Demand Operating Environment. These
capabilities include service level, service interface, quality of service, intelligence,
communication, security, message management, modeling,
management/automation, and integration capabilities.
If we consider the requirements for an ESB in light of both the minimum
requirements described in 3.2.4, “Minimum ESB capabilities” on page 43 and the
IBM On Demand Operating Environment requirements, then several additional
capability requirements can be identified, as shown in Table 3-3 on page 48.
Note that many situations not in the On Demand Operating Environment can also
require some of these capabilities in addition to the minimum requirements.
Service Level Automation and Orchestration
Integration Services
Information
Management
Services
Co mmon
Services
Business
Function
Services
Business
Process
Choreography
Services
User
Access
Services
Security
Message Processing
Modeling
Integration
Mgmt & Autonomic
Service Level
Intelligence
Communication
Enterprise Service Bus
Utility Business Services
Resource Virtualization
Infrastructure Services
Busi ness
Performance
Management
Business
Service
Business
Service
U
S
E
R
B
U
S
I
N
E
S
S
Busi ness
Services
Quality of Service
Service Interaction
User
Interaction
Services
48 Patterns: Implementing Self-Service in an SOA Environment
Table 3-3 Categorized ESB capabilities
Communication Service interaction
򐂰 Routing
򐂰 Addressing
򐂰 Protocols and standards (HTTP,
HTTPS)
򐂰 Publish/subscribe
򐂰 Response/request
򐂰 Fire and forget, events
򐂰 Synchronous and asynchronous
messaging
򐂰 Service interface definition (WSDL)
򐂰 Substitution of service implementation
򐂰 Service messaging models required
for communication and integration
(SOAP, XML, or proprietary
Enterprise Application Integration
models)
򐂰 Service directory and discovery
Integration Quality of service
򐂰 Database
򐂰 Legacy and application adapters
򐂰 Connectivity to enterprise application
integration middleware
򐂰 Service mapping
򐂰 Protocol transformation
򐂰 Data enrichment
򐂰 Application server environments
(J2EE and .Net)
򐂰 Language interfaces for service
invocation (Java, C/C++, or C#)
򐂰 Transactions (atomic transactions,
compensation, WS-Transaction)
򐂰 Various assured delivery paradigms
(WS-ReliableMessaging or support
for Enterprise Application Integration
middleware)
Security Service level
򐂰 Authentication
򐂰 Authorization
򐂰 Non-repudiation
򐂰 Confidentiality
򐂰 Security standards (Kerberos,
WS-Security)
򐂰 Performance (response time,
throughput and capacity)
򐂰 Availability
򐂰 Other continuous measures that might
form the basis of contracts or
agreements

Get Patterns: Implementing Self-Service in an SOA Environment now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.