On the road to SOA maturity – an architectural approach to designing shareable, loosely coupled, technology-based services
“An information silo is a management system incapable of reciprocal operation with other, related management systems.”
By definition, the above take on the word ‘silo’ is very true, yet in our industry it resonates concern. Imagine an organisation layering enterprise level solutions in this manner, growing on demand to deliver ongoing bespoke business solutions that are made up of many information and application level siloed channels. Viewed in a siloed fashion, we see redundant legacy coding formats and duplicate data storage. We also see costly integration and maintenance challenges and, over time, a threshold for growth and achievable agility in the marketplace that becomes exhausted.
Enter a solution – Service Oriented Architecture (SOA). SOA, as the name suggests, is an architectural approach to designing sharable, loosely coupled, technology-based services. Services that, regardless of language, platform or underlying hardware in a well-governed, orchestrated manner prove meaningful to the business and promote information flow.
Power to the people
SOA requires change. Change in how we view our business, architect the solution, structure our delivery teams and provide quality assurance. Herein lies the challenge for SOA. Change is hard and coupled directly to process and people, rather than technology. However, SOA implementations in the wider domain tend to focus on the technology and miss the key fundamental – people. Without business buy-in, all we do is develop a bunch of web services. Without integrated teams, we miss key deliverables. Without embedded governance, we cannot measure our progress.
Recent studies show that the cost of building a single application using SOA is often greater than the cost of building the same application without SOA. So why do it?
Over time, SOA promotes a flexible business model for growth. It does this by exposing an architectural style built on re-use or re-engineering of existing services, while also leveraging new and evolving technology trends with minimal integration concerns. SOA should not be seen as a quick win, but rather as a medium to long-term organisational wide strategy to re-shape the core business into re-usable services. In software terms, emphasis on reducing and factoring out complexity so that implementation details can be separated out from application logic promotes agility and re-use – two fundamental cost-saving factors.
So now we have a model of business and defined processes driving IT decisions and deliveries with a time-to-market that is aggressive, flexible and responsive to change.
How we deliver SOA processes is where the big picture view of web services and how technologies such as XML derive our communication platform for delivery, come into play. Many moving parts, coupled with organisation-wide change, require measurable focus.
Think big but with small steps
Some key fundamentals for an organisation considering or currently embarking on such a journey should, in some shape or form, include:
- Visualise the application you want to build and the services you currently have or want to be made available.
- Define a realistic SOA maturity model and start small with measurable outcomes orchestrated from derived business processes.
- Build SOA governance in at the design phase. SOA governance at run-time is necessary and key, but does not unlock the full potential.
- While we tackle key enterprise platform integration challenges, we must also look to our teams delivering the solution. Integrated teams are key, co-location a big plus to promoting communication, but most importantly with Quality Assurance at its epicentre.
- Think organisationally about test frameworks for SIT, automation and performance with the SOA roadmap in mind.
- Invest in and promote tooling that provides in-depth visibility at a service layer. If it can’t be seen, it’s hard to measure.
Service Oriented Architecture is maturing on our shores and has seen widespread adoption across the world. We have closely followed investment and mergers in enterprise level test tooling. We’ve tracked high IPO evaluations of business-driven service layer monitoring solutions. And large US organisations such as SOA Software invest in our market. All of these are key indicators of the direction we are all heading.
Even with its predecessor of cloud computing gathering momentum, one must look to SOA and understand that behind such cloud computing technologies sits an SOA implementation. Where we see global enterprise expand or merge and government departments align, again SOA is present and allows for prompt flexible business decisions to be made with IT integration challenges addressed.
Throughout all of this, from early adoption to mature SOA implementations, our message remains consistent. Visualise and integrate early with emphasis on SOA governance. Co-locate integrated delivery teams that understand the domain and use best of breed tools to do their jobs in a consistent outcome-measurable approach.
The road to SOA maturity may be long, but it’s how we get there that counts.