About
Subscribe

Striving for simpler software

We will soon witness the dawning of a new age in application delivery.
Johannesburg, 25 Mar 1999

We are definitely entering a new age of applications. Strongly driven by a new age of business, based on the principles of changing business demands, improved , reduced costs, re-engineered processes and reduced time to market. In previous columns I have looked at the business drivers in more detail, so I believe it would be useful to look at the application environment itself.

There are essentially two key drivers - the huge, dramatic and traumatic changes in business, and the rapid and fundamental changes in enabling technology.

A key insight is that we need to think about the different criteria associated with various classes of applications

The characteristics of the new application landscape are increasing complexity, a vastly heterogeneous world, where much of the application delivery platform is not controllable (think about the virtual world of delivery). And where distribution is vast, virtual and portable. Where competitive advantage can be delivered through advanced underlying technology, but where costs need to be driven down and delivery needs to be fast, fast, fast!

A key insight is that we need to think about the different criteria associated with various classes of applications. The mistake that we often make is that we apply the same architectural rigor (or lack thereof) to each application we address within the complete portfolio. This will lead us to significant trouble either by applying the architectural rigor associated with, for example, high volume transaction systems across all application types, making the delivery too slow, difficult, costly, etc; or overall will lack the rigor and discipline required by certain application types.

Therefore the first classification has to do with the type of business application. For instance, more rigor is required for a transaction system than for a personal productivity system, purely because of the type of system. The second classification has to do with the complexity of the application and its interfaces with the many other systems that make up its environments, as well as the volume of work that it needs to support. Increased complexity and volume points to an increased need for architectural rigor.

Furthermore, we are seeing some very interesting convergence that further enhances the delivery of applications, such as business process re-engineering, application development and workflow. This convergence trend is intuitive and certainly a natural progression.

Xhead = A class of its own

Given the type of application and the architectural rigor required, combined with many other organisational and cultural issues such as decentralised development etc, it indicates certain classes of technology and tools should be applied. Technologies which include process modelling (including business process components) and process automation, workflow, object, business and data modelling, application templates, a plethora of Internet tools, Web browsers, agent technologies, object request brokers, distributed transactional middleware, object-oriented languages, class libraries and Java, which increasingly can be seen not as just a language but as a platform and a new way of application development introducing a host of new concepts. It is certainly enterprise level and is increasingly becoming an option not only on the client side but certainly also on the server side.

More and more we are seeing the role of "component thinking" or component-based delivery (CBD) - a category now being tracked by Gartner - and many levels of components which pull together the solution delivery. CBD is rated by Gartner as a must have in application development technologies over the next several years. This is driven by the need for interoperability across more sophisticated heterogeneous environments as well the drive for productivity and speed.

There are some very important shifts around architectures as well, moving from thin clients towards ubiquitous clients, from 3-tier to distributed 3-tier, from standalone to integrated, from monolithic to much more component-based.

The move in the way organisations increasingly view their options for application delivery is towards a mix of build, buy, outsource and somewhere in the future, subscribe.

If what I described above is the outlook for the next several years, there are some even more radical moves afoot, some of it may not pan out, but it will certainly accelerate the process. So let's step back; the realities of today is that software is still too complex, that the implementation of an application solution is too time consuming, difficult and costly. I certainly don't have to cite any examples here, you will be painfully aware of what I mean. So there has to be a better way.

Rent-a-WWW-service

This is the view of a few startups who are looking to simplify the software and create some really clever technology to allow online access to a service that will host the rentable, configurable functions required to run an application for a particular business use. In a nutshell it is about renting-a-service over the World Wide Web.

Of course the access to the server is Web-based and the applications are designed and geared for the Internet. There is no implementation, the set-up is simple and the subscription is per user. It certainly sounds like the kind of scenario businesses would like to consider. These are startups and the concept may have a long way to go, but is indicative of a new way of thinking.

Here's a few examples: Corio (installing and maintaining PeopleSoft's financial software for a flat monthly fee to a set of customers), USinternetworking (to maintain, deliver and manage sales-force automation), Impresse (manufacturing applications for Net delivery) and Employease (handling health and insurance plans).

Sort of reminds you of time-share computing, but just very, very different!

Share