Digital Edition

SYS-CON.TV
The Future of On-Demand Platforms
The past is prelude to a new generation

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 influence of the Internet on enterprise computing has been profound, creating among other things a new, highly productive model for creating applications in the form of application servers and Web browsers.

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.

Enterprise Applications
Like enterprise architectures, enterprise applications and software have a surprisingly dynamic history. For many years, enterprise applications were the output of development tools and programs, and not a distinct piece of software that could be purchased pre-made. In this model, typically described as client/server and popularized in the late '80s, innovation focused on software engineering practices, tools to promote reuse, and other developer productivity enhancements. Automating or enhancing a business process through IT was very much an application-development effort; while strategic gains were possible, they were typically costly and hard won.

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 looking at the tension between complexity and success in enterprise applications, what quickly becomes clear is the need to better balance the separate worlds of application development and ASPs (see Figure 1). If successful, the elusive promise of customized, well-integrated, and highly successful enterprise applications can probably be achieved. What's needed is the "missing link" between these dominant but disparate modes of enterprise applications. The new questions are: What would such a link look like in order to avoid the burdensome complexity of the past and leverage the promise of SOAs? And, what architectural and technical principles should inform this link; how should these capabilities be segmented from other elements of enterprise IT?

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.

On-Demand Platforms
At their core, on-demand platforms combine the control of traditional custom application development with the benefits of utility-style application delivery. While the nature and technical implementation of custom development using on-demand platforms is different from that of traditional software, it exists as part of a long tradition of simplifying IT by providing higher-level abstractions around common programming tasks and architectural concepts.

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.

  • Service-oriented: A key requirement for on-demand platforms is that they are geographically and technically independent of other systems, providing interfaces only as network services. While a platform may leverage vendor-specific capabilities in implementing its own capabilities, these dependencies are not reflected in any of the public interfaces. Implementation details should remain opaque to any user or connected application.
  • Abstracted: An on-demand platform provides deep customization and modification capability without requiring changes to the platform itself, enabling a high degree of flexibility in meeting specific business requirements. Implicit in this capability is a level of abstraction between the public interface of the platform and the private implementation that powers it, analogous to that of a Java or .NET Virtual Machine. This "virtualization" capability typically applies to both the data model/schema used in the platform, and the management of business process logic and other code. The latter is a central requirement as "sandboxing" such code or otherwise constraining the programmatic functions available prevents malicious and poorly developed code from impacting other users or the platform itself.
  • Complete: Beyond providing simple customization capabilities, an on-demand platform provides a complete "application stack," including the four types of programmability present in any application platform: an API for application access, data model and schema customization, business logic control, and the ability to modify and create user interfaces (see Figure 2). Together, these four components provide the ability to extend and create any application within the domain on which the on-demand platform is focused.
On-Demand Platforms in the Market
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
While the on-demand platforms described so far are all Web sites or otherwise externally managed applications, the advantages in the reduced costs and complexity of this approach are compelling enough to bring them into the data center - and ultimately even the desktop.

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
The future envisioned by on-demand platforms echoes that hinted at 30 years ago by the early proponents of distributed computing. While that future was poorly rendered in the technologies of their day, the abundance of bandwidth, processing power, and storage that form the core ingredients of computing have reached the critical mass necessary to support the high level of abstraction true on-demand applications require. The result will bring a proliferation of sophisticated application capabilities - once reserved for the most advanced enterprises - to companies of all classes, and ultimately, even consumers.

About Adam Gross
Adam Gross works with product marketing within the sforce group at SalesForce.com, which ensures that some pretty interesting Web services are generally available at sforce.com. He has enjoyed watching the community grow around them, he says. With about 10% of sforce's total traffic being Web services based, it now ranks among the most widely used enterprise Web services in the market.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1



ADS BY GOOGLE
Subscribe to the World's Most Powerful Newsletters

ADS BY GOOGLE

"Codigm is based on the cloud and we are here to explore marketing opportunities in America. Our mis...
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objecti...
High-velocity engineering teams are applying not only continuous delivery processes, but also lesson...
"CA has been doing a lot of things in the area of DevOps. Now we have a complete set of tool sets in...
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offe...
Data scientists must access high-performance computing resources across a wide-area network. To achi...
"Akvelon is a software development company and we also provide consultancy services to folks who are...
"MobiDev is a software development company and we do complex, custom software development for everyb...
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are...
"We're developing a software that is based on the cloud environment and we are providing those servi...
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22n...
The question before companies today is not whether to become intelligent, it’s a question of how and...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22n...
In his session at 21st Cloud Expo, James Henry, Co-CEO/CTO of Calgary Scientific Inc., introduced yo...
While some developers care passionately about how data centers and clouds are architected, for most,...
Enterprises are adopting Kubernetes to accelerate the development and the delivery of cloud-native a...
"NetApp is known as a data management leader but we do a lot more than just data management on-prem ...
"We're focused on how to get some of the attributes that you would expect from an Amazon, Azure, Goo...
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection...
"We work around really protecting the confidentiality of information, and by doing so we've develope...