UCI/ICS

libwww-ada95
WWW Protocol Library for Ada95

libwww-ada95 is a library of Ada95 packages that will eventually provide a simple and consistent programming interface to the World Wide Web. This library is being developed as a collaborative effort to assist the further development of useful WWW clients and tools.

libwww-ada95 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, with the single exception listed below. libwww-ada95 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

As a special exception, if other files instantiate generics from this library, or you link this library with other files to produce an executable, this library does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License.

You can download the 1.00 release of libwww-ada95 or, if you are a developer with access to the CVS version control system, download the libwww-ada95 CVS repository. Note that this site is also accessible via FTP -- simply change the URL scheme to "ftp".

Library Components

The libwww-ada95 source code is split into three directories:
Onions
The Onions Network Streams Library provides an operating system independent, thick binding to Unix socket, file, and directory resources in the form of layered data streams. Onions is independent of the rest of libwww-ada95 and can be used for projects unrelated to the Web. All of our system-dependent code is isolated here.

WWW
A client API for the World Wide Web. Unfortunately, this code has not been finished, and only parts of it have been tested. See WWW/DesignNotes for an idea of what the completed library is supposed to do.

Examples
Small application programs for testing the libraries and providing an example of how the API works.

Platforms

We have only tested libwww-ada95 on our own development platform, Solaris 2.5.

libwww-ada95 was developed using the GNAT 3.10p compilation system. We have made every effort to keep the Ada95 source code independent of the compiler, but the Makefiles generated by configure may be GNAT-dependent. We have no idea how to port it to other compilers, but please let us know if you do and what changes (if any) are needed. Note that the library has been designed to maximize portability even though we didn't have the resources to test it on other platforms.

Future Development

We have (long ago) exhausted all of our resources for further development of the libwww-ada95 and Onions libraries.

Project References

Hypertext Transfer Protocol (HTTP)
IETF HTTP working group
HTTP Tutorial
Uniform Resource Locators (URL)
Roy's specification
IETF URI working group
Other WWW Protocol Libraries
Libwww - the W3C Sample Code Library for C and C++
libwww-perl - UCI's WWW Library for Perl
Guido van Rossum's Internet and WWW Services for Python
JDK 1.1 network package for Java
Ada95 Information Sources
Ada95 Language Reference Manual
Ada95 Lovelace Tutorial
Ada Home: the Home of the Brave Ada Programmers
SIGADA pointers
Ada95 Booch Components

libwww-ada95 History

Created in 1997 by Roy T. Fielding, Kari Nies, and Yuzo Kanomata.
Principal Investigator: Dr. Richard N. Taylor

The libwww-ada95 library has been developed by the Hyperware research group in Information and Computer Science at the University of California, Irvine, in order to help support the creation of innovative network client implementations using the Ada95 language.


UCI's libwww-ada95 effort has been sponsored in part by the Defense Advanced Research Projects Agency, and Rome Laboratory, Air Force Materiel Command, USAF, under agreement numbers F30602-94-C-0218 and F30602-97-2-0021. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon.

The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the Defense Advanced Research Projects Agency, Rome Laboratory or the U.S. Government.


libwww-ada95 development team
Department of Information and Computer Science,
University of California, Irvine, CA 92697-3425
Last modified: 13 May 1998