Middleware & Tools

Section Coordinator:
Paul Brown, paul_brown@postgres.berkeley.edu
Last Updated:
$Date: 1995/01/31 00:54:25 $

Introduction

This section describes the second layer in the Big Sur database infrastructure: middleware and tools, organized as follows:

o Middleware

o Design Approach
o Big Sur Version 1: TCL/TK Implementation
o Big Sur Version 2: Middleware Plans

o Tools

o mibrowse
o tecate
o OK


Middleware

First we describe the design approach, next the prototype implemented in Big Sur Version 1, and plans for Big Sur Version 2.

Design Approach

In [ALTEOS94] the authors describe an architecture for a widely distributed geographic information system which is intended to solve the problems faced by the EosDis community. In BigSur, we are adopting their concept of a middleware 'glue layer', which will provide the interface with the data (the means by which location transparency is achieved) and the interfaces between the federated sites.

This middleware layer will;

It is worth noting that this kind of functionality is the kind Distributed Object Management systems are designed to supply. These systems are still the subject of research efforts. ( Need reference to Ed's DOMS work here) but it is envisaged that once available the prototype's middleware layer is best replaced by such a system.


Big Sur Version 1: TCL/TK Implementation

As a prototyping tool we have elected to use Tcl/Tk to develop this middleware layer. Tcl/Tk is a scripting language similar in philosophical purpose to GNU's Perl, which was written by Prof. John Osterhout at UC Berkeley. Tcl/Tk is a popular tool all over the world. [OUST94]

Tcl/Tk is a highly flexible and extensible language; we have succeeded in embedding it within Illustra and in extending it to use the Illustra Database's application interface. The Big Sur Version 1 interface maps Illustra libmi functions to tclx, producing a libmitcl library, which is combined with the tcl shell to produce mitcl and with wishx to produce miwish.

Tk provides a simple yet powerful means of writing windows front ends to Illustra databases. This functionality makes Tcl/Tk very attractive as we get a GUI development environment thrown in at no extra charge. Several applications have already been written employing the 'mitcl'; most notable mibrowse, a forms based data browser for Illustra.

Through the tcldp extensions the middleware layer can also deliver distributed processing functionality. During the prototype, each of the programs which were required to be run over the data were 'scripted' - ie wrapped in Tcl code to manage the database interaction. These 'scripts' could be passed to any one of a set of registered workstations to perform data processing. Thus a relatively naive parallel processing environment was created. Ideally, the BigSur middleware layer should support such functionality.


Big Sur Version 2: Middleware Plans

We plan to design and implement a standard way of hooking in external processes as Illustra backend functions. The goal is for the mechanism to be easy enough and documented well enough that users can hook in their own subsystems without assistance from the Big Sur core developers. Candidate models to consider for a design include Khoros 2.0 (suggestions are welcome).

The TCL/TK glue layer will be re-implemented using the new approach.


Tools

This section describes the end-user tools in development to support database access. Tools are available for SUN and DEC platforms, or as noted below. While all tools will be made freely available via anonymous ftp to ftp://s2k-ftp.cs.berkeley.edu/pub/sequoia/dba/illustra/contrib, currently only mibrowse is available.

Mibrowse

Developed by software engineers at UC Santa Barbara and UC Berkeley, mibrowse is a tcl/tk application that provides table-driven access to data in an Illustra database. Big Sur Version 2 will enhance schema browsing capabilities and introduce data loading capabilities.

Tecate

Developed by software engineers at the San Diego Supercomputer Center, tecate is a tcl/tk application that provides visual access to data in an Illustra database for DEC Alpha systems.

OK

The Illustra OK browser provides spatial querying and visualization, which we are using for geo-spatial querying.


Sequoia Glossary
Big Sur Introduction