Navigating the e-technology jungle
by Ian Manning

As the corporate world embraces Internet technologies, and embarks on various initiatives designed to capitalise on them, corporate IT departments are facing new and significant challenges. The rapid pace of change, in both business and technology, has created an environment in which choices of technology and IT strategy are becoming increasingly more difficult.

Unlike previous technology generations, when the risk of embracing new IT platforms could be left to the trailblazers, investment in e-business is often seen as a business imperative. Indeed, the cost of not investing is seen as being unacceptable, particularly when competitors are seen to be gaining ground in this area.

Faced with such a mandate to invest in e-technology, the natural instinct is to play safe - to stick to tried and tested packages and platforms. Unfortunately this is not an option since much of the technology is relatively immature, and since none has so far been proven to offer the reliability and robustness which are the normal pre-requisites for enterprise applications.

The search for a technology roadmap is complicated by the plethora of competing technologies, many occupying the same or overlapping spaces in the marketplace. Java, ASP, EJB, CORBA, content management, personalisation, portals, E-commerce suites, and a variety of other software and standards provide a profusion of options for e-business deployment. To add to this, new software and standards are emerging all the time, making any technology choices potentially obsolete in the near future.

Another factor to be considered is that current thin-client technology for e-business applications still falls well short of the sophistication provided by client-server tools over the last 10 years. This almost certainly means that browser technology will evolve significantly in order to address this issue. The current appetite for Internet applications suggests that this will happen sooner rather than later.

Challenges

Given the above, IT directors and CTO’s face a number of challenges:

  • Choosing the right technology – which hardware and software platforms will offer the levels of performance, functionality and reliability required by users?

  • Future-proofing - will the technology choices made today meet the needs of tomorrow? Will they enable the company to continue to capitalise on future advances in technology, and to respond to business change?

  • Protection of investment - will new solutions capitalise on existing IT investments? Will the new solutions themselves form a solid foundation for the systems of the next decade?

  • Skills and resourcing - how will the necessary skills be found to support development on the new platforms? Will there be a need to retrain existing staff? Will there be a need to support two major types of application technology, one for internal use (e.g. client-server) and one for Internet applications?

  • Reliability - given the relative immaturity of many Internet technologies, how can acceptable levels of reliability be achieved?

Sensible options

As more and more IT decision-makers are beginning to realise, there is no simple way to address most of the issues outlined above. There are, however, a number of steps, which can be taken to minimise the associated risk.

Firstly, plan for change. The one thing that is certain is that the next few years will see significant changes in both technology and in business uses of that technology. Some sensible measures can be adopted to mitigate the effects of these changes.

Adoption of software based on open standards is the first and most obvious step. Technologies such as Java, Enterprise Java Beans and relational databases are widely supported by virtually all the major enterprise technology vendors, and hence make sensible choices for the basis of a software architecture.

As important as the choice of software tools is the technical architecture, which is used to build applications. A multi-tier architecture, in which there is clear separation between the major functions of the architectural components, provides considerable insurance against the effects of changes or advances in technology. Only if this separation exists can new or enhanced technologies be introduced without major impact on existing applications or middleware.

Adoption of a component-based approach to development can offer similar insurance. In essence, component-based development isolates application functionality into discrete, platform-independent units. These can be deployed our upgraded with little or no impact to the surrounding application code. Components can be used to deliver both business-related and technical functionality. For example, a payment component may provide funds transfer capabilities for a financial application. This component may be supplied by a third party, and could be replaced by a more advanced or secure payment component from another third party, should this become an option in the future. Alternatively, an error-handling component may exist to provide a common means of handling errors detected in an application. Such a component would often be developed in-house, and could be upgraded or replaced should requirements change.

This component-based approach gives companies the opportunity to build applications using best-of-breed components at a particular time, while not locking them into specific components in the long term. Another major advantage to this approach is the opportunity to reduce development time by using off-the-shelf components. Solution providers such as Orygen can deliver a complete development framework, which supplies substantial elements of common business and technical functionality off-the-shelf. The use of such suppliers can result in significant and immediate financial benefits, since the time normally needed to develop and test such components is eliminated from project costs.

Another consideration for those companies implementing thin client solutions is browser support. While the ideal situation is for any Internet application to support an unlimited number of web browsers, this is not usually feasible. Any application with even minor user interface sophistication is likely to encounter behavioural differences when accessed from different browsers and browser versions. The cost of testing for correct behaviour with all browsers, and correcting anomalies for each, is often prohibitive. Even if this were done, the exercise would need to be repeated whenever a new version of browser is released.

The most pragmatic option is to define and limit the range of browser versions, which will be supported by an application. This will enable specific testing to be done for those browsers, and hence enable the reliability of the system to be more easily guaranteed. While there may be the odd customer or supplier who is not using one of the recommended browsers, the problems caused may not be serious enough to have justified the cost of providing full support for all browsers.

In summary, while there are many potential pitfalls when choosing the right e-business technologies, there are also some sensible steps, which can be taken to mitigate the risk. The safest choice of e-business architecture is one, which is designed to accommodate the inevitable change, which will occur over the next few years.