The Top 5 Pitfalls for SOA - ASPE
The Top 5 Pitfalls for SOA - ASPE
The Top 5 Pitfalls for SOA - ASPE
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.