|
January 2007BUSINESS INSIGHTS Contacts: Functional Re-use and SOA Clive Longbottom The Service Interface as an Enabler for Software Re-use Best Quocirca Ltd Practice Tel +44 118 948 3360 Clive.longbottom@quocirca.com Executive Summary Dennis Szubert Service-Oriented Architecture (SOA) provides a foundation to achieve software Quocirca Ltd reuse. A key part of the SOA value proposition is the benefits realised from Tel +44 845 397 3660 software reuse. Dennis.szubert@quocirca.com Main Findings . Re-invention is a major cost to businesses Many organisations continue to buy or re-create similar, if not identical, functionality across different applications. The management of such separated function can result in sub-optimal business process support, and additional costs to the organisation. . The drive for rationalisation means that similar functions must be combined As organisations strive for infrastructure rationalisation, functional rationalisation should be a large part of this. The "culling" of similar functionality across multiple applications cuts down on overall complexity and provides greater business flexibility. . Discrete functional components create greater flexibility By providing a service infrastructure, functionality can be provided as discrete components, callable by those processes requiring such function. . Discrete functional components are more scalable and resilient Through the provision of discrete functional components via an SOA, scalability can be provided through simple utility-style provisioning, and resilience can be managed through the use of stateless services. . Software re-use speeds up response to market threats The capacity to make use of discrete functions that have already been proven, and are simple to include within new composite applications means that solutions are faster to create, and organisations can be more flexible in how they create strategies to meet market dynamics. . Granularity of function is the main issue that has to be addressed When looking at functional components, a suitable level of granularity must be maintained. Major software vendors are attempting to position their offerings as being SOA-compliant, but the levels of granularity means that this argument is often a moot point. For true software re-usability, the level of function must be optimised to serve as many different processes as possible. . Regression testing can be optimised through software re-use A carefully optimised SOA environment will ensure that an upgrade to any specific function will automatically provide that optimised functionality to all processes calling it, catering to all dependencies Conclusion SOA is a driving force for future functional use within organisations. However, these functions must be viewed as being shared services for all processes. Functional re-use will be the main means of ensuring that organisations can respond rapidly and effectively to market dynamics, and that improvements to specific functions will have the optimum impact across the whole organisation. An independent report by Quocirca Ltd. www.quocirca.com Commissioned by IBM www.quocirca.com 1 The Need for Functional Re-use Businesses in fast moving markets need the capability to respond rapidly to changing market conditions, and flexible IT systems are crucial in enabling the business to respond quickly and cost effectively. This is a major business motivator for reuse, where existing functionality can be leveraged by multiple processes, and new processes can be facilitated by the building of composite applications using an amalgamation of existing functions. Monolithic applications do not help in this regard as they provide little capability to respond to rapid changes - each new process requires new coding, as well as hard connections both within and across applications. However, with a set of services that provide common business functions useful across all the different applications for developers and users to take advantage of, new applications can be created or current applications extended rapidly. The traditional monolithic application development approach also means that identical (or at least similar) functionality gets replicated ... [download for more]
|