Most Read This Week
The Future of On-Demand Platforms
The past is prelude to a new generation
By: Adam Gross
Mar. 29, 2004 12:00 AM
If the past is any guide, with the help of on-demand platforms the next 10 years promise to change the way we manage and integrate information as much as the previous 10 have changed how we distribute it.
The story of corporate information technology (IT) is a very dynamic one. Like business itself, the 40-plus year history of this central corporate function is one of change, impacting the nature of the enterprise with a force often second only to that exerted by government. In the past 10 years, despite exaggerated spending and expectations, changes in IT and core computing technologies have assumed new prominence as they transitioned their relationship with business from a supporting to a central one, and transformed the role of IT from enabler to end game.
This short history is defined by four major periods, each corresponding to the rise and adoption of a new enterprise architecture: mainframe, mini, client/server, and most recently Web/application server. Each shift has had profound implications for both enterprises and the technology companies that equip them. As much as these shifts in enterprise architecture created opportunities for hardware and software vendors, the real benefits have accrued to the companies able to exploit these changes within their business practices. From back-office functions to deep customer touch points, enterprises that have evolved their business processes using innovative technologies have been consistently and significantly rewarded.
It is in the context of such constant evolution that IT professionals regularly ask, "What is the next big thing?" What set of technologies - and resulting enterprise architecture changes - will provide the opportunities for innovation and advantage that previous shifts have generated? Answering the question is complicated by the fact that even established architectural shifts are rarely consistently characterized or identified until well after their adoption has become common. If given latitude in the specific terms and features used to describe the coming changes, however, most new technologies can be said to align with a new model that is forming the fifth generation of enterprise computing - service-oriented architectures (SOAs) and on-demand computing.
Service-Oriented and On-Demand Computing
The standards-based nature of this model, combined with the ubiquity of IP and HTTP among and between enterprises, and the commoditization of communication, introduced additional opportunities by eliminating the requirement of physical proximity between an application and its users. This change has been so profound that a surprising number of applications we now interact with - as business users or consumers - reside not on our desktops, or even in our server rooms, but in geographically anonymous locations across the Internet. This trend - and the expansion of the enterprise architecture across the firewall - form the foundation of the SOA.
Internet standards are important not only in creating "geographic" independence, but also in uncoupling hardware and software dependencies that have traditionally constrained application architectures. The notion of applications bound to a particular operating system or piece of hardware is increasingly antiquated, and the independence implicit in adhering to standards is rapidly changing not only how systems are used, but also how they are integrated and managed. Such systems now operate within well-defined boundaries, typically defined by HTTP and HTML, that ensure compatibility and interoperability.
The union of these two related proprieties - physical (geographic) and logical (platform) independence - forms the defining characteristic of this fifth wave, the transformation of systems into services. And while individual service-style applications have already brought benefits to most enterprises, the real promise is in the collection of like-minded systems to form complete enterprise business functions. It is this future that is described by service-oriented architectures and on-demand computing.
When packaged enterprise applications came onto the scene at the start of the last decade, it was easy to accept the huge amount of effort needed to implement and customize these solutions. The only point of reference was the effort required to build the application from scratch. As enterprise software evolved, this tension between "built to spec" and "prepackaged" - and the resulting trade-offs in business fit and functionality - played out in countless IT organizations.
In the late '90s, the notion of a multimillion-dollar "moon shot" project was easy to conceive, and was advocated as the state-of-the-art in strategic IT. Most who embarked on such initiatives quickly became masters of negotiating the balance between customization and cost. Of the projects that were successfully completed, many started to collapse under their own complexity, or worse, were simply ignored by end users. By the end of a decade that popularized packaged enterprise applications, it was clear that the balance between custom and prebuilt was tilted too far towards complexity and not closely enough to success.
Given this experience, it's no coincidence that the first and most successful on-demand systems appeared in the enterprise application arena, and specifically around CRM. Companies in need of successful and predictable enterprise applications benefited enormously from the rapid deployment advantages of this new application service provider (ASP) model. The adoption and growth in this area has proven that this is one of the most successful new technologies in recent memory, with almost all vendors conceding that ASP solutions will be at least part of their product mix. This was viewed as a "quick fix" alternative to their software-only counterparts by some, however, and questions lingered about how these new applications would fit with the rest of the enterprise architecture and provide the integration and extensibility required by larger organizations. Of particular concern was addressing these key requirements while retaining the benefits of simplicity and speed that made on-demand successful in the first place. Fortunately, through the maturity of SOAs, and on-demand computing itself, an answer is now available.
SOAs and Changes in Application Development
In considering how to meet this challenge, a few simple requirements standout. First, to facilitate customization and integration, what is required at the core is a platform, one free from the complexity of traditional operating systems or application development tools. Much of that complexity can easily be shed, as the purpose (and second characteristic) of such a platform is to support complex, multiuser, enterprise business processes. This new platform must leverage the attributes of geographic and platform independence implicit in the benefits of SOAs, and in the process address the key requirement of integrating and working with the current mix of databases, application servers, portal frameworks, and the like that inhabit the current enterprise architecture.
These requirements describe a new "on-demand platform" that represents the missing link between the customization and integration capabilities of enterprise software and the economic and adoption advantages of ASPs.
Though the first application of on-demand platforms supports next-generation application service providers and other online services, it is expected that their reach will extend to a variety of enterprise applications. So how and where can on-demand platforms be expected to thrive? Three attributes describe and define these new platforms, making it easier to see where they have appeared and where they will be useful.
Just as many of the first application servers were only identifiable as such retrospectively, by looking at the history of Internet applications you can see the beginning of on-demand platforms in applications used today.
Consider the unlikely example of myYahoo!, the popular Web portal home page. While modest by today's standards, the ability to customize a Web site - both in function and user interface - was a significant advancement when it was introduced in 1996. Users could "program" the site by selecting news categories and other items of interest, with the platform returning a personalized site. A customized myYahoo! page is a far cry from a completely user-defined application, but add some additional capabilities around schema customization and business logic control and you can see the beginnings of application development as a service. Fast forward to present day, and look at what a site - and platform - like Amazon provides - extensibility in the form of highly attributed products, customization in the form of personal stores, and perhaps most important, a fully featured API. While you can dismiss these capabilities as consumer focused, and not relevant to the requirements or rigor of enterprise applications, it is worth noting that the application server model that dominates IT application development arose relatively quickly from very similar roots.
Just as the first app servers didn't come from the application tools vendors, and instead came from leading-edge Web sites, the first on-demand platforms are emerging from leaders in the on-demand application space. Sforce, the platform that powers salesforce.com's CRM applications, was the first to meet the criteria outlined above to become a true on-demand platform, offering control and extensibility via Web services APIs, customizable schema, user- defined business logic, and presentation and user interface capabilities. With those four components sforce represents a complete application development "stack," meeting a key requirement of an on-demand platform, and opening the door to the creation of a variety of new enterprise applications that enjoy the same benefits offered today by salesforce.com.
On-Demand Platforms in the Future
A key change in the corporate data center - being pursued by all the major vendors with considerable effort and attention - is the move towards "virtualization" and "utility computing" touched on earlier. Each of these efforts, in the form of Sun's N1 or Oracle's Grid database efforts, describes only a layer, or part, of the technologies set necessary to delivery and application. At some point, in order to realize the data center nirvana of being able to scale and dynamically adapt systems in real time, the full set of components that comprise an application - not just a provisioning system or database server - will need to work together to enable these advantages. When they do, the data center will become home to a de facto on-demand platform.
Surprisingly, many of the same forces are in play on the desktop - many familiar desktop operating systems and applications may adopt characteristics similar to those of on-demand platforms. With its commitment to .NET, Microsoft has stated that in the future desktop applications will be run on a virtual machine (the .NET runtime, or CLR) rather than directly atop the operating system. Combined with the schema malleability of the database-centric WinFS, the next generation file system at the core of company's next version of Windows, many of the requirements of an on-demand platform will be met. Equally as interesting is the company's related "Indigo" Web services stack, which will allow for more functional interaction with other services, most of which will probably be provided from on-demand platforms like Amazon or those emerging in the corporate data center.
The Past as Prologue
Reader Feedback: Page 1 of 1
Subscribe to the World's Most Powerful Newsletters