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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

www.butlergroup.com<br />

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

Network appliance alternatives to traditional server/software<br />

implementation can offer cost/performance benefits.<br />

As described earlier, the ESB is really a suite of functionality that provides the means of moving the right<br />

message, in the right format, to the right recipient, in the right sequence. Commercial ESB suites are themselves<br />

built on SOA principles so that functionality can be added without a major reconstruction of the environment.<br />

This is important for the ability to add governance features <strong>and</strong> other ‘optional’ properties to a live SOA<br />

environment. The architecture also means that services provided by the ESB can be removed or replaced by<br />

functionally-equivalent alternatives. This has enabled a sub-market of ESB<br />

features deployed as network appliances rather than as software on a server.<br />

This idea is a logical extension of several mainstream security features commonly<br />

implemented as appliances. In particular, firewalls were originally implemented as<br />

software on conventional servers. but have been implemented as network<br />

appliances as the mainstream deployment mechanism for many years. It is<br />

simply more cost-effective to deploy firewalls in this way.<br />

By the same logic, several services provided by an ESB might be more costeffective<br />

if removed from a general-purpose server <strong>and</strong> implemented instead as<br />

network appliances. Potential c<strong>and</strong>idates for this treatment are XML firewall, XML<br />

schema parsing, XML encryption/decryption, content-based message routing, <strong>and</strong><br />

possibly other functionality also. This approach offloads tasks from the server to<br />

free its resources for business-related work, <strong>and</strong> moves the network-centric logic<br />

down into the network itself. Several vendors provide products that are well-worth evaluating as part of an overall<br />

strategy for dealing with SOA performance. Again, because of the adaptability that SOA offers, these appliances<br />

can be retrofitted to an established SOA environment.<br />

Although the use of network appliances implies an additional expenditure, their use can defer the need for extra<br />

server capacity. The main advantage, however, is that they can make a significant difference to performance <strong>and</strong><br />

throughput without having to compromise the SOA agility.<br />

Run-time deployment of SOA-based applications does not always mean<br />

using Web services.<br />

Any discussion of SOA tends to start out with the assumption of the use of Web services throughout. Wherever<br />

services are to be integrated that are outside of the corporate environment. it is still advisable to use Web services<br />

as the underlying mechanism. This is because security concerns can be dealt with more directly through the<br />

common st<strong>and</strong>ards provided by Web services, <strong>and</strong> because any use of proprietary interfaces will leave the parties<br />

unable to change their services without impacting their partners. An exception to this would be where a particular<br />

industry has already established st<strong>and</strong>ards that pre-date Web services (<strong>and</strong><br />

preferably use a private network for communication rather than the public Internet).<br />

At the outset, it is<br />

worth pointing out<br />

that both .NET <strong>and</strong><br />

J2EE are suitable<br />

deployment<br />

infrastructures for SOA.<br />

...several services<br />

provided by an ESB<br />

might be more costeffective<br />

if removed<br />

from a generalpurpose<br />

server <strong>and</strong><br />

implemented instead<br />

as network<br />

appliances.<br />

For internal deployment, there are several alternatives to the Web services paradigm.<br />

At the outset, it is worth pointing out that both .NET <strong>and</strong> J2EE are suitable<br />

deployment infrastructures for SOA. Within a .NET only or J2EE only environment,<br />

there are few adaptability compromises to be made, in return for which significantly<br />

reduced overheads can be expected. The objects natively exposed by Java <strong>and</strong> .NET<br />

may still take part in an orchestrated sequence of events as part of composite<br />

applications or automated business processes. However, security issues must be<br />

managed in the traditional way rather than letting ESB products be guided by the Web services policy statements.<br />

Greater constraints will be experienced if it is subsequently required to replace a native .NET or J2EE service with<br />

hosted software as a service. Common Object Request Broker Architecture (CORBA)-based applications have<br />

similar properties to J2EE <strong>and</strong> .NET in terms of their use within SOA. However, there are few substantial IT<br />

environments where it would be possible to implement a wide-reaching SOA solution within a single technology. In<br />

a mixed environment, without the use of Web services, the ESB has to be made aware of the physical properties<br />

of the services. This may be of little consequence in the initial deployment, but will be a constraint of future<br />

adaptability when the time comes to replace legacy applications.<br />

December 2006 Section 1: SOA Deployment 25

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

Saved successfully!

Ooh no, something went wrong!