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 />

Policies must be able to change, based on their usage over time. An example of this might be that a policy<br />

has been defined stating that e-mails to ‘Gold’ customers must always be checked by a manager, to ensure<br />

that they are polite, <strong>and</strong> follow guidelines for customer interactions. But how many times does the manager<br />

actually change the e-mail when it is checked? Can a customer service representative (or automated<br />

process) be regarded as sufficiently trusted to cut out this checking step altogether? The policy could be<br />

applied to untrusted or new people or services, but not once trust has been established.<br />

Policy is thus not always static. Some elements of policy are likely to be immutable (due to compliance<br />

requirements); others are more flexible, as illustrated by the e-mail checking example above. It will be<br />

necessary to report on policy usage <strong>and</strong> provide audit trails over time in order to provide the feedback into<br />

an iterative improvement process. The end result is that policy specification must be separable from policy<br />

implementation. SOA policy is an area that has seen a number of providers coming to market with products,<br />

<strong>and</strong> then establishing relationships with, or even being acquired by the bigger infrastructure players.<br />

When reviewing requirements for policy management <strong>and</strong> implementation, the following points should be<br />

considered:<br />

<br />

<br />

<br />

Policies should not be hard coded.<br />

Policies need to be enforced in a distributed manner.<br />

Actions <strong>and</strong> tasks should be checked against policies at run-time.<br />

St<strong>and</strong>ards in this area are still developing, but again there is a likely c<strong>and</strong>idate – the WS-Policy framework,<br />

which describes the rules, capabilities, <strong>and</strong> constraints of a Web service. The framework covers three<br />

A policy description<br />

can be made up of<br />

one or more policy<br />

assertions; examples<br />

include service<br />

requirements,<br />

preferences,<br />

characteristics,<br />

capabilities, <strong>and</strong> rules.<br />

specifications; WS-Policy, WS-Policy Assertions (which covers the service<br />

properties expressed by a policy description), <strong>and</strong> WS-Policy Attachments. It<br />

is a part of the WS-Security framework. A policy description can be made up<br />

of one or more policy assertions; examples include service requirements,<br />

preferences, characteristics, capabilities, <strong>and</strong> rules. Each assertion may be<br />

required or optional – for example, a preference is likely to be optional,<br />

whereas a rule will be compulsory. It is possible that a different policy should<br />

apply to a service depending on where <strong>and</strong> when that service is deployed –<br />

an example of this might be in the Financial Services sector, particularly in<br />

securities trading, where depending on where the trade request is placed,<br />

different legislation may apply to commissions <strong>and</strong> payment terms etc.<br />

When assembling services into a composite application, it is necessary to<br />

protect the whole extended ‘application’ via a policy managed solution, without altering the existing<br />

services. Policy <strong>and</strong> security therefore need to be separately managed outside the ‘application’ layer.<br />

Security issues for SOA are more complex than in older architectures.<br />

When developing any application, the issue of security is one that must be carefully considered. In an<br />

application-centric world, developers must consider security carefully, <strong>and</strong> may well need to spend a<br />

significant part of development time within each application on this. Security within a SOA world is different<br />

from the tightly coupled world in that security information needs to be shared, passed around, <strong>and</strong><br />

understood across multiple services.<br />

A service provider does not know who or what will be accessing the service – this is the essence of decoupling.<br />

Securing the perimeter of an organisation with firewalls, Virtual Private Networks (VPNs), or<br />

security appliances will not work in a service-oriented environment that needs to set up new external<br />

relationships quickly <strong>and</strong> flexibly. Even internally, a service-oriented approach still needs security issues to<br />

be extrapolated out of the service <strong>and</strong> into the infrastructure. For this to then work across a heterogeneous<br />

architecture, st<strong>and</strong>ards will be vital.<br />

Secure access to business applications <strong>and</strong> to support integration between different applications is vital.<br />

There are five common security requirements – identification, authentication, authorisation, confidentiality,<br />

<strong>and</strong> integrity. On top of this there must always be an audit trail to prove conformance.<br />

20 Section 1: SOA Deployment<br />

December 2006

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

Saved successfully!

Ooh no, something went wrong!