www.aspnews.com/analysis/analyst_cols/article.php/582001

Back to Article

Breaking Software Out of the Box
By Phil Wainewright
February 7, 2001

The next phase in the evolution of packaged software rental takes the critical, revolutionary step that breaks with the past. It leads to an era when applications are set free from the software that binds them to specific vendors and providers. Where software ceases to be packaged into applications, and instead is packaged into services that are combined together on demand to create applications.

Unlocking business logic

Network computing was enabled by the emergence of the three-tier computing model, which made the breakthrough of separating application logic from data. But it left a fundamental shortcoming. While the data is portable, the application logic remains a hardwired jumble of function, procedure and identity. The data can be shared between applications, or transferred from one to another. But all of the business logic must be reprogrammed into every new application from scratch.

This unnecessary binding of business logic into applications is at the root of the compulsion to own software. Businesses instinctively realise that when an application is customised to their requirements, what is happening is that their business processes are being hardwired into the implementation.

The compulsion to own software is driven by the instinct to own the proprietary business logic hardwired into applications during implementation and customisation.
But there is no reason for keeping logic bound up with individual software implementations in this way. The emerging network computing environment allows the separation of business logic from individual software packages, and the ASP model will encourage users to demand it.

Process, policy and profile

Three separate elements are intermingled in the code of present-day applications. The emerging component-based, messaging-enabled network computing architecture enables each to be separated out:

  • Process is the part of the application that performs a function. This is the only element that must always remain coded in software. The other elements are purely information.
  • Policy defines when and how a process should be applied. It is the most valuable element of an application, because it is where the core business logic resides.
  • Profile is where information about identity is stored. It defines the name, location, rights and roles of each entity that participates in an application.
An application matches process to profile in accordance with policy. Separating these three elements frees applications to call up software on demand to fulfil specific processes.

As a simple example, consider an expense management application. An employee who wishes to file an expense report calls up the application running on a server somewhere in the network. The employee is identified by reference to a profile stored on a directory server somewhere else. The directory server validates the application as the correct one to manage this process. The application server matches the employee's profile to the appropriate policy for approval of expenses reports. It then calls up software code from another server to execute the approval and filing process.

Process on demand

This revolution will not happen overnight. It depends on the creation and agreement of standardised definitions for business processes that allow each to be fulfilled by discrete software code components. Here is a likely sequence of events.

  • Internet-based applications begin to fragment into software-based component services delivered by multiple third-party providers
  • Directory services providers introduce Internet-based 'digital identity' services where users, businesses and applications register their individual profiles
  • The emerging dominance of a handful of XML schema such as Microsoft BizTalk provides a framework for universally accepted definitions of business objects and processes
  • A new breed of Internet-based packaged software service providers offers the ability to rent ultra-componentised software processes on demand
  • A future generation of application service providers allows users to design and build their own applications online in real time from prepackaged online software components
This fragmentation of the application layer into its constituent elements will finally set business free from today's ties to individual application vendors and providers. They will be able to own the business logic that defines their application needs without having to own the underlying software. The applications will then be portable, at will and on demand, from one provider or platform to another.

This is a verbatim extract from edition 1.2 of Packaged Software Rental: The Net's Killer App, published January 2000. The same themes are further developed in the latest ASPnews special report, Internet Application Engines. Both reports can be purchased together at a special bundle price.