Planning_and_Impleme.. - didier beck weblog
Planning_and_Impleme.. - didier beck weblog
Planning_and_Impleme.. - didier beck weblog
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 />
Governance can be split into design-time governance <strong>and</strong> run-time. Design-time governance covers service<br />
assets within a registry <strong>and</strong>/or repository. Such assets can include the service description (WSDL),<br />
documentation, schemas, namespaces, taxonomies, Business Process<br />
Execution Language (BPEL), <strong>and</strong> so on.<br />
One of the key<br />
aspects of designtime<br />
governance is<br />
the need to control<br />
what is developed,<br />
which should always<br />
be driven by the<br />
business need.<br />
One of the key aspects of design-time governance is the need to control what<br />
is developed, which should always be driven by the business need. One<br />
organisation found that when it identified a particular business-relevant<br />
service, <strong>and</strong> then investigated what existed that could be mapped to that<br />
service, it found that there were already some 20-odd versions of that service<br />
in existence – requiring significant re-design to consolidate. However, good<br />
governance must not st<strong>and</strong> in the way of innovation; it should seek to de-risk<br />
it. This will be one of the greatest challenges to the IT function – how to<br />
manage SOA carefully without restricting the organisation.<br />
Run-time management <strong>and</strong> governance will converge with traditional<br />
systems management.<br />
St<strong>and</strong>ard IT systems management usually covers applications that operate on one platform, although of<br />
course there are already technologies that enable common management across several platforms. However,<br />
as an organisation starts to deploy SOA-based applications, management of an operational SOA will require<br />
additional thought <strong>and</strong> preparation.<br />
The major challenge for management of SOA is that the services may not all be within the same domain.<br />
Service management consoles are used to monitor <strong>and</strong> manage performance issues within an organisation’s<br />
infrastructure, but when a service could be running externally to the<br />
organisation, it is necessary to then establish performance metrics about that<br />
service in a st<strong>and</strong>ards-based manner.<br />
Run-time governance usually concerns the messages flowing across the<br />
message transport system, <strong>and</strong> usually relates to SOA policy <strong>and</strong> security<br />
management. However, run-time governance can also control elements such<br />
as routing <strong>and</strong> transformation – capabilities that can be performed by an ESB<br />
but could also be carried out by policy management.<br />
Run-time governance<br />
usually concerns the<br />
messages flowing<br />
across the message<br />
transport system, <strong>and</strong><br />
usually relates to SOA<br />
policy <strong>and</strong> security<br />
management.<br />
The run-time management aspects cover logging (auditing), performance<br />
management, monitoring, <strong>and</strong> alerts. Such run-time management may be<br />
particularly relevant if a service fails to run as expected, allowing a request to<br />
be routed to a back-up or alternative service that is available, but which may have a different cost. An<br />
example of this might be a credit-check service. Usually the organisation might use a low-cost service, but<br />
if this is not available for some reason then it may be appropriate to access a more expensive alternative,<br />
or it may be preferable to wait until the cheaper one is available. Policies may need to be accessed here to<br />
help make the decision.<br />
Routing of messages may be used to perform load-balancing functionality in order to improve performance.<br />
For example, if some services had a very high service level defined, then it may be necessary for the SOA<br />
management infrastructure to hold back services with a lower Service Level Agreement (SLA) to enable<br />
critical services to be performed first in order to meet the required SLA, <strong>and</strong> also to send alerts if the critical<br />
SLA is breached. Many organisations will require the ability to define quality of service requirements for<br />
individual services, creating a graded service structure.<br />
SOA governance tools usually include the ability to define <strong>and</strong> maintain policies for service management.<br />
Some products on the market allow different qualities of service to be made available; for example, IONA’s<br />
Artix Enterprise Service Bus can be extended to provide quality of service capability, but is also available<br />
without this if service level monitoring is not required.<br />
One issue that is particularly likely to arise where a service is used by many third parties is the potential<br />
for it to become over-used, <strong>and</strong> here the SOA management offering will need to have the ability to ‘throttle’<br />
services to restrict them in order to prevent it impacting others adversely.<br />
16 Section 1: SOA Deployment<br />
December 2006