Integrating third party information services

The distributed object, or CORBA, approach to integrating third party services (or legacy) applications is to write an object wrapper which encapsulates that service. The system designer writes a description of the service using IDL. The implementor must then write code which invokes the appropriate set of actions in the legacy application when one of the object wrapper's methods is invoked. This has proved extremely effective in a number of projects (e.g. [DRAHOTA 94]); a general model has been developed for the integration of databases [THOMAS 94].

Figure 1 here (GCI in WWW)

Common Gateway Interface (CGI) [McCOOL] (dead hyperlink - http://hoohoo.ncsa.uiuc.edu/cgi/overview.html) is a standard for external gateway programs to interface with HTTP servers. As shown in figure 1, this allows WWW to encapsulate third party information services such as databases. CGI defines the format of the data stream between the WWW server and gateway, and also the environment variables available to the gateway.

Bespoke clients for these encapsulated information services are implemented by HTML (Hypertext Markup Language) "Forms" [CONNOLLY]. HTML Forms can be thought of as primitive agent technology: the client program (in the form of an active document or "fill-out" form) migrates to the WWW browser, asks the user for parameters and sends these back to the HTTP server.

CGI programs are not only used as gateways; they are also used without invoking external services, to extend the functionality of a server and to implement some HTTP methods (such as DELETE).

In the next two sections we explore two complementary uses of object wrapping: object wrapping for CGI and object wrapping for HTTP.


Next

ANSA home page, Introduction, Comparing CORBA and WWW, Integrating third party information services, A stub Compiler for CGI, A stub Compiler for HTTP, An application scenario, Conclusions, Acknowledgements, References


Nigel Edwards <nje@ansa.co.uk>, Owen Rees <rtor@ansa.co.uk>