Conclusions

Object wrapping is a powerful technique for integrating information services. It also enables extensions to existing functionality. This promotes innovation and competition by allowing competitors to offer different functionality.

By using (CORBA) stub compiler technology we have been able to make object wrapping technology available to WWW CGI applications and, in so doing, have a CGI programming model which is close to that of CORBA.

The same idea can be applied to HTTP itself: if a reasonable IDL description of HTTP can be obtained, a stub compiler for HTTP can be built. This will make it very easy for HTTP server writers to provide extension methods. These extension methods could be used as an alternative to CGI to encapsulate other information services in WWW.

A similar effect would be achieved by plugging an implementation of HTTP into an ORB: this requires obtaining a reasonably tractable mapping of HTTP to CORBA IDL.

IDLs have proved useful notations for describing existing (or legacy) information services. Object wrapping relies on encapsulating these information services inside an object which is either resident in the same process or acting as a gateway. The gateway approach is made much simpler if the middleware (or ORB) makes it easy to plug new protocols into it and can support multiple, parallel protocol stacks: the ORB can then use the information service's own protocol (e.g. HTTP).

A major factor in the success of WWW has been its browsers, such as Mosaic [NCSA 94] (dead hyperlink - http://www.ncsa.uiuc.edu/SDG/Software/XMosaic/mosaic-docs.html), which successfully integrate a number of information services and protocols (e.g. HTTP, WAIS, FTP, Gopher and telnet). The above is arguing for middleware in which it is extremely easy to add new protocols. This will make it much easier to write integrating applications like Mosaic.

Enhancing the functionality of existing services and integrating new information services into a system is only useful if users can be provided with clients which make new features available to them. In a large information system such as the Internet, it is unlikely that users will have all possible clients for services they might use, so some kind of agent or migration technology would be useful for making new clients available. As explained in 1.2, HTML forms do have some of the characteristics of agents. Other technologies such as Java [JAVA 95], Tcl [OUSTERHOUT 94] or Telescript [RAYL 93] offer the promise of much richer client functionality. However, they introduce a number of issues, including security, discussion of which is beyond the scope of this paper. When these issues are solved, it is likely that these richer agent technologies will be extremely important in any kind of middleware for the network. The question of how these technologies relate to ORBs is worthy of further research.


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>