You are on page 1of 4

A World of 2.

We bought expensive Enterprise


Service Bus (ESB) infrastructure, so
rather than investing in staff training,
the board assumed their developers

Assumptions we’ve already implemented SOA.


3. We’re already an SOA company! “We
could learn about SOA on the job.

That Make an did one project, so we know how


these things work.”
Introduction to the Project
(See assumptions 1 and 6)

SOA Project the • Project-specific assumptions:


On the first Monday morning of
each month, project managers attend a

Perfect Storm— 4. How different can SOA be from


what we’ve been doing already? My
portfolio meeting to hear about news
and initiatives proposed by upper man-

and What You engineers have been developing


software for decades—some of them
agement. In these meetings, project
managers are assigned to new projects

Should Know even in Java!


5. The implementation doesn’t need to
that bring in revenue from external
partners and customers.

About Them be agile. “A waterfall model works


great and is what we know.”
6. Because it’s SOA, the project is easier
Recently, one of the company’s major
customers decided to start a prototype:
moving legacy COBOL code into an
to manage. SOA. “After hearing that SOA cuts down

By Clemens • Technological assumptions:


our maintenance costs and enables us to
have shorter response times to change

Utschig-Utschig 7. SOA is about Web Services, since


SOA uses SOAP. “Someone must
have forgotten the ‘P’ on the end.”
requests, we decided to invest in this
initiative,” the customer said.
If the pilot proves successful, the

M any companies today start imple-


menting Service-Oriented
Architecture (SOA) projects and face
8. Let’s take our Application Program
Interfaces (APIs) and turn them into
Web Services. Isn’t that all that’s nec-
company will get a large share of the full
project, in which all the strategic appli-
cations will be rewritten or migrated. As
problems that can be attributed to a essary? stated clearly by the directors, this proj-
belief that SOA makes everything easy. 9. I’ve read something about design ect has to be on time and on budget to
This article will show that, while SOA patterns. Well, we bought SOA, and get to the next level with any chance of
brings many advantages, it doesn’t alle- it’s supposed to work! further contracts with the customer.
viate the need for good planning, orga- After a quick vote in the Project
nization, and training. Company Profile Management Office (PMO), Brandon,
We’ll examine the impact of a set of The company in this fictitious exam- one of the more seasoned project man-
common assumptions about SOA. A ple is a service provider that’s highly agers, was assigned to this four-week
fictitious integration project will serve specialized in solution delivery. Part of job. He earned his reputation for project
as an example; you’ll listen in on team its success during the past decade was management during the company’s first
dialogue over the lifecycle of the project from long-term relationships and con- and only Java 2 Enterprise Edition
and identify the sources of the assump- tracts to extend custom-built solutions. (J2EE) project. However, because of its
tions. Most of these contracts were written urgency, that project was a rapidly
Each assumption can easily be years ago, and these long-term support assembled Band-Aid solution rather
applied to different stages of the project contracts are important to the compa- than a well-planned and organized proj-
and each contributes something to the ny’s revenue. ect. Furthermore, it didn’t really advance
perfect storm. The assumptions can be Because of budget considerations, the skills of the company or the devel-
categorized into three areas: time pressures, and resource shortages, opers.
no attempts have been made to educate
• General organizational assumptions: employees about new technologies or Internal Planning and Staffing
1. SOA doesn’t need a clear implemen- implementation strategies. The compa- (See assumptions 3, 4, and 5)
tation strategy (from skills to gover- ny’s board has heard about SOA and Brandon accepted the challenge, but
nance). “Strategies and plans cost knows projects in this space could be a with some concern about how to staff
money.” valuable contributor to revenue, but the project. Some of the people who had

Business Technology
• Transitioning an organization into a model that has solid, well- • Developers that implement services to leverage legacy system code
defined, decision-making processes (governance) is harder than need deep knowledge of both sides to ensure working, flexible
simply writing a few services. code.
• A clear strategy for implementation of a Service-Oriented • When applying iterative development, ensure short phases (cycles
Architecture (SOA) is needed; consider an iterative development of analysis, design, implementation, and test) and closed, workable
approach. packages.
• Communication about implementation of the SOA strategy and its • Keep away from implementing a framework for orchestrating
benefits is a major key to success. services yourself. Instead, consider using Business Process Execution
Language (BPEL).

16  •  Business Integration Journal  •  September/October 2006 Business Integration Journal  •  September/October 2006  •  16
worked on the last SOA-like project this case, the people from outside will abstraction, implementing only a sub-
were moved into different parts of the lead the project to ensure success. set of the necessary methods, resulting
organization, and all the external staff • Time is no pressure, and manage- in the need for multiple services to
members were gone. ment is willing to make a long-term completely implement the abstraction.
But this was “just” a proof of con- investment: When time isn’t a con- The result is that clients have to utilize
cept, and luckily there were still several straint, it’s a great chance to start with several services to implement a signifi-
weeks to go before the actual kickoff. two or three small projects, almost cant business process, and need to
Brandon decided that once the team prototypes, and let the whole team implement the sequencing and work-
was formed, he would send them for learn from scratch. Just a few experts flow.”
training on the latest and greatest tech- from outside are needed for guiding
nologies (assumption 4). This was a and mentoring. Greg’s whole design consisted of
good idea, but it didn’t work out that abstract definitions of Web Services
way: Design and implementation with plans for their reuse in the next
“We just lack skilled resources,” (See assumptions 2, 7, and 8) phase of the project. But after another
Brandon said. “And management isn’t After some analysis, the first ideas week of painful code generation and
willing to do anything to make the situ- on how the new system could look, regeneration, some of the developers
ation better. Today, when I was assigned from a technical perspective, were con- discussed the impact of Greg’s design
to this project, I brought up this issue sidered. Some possible services had during a coffee session late at night:
and the only answer I got was, been identified, and now everything “I fear all the overhead of SOAP and
‘Education, for an SOA project? Sorry, came down to the newly appointed the abstraction will immediately break
but the guys already have plenty of architect. Greg, a seasoned developer, the system,” one developer said.
development experience.’ ” was thought to be the perfect match, as “I had to change my code three times
What Brandon described in his com- he had considerable experience design- last week, thanks to this inferior design,”
ment is a deep fear—not just about the ing software systems. The only problem: another developer said. “Everyone start-
lack of skilled resources he needed to He had no experience designing sys- ed changing the interfaces because they
succeed in a critical project, but also tems with new technologies. Luckily for lacked the information needed to get
about his own lack of expertise in SOA. the team, he was interested in learning the operations done.”
Despite his seniority, the only method- about them and had read one book after From these quotes, two points can
ology he’d ever worked with was the another on new emerging technologies. be inferred:
waterfall model (assumption 5). (For He was convinced he could design a
details on the model, see The Software super-flexible and more-or-less easily • A clear strategy for implementation is
Development Edge: Essays on Managing maintainable architecture. After looking needed (see assumption 1). In an
Successful Projects, by Joe Marasco,) into the many documents that had been older-style waterfall project, the design
Finally, Brandon decided on the written during analysis, he started was created and frozen. In compari-
approach. “Just move ahead,” he said. designing services … and plenty of son, an SOA project, or an agile proj-
“It’s just another project; let’s have the them. All were Web Services. ect, is defined by its interfaces, which
team learn on the fly.” He took a partly object-oriented could change during the iterative pro-
Why did Brandon proceed without approach and designed two kinds of cess. So clear communication of roles
ever thinking of getting the right project services. One, referred to in the anti- and tasks in the development group is
strategy together for his team? In today’s pattern world as a Godfather Service, key. A change in an interface could
fast-moving project environment, which offered an overabundance of or mixed have major consequences (not just in
is almost entirely margin-driven, com- functionality. (Design patterns repre- terms of a broken build, but also in the
panies tend to forget about long-term sent accepted solutions or best practices frustration level of developers).
investments, especially—as shown in for common programming challenges. • Developers that implement the ser-
this virtual company—where the inter- “Anti-patterns” generally contravene vices to leverage legacy system code
nal resources lack knowledge and expe- these design patterns and are consid- need deep knowledge of both sides
rience. The company’s board decided to ered undesirable.) The other, Tiny (see assumption 4) to ensure working,
“rent” external people for the duration Service, consisted of several small, flexible code. Even if Fourth-
of the project, without any master plan decoupled services for each function. Generation Language (4GL) code-
of knowledge transfer into its own orga- Consider these examples: generation tools are promising and
nization. easy-to-use (see assumption 9), they
Depending on your constraints, one • Godfather Service: “A Godfather aren’t the solution for everything,
of two approaches could be taken in a Service is a service with many public especially if the granularity of services
similar situation: interface methods that implement is wrong (say, causing too many
many different key abstractions or roundtrips and resulting in poor per-
• High go-to-market pressure: The entities. The result is a service that formance).
project is under severe time con- couples too many underlying business
straints, and failure isn’t an option. or technical components, and is there- When an agile development method
This is the time to bring in skilled fore used by too many clients, making is used, the impact of bad design deci-
resources from outside and have peo- development and maintenance diffi- sions (such as too much or too little
ple learn from them. This isn’t an easy cult, and creating a reduction in flexi- granularity, or using just Web Services
solution, particularly if there are dif- bility. for everything) can be discovered at an
ferent mindsets among the developers, • Tiny Service: “A Tiny Service is a ser- early iteration.
but it has proved to be successful. In vice that incompletely represents an

17  •  Business Integration Journal  •  September/October 2006 Business Integration Journal  •  September/October 2006  •  17
Test and User Acceptance run-time environment will differ from
(See assumption 5) • Scalability: As more people or clients the legacy one.
After three weeks of agonizing devel- use the available services, more infra-
opment work, several interface changes, structure is required to provide those 2. Service analysis and design (assump-
and some unit testing, the group was services. tions 7, 8, and 9):
shocked at the first round of integration • Change management: Managing
tests: performance was almost unac- change impacts the software and the • Consider an iterative development
ceptable. A lack of skills led to a bad company itself. Usually, the move to approach.
implementation of the bridges to the SOA implies a switch from organiza- • Keep the design simple, open, and
legacy systems, resulting in too many tional silos to a more matrix-like orga- close to standards such as WS-I (see
roundtrips. The group also realized that nization (reuse of functional services http://www.ws-i.org).
there was a huge gap between the proto- across departments or silos). While • Keep away from implementing a
type as originally envisioned and what this may sound easy, it can be difficult framework for orchestrating services
they now had. to achieve. This is because of the exist- yourself. Instead, consider using
Some goals were met, but others, ing structures that have been around Business Process Execution Language
such as the User Interface (UI), were far for many years, such as who can sign (BPEL).
from the communicated goals. Not only off for a change request, or who is • Web Services should be used as appro-
was the customer unhappy and harbor- allowed to request features. Moving to priate to solve your business problem.
ing strong doubts for phase 2 (the big an SOA means having to form com- They’re extremely effective for loose
implementation), but the developers munication channels and agreements coupling but sometimes other
themselves weren’t happy with their between what were previously in spe- approaches, such as the Web Services
work, either. cialized, separate, and independent Invocation Framework (WSIF), can
“For weeks now, we’ve built this sys- silos. overcome performance and transac-
tem, and it’s far from what everybody tional issues by using native protocols
hoped,” a developer said. “It’s slower One of the challenges of SOA is (see http://ws.apache.org/wsif).
than the old one, development was no forming the capability of providing the • Lean toward asynchronous interac-
easier, and it seems to be even less right hardware resources that are cheap tions, and choose synchronous inter-
maintainable.” and can be easily expanded to meet ris- actions wisely, as they’re blocking.
The developers’ lack of training ing needs. (This is the concept behind • Design stable contracts and interfaces
(assumption 4) and an inexperienced “grid” technologies.) first, and have everybody agree on
architect resulted in a clumsy design Transitioning an organization into a them.
(assumption 9). With a monolithic model that has solid, well-defined, deci-
application, you can still get reasonable sion-making processes (governance) is 3. Waterfall vs. agile implementation
performance from a bad design. harder than simply writing a few ser- (assumption 5):
However, the more distributed your vices. It could require a change to both
architecture, the more a solid design organizational structures and the mind- • A waterfall implementation (analysis,
matters. set of employees. design, implementation, test, and
“We’re not even close to the results acceptance) can hardly react to chang-
the customer expected, even though we Summary and Recommendations es in scope, the customer’s vision, or
had clear specs,” Brandon said. “We Here are some recommendations for requirements. Consider using agile
took shortcuts and hacked here and creating the wind that can drive your development techniques to be able to
there just to get it done.” project into a safe haven instead of a react quickly and gain immediate cus-
This clearly shows the lack of agility thunderstorm: tomer feedback. This is especially per-
(assumption 5) and belies the idea that a tinent for short-lived projects such as
waterfall approach is the best methodol- 1. Invest in continuous education of prototypes.
ogy for all situations. Instead, consider the organization (assumption 4): • When applying iterative development,
applying an iterative approach such as ensure short phases (cycles of analysis,
the Rational Unified Process (see www. • A strong understanding of both the design, implementation, and test) and
rational.com/products/rup) to ensure implementation technology and the closed, workable packages. Usually,
fast results that can be shown to the technology of the legacy code is need- when the cycles are kept too long, the
customer for immediate feedback and, ed. COBOL programmers can be overall direction heads back toward a
if necessary, allow for the possibility of assigned to service development. waterfall implementation.
reworking results and errors in the next • Know and adhere to the standards in
iteration. the SOA world such as SOAP, Web 4. Communication (assumptions 1, 3,
Services Interoperability (WS-I), and and 6):
Operations and Governance Service Component Architecture
(See assumptions 1 and 5) (SCA). • Communication about implementa-
The pilot project was intended to • Understand SOA, its principles, and its tion strategy and its benefits is a major
show the successful transition from a design patterns. SOA offers a blueprint key to success, because SOA often
monolithic application to a distributed for implementation. means a switch in the mindset of
SOA. However, no time was spent • Get familiar with the run-time/deploy- developers—not just in terms of tech-
thinking about operations. There are ment environment (such as applica- nology, but also in their way of think-
two important aspects of operations to tion servers, J2EE containers, and so ing: from tightly integrated to loosely
consider: on). The new implementation and coupled.

18  •  Business Integration Journal  •  September/October 2006 Business Integration Journal  •  September/October 2006  •  18
• SOA isn’t just applicable in a team that
implements a certain project; SOA can
drive the whole organization to the
next level.

Conclusion
This article showed how some false
assumptions people make about SOA
can take a four-week project from a
smooth start to chaos; it also addressed
what’s needed to change these assump-
tions. The key to successful SOA proj-
ects is continuous education, a strong
will to clear existing barriers, and an
agile team that’s willing to focus on
adapting to the visions of their custom-
ers.

About the Author


e-Mail:

Callout: SOA often means


a switch in the mindset of
developers—not just in
terms of technology, but
also in their way of thinking:
from tightly integrated to
loosely coupled.

19  •  Business Integration Journal  •  September/October 2006 Business Integration Journal  •  September/October 2006  •  19

You might also like