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

<br />

<br />

Not st<strong>and</strong>ardising SOA – this is especially relevant for larger organisations, where a number of different<br />

projects running in parallel could result in very differently designed services that cannot then be<br />

integrated or composed in the future. A way to overcome this would be to have a single proof-of-concept<br />

project to establish good practices that can then be spread throughout the organisation on future<br />

projects. Similar services may be developed in different regions of the organisation because information<br />

is not being shared. This will occur for organisational <strong>and</strong> political reasons but should be minimised by<br />

good governance.<br />

Not underst<strong>and</strong>ing SOA performance requirements – SOA is likely to introduce multi-layered processing,<br />

<strong>and</strong> certainly when Web services are used, there is a deep dependence on XML data representation. This<br />

can cause performance issues unless hardware is scaled appropriately <strong>and</strong> performance is considered at<br />

design time.<br />

One of the first<br />

essentials will be to<br />

set up the<br />

organisational<br />

structures in people<br />

terms to ensure good<br />

management <strong>and</strong><br />

governance.<br />

Some of these issues can be overcome by good design, but a sound<br />

management <strong>and</strong> governance capability should be planned in from an early<br />

stage to avoid these issues.<br />

One of the first essentials will be to set up the organisational structures in<br />

people terms to ensure good management <strong>and</strong> governance. Who (as in ‘what<br />

department’, as well as ‘what role’) should be responsible for monitoring,<br />

defining, <strong>and</strong> authorising changes to existing services that will exist within an<br />

organisation? Some kind of internal governing body should be set up to take<br />

on this responsibility. However, there are alternative models – central <strong>and</strong><br />

distributed.<br />

With central governance, the body should have representation from each of<br />

the areas that are affected by services (both technical <strong>and</strong> business, including<br />

subject matter experts), <strong>and</strong> it will be wise to have an independent arbitration<br />

function as well to help resolve issues. This governing body will then review<br />

proposed new services, approve the removal of unused services, <strong>and</strong> where<br />

appropriate, changes to existing services.<br />

A distributed<br />

governance approach<br />

would involve each<br />

business unit having<br />

its own body to<br />

monitor services that<br />

are relevant to that<br />

business unit.<br />

A distributed governance approach would involve each business unit having<br />

its own body to monitor services that are relevant to that business unit. This<br />

is likely to be more appropriate for a highly distributed organisation that<br />

already has autonomous management. Whichever model is suitable (<strong>and</strong> a<br />

mixed model may be appropriate), the role of the governing body is to define good practices <strong>and</strong> st<strong>and</strong>ards<br />

for services, including the architectural <strong>and</strong> procedural guidelines for their use, <strong>and</strong> to oversee their<br />

deployment.<br />

Some of the key questions that arise around SOA management <strong>and</strong> governance include:<br />

Who has access to services?<br />

Who is allowed to create them?<br />

How do you write new versions of that same service?<br />

What happens when they are updated?<br />

What are the rules <strong>and</strong> polices around upgrades?<br />

Good metadata management is also a key part of successful SOA. Defining the st<strong>and</strong>ards to be used, for<br />

example for different data elements (such as in identifying a customer, which may have a customer ID for<br />

internal use to uniquely identify a customer, <strong>and</strong> a customer login ID which is used by the customer to<br />

access a service) is important. The data dictionary concept beloved by mainframe systems is actually a<br />

highly beneficial model – providing clear <strong>and</strong> accessible information about what data is, <strong>and</strong> how it should<br />

be used within the organisation. Where services cross organisational boundaries, it will be necessary to then<br />

use agreed st<strong>and</strong>ards (such as Electronic Data Interchange (EDI) st<strong>and</strong>ards, Interactive Financial Exchange<br />

(IFX) st<strong>and</strong>ards, <strong>and</strong> so on).<br />

14 Section 1: SOA Deployment<br />

December 2006

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

Saved successfully!

Ooh no, something went wrong!