RECENT SURVEYS show there is a steady increase in the number of organisations moving to enterprise-wide SOA deployments, partly due to benefits like faster development of business application functionality and integrated business processes that span multiple organisations and systems.
However, SOA is still relatively poorly understood in South Africa and only a handful of large companies in the country have started to embrace it. According to Ibrahim Moyo, Software Line Of Business manager for sub-Saharan Africa at Sun Microsystems, SOA has been commonly misunderstood and, therefore, SOA has been commonly misapplied. Bruce Nicholson, technical director of the i5 group feels that SOA is only achieving a concrete definition now, and that it`s largely still a grey area.
Ignus Geyer, principal architect at African Legend (AL) Indigo, says the reason for the misunderstanding is that the concept of SOA is often conflated with enterprise architecture, when the two terms cannot really be folded together.
"An enterprise architecture is a blueprint that organisations use to map out their business models, including how the people, processes, technology and data that drive the business interact with each other. Enterprise architecture essentially depicts how an organisation is structured and operates, allowing management to set out how the enterprise can most effectively achieve its objectives", says Geyer.
"It operates at a much higher level of abstraction than SOA, a concept that is geared towards resolving particular technology and business challenges in the modern enterprise. Enterprise architecture is technology-neutral."
Enterprise architecture, then, can be seen as the practice of understanding and documenting the complexity of the enterprise, with a view to being able to effect changes to that enterprise while minimising risk and cost. SOA too is focused on complexity and change within the enterprise, but SOA deals with complexity by providing a layer of abstractions that hides the underlying complexity of the technology. Greg Vercellotti, executive director at Dariel Solutions, points out that the service is the abstraction, and it allows business processes to use services without needing to know how the services work.
"SOA is a style of enterprise architecture. In other words, SOA best practices are a subset of enterprise architecture best practices," he says. "So, while SOA and enterprise architecture are clearly not the same thing, it often makes sense to combine the practice of SOA and EA in one team, while retaining the understanding of what makes SOA different."
IS IT A BUZZWORD?
SOA has become one of those must-have buzzwords that permeate the IT industry. However, it is not a solution that is relevant to all businesses. Godfrey Dzebu, GM of enterprise architecture services at Cornastone, says: "Buzzwords don`t solve business problems. Before IT gets involved, companies should look at their business problems". Neville Nightingale, director of Vicitude Business Solutions, agrees, saying: "If it ain`t broke, don`t fix it". He points out that SOA needs to add value, not introduce additional complexity, and therefore cost, to a business. This point of view is shared by Sun`s Moyo. "SOA is not primarily a way to better integrate technology within the business. What has to be established is whether the services meet the various quality of service requirements," he says.
According to Harold van Aalst, chief enterprise architect for EMEA at Progress Software, SOA is not a turnkey approach, it`s a journey. "Businesses need to approach it in small steps, starting with indentifying what their real pains are and getting a clear view of what services they want to re-use," he says. Nightingale adds that many companies won`t reach the end of the journey and will end up with various legacy systems fitting into their SOA.
Rudi Leibbrandt, Sybase`s practice manager, takes a slightly different tack. He says that most IT organisations are far enough in their maturation process to see themselves as providers of services to support the business. "Now that people have to be more prudent economically and financially, it almost introduces SOA by default," he says, adding the caveat that SOA should be a slow, well-planned process, regardless of maturity.
ALL ABOUT THE BUSINESS
It seems that the key to getting over the complexities and effectively implementing an SOA is to leave it to the experts. "Business leaders should not be making decisions regarding IT application architecture," says Moyo. "That is equivalent to business managers at a pharmaceutical company deciding which research method will be used by the company`s biochemists to develop new drugs."
That said, a dialogue between business and IT is essential to an effective SOA implementation. Vercellotti points out that real-life practicalities necessitate an understanding between the two. "Both parties need to work together to deliver on the value proposition," he says.
Nightingale adds that SOA spans the whole business, so an effective dialogue is the only way to meet business objectives with technology. For this reason, he says, it is vital to reach the right level of stakeholder and have the right level of sponsorship within an organisation. Van Aalst says that this is vital. "SOA is perceived as an IT change, when in fact it involves a combination of business and IT," he says.
And because SOA is such an intricate solution, it is vital that the right people get involved on the IT side too. Clive Hatton from RealIRM and Jason Bloomberg from ZapThink say that some architects make the mistake of focusing more on theory than on practice, choosing to remain high level. At the opposite extreme, other architects are more comfortable with the technical details. These professionals are often developers or integration specialists who`ve moved into the architect role but are still more at home with ESBs and lines of code than with tools like enterprise architecture frameworks. The most successful SOA architects are the ones that combine both skill sets: people who are comfortable taking an enterprise architecture framework, selecting the tools it provides based on the problems at hand, and applying them in the context of SOA best practices.
SOA is not a silver bullet that can solve all problems. Businesses, and business projects, have widely differing requirements for agility, flexibility, time to market, and run-time performance. Understanding these requirements, as well as the features and benefits of different styles of architecture will lead to the architectural approaches best suited to solving the business problem. As an architectural style, SOA cuts across frameworks to provide specific techniques. Successful architecture depends upon all of these: theory, practice, and most of all, skilled architects who have the knowledge, experience, and common sense to put them together.