03.06.2015 Views

The Top 5 Pitfalls for SOA - ASPE

The Top 5 Pitfalls for SOA - ASPE

The Top 5 Pitfalls for SOA - ASPE

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>The</strong> <strong>Top</strong> 5 <strong>Pitfalls</strong> <strong>for</strong> <strong>SOA</strong><br />

A WHITE PAPER PREPARED FOR <strong>ASPE</strong> TECHNOLOGY<br />

www.aspetech.com toll-free: 877-800-5221


<strong>Top</strong> 5 <strong>Pitfalls</strong> <strong>for</strong> <strong>SOA</strong><br />

Service Oriented Architecture (<strong>SOA</strong>) is one of the most important developments in recent IT<br />

history. Everyone has something to say about <strong>SOA</strong>, and a huge industry has grown up around<br />

tools, languages, plat<strong>for</strong>ms and frameworks <strong>for</strong> <strong>SOA</strong>. In addition there are a sometimes<br />

bewildering number of standards to learn.<br />

All of this produces a strong sense of urgency to get started. <strong>The</strong>re are, however, several pitfalls<br />

which can seriously delay or completely derail an ef<strong>for</strong>t to implement an <strong>SOA</strong>.<br />

1 - Foundation of Sand<br />

Confusion about where to start is one of the most common pitfalls on the way to a service<br />

oriented architecture. Which data should be warehoused? How do we achieve timely and reliable<br />

data updates? What services do we need? Which existing systems should be exposed as<br />

services, and how?<br />

All of these questions, and more, can be answered by modeling your enterprise. This entails<br />

analyzing your enterprise's data and processes – specifically looking at data and process<br />

normalization, understanding the interactions and interdependencies of existing systems and<br />

data stores, and pin-pointing bottlenecks, and redundancies.<br />

I'm talking about creating a detailed object model – using UML 1 – with use case, package, class,<br />

activity and sequence diagrams, at very least. <strong>The</strong> service oriented architecture is a profoundly<br />

object oriented architecture – a logical outgrowth of many decades of OO research. <strong>The</strong> ability to<br />

use this model to uncover existing (and potential) problems, and to design both an IT<br />

architecture and its components is critical to making a successful transition to <strong>SOA</strong>.<br />

In fact, this might very well be critical to simply staying in business! In addition to the obvious<br />

analysis and design benefits, an up-to-date object model is fantastic documentation. If only one<br />

person really understands a system, and then gets hit by a bus... 2 well... you get the point. <strong>The</strong><br />

practice of maintaining an up-to-date enterprise model is a very good idea – <strong>SOA</strong> or not.<br />

Creating this model is a two stage process.<br />

First, you need to understand your existing IT landscape. What data is where? Which processes<br />

need which data? How does everything fit together now – be<strong>for</strong>e any changes are made on the<br />

way to an <strong>SOA</strong>. No successful architecture can be built until the current IT implementation is fully<br />

understood. Otherwise we risk building our house on a foundation of sand. This might be thought<br />

of as the base, or current model.<br />

Next, the current and future requirements of the enterprise (including <strong>SOA</strong>) are analyzed and<br />

worked into the model – giving us a start on the future <strong>SOA</strong> based model. <strong>The</strong> tools used include<br />

enterprise patterns, re-factoring techniques, various software metrics, and others.<br />

Since the enterprise model is fundamental to both current understanding and future<br />

development, it is the logical first step towards <strong>SOA</strong>.<br />

1 Universal Modeling Language, http://www.oma.org<br />

2 “<strong>The</strong> Bus Effect” - Attributed to Grady Booch, source unclear (Grady Booch, Object Solutions,<br />

Addison-Wesley?)<br />

White paper prepared <strong>for</strong> <strong>ASPE</strong> Technology<br />

Authorship © 2008, Objectech Corporation. All rights reserved.


<strong>Top</strong> 5 <strong>Pitfalls</strong> <strong>for</strong> <strong>SOA</strong><br />

2 - Over-reaching, Biting Off Too Much at Once<br />

<strong>The</strong> only reasonable excuse <strong>for</strong> adopting a new technology is to increase productivity. Why<br />

endure the disruption, cost and risk of new technology unless the “payback” is worth it in terms of<br />

improved production and quality? <strong>The</strong> promises of <strong>SOA</strong> are very tempting, and the productivity<br />

gains are well documented, it would be easy to say “let's just replace everything!” It's not that<br />

simple.<br />

No matter what the technology, the first result of transition is a loss of productivity. It stands to<br />

reason; you have abandoned one technology where you have considerable expertise, and have<br />

adopted a new technology where you are a rank amateur. <strong>The</strong> reality is that mistakes will be<br />

made, and things will need to be done over be<strong>for</strong>e you have clawed yourself up the learning<br />

curve far enough to begin to show improved productivity as a result of the new technology.<br />

<strong>The</strong> only reasonable way to address this is to begin with a small project – one which is needed<br />

but not currently mission-critical. If, as is very likely, it takes more time to implement, needs some<br />

re-working, and even needs a re-start, it won't severely damage the enterprise's IT operation.<br />

<strong>The</strong>re is a second, very real, benefit to proceeding this way: you will be grooming some in-house<br />

expertise <strong>for</strong> future projects. <strong>The</strong> personnel who have “taken their knocks” on this project will be<br />

very well suited <strong>for</strong> leadership roles in other projects. <strong>The</strong> new projects won't have to re-live the<br />

pains of the first project – since they will have some history on-board.<br />

Remember, it's not only the new architecture that needs to be learned, but the tools, techniques<br />

and plat<strong>for</strong>ms have their own learning curves too.<br />

3 - Poor choice - over reliance on tools<br />

"A fool with a tool is still a fool." 3<br />

It seems unnecessary to point out that <strong>SOA</strong> is a concept – an architecture – but my experience is<br />

that IT departments seem to <strong>for</strong>get this on a regular basis. Concepts are analyzed and designed<br />

by human minds, not software tools. No tool, however sophisticated, can analyze an enterprise's<br />

IT strategy, design a response, and implement the solution; they are, after all, just assistants.<br />

I'm not advocating the avoidance of tools, by no means, but I can't over-emphasize the human<br />

factor. A thorough understanding of principles and practices is absolutely necessary. <strong>The</strong><br />

hammer doesn't build the house, the carpenter does.<br />

<strong>The</strong>re is an insidious facet to tools – they have their own agenda, their own way of seeing things.<br />

<strong>The</strong>re is nothing inherently wrong with that, except that if the tool-user isn't well versed in the<br />

underlying technology, the tool will impose its way on the developing system. This often results in<br />

over-complication, mis-matched solutions and arbitrary implementation.<br />

In fact, over-reliance on tools can contribute to the 4 th pitfall – Over Standardization.<br />

3 Often attributed to Grady Booch – http://gsehl.editme.com/TestingQuotes<br />

White paper prepared <strong>for</strong> <strong>ASPE</strong> Technology<br />

Authorship © 2008, Objectech Corporation. All rights reserved.


<strong>Top</strong> 5 <strong>Pitfalls</strong> <strong>for</strong> <strong>SOA</strong><br />

4 - Over-standardization – One Size Fits All<br />

“When all you have is a hammer, everything looks like a nail” 4<br />

Basing an entire enterprise's IT architecture on one or two solutions (tools, languages,<br />

structures, etc.) inevitably produces exactly the opposite result promised by <strong>SOA</strong> – a rigid, hard<br />

to change system. <strong>The</strong>se results don't achieve the productivity gains at the core of the <strong>SOA</strong><br />

promise.<br />

This is especially true at the service level. Whether services are purchased, contracted <strong>for</strong>, or<br />

built in-house each one must be analyzed, designed and implemented on a one by one basis.<br />

<strong>The</strong>re is a very good chance that one or more services would benefit from a different language,<br />

tool or plat<strong>for</strong>m.<br />

This can be difficult to apply. Many tools and plat<strong>for</strong>ms are expensive. Personnel have been<br />

trained on these systems, the cost has been sunk. It is, however, very important not to fall into<br />

this trap. Designs are like one size fits all clothing, it may fit everyone, but it doesn't fit anyone<br />

well. Remember, analysis and design is a process of revealing structure and <strong>for</strong>m (guided by<br />

requirements), not imposing it.<br />

This is one good reason to consider purchasing “off the shelf” services, or having services<br />

custom built by outside vendors (outsourced). <strong>SOA</strong>, outsourcing and software factories 5<br />

5 - Bad advice / technical knowledge – Power of the internal "expert" 6<br />

This is a particularly vexing problem. You have probably been exposed to one of these “experts”,<br />

it is by no means limited to <strong>SOA</strong> projects. <strong>The</strong>y know all the buzzwords. <strong>The</strong>y can cite chapter<br />

and verse from a <strong>for</strong>midable bibliography of technical literature.<br />

Management is lulled into a false sense of security – the expert has all of the answers, or so it<br />

seems. <strong>The</strong> IT staff is intimidated – the expert has the blessing of management, and appears to<br />

have special knowledge.<br />

Un<strong>for</strong>tunately, the expert hasn't a clue how to achieve any of this; all talk, no action. Projects bog<br />

down in endless analysis – analysis paralysis. Remember that the measure of a successful<br />

project is running code, not the weight of the documentation.<br />

This is really a management problem. To solve it requires management, both from the traditional<br />

top-down and from the bottom-up approaches. <strong>The</strong> “expert” needs to go. <strong>The</strong>re are several<br />

approaches possible.<br />

Outside consultants can be of considerable help here. <strong>The</strong>ir expertise can either validate or<br />

repudiate the “expert's” proclamations. Since consultants aren't as tightly bound in the politics of<br />

the organization, they are more able to call out the emperor's new clothes.<br />

It may also be necessary <strong>for</strong> co-workers to do extra work – to show the viability of alternative<br />

4 Ubiquitous saying – citations as long ago as the 1800s<br />

5 Jack Greenfield, et. al. - Software Factories - Wiley<br />

6 Douglas K. Barry - Web Services and Service-Oriented Architectures – Morgan Kaufmann<br />

White paper prepared <strong>for</strong> <strong>ASPE</strong> Technology<br />

Authorship © 2008, Objectech Corporation. All rights reserved.


<strong>Top</strong> 5 <strong>Pitfalls</strong> <strong>for</strong> <strong>SOA</strong><br />

approaches. Extra work is never a popular option. It may also be politically risky to speak out.<br />

In the end education is the answer; education of Management and education of co-workers. <strong>The</strong><br />

better everyone understands the technology, the less disruptive the “expert” becomes.<br />

- - -<br />

Bibliography<br />

Web Services and Service-Oriented Architectures: <strong>The</strong> Savvy Manager's Guide by Douglas<br />

K. Barry, Morgan Kaufmann, ISBN: 1558609067<br />

Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services by Thomas<br />

Erl, Prentice-Hall, ISBN: 0131428985<br />

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, by<br />

Gregor Hohpe, Bobby Woolf, Addison-Wesley, ISBN: 0321200683<br />

Object Solutions: Managing the Object-Oriented Project, by Grady Booch, Pearson<br />

Education,ISBN: 0805305947<br />

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools, by<br />

Jack Greenfield, Keith Short, Steve Cook, and Stuart Kent, Wiley, ISBN: 0471202843<br />

White paper prepared <strong>for</strong> <strong>ASPE</strong> Technology<br />

Authorship © 2008, Objectech Corporation. All rights reserved.

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

Saved successfully!

Ooh no, something went wrong!