10.11.2014 Views

Planning_and_Impleme.. - didier beck weblog

Planning_and_Impleme.. - didier beck weblog

Planning_and_Impleme.. - didier beck weblog

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Planning</strong> <strong>and</strong> <strong>Impleme</strong>nting SOA<br />

www.butlergroup.com<br />

There are also successful SOA deployments using Z/OS IBM mainframes (albeit using a Web services<br />

mechanism), ‘green-screen’ UNIX applications that pre-date client/server, <strong>and</strong> even very elderly proprietary<br />

operating environments. However, we should differentiate between enabling these legacy platforms for use in a<br />

SOA, <strong>and</strong> deploying a non-st<strong>and</strong>ards-based approach. Using adapters to expose the underlying service<br />

functionality of legacy applications is part <strong>and</strong> parcel of the SOA model, provided that the adapters offer a Web<br />

services messaging interface. Adapters might be Commercial Off-The-Shelf (COTS), customised COTS, or entirely<br />

custom-built. Technology that bears a striking resemblance to the screen-scraping used by early client/server<br />

deployments can be used to obtain access to applications for which no other mechanism is available.<br />

Many vendors that support legacy products are very happy to provide Web services adapters to their<br />

applications, or connectors to the underlying platform. For example:<br />

<br />

<br />

<br />

IBM’s CICS transaction server can operate in a SOA environment in a number of different ways. First of<br />

all CICS directly supports Web services interactions, but can also work with WebSphere application<br />

server clients via Java Connector Architecture (JCA). It can also operate with an ESB, as well as a Web<br />

services gateway, providing considerable flexibility to those organisations that need to continue to use<br />

their legacy CICS systems, but want to enable reuse within SOA projects.<br />

During 2006, BEA Systems announced that it was enhancing its legacy Tuxedo infrastructure with SALT<br />

– Service Architecture Leveraging Tuxedo. BEA’s SALT is a way of service-enabling its Tuxedo platform<br />

by providing a native Web services layer on top of Tuxedo. Tuxedo is built on BEA’s Application-to-<br />

Transaction Monitor Interface (ATMI) architecture, allowing both C <strong>and</strong> COBOL programming. It is a<br />

transaction server built on UNIX, comparable to the IBM mainframe CICS transaction server, suitable for<br />

complex, transaction-based applications such as billing. What SALT brings is like an ‘ESB for<br />

transactions’ – it implements an XA st<strong>and</strong>ard, so that transactions either happen or not – there is no grey<br />

area (in other words one part of a transaction is automatically undone if the overall transaction fails to<br />

complete). It offers two-phase commit capability.<br />

Oracle is introducing the idea of Service Beans in its next version of the Oracle E-Business Suite. These<br />

will allow the underlying services within the suite to be deployed in a range of different ways – as EJB<br />

Session Beans; as Web services; or as co-located Java API. The service bean encapsulates the<br />

implementation details, <strong>and</strong> provides a consistent <strong>and</strong> easy-to-use interface, allowing them to be used<br />

as building blocks within a SOA. Such services are then available for BPEL process management, <strong>and</strong><br />

they can consume <strong>and</strong> output Service Data Objects (to the JSR 235 specification).<br />

High-performance SOA need not be an oxymoron, but good<br />

underst<strong>and</strong>ing of issues is needed.<br />

This Section has outlined some of the performance challenges <strong>and</strong> some of the potential solutions. The<br />

question now is how to achieve the best compromise between agility <strong>and</strong> performance. The natural<br />

inclination within IT (charged for many years with squeezing a growing workload into a diminishing<br />

technology budget) is to look for the high performance solution. However, this<br />

is not the best approach in these new circumstances.<br />

The challenge here is<br />

to model the services<br />

that are meaningful<br />

to the business <strong>and</strong><br />

then map these to the<br />

underlying<br />

application(s) that can<br />

support the service.<br />

Since SOA is architecture, we should be able to separate the logical design<br />

from the physical. The logical service architecture should be designed only<br />

considering the business requirements to ensure the maximum reuse of<br />

services. The challenge here is to model the services that are meaningful to<br />

the business <strong>and</strong> then map these to the underlying application(s) that can<br />

support the service. This may not be a one-to-one mapping – in order to<br />

satisfy the requirements of a business service it might be necessary to<br />

integrate several applications. Equally, each application is likely to provide a<br />

range of functionality that is best divided between logical services.<br />

The scope of this analysis should be constrained to the project in question, but using the business analyst’s<br />

experience <strong>and</strong> insight to determine where reuse will be possible in subsequent projects.<br />

The next step is to form a model for the likely performance characteristics of each service, <strong>and</strong> to use<br />

capacity planning tools to determine the infrastructure requirements to support the anticipated workload.<br />

The market for SOA capacity planning is maturing well, with a variety of competent products now available.<br />

26 Section 1: SOA Deployment<br />

December 2006

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!