HomeDigital EditionSys-Con RadioSearch Web Services Cd
B2B Beginning WS Business Process Management Case Studies Content Management Distributing Computing e-Business Electronic Data Interchange Enterprise Industry Insight Integration Interviews Java & Web Services .NET Portal Product Reviews Scalability & Performance Security SOAP Source Code UDDI Wireless WS Standards WS Tips & Techniques WSDL WS Editorials XML

When an enterprise needs more electrical power, it doesn't usually build a generating station. When it needs to transport employees to meetings in far-flung places, it generally does not build its own aircraft. Instead, an enterprise would consume services from an existing network of available services. The growing mantra of On-Demand Computing (ODC) suggests that similar ease and efficiencies may one day be available for enterprise computing.

That day is not yet here. The end game of perfect ODC - in which resources flow seamlessly from where they are available to where they are needed - is at least a decade away. Between now and then, the transition path is fraught with peril. But the greatest danger is to completely ignore the reality that ODC brings to the table. Viable interim ODC service offerings are already available. Early adopters are embracing ODC-based solutions.

Undoubtedly, the magnitude and scope of ODC makes it one of the most disruptive forces in the technology-enabled enterprise space. In a world where the traditional "make or buy" decision is entirely supplanted by an option to consume on demand, those who can adapt to this new reality will radically out-perform the competition. To win that race, however, enterprises need an appreciation of the fundamental properties and evolving nature of this emerging phenomenon.

In this article I discuss the core technology and solution components required to generate ODC. I also examine the relationship between these building blocks and current collaborative enterprise requirements. Within this context, I suggest that service-oriented architectures can function as a crucial bridge between today's reality and a future full of ODC.

ODC: Components, Solutions, Implications
ODC is a concept based on distributed computing, utilizing the Internet as a universal platform. The on-demand delivery of IT resources combines two major capabilities commonly found in traditional utilities: ubiquitous availability and standardized components. In the case of the electrical grid, for example, power can be dynamically provisioned (i.e., it is ubiquitously available), and easily consumed by any device that conforms to voltage and form factor constraints ( i.e., it is standardized).

Two important related concepts are grid computing, or "infrastructure on demand," and utility computing, or "business processes on demand." Both grid and utility computing (and, by extension, ODC) are aided by a third technology component generally referred to as autonomic computing. Autonomic computing encapsulates a set of technologies, methodologies, and best practices enabling the self-management of computing resources. It not only provides service features that make existing IT operations more efficient, but also plays an integral role in ensuring quality of service and reliability in a networked environment.

The network-based provisioning of IT services can lead to tremendous economies of scale on the supply side. Although difficult to estimate at this time, the efficiency gains could well be enormous. Moreover, pay-as-you-go IT resources have the potential to fundamentally revolutionize how business is done. Electricity did not simply replace candles. It spawned numerous related innovations and inventions, utterly transforming our socio-cultural environment. Similarly, ODC has the potential to radically change our prevailing expectations of accomplishment and "best-practices" for both consumers and corporations. Not surprisingly, the benefits of ODC are expected to arise in the context of both top-line growth and cost containment.

Getting on the Bandwagon: Embrace the Network
The realization and delivery of on-demand provisioning of IT resources is inherently tied to the Internet. Even in the absence of full-blown ODC, enterprises are increasingly operating in a network-centric environment. Network-based technologies are driving more and more complex and highly integrated real-time collaborations among businesses. And many of the requirements an enterprise faces to become (Inter-) network enabled are also prerequisites for the adoption of on-demand models. In fact, ODC solutions extend the notion of network-based businesses via smart decoupling of the IT resources required to conduct business in a collaborative-networked environment. Hence, there is a certain overlap in technology and methodology adoption underlying both collaborative business and ODC solutions. It is this deliberate management of the network-centric overlap that allows enterprises to take advantage of incrementally available resources without having to massively redesign their operations.

Three core areas, or meta-enablers, span the business and IT boundaries and are necessary catalysts for the successful adaptation to a network-centric (business) environment.

Universal Networking
The network is the core substructure for the majority of recent technology advances and business and IT initiatives. It is paramount in ODC. Of course, the "network" is the Internet. Through its low cost, pervasiveness and ubiquity, Internet technology has drastically changed the way we conduct and think about business. In fact, Internet-based connectivity has become so important that the network essentially is emerging as the de facto operating system. The TCP/IP stack is the platform for higher-level services, such as wireless-enabled data, transaction processing, Voice over IP, and so on.

Application and Integration
Frameworks and Platforms

Transaction integration and processing are an essential tenet of network-centric enterprise collaboration. The very possibility of (distributed) transaction integration and processing has propelled the Internet to its status as a core enabler of enterprise IT. Unfortunately, the retrofitting of existing application and integration architectures has proven of limited success. These efforts are bound by inherent constraints with respect to scalability, extensibility, and reliability. Hence, a substantially new approach to the design and architecture of application and integration efforts is required. Although frameworks and tools suitable to the task at hand have recently emerged, the ensuing changes arising from revamped designs and architectures touch the very core of enterprise processes as well as IT operations and implementations.

Structured Information Provisioning
In addition to distributed transaction integration and processing, the availability of real-time information (e.g., operational data and business intelligence) is generally considered strategically important. Despite (or possibly, because of) an abundance of packaged and custom applications within the enterprise, the availability of comprehensive, timely information is still an elusive goal. The rollout of often integrated applications is often outpaced by changes in actual business requirements, such as mergers and acquisitions.

These three "meta-enablers" together pose a formidable challenge that enterprises need to overcome in order to build collaborative and integrated value chains. They are also paramount to the adoption of ODC. Unfortunately, these enablers have associated with them nontrivial hurdles, making it challenging to attain the appropriate state. Hence, smart and comprehensive planning for today's business and IT requirements can lead directly, and in an incremental manner, to an environment suitable for incremental adoption of emerging ODC solutions.

Although a detailed discussion of the core technologies and methodologies enabling each of the "meta-enablers" (e.g., application, integration, and portal servers; messaging platforms; IP security; etc.) is a worthy and valuable endeavor, this article focuses on a more fundamental theme: the design and implementation of a complete delineation of process from underlying technology.

Top-Down Design, Bottom-Up Implementation
An integral part of an enterprise's ability to incrementally adapt to ODC solutions depends on its ability to manage its business logic in a way that is utterly independent from underlying infrastructure. That is, business logic must be network-aware but infrastructure agnostic. Similarly, data also must be decoupled from the applications and infrastructure. For example, self-contained and network-conscious business logic around a (generic) financial management function, or packaged application, allows an enterprise to easily purchase an on-demand service-level agreement, if available, for either the infrastructure (grid) or the complete business application (utility).

Despite the inherent appeal of the separation of business processes from infrastructure, the enabling of business and IT operations indigenous to a network environment is a nontrivial and highly transformational undertaking that requires a great deal of planning and time.

A Top-Down Framework for Decoupling Business Logic from IT Infrastructure
In order to accommodate technological and process change, IT design and architecture need to isolate process from infrastructure. Service-oriented architectures (SOA) are increasingly chosen as the guiding framework for this task. Specifically, SOAs are a family of architectures that govern the design, development, implementation, and management of distributed systems. In particular, an SOA specifies the publication, discovery, and invocation of software components residing anywhere on any network. Hence, an SOA framework enables the execution of transactional processes without any explicit dependence on the underlying infrastructure. Consequently, internal and external enterprise transaction integration, processing, and automation are attainable, enabling (near) real-time enterprise collaboration. Moreover, an atomic, SOA-based implementation of processes allows local and global changes in logic or infrastructure without requiring deep and extensive changes to the whole system.

Web Services Architectures (WSA) are SOAs specified to take advantage of the Internet in a loosely coupled, asynchronous manner. Add to this property an open-standards, XML underpinning, and you have in WSA a favorable and increasingly dominant choice to implement SOA. Hence, a WSA implements an SOA specification by means of mechanisms such as HTTP, FTP, and XML. Specific protocols, such as SOAP, and associated specifications such as WSDL and UDDI, are examples of WSAs incorporating many of the benefits of the Internet including, to a large degree, open standards - itself a necessary condition to ensure widespread interoperability and (relatively) low cost. Moreover, J2EE and .NET are the two major (and largely competing) platforms enabling the implementation of Web services.

Bottom-Up Implementations of Web Services-Based SOAs
Before we discuss specific guidelines governing the implementation of SOAs, and especially Web services, it is worthwhile to briefly address the issue of business logic. Within an organization, two fundamental types of "logic" are present and need decoupling: business process logic and integration logic. (Note: Lest it be overlooked, we are addressing logical separation at the business level, not the systems design and architecture level.)

Business process logic constitutes the abstraction of outcome-related, functional steps. This generally involves enterprise-specific knowledge, industry best practices, and regulatory requirements. To date, business process logic is widely dispersed throughout IT (sub-) systems and often encapsulated in either custom or packaged applications. Moreover, with the onset of ERP and other integrated applications, significant aspects of business logic are implanted in the "custom configuration" and application functionality embedded in packaged applications, constituting an implicit, often poorly documented, and generally difficult-to-access pool of process and workflow.

Integration logic, on the other hand, is secondary logic in the sense that it performs valuable "choreography" to bridge decoupled functional components. In issuing paychecks, for example, integration mechanisms will often need to interoperate between financial systems, payroll, and possibly security and access mechanisms. Combining such islands of functionality into a seamless and transparent business function is precisely the role that integration logic plays.

A pivotal task in the preparation of an enterprise to take full advantage of network-centric technologies, which in turn requires cross-functional business process management, is the identification, encapsulation, and migration of dispersed logic into discrete software components. The resulting design and implementation must not only remain agnostic with respect to the underlying infrastructure platforms (software and hardware) but also be suitable to a transaction-oriented environment. Detangling highly complex process and integration workflows within and across the enterprise into standards-based service components is an integral part of the transformational efforts required to enable a network-centric enterprise. It should be noted that much of the work involved is highly technical and needs to be conducted within a guiding framework such as SOA.

On the establishment of an SOA framework and process, a set of guiding principles can be adopted to implemented business functionality in an incremental manner. This is best done on an opportunistic basis, driving problem-specific solution design, tools, technology selection, and implementation. For example, the migration of selected custom applications to a J2EE-based platform or the integration of multiple channels (e.g., Web, VoIP, etc.) within a CRM effort are suitable opportunities through which to begin the creation of service-oriented architecture and infrastructure islands. This migration can gradually propel the overall business and IT structure toward a network-based environment necessary to be able to take full advantage of ODC.

Specific "meta" guidelines that might be useful to incrementally transform enterprise business and IT toward a SOA-based structure are:

  • An enterprise must commit to the broad adoption of service-oriented architectures: This commitment must include appropriate funding. Specifically, it seems useful to establish a "Fund The Future" budget that covers the incremental cost difference between an SOA-based implementation approach and an ostensibly cheaper "dead end" proprietary legacy solution. Early experiences suggest that the accrued benefits SOA-based systems carry over to new solution requirements essentially reduce the overhead incurred with each new project. Such budget allocations need to be booked against the time-delayed benefits from both collaborative and on-demand solution adoption.
  • Think globally and act locally: Design, architect, and implement isolated (business) solutions against the overall SOA vision. Carefully monitor and model the additional resources required to attain this goal.
  • Rigorously embark on and reinforce an SOA-based component (re-) design and implementation strategy: The SOA framework is not just another design alternative; it is built on and for the network.
  • Rigorously commit to and enforce SOA-based design and technology selections, such as open-standards and extensibility requirements: Open standards ensure the interoperability required for service-oriented enterprise functionality.
  • Closely monitor the maturity of problem-specific Web services tools and (support) technologies: While SOA ought to be the guiding design principle for all IT activities going forward, Web services may not always be the best implementation approach due to the immaturity of some components. Consider alternative approaches that allow the development and implementation of decoupled, atomic, and service-oriented business logic to be easily accessible and extensible (e.g,. J2EE EJB containers).
  • Thoroughly identify, categorize, and inventory business logic and functionality for overarching, iterative redesign and normalization within and across problem domains.
  • Be prepared and committed to design processes that allow the revisiting of solution implementations and to change closed-out projects to fit the vision requirements in an iterative manner.

    Conclusion
    On-Demand Computing, a service-oriented approach to the ubiquitous and pervasive provisioning of IT resources, will fundamentally change business and IT operations. The constellation of enabling technologies based on ubiquity, open standards, and Internet infrastructure make for a very compelling vision of the future. Moreover, ODC is composed of several building blocks such as grid, utility, and autonomic computing that allow the provisioning of interim on-demand solution capabilities which, in turn, can drive competitive positioning of enterprises.

    Enterprises will have to engage in significant preparatory work to be able to adopt ODC solutions. They will need to satisfy the requirements of three meta-enablers of network-centric operations: universal networking capabilities, application and integration frameworks and platforms, and structured information provisioning. An underlying theme to all of these meta-enablers is the daunting task of decoupling process and integration logic from the underlying infrastructure.

    I believe that service-oriented architectures are a suitable top-down framework to drive the development of network-enabled, cross-functional, atomic business process components. I also believe that Web services tools and technologies can already provide significant guidance and implementation opportunities to tackle specific business problems today while simultaneously driving the necessary transformational process in an incremental, bottom-up manner.

    References

  • "Technology Enabled Enterprise." IBM Business Consulting Services, IBM.
  • Wang, Ko-Yang; Greenberg, Bob, et. al. "Enterprise of the Future White Paper, IBM Global Services." IBM.
  • Borges, Bernhard (2002). "Navigating Web Services." Web Services Journal, October.
  • Sutor, Bob. "Perspective: The five biggest myths about Web services." C|Net, November 26, 2002. (http://news.com.com/2010-1071-971149.html?tag=lh)

    Author Bio
    Bernhard Borges is a senior technologist for IBM's Business Consulting Services EAI practice. His areas of expertise are distributed computing, J2EE, Web services, and enterprise integration. Bernhard holds a Ph.D. and MBA from Simon Fraser University, Burnaby, BC, Canada and resides in Phoenix, Arizona. bernhard.borges@us.ibm.com

    All Rights Reserved
    Copyright ©  2004 SYS-CON Media, Inc.

      E-mail: info@sys-con.com

    Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.