CBDI Forum CBDI Web Services
Roadmap. Guiding the transition to Web Services and SOA
 
eLearning
This report has been rated by Forum Members
on a scale of 1 to 5 as 4.4 :


ROI - The Costs and Benefits of Web Services and Service Oriented Architecture

By Lawrence Wilkes

Having difficulty persuading your colleagues or business sponsors of the merit of adopting Service Oriented Architecture (SOA) or using Web Services instead of some existing mature technology? Need to understand what the costs will be, not just the potential benefits? Then this section should help.

Why Web Services Should Work

Déjà vu? Heard it all before? Here are some reasons why Web Services should work where prior approaches have failed

  1. Universal Support. Previous de facto, or de jure interoperability standards usually lacked participation by one or more key vendors.
  2. Protocol not Platform. It doesn’t require the adoption of a common platform, just adherence to the standard protocols.
  3. Low Product Costs. Sure vendors will want to sell products that optimise the Web Service experience in some way, but the basic needs are going to be supported essentially for free as part of the platform or as an adjunct to some existing product. Nor are they expensive to adopt in term of development effort. Everyone can play this game without major investment.
  4. Evolutionary. Long term, Web Services will likely usher in some revolutionary new ideas that force the replacement of existing systems. In the meantime consider Web Services as evolutionary and use them to leverage your existing applications and infrastructure rather than requiring rip and replace - another low cost benefit.
  5. Business Oriented. Web Services don’t just appeal to the technician, but directly address real business needs of today. The business didn’t care about OO or CBD, but should care about Web Services, particularly where they directly reflect some meaningful business concept, and especially where they are being exposed external – and hence are a reflection on the business.

Why Web Services?

After a couple of years of hype you would imagine everyone is now familiar with the justification for using Web Services. And yet, on many occasions the industry still struggles to clearly put across the benefits of Web Services and articulate precisely how they differ from existing technology solutions.

The issue is that superficially many of the benefits that are attributed to Web Services have also been claimed by pretty much every new technology over the past n years. You might realistically argue that the IT industry is well known for hyperbole and exaggeration, and that reality generally falls short of expectations. Things like "improving business agility", "reducing time to market", etc are still valid - but not entirely new. Why is Web Services going to deliver this time? Consequently, there is a real need to be much more precise about the specific cost savings and benefits for both business and IT that can reasonably be attributed to Web Services.

This is not so surprising because Web Services have been a technology led paradigm, and early usage has often been in the area of internal integration where benefits are quite straightforward. Grand visions of everything being connected in dynamic real time scenarios are one thing, but most organizations have more mundane problems to solve. And so we seemingly get stuck in the middle, not always knowing which aspect of Web Services to highlight. Too visionary and the audience gets scared (early adoption = risk), too mundane and they get bored (their existing solutions suffice)

Also, the constant evolution of Web Services means that the benefits keep evolving too. What started out as a simple distributed computing solution can now be applied to wider range of connectivity scenarios. So just what are Web Services now? Is it just a better, cheaper, faster (BCF) interface for existing EAI, distributed computing, EDI or other scenarios? Or is it more than that? Of course there should be every reason to use Web Services if they are truly BCF in these scenarios, but this is largely an IT centric message. And a frequent response is that existing solutions in these scenarios are mature and largely get the job done - so why convert to Web Services?

Perhaps because the ideas are more abstract, we often see the industry failing to put across what are some of the key differentiators of Web Services. For example the richness of the service specification that can be conveyed in WSDL and emerging business process orchestration standards that enable self describing services and self discovering applications. If you just need your developer to connect A to B, then EAI might suffice. But if you want A to dynamically find B, and later switch to C, without developer intervention, and regardless of the technology that A, B and C use, then Web Services is the only solution.

So, what then are the benefits and motivations for using Web Services? And what are the precise features that deliver them? Original definitions of Web Services are now outdated as they were too narrow in their viewpoint, which was typically focused on an RPC centric, object/component oriented view of the world. So we offer up a broader definition, which also now recognises that Web Services are not necessarily anything to do with the web:

"Web Services provide a simplified mechanism to connect applications regardless of the technology or devices they use, or their location. They are based on industry standard protocols with universal vendor support that can leverage the internet for low cost communications, as well as other transport mechanisms. The loosely coupled messaging approach supports multiple connectivity and information sharing scenarios via services that are self describing and can be automatically discovered."

To understand how both businesses and IT departments benefit from Web Services in detail, let's dissect this statement and consider it line by line.

1. A Simplified Mechanism To Connect Applications Regardless Of The Technology Or Devices They Use, Or Their Location

Web Services will be ubiquitous. Applications running anywhere, on any technology or device will have a Web Services capability available to them. As such, the applications of customers and business partners will be able to participate in an organizations business process, in real time.

Business Benefit - Wide Area Business Process Efficiency
IT Benefit - Cost Reduction
Potentially improves business process efficiency by reducing cost and particularly time to connect applications. Lowers the cost of connection.
Increases the feasibility of real time, remote access to core source of information (owner) which provides current information to a process. Reduces complexity of integration.
Enables real time business, and straight through processing. Delivers platform and technology independence
Customer, partner and employee enablement.  

2. Based on Industry Standard Protocols with universal support

Previous solutions are typically proprietary, and even if so called ‘standards’ have failed to reach universal adoption.

Business And IT Benefit - Cost Reduction And Choice

Both Business and IT gain traditional "open standards" benefits

Not locked into proprietary technology
A wide choice of suppliers
Reduction in technology costs through commoditisation
Increased quality through competition on implementation

3. Leverages the Internet for low cost communications

The high cost of private networks, coupled with the cost of proprietary EDI/B2B solutions has been a barrier to entry for many organizations. Though big participants can justify this, many industries have thousands of small organizations who cannot. Similarly organizations like retailers with an extensive branch network, can more easily enable them to participate in real time communications.

Business Benefit - Lowers The Barrier To Entry
IT Benefit - Simplified Middleware
Available to all sizes of organization, and individuals Same technology can be used for both external and internal connections
Low cost means thousands of small partners and suppliers, or a branch network, can now be integrated Leverage ubiquitous Internet protocols and infrastructure
Supports globalisation. Integration of geographically dispersed organizations  

4. As well as other transport mechanisms

Whilst the Internet provides a ubiquitous, low cost transport for Web Services, the "web" in Web Service is now misleading, as bindings to other transport mechanisms are available which may be more appropriate to internal usage or private networks where higher speed and more robust connections are available. Though this might seem to contradict point 3, it nevertheless reflects that for some scenarios the Internet will not be ideal, and that Web Service protocols that will improve the reliability of Internet based communications are not yet mature. The key benefit, primarily to IT, is that it now provides choice of transport.

IT Benefit - Can choose transport most suitable to need
Leverage existing transport infrastructure
Deliver Web Services over reliable, robust, fast transport mechanisms
Options for both internal and external Web Services

5. Loosely Coupled

Previous connectivity approaches required the same technology at each end of the wire. For example, even though EAI adaptors enabled different applications to connect to each other, it still required the same proprietary EAI technology as a wrapper around each application. Focusing on XML protocols, Web Services describe the connection, not the technology at either end. Loose coupling is not just a technology issue however, but a key aspect of service design.

Business Benefit - Agile Relationships
IT Benefit - Reduce Cost Of Maintenance
Makes it easier to change or add partners. Lower cost of maintenance
Facilitates M&A activity Reduced impact of change
System change is not a constraint on business change Facilitates reuse of existing assets

6. Supports Multiple Connectivity and Information Sharing Scenarios

Today organizations use different technologies for distributed computing, EAI, EDI, B2B, Websites, Portals. This results in n times the products, tools, skills and cost. Web Services provides an opportunity to radically reduce this by supporting these different scenarios with the same basic protocol stack.

IT Benefit - Cost Savings Through Consolidation
Broad applicability reduces the number of different products, tools, skills, etc required
Consistent approach in all scenarios
Common infrastructure can be leveraged across all scenarios - e.g. security

7. Self Describing

The time taken for developers to properly understand how to use an existing interface – particularly when it is external to their own projects – slows down the time that new connections can be established. Web Services provides a much richer specification of the service compared to previous technologies, which can be accessed programmatically.

Business Benefit - Time To Market
IT Benefit - Shortened Development Cycles
Improves time to market as connections to partners and customers can be made faster, even dynamically. Reduces development effort as consumption of service is largely automated.
Makes it easier for partners to do business with you. Reduced impact of change. Response to changes can be automated.
  Services can be consumed dynamically without developer intervention.

8. Automated Discovery

Provides a mechanism for discovering Service Providers, which can be automated.

Business Benefit - Faster Extension Of Ecosystem
IT Benefit - Cost And Time Saving Through Automation
Makes it easier for customers to find you and your services. Reduces or removes development effort to support new connections.
Makes it easier to find new partners and their services.  

Why SOA?

Web Services are not a silver bullet. Like most technologies, it is only by ensuring that business requirements are properly understood and their application is carefully designed, that the benefits claimed are truly delivered. It is very easy to deliver bad Web Services.

Whilst Web Services remove many of the technology constraints of communication between applications providing flexibility at the implementation layer, the business agility that is promised is more a factor of Service design than protocol adoption.

As such SOA should be thought of not just as a way of designing and documenting an "Architecture of Services", showing their relationships, dependencies, etc., but also a discipline by which we ensure that those Services are the right Services, delivered at appropriate levels of granularity, abstraction and generality that makes sense to both Service Provider and Service Consumer, reduces the effort (particularly on the consumer) to use a set of services to perform a particular objective, and truly minimises the impact of change allowing Service consumers to switch providers and Service providers to switch implementations.

We believe that SOA disciplines will become vital in delivering external Web Services where agility and flexibility is required (by both provider and consumer), and for Enterprise Wide Web Services where broad applicability must be ensured to enable reuse.

Benefits of SOA
SOA Characteristic SOA Benefit
Reusable:
Use of Service, not reuse copying of code/implementation
Easier sharing and reuse; reduced costs of reuse and management of reusable services. Facilitates greater standardization, reducing costs, with no loss of flexibility.
Abstracted:
Service is abstracted away from the implementation
By eliminating dependence on the underlying implementation it is unnecessary to understand the implementation model. This increased separation simplifies and reduces costs of integration and assembly - making an inherently more adaptable business.
Published:
Precise, published specification functionality of service, not implementation
By increasing the clarity of the obligations on collaborating partners, integration is simpler, and less error prone. Implementations can be upgraded and exchanged with minimum impact on the consumer, providing greater adaptability.
Formal:
Formal contract between endpoints, places obligations on provider and consumer
Increased quality of interface, understanding between collaborating partners.
Relevant:
Functionality presented at a granularity recognized by the user as a meaningful service
Traceability of service throughout the life cycle facilitates a much simpler process management task.

The Costs of Web Services and SOA

Many of the benefits outlined above imply reduce IT costs resulting from the adoption of Web Services. What, if any are the additional costs of using Web Services and adopting SOA?

Thanks to the universal adoption of Web Services by vendors, much of the software infrastructure required effectively comes as part of the regular upgrade cycle of existing products that most organizations will already have. This is not to say that organizations will not take the opportunity to decide whether they need to change products or vendors in order to obtain software better optimized for Web Services, or acquire additional products that might make them more productive. For example, some organizations might introduce new capabilities they have not used before such as business process orchestration/workflow products that now support Web Service protocols.

However, the bottom line is that most of the essential Web Services capability can be acquired via software upgrades that also contain other useful functionality, and as such comes at effectively zero or little additional cost in terms of software.

Costs of Web Services and SOA
Software costs and Product Acquisitions
Software Upgrades to support Web Service protocols Likely to be part of regular upgrade cycle – not specific to Web Services
Web Services Management and Web Service "Utilities"

Acquire or build

Some capability will be delivered as part of server platform upgrades

Private UDDI Software essentially free, but still requires deployment management. May require dedicated server(s)
Security Infrastructure upgrades to support federated security, improved identity management, etc
See "Assembling the Web Services Infrastructure"
Organizational
Skills

SOA Skills will need to be acquired, learned

Web Services technology largely automated and hidden from developer

Roles New roles with new disciplines
Development
Enterprise SOA Ensuring Services are applicable Enterprise-wide
Abstraction Ensuring Services are properly abstracted away from the implementation
Collaborative development Jointly agreeing and designing Services in collaboration with other participants (providers and consumers)
Service Wrappers for existing systems

Often these will come at little cost or effort where vendors are Web Service enabling the underlying platform, or packaged application, as part of their upgrade cycle

However, careful design is needed to ensure abstraction

Testing Web Services should be real "black boxes", requiring more diligence in testing as the implementation is not available for inspection

The Cost of SOA

Delivery of the Web Services themselves in terms of the necessary protocols if largely hidden from developers by tools, and is unlikely to be an overhead in terms of programmer productivity.

As such, much of the development overhead of delivering Web Services will come in the architecture, infrastructure, analysis and design phase to ensure that where required Services are

  • properly abstracted away from the implementation to deliver flexibility and agility
  • sufficiently generalised to enable enterprise wide applicability

Performance Overheads

Whilst there are ways of optimising the use of XML, many Web Service scenarios will involve extra process steps that will likely add some performance overhead to the overall process. That said, existing alternative integration options such as EAI and B2B have similar performance profiles in comparison to a point to point connection between two applications using the same (proprietary) technology. Some possible sources of performance overheads will be,

  • Service Wrappers and Facades around existing systems
  • Transformation in and out of XML
  • Dynamic Web Service Management
  • Federated Security
  • Services routed via external intermediaries

Of course these should all be seen from the perspective of the benefit they bring, not just the overheads they incur.

Roadmap Actions
Business drivers Align Web Service benefits with business requirements.
Strategy and policy Identify business opportunities and support to Technical Strategy
Identify areas for cross organizational coordination, establish reuse strategies and mechanisms for cross organizational policy setting, projects support, decision making
Infrastructure Justify infrastructure investments on the basis of clear benefits
Process and governance Incorporate WS benefit assessment into life cycle
Application (areas of usage) Be clear in the justification for using Web Services rather than any other approach
Organizational change

Ensure that education covers not just the what and the how, but the why of Web Services

Ensure that SOA is seen as an additional discipline with it’s own costs and benefits, and is not an automatic by-product of using Web Services

NOTE: This report updates the original draft published with the title: Inside Every Web Service is a Benefit Struggling to Get Out

  Download as PowerPoint Presentation (Gold subscribers only)


eLearning

  © Everware-CBDI Inc 1999-2009