Internet technologies have provided us with
universal connectivity, proven and cost-effective middleware, hardware independence and
shareability of applications. All these resulted in the Web becoming the de facto backbone
environment for distributed computing applications in an enterprise and the browser
becoming the universal end-user interface. While new applications can be developed for the
web environments, there is still the problem of the current applications. These have to be
migrated to the web environment.
Legacy application migration to web
environments is the third largest area of investments planned by enterprises after Y2K
compliance and ERP implementation in the next few years. There are a number of ways of
migrating legacy applications to Web-based environments. The process is also called legacy
web integration or web enablement of legacy applications.
Before examining the various methodologies
for integrating legacy applications to the web, let us examine the various applications
scenarios on the Web.
A simple web application model is used for
retrieving static information, which is already created and kept on the web server. The
information can be retrieved from a browser (client) through a request. In the interactive
web model, the user can input some additional data through the browser and thus create
dynamic content. Both the client and the server would have access to a database wherein
data gets accessed dynamically. The distributed web and the enterprise web models are used
for developing two-tier/three-tier client server distributed applications. In these
models, in addition to web client and web server, there will be an application server and
a database server. Programs and data are shared across the web client and the web server.
The browser would have the capability of executing `applets' written in Java.
Integration of legacy application into Web
can be achieved in various degrees depending upon end-user requirements. The simplest is
to provide a web interface for the legacy application. The end-user would be able to
access the legacy application through the browser. Alternatively, legacy data alone can be
made accessible by the Web. That is, a newly developed web application can have access to
legacy databases. In a third scenario, there could be two-way communication between the
newly developed web application and the legacy application for exchanging programs (code)
and data.
The integration described above is achieved
through a technique called 'wrappering'. In this technique, the legacy code and data is
encapsulated using a wrapper and deployed on to the Web. These wrapped contents can be
accessed using standard APIs and other middleware, available for web environments.
There are various types of wrappers for
various operations. These are application wrappers (wraps both code and data) services
wrappers (wraps system-level services e.g. transaction services, file system services) and
database wrappers (wraps only data). Examples of such wrappers are: 3270 terminal steam
wrapper, Java-CICS gateway or DB2 gateway etc.
Some examples of the applications using
wrapping techniques are given below:
Wrappering techniques use object-oriented
technology because of their encapsulation and abstraction features. Wrappers thus specify
a set of OO APIs (Object-Oriented Application Programming Interfaces) using which
application code or data can be wrapped. Wrappers can also be developed using procedural
APIs.
A number of commercial products are
available for various vendors which enable legacy application integration to the Web for
the above possible usage scenarios.