WWWbased Collab oration Environments

with Distributed To ol Services

Gail E Kaiser Stephen E Dossick Wenyu Jiang

Jack Jingshuang Yang SonnyXiYe

Columbia University

Department of Computer Science

Amsterdam Avenue Mail Co de

New York NY UNITED STATES

fax

kaisercscolumbiaedu

CUCS

February

Abstract

Wehave develop ed an architecture and realization of a framework for hyp ermedia collab oration environments

that supp ort purp oseful work by orchestrated teams The hyp ermedia represents all plausible multimedia

artifacts concerned with the collab orative tasks at hand that can b e placed or generated online from

applicationsp eci materials eg source co de chip layouts blueprints to formal do cumentation to digital

library resources to informal and chat transcripts The environment capabilities include b oth internal

hyp ertext and external link server links among these artifacts which can b e added incrementally as

useful connections are discovered pro jectsp ecic hyp ermedia search and browsing automated construction

of artifacts and hyp erlinks according to the semantics of the group and individual tasks and the overall

pro cess workow application of to ols to the artifacts and collab orativework for geographically disp ersed

teams

We present a general architecture for what wecallhyp ermedia subwebs and imp osition of groupspace services

op erating on shared subwebs based on World Wide Web technology which could b e applied over the

Internet andor within an organizational intranet We describ e our realization in OzWeb which reuses

ob jectoriented data management for applicationsp ecic subweb organization and workow enactmentand

co op erative transactions as builtin groupspace services whichwere originally develop ed for the Oz pro cess

ware developmentenvironment framework Further we present a general architecture for a centered soft

WWWbased distributed to ol launching service This service is implemented by the generic Rivendell

comp onent which could b e employed in a standalone manner but has b een integrated into OzWeb as an

example foreign ie addon groupspace service

Keywords Computersupp orted co op erativework Environment frameworks Hyp ermedia Pro cess To ols

Transactions Workow

INTRODUCTION

In general col laboration environments seek to improve endresult quality and team pro ductivity during b oth

prearranged and ad hoc group activities and pro jects ranging from industrial decision supp ort and mili

tary command and control to healthcare management and delivery to software engineering and engineering

design to publishing and education to crisis management and emergency resp onse Collab oration envi

ronments assist information workers b oth individually and together in a group via data organization and

search co ordination of concurrent access pro cess workow mo deling and enactment application program

launching and other services Collab oration environment frameworks provide generic facilities that can

easily and rapidly b e tailored to a sp ecic eort

Hypermedia collab oration environments intertwine supp ort for planning and execution of purp oseful work by

assisting information workers in generating discovering retrieving up dating crossreferencing and exploiting

all online materials that may plausibly b e relevant to an endeavor The conventional applicationsp ecic

artifacts eg press releases and intelligence rep orts formally pro duced and consulted during the conduct

of a pro ject may make up only a small prop ortion of the relevanthyp ermedia There could also b e arbitrary

informal do cuments such as email and newsgroup archives meeting minutes p erhaps including video and

audio comp onents even scannedin diagrams sketched on napkins as well as traces of the pro cess that has

b een followed to date during the pro ject with various analyses and metrics regarding the progress of the

ad hoc eorts may b e slowed down particularly during their initial eort Without such broad supp ort

stages due to lack of organized information access Further the do cumentation available after pro ject

completion may not include all the nitty details that came up during meetings email discussion groups

etc apparent minutiae some of whichmay later b e quite valuable for desiderata and p ostmortem analysis

has likely b een lost

Hyp ermedia materials need not reside in a single rep ository constructed sp ecically for that pro ject or internal

to the encompassing organization but could p otentially reference do cuments from arbitrary external sources

and even add on links b etween external data of arbitrary typ es whose native rep ositories or formats provide no

hyp erlink capabilities Endusers and the environments task engine should b e able to intro duce links on top

of and orthogonal to anyhyp erlinks emb edded in do cuments by the authors to add references to materials the

authors never thought of did not know ab out or that did not exist when the do cuments were written Note

this p ermits hyp erlinking materials generated and managed independently from the collab orative activity

such as digital library publications technical rep orts from unrelated institutions that provided inspiration or

insights videos or transcripts of seminars or television presentations with some b earing on the work public

resources etc These features are particularly useful for activities whose participating organizations andor

information resources must b e drawn together quickly with limited time to set up a pro jectsp ecic database

and reformat existing data as hyp ermedia

This is very nearly what the World Wide Web WWW provides Thus wecho ose Web technology particu

larly Hyp erText Transfer Proto col HTTP and Hyp erText Markup Language HTML as the infrastructure

on which to construct hyp ermedia collab oration environments Web technology can b e applied within an

organizational intranet with references to external resources tunneled through rewalls ob viouslypro

prietary or secret materials would not b e made publicly available on the Internet However Web technology

alone or in tandem with other distributed computing infrastructures eg DCE OLE CORBA do es not

provide the services necessary for collab oration

There is little organization of Web do cuments a great advantage for generic use but consequently

pro jectsp ecic navigation and search are challenging Although new Web pages can b e created with

We use the terms pro cess and workow interchangeably throughout this pap er ignoring the quibble that workows

are generally relatively short and a longlived pro cess may encompass manyworkows

links to do cuments elsewhere on the Web there is no general way to add on applicationsp ecic typ es

attributes and links to arbitrary materials Applicationsp ecic organization would provide a common

context for collab orative information sharing

There is no supp ort for workow mo deling and enactment regarding access to Web pages A workow

engine can present to users and guide and assist them in following a medical care plan design pro cess

business practice etc whose information comp onents are stored as Web hyp ermedia Workowwould

provide a structured means for co ordinating the roles that participants take in collab orative tasks

Although the Web may soon support versioning and conguration management following the checkout

mo del there is little concept of transactions with either the classical atomicity consistency isolation

and durability prop erties or p ermitting relaxations prop osed for longduration interactive andor

co op erativework The rst author argues in why the checkout mo del is less attractive for

collab orative eorts than the emerging variety of co op erative transaction mo dels Concurrency control

of some sort is a key requirement for managing concurrent access to shared information

Both collab orative and solo work involve more than browsing of HTML do cuments artifacts stored in

hyp ermedia collab oration environments come in many dierent formats There is no standard means of

using these disparate forms of information once found particularly as inputs to to ols Software to ols and

application programs are to information workers as the hammer and chisel are to the carp enter essential

comp onents in accomplishing the tasks required by their work Imagine telling a carp enter that some of her

favorite to ols could only b e used on a sp ecic style of workb ench and other to ols she uses every daycan

only b e used on a dierentstyle of workb ench and a third set of to ols are only available on a particular

workb ench lo cated in a neighb oring city Users of collab oration environments face an analogous problem

To treat the Web as a rep ository for hyp ermedia collab oration environments it is necessary to apply b oth

conventional to ols do cument editors spreadsheets virtual whiteb oards etc and emerging Webaware

to ols HTML editors emailers etc to Web entities and place to ol results backonto the Web Many useful

to ols run only on particular computing platforms eg Solaris versus Windows and economic constraints

may restrict licensing to a particular host b ecause either the hardware or software is very exp ensive eg a

Craynumerical analysis package making it dicult to integrate the use of these to ols with a users task at

hand preferably p erformed sitting at that users oce workstation or on a mobile host in the eld

All these hurdles get in the users way They must rememb er not only where they can run certain to ols but

also the sp ecics on starting them including environmentvariables needed command line options etc A

distributed to ol service can solvemany of these problems by handling the knowledge ab out how and where

to run a to ol All the user need do is request a to ol from the to ol server The to ol server is then resp onsible

for rememb ering and deciding the sp ecics on running the to ol Many existing systems can b enet from

the addition of or integration of a to ol services comp onent The problem of managing the use of software

resources needed by an organization making to ols as easy to run and as ubiquitous as p ossible is one which

can b e solved by incorp orating a to ol server into the use of the system We are particularly concerned here

of course with integration of distributed to ol services into hyp ermedia collab oration environments

We prop ose functionality in terms of subwebs and groupspaces and then present an innovative architec

ture that makes it relatively easy to add applicationsp ecic subweb subset of Web organization navigation

and search and workow transactions to ol launching and related groupspace multiuser workspace ser

vices to the World Wide Web infrastructure Our approachdoes not require a sp ecial browser any browser

that supp orts the HTTP standard is sucient Our approachdoes not require use of a sp ecial server

any HTTPcompliantweb server will do The trick is to use HTTP proxy servers which can mediate all

trac fromto anybrowser with resp ect to any servers and can b e congured to apply to all WWW browsers

throughout a site HTTP proxies are generally used for implementing shared caches and tunneling WWW

trac through organizational rewalls and but can b e applied for any purp ose where automatic ltering of

all URLs Web Universal Resource Lo cators is desired



Note that we use the term transaction as it app ears in the database literature to mean a sequence of op erations generally

taking a collection of data from one semantically consistent state to another as opp osed to its common usage in reference to

WWW ie a single request from a browser to a website server and the corresp onding resp onse

Wehave implemented a prototyp e hyp ermedia collab oration environment framework called OzWeband

several working environment instances This research is concerned with how to apply pro jectsp ecic data

management workow and co op erative transactions to Web materials not which sp ecic data denition

notation pro cess mo deling language and enactment mo del concurrency control mechanism etc might

b e b est for a particular class of collab oration environment Thus we adapted these facilities from the Oz

pro cesscentere d environment to our architecture rather than attempting to invent new ones or arguing

in favor of our old ones However it was necessary to devise a new approach to to ol management amenable

to deploymentover WWW Thus we also describ e an architecture for a generic Webbased to ol server our

prototyp e implementation of such a system dubb ed Rivendell and its integration with OzWeb Finally

WWW admits to a wide range of user interfaces Our sample graphical user interface GUI assumes the

HTML standard eg frames but the GUI is completely replaceable and a less sophisticated non

frames version or a more sophisticated Javabased GUI could easily b e substituted We are working the

ts latter where a Java windowinteracts with the user and browser windows only display HTML do cumen

We rst givetwo motivating scenarios one a real life situation that we soughttocontend with in developing

subwebs and groupspaces and the other a hyp othetical but realistic example of when distributed to ol services

are needed Then in Section we prop ose functionality for subweb organization and groupspace services to

achievehyp ermedia collab oration environments Section describ es our architecture on top of the World

Wide Web infrastructure followed by Section with our implementation in OzWeb Section fo cuses

on our distributed to ol service as a groupspace service added on the OzWebcovering requirements and

approach architecture realization and integration We conclude with evaluation of our results in Section

comparison to related work in Section and contributions and future work ideas in Section

Motivating Scenario

The Spring Intro duction to Software Engineering course at Columbia involved a team pro ject where

groups designed co ded and tested a query pro cessor for a given ob jectoriented database system OODB

The ob jectbase implementation was supplied as C header les and ob ject co de libraries and a functional

sp ecication for the ideal query pro cessor was given Each group develop ed a structured design for the query

pro cessor The design do cuments were swapp ed with other groups who p erformed design review and then

co ded this design The groups insp ected and revised their own co de and swapp ed with another group for

testing Since only two groups had complete implementations the lobster group tested the co de from the

whitespace group and all other groups tested lobsters co de Some groups submitted their homework in

HTML or p ostscript format from their Web pages

The students in the lobster group were invitedtotake the Undergraduate Pro jects in Computer Science

course in Summer to extend their query pro cessor Several graduate students and a sta member were

concurrently working on the same OODB and on the Oz and OzWeb systems constructed on top everyone

was working against tight deadlines This was not homework they were developing a signicantpiece

of our system but would so on graduate and disapp ear so their co de would ultimately b e maintained by

other p eople

We had numerous p otentially useful artifacts online The OODB manual source co de interface and library

class lecture notes homework assignments required readings etc the functional sp ecication for the as

signed query pro cessor and the student prop osal for its extensions design do cuments from several groups

baseline co de at semester end and new co de in progress from the lobster group lobsters co de insp ection

rep orts the sample data mo del and ob jectbase supplied for testing testing rep orts and journals from other

groups on lobsters co de email b etween the students and instructor and the class newsgroup archive One

could also imagine talkchat transcripts and video andor audio meeting records

Simply placing these materials online is inadequate Manually creating and maintaining crossreferences as

the work continues and do cuments change would b e an enormous undertaking Instead useful hyp erlinks



The student groups invent their own names eg now during the Spring course one group calls themselves three

sto oges

should b e automatically generated when p ossible and b e automatically added as the materials undergo

further evolution Environment users should b e able to intro duce hyp erlinks incrementally as they discover

useful relationships either manually or through automated agents We emphasize useful b ecause simply

indexing or crossreferencing every app earance of a given word or phrase would result in a densely linked

mass of little value Instead weadvo cate a lo ose schema categorizing and organizing entities of interest

pro cess mo deling to indicate semantic dep endencies and workow automation to automatically addremove

hyp erlinks as tasks are completed as key valueadding services

Motivating Scenario

Imagine a situation in which a company XYZ Industries follows a spro cket design pro cess that involves

mathematical simulations using a rather exp ensivesoftware package running on a Cray sup ercomputer

Related CAD work is done on SGI workstations running AutoCad XYZ has standardized on the

UNIX version of Adob es FrameMaker for all their internal do cumentation and they use a mix of the UNIX

and Windows versions of Adob e Photoshop for creating illustrations for the do cumentation Microsoft

Pro ject is used for scheduling pro jects including tasks like pro ducing and up dating Gantt charts of pro ject

milestones and deadlines All the engineers at the company require access to all these to ols in order to

complete their work

Unfortunately XYZ Industries has let things get a little out of hand Every engineer sits in frontofeither

a SGI workstation or a Windows PC Problems o ccur b ecause all the users require access to all the to ols

no matter what kind of computer they happ en to b e sitting in front of Training is a nightmare b ecause

Windows PC users do not want to learn UNIX commands and UNIX users dont want to b e forced to

b orrow a Windows PC whenever they need a to ol from that environment Giving each engineer b oth a

UNIX workstation and a PC on their desks is prohibitively exp ensive

In addition complicating things even further is the need to share to ols among multiple sites on the XYZ

corp orate wide area network WAN Engineers in Palo Alto and New York must access the Craynumerical

analysis to ols and the Cray happ ens to reside at the Chicago oce Everyone needs access to AutoCad

running on the p owerful SGI Onyx in the Palo Alto oce XYZ can aord the relatively inexp ensive telecom

munications links b etween these three cities but they cannot aord to duplicate the extremely exp ensive

Cray and asso ciated software at every corp orate site Figure illustrates this hyp othetical WANLAN setup

WWW technology provides a unique platform for distributed to ol services whether throughout the Internet

or within an organizational intranet ie WAN separated from the Internet byrewalls The HTTP proto col

includes facilities that allow a client to request something from a server the HTTP GET metho d This

request format can b e generalized to allowa client to request a to ol from a to ol server masquerading

asaWeb server The client in this case can b e either a standard unmo died WWW browser including

Netscap e Navigator Microsoft Internet Explorer or NCSA Mosaic or any application capable of making

an HTTP GET request

APPROACH

Subwebs

A subweb organizes online materials of plausible interest to a pro ject or organization such as in our rst and

second motivating scenarios resp ectivelyover its lifetime A subweb supp orts structured asso ciativeand

wing Some materials may navigational queries and unstructured information retrieval and hyp erlink follo

b e up dated for unrelated purp oses so it is not always appropriate to copyeverything to a pro jectsp ecic

rep ository some do cuments should continue to reside at their original homes but b e treated as part of the New York LAN

Chicago Office LAN New York PC’s, Mac’s and Workstations Chicago PC’s, Macs, and Workstations

Cray Server

XYZ Industries Corporate WAN

Palo Alto LAN

SGI Onyx

Palo Alto PC’s, Macs

and Workstations

Figure XYZ Corp orate WAN

WebObj superclass ENTITY

URL string

type Reference Copy Updatable

Reference

content binary html

updateinfo text updinfo

my links set of link ENTITY

my children set of ENTITY

end

Figure WebOb j Sup erclass

pro jects information base p erhaps without the authors knowledge for publicly available materials and

p ossibly with external hyp erlinks added on constituting twolevel hypertext

Subweb organization follows what we call a lo ose schema b ecause it sp ecies the existence names and typ es

of p ossible comp osition and referential links imp osed on top of the materials as well as other attributes but

do es not dene or aect anyhyp erlinks that maybeemb edded in their content In particular the schema

mayintro duce external links among do cuments images etc that are unknown and p erhaps irrelevant

to the authors of those materials Thusasubweb server is a form of link server with an ob jectoriented

database veneer in which those ob jects that are instances of saythe WebObj class corresp ond to WWW

URLs Note URLs need not refer to full pages or images but may corresp ond to a p oint within a do cument

eg using the fragment name feature of HTML A HREFname and A NAME

Figure shows a sample WebObj class Its attributes represent the WWW anchor ie a fullyqualied

canonical URLasan asci i string following the HTTP standard to retain compatibility with arbitrary

backend services the access type which defaults to Referencecache the hyp ermedia entity content

in an opaque binary le and store related information such as timestamp from website and lo cation if

moved in the updateinfo text le The my links and my children attributes allow arbitrary references

and comp osition of ob jects in addition to anytyp ed link and comp osite attributes that might b e dened by

sub classes inheriting from WebObj

The Reference access typ e refers in virtual form to whatever entity is found by accessing the anchor The

entity mightbechanged out from under the subweb or b ecome inaccessible at any time although the

content eld is used as a cache Rep eated accesses eg HTTP conditional GET might not retrieve

the identical do cument All accesses via the subweb are readonly Updatable is the same as reference

except that subweb users can mo dify the entity eg using HTTP PUT The subweb mayown the

website for storing pro jectsp ecic materials or an agreement mightbemadebetween website and subweb

administrators Pro cess constraints are employed so not necessary al l users of a given subweb can make

up dates p erhaps only sp ecially privileged users or user roles and then only when particular prerequisites

are satised

Copy refers to a subwebresidentcopy made when the web ob ject is rst instantiated or reinstantiated

on demand later on eg a Web crawler might p erio dically check for mo dications and notify users The

copy can b e mo died bysubweb users although a particular environment instance might add a readonly

attribute enforced by pro cess constraints but is not intended as a writethrough cache changes to and

new versions of the copy do not in anyway impact the original If the pro cess dep ends on controlling all

up dating or deleting of a particular web page ie changes to that web page out from under the pro cess

engine as ab ove are not acceptable that page should b e designated as Copy or alternatively the website

directory hierarchy should b e protected so that it can b e mo died only via the subweb server

In addition to schemabased queries subwebs provide textmatching search analogous to Yaho o Lycos

AltaVista etc But searchisrestricted to only those hyp ermedia do cuments represented by a selected set of

web ob jects p erhaps the entire subweb or a subset of the do cuments reachable via emb edded links from

the web ob jects eg on the same website as the originating web ob ject CurrentWeb search engines can

restrict to or exclude a particular website andor sub directory hierarchy but cannot consider an externally

imp osed applicationsp ecic collection of Web entities arbitrarily strewn over multiple websites In practice

netsearch often presents many screenfuls of seemingly random materials whereas subweb search will likely

to result in a much smaller and more precise retrieval

The user may write the entity eg using an HTML editor or to ol output only if the target web ob ject is

Copy or UpdatableFor Copy the lo cal copyintheweb ob ject content attribute is replaced or a new

version created for Updatable b oth the content cache and the original are mo died eg via HTTP

PUT If the URL p oints to a directory or otherwise results in generation of an HTML page that page is

treated as the content but writing may not b e meaningful

WWW supp orts forms whereby the user enters input to arbitrary backend programs to b e transmitted and

pro cessed via the standard Common GatewayInterface CGI proto col ie HTTP POST There are

several user interaction mo dels The user mightintend the web ob ject to represent the blank form to submit

arbitrary queries later or the lledin form eectively a particular query that might b e resubmitted later

with dierent results Although it would corresp ond to a dierent URL the user mighthave in mind the

output of submitting the form with particular inputs the result of a previous query Each of these mo dels

incurs dierent readwrite implications Selection among mo dels can b e done in several ways including

en subweb server dening a sub class of WebObj corresp onding to hardwiring a particular choice into a giv

each of the choices adding an attribute whose value determines the choice for that particular web ob ject

instance or prompting the user when the choice is to b e made during execution

Groupspaces

To construct fully functional collab oration environments on top of hyp ermedia subwebs we add what we

call groupspace services consisting of multiparticipant pro cess automation concurrency control and failure

recovery for collab orativework and to ol management technologies Weallow for addition of other services

such as knowledgebased searchclassication agents contentbased securitymechanisms and general access

control not explored here Some or all groupspace services could b e omitted in a given implementation and

subwebs would still b e useful for organizing materials Wecho ose the term groupspace b ecause we think

of each aected Web browser as the users p ersonal workspace and collab oration supp ort through these

services turns the relevant p ortion of the Web into a cooperative forum

Any pro cessworkow paradigm Petri nets rules task graphs etc can b e adapted to hyp ermedia

A pro cess mo del includes partially ordered tasks allowing for alternatives and iteration Tasks usually have

parameters involving pro cess state andor pro duct artifacts actions that mayinvolveinvo cation of external

to ols may form a hierarchy of subtasks mayha ve prerequisites and consequences and may sp ecify resource

needs Parallel work byhuman participants may b e synchronized

Once a subweb mechanism is in place pro cess mo deling and analysis needs relatively little extension to

work with hyp ermedia We identify the three main concerns of such extension treating hyp ermedia ac

cesses as tasks on which pro cess constraints may b e applied treating hyp ermedia entities as arguments to

conventionally dened tasks and reecting dep endencies among data items as hyp erlinks

In addition to whatever task denition mechanism is already provided the pro cess notation should supp ort

read HTTP GET and write HTTP PUT of a hyp ermedia entity fol low of an external hyp erlink fol low

might not b e distinguished from read where the user enters the desired URL explicitly since b oth corresp ond

to HTTP GET and linkunlink of an external hyp erlink These op erations then could b e used in the

prerequisites and consequences of tasks and their results serve as the arguments to task actions Further

these op erations should b e treatable as primitive tasks in themselves ie the op erations are themselves the

actions with pro cesssp ec ic prerequisites and consequences generally with dierent prerequisites and

consequences for dierent sub classes of WebObj

Then the normal task aggregation facility can b e used to supp ort comp osite hyp ermedia op erations such

as reading or writing a comp ound do cument consisting of multiple entities And partial ordering synchro

nization prerequisites and consequences etc can b e applied to these op erations in the same manner as

for other tasks dened in the pro cess systems native notation For example prerequisites must b e satised

b efore a browser may successfully retrieve HTTP GET or up date HTTP PUT the WWW entity asso ci

ated with a web ob ject No prerequisites are enforced when accessing URLs eg a friends home page or

wwwolympicattcom outside the subweb This extension to pro cess concepts maynotinvolve signicant

changes if the original language already includes read of a pro ject datum etc In a hyp ermedia collab o

ration environment these op erations apply to web ob jects as ob jects and to their underlying hyp ermedia

entities as well as to other data An ideal subweb implementation would make this distinction completely

transparent

The pro cess denition notation should also include facilities for sp ecifying those dep endencies among entities

where comp osite andor referential links are required to b e explicitly placed under human sup ervision versus

those links that couldshould b e inferred and implicitly placed via pro cess automation For instance a task

prerequisite may require that a particular link exist b etween two of its parameters or an implicit parameter

might b e derived by following a sp ecied link whose absence might result in failure to satisfy the prerequisite

dep ending on the logic written by the pro cess designer Or a task consequence mayintro duce or removea

link b etween its inputs parameters and derived parameters and outputs including parameters derived via

asso ciative queries or information retrieval

Such prerequisites and consequences could b e dened manually by the pro cess designer to carefully determine

the cases where hyp erlinks should b e placed by a cognizant user versus automatically inserted Or the pro cess

y the pro cess designer or mo del might b e mechanically transformed according to templates constructed b

provided by the collab oration environment framework although freewheeling automation may result in a

dense and useless mass of crosslinks This extension to pro cess concepts may not involveany syntactic

or semantic changes if the original language already includes such supp ort op erating on its native data

rep ository Again the subweb should hide the distinction b etween web ob jects and native data from the

pro cess engine

Enactment of the groupspacesp ecic pro cess and visualization of the pro cess while it is in progress requires

that all Web browser requests b e intercepted so that prerequisites consequences synchronization etc are

enforced and automated tasks and task segments op erating on WWW entities are automatically initiated

and controlled users are notied when tasks they are supp osed to do b ecome enabled or tasks that aect

them are completed and visualization displays are up dated as the pro cess unfolds Dierent pro cess

systems may not provide all these capabilities eg some pro cess systems attempt to automate satisfaction

of prerequisites and assertion of consequences and thus mightintro duce appropriate hyp erlinks without

human intervention whereas others supp ort more limited workow that only prompts the human to do the

work For all these functions interception of all HTTP trac emanating from a participating Web browser

is mandatory thus our choice of a proxy serverbased approach

If the pro cess formalism is adapted to cover changes to hyp ermedia content particularly Reference and

Updatable web ob jects that change indep endently of the subweb then a p olling scheme is needed eg

a p erio dic Web crawler that noties aected subwebs we cannot assume a notication capabilityb y the

website itself since subwebs and groupspaces must work with al l HTTP servers Such notication must

trigger prop er pro cess enactment p erhaps without an attending human user Some pro cess systems may

already handle external changes outside their control to their data rep ositories or other oline invo cation

Pro cess measurement and evolution do not seem particularly complicated byhyp ermedia except that the

underlying entities may b e manipulated outside the subweb mechanism Thus it is virtually imp ossible for

groupspaces to maintain fully accurate statistics or guarantee that any pro cess state emb edded in WWW

comp onents change only through controlled evolution This is more insidious that the inherent problem

where a user b ecomes ro ot and arbitrarily manipulate a pro ject rep ository through op erating system

facilities b ecause WWWbased hyp ermedia has no central authority

Groupspaces do not require any particular transaction mo del for collab orativework but there must b e

some mo del preferably one that takes pro cess semantics into account to p ermit appropriate serializability

conicts eg when using groupware to ols and avoid inappropriate rollbackofpartialchanges interrupted by

failures eg when human lab or versus regeneratable to ol output is at stake To enforce that two groupspace

users are not up dating the same Web entity or related entities at the same time or over writing each others

changes when transaction prop erties disallow it the system must again intercept all Web accesses

Finallyany collab oration environmentmust supp ort to ols including b oth commercial otheshelf COTS

to ols with no notion of hyp ermedia and emerging Webaware to ols eg HTML editors and emailers If

Webaware to ols can b e invoked directly from the op erating system the subweb implementation should

still guarantee that the to ol will receive the appropriate view eg the subwebs lo cal copy if the web

ob ject is of typ e Copy as opp osed to the original entity from its home website Otherwise to ols can easily

and unintentionally subvert groupspace services If a nonWeb to ol is invoked outside the groupspace

interface say directly on the underlying le system it is generally imp ossible to imp ose groupspace services

or subweb discipline except through access control Other requirements for a general distributed to ol service

are discussed in Section

ARCHITECTURE

eb Discipline Subw

Figure illustrates our subweb architecture The key comp onentisthe subweb proxy through whichall

Web trac is funneled as for anyHTTPproxyTwo distinct subwebs are shown The subweb on the

right contains six web ob jects whose URL attributes p ointtoWeb pages or images lo cated one at website

A twoatwebsite B one at website C and two at the subwebs own websites Subweb users are depicted

as WWW browsers The browsers are congured to transmit all their trac through the subwebs proxy

server These may b e daisychained with other proxy servers b efore and after the subweb proxy p erforming

other functions as in OreOs stream transducers The same subweb could b e accessed through multiple

subweb proxies The browsers proxy servers subweb server subweb websites and any other relevant

websites may reside on dierentmachines disp ersed across the Internet or an intranet Normally there would

be a much larger numb er of ob jects in a p opulated subweb p erhaps thousands or more and more users p er

subweb b oth numb ers dep ending on the application

When one of these browsers sends an HTTP GET request for a URL the subweb proxy asks its subweb

server if that URL corresp onds to anyweb ob ject contained in that subweb If not the subweb proxy

b ehaves like a conventional HTTP proxy and contacts the website server indicated in the URL to retrieve

the entitywhichissent to the browser in the normal fashion In our realization describ ed in Section the

proxy server also sends along a second HTML frame with its groupspace logo and some menu items that

may b e relevant to nonsubweb do cuments eg a command to add the currentdocument to the subweb

and determine its canonical URL since it mighthave b een referenced relative to some other do cument

Note other user interface mo dels are p ossible The proxy server and subweb lo okup add a small overhead to

each nonsubweb access negligible compared to network delay on the same order of milliseconds as for a

caching proxy suchasHarvest

If the requested URL matches a web ob ject then subweb discipline is imp osed meaning the proxy diverts

the request to the subweb server The subweb server is then resp onsible for providing the contents of the

web server retrieval dep ends requested URL to the proxy and hence to the browser The mechanics of sub

on the access typ e the subweb server contacts the originating website with an HTTP conditional GET for

a Reference or Updatable web ob ject and up dates its lo cal cache in the content attribute but supplies

its private copyforCopy also from the content attribute The proxy server tacks on additional materials

groupspace icon etc as ab ove only for those browsers listed in the proxy servers conguration le to b e external external external website website website Internet

OODB internal website

Subweb Server

Groupspace services subweb website Subweb Proxy WWW browsers

S N

N

Figure Subweb Architecture

Browser sends GET URL to proxy server

Proxy server sends GET QueryAttrURL

to subweb server

If the subweb contains the URL

Then the subweb server sends HTTP

OKnContenttype texthtmlnn

content to proxy server

Proxy server sends the same thing on

to browser

Else if not

Then the subweb server sends HTTP

Not Found to proxy server

Proxy server performs standard GET URL

End if

Figure Subweb Proxy Server Proto col

matched against the standard HTTP UserAgent eld the p oint is to supp ort arbitrary Webaware to ols

whichwould not b e listed unless they are capable of handling addons in a reasonable fashion to op erate

within the subweb discipline Ignoring our GUIs use of frames which adds an HTTP Redirect exchange

the basic proto col is shown in Figure

HTTP PUT works similarly If the asso ciated URL is not resident in the subweb server the proxy attempts

to PUT directly to the appropriate website server That server may of course refuse the PUT if the enduser

or the subweb server acting on hisher b ehalf is not prop erly authorized in which case an error message is

returned to the browser If the URL is in the subweb then the PUT and corresp onding content is sentto

the subweb server If the web ob ject is of Reference access typ e the PUT is rejected since by denition the

subweb treats the underlying Web entity as readonly If the web ob ject is Updatable then the PUT is sent

to the website server if the PUT succeeds then the lo cal cache ie the web ob jects content attribute is

also up dated Finallyiftheweb ob ject is of typ e Copy then only the lo cal content is changed and there is

no interaction with the website asso ciated with the URL

Imp osition of Groupspace Services

At the subweb server as an extension of subweb discipline the retrieval or up date is sandwiched b etween

applicable groupspace services For example pro cess and concurrency control constraints might b e applied

rst to determine whether or not the read or write op eration can succeed at this time and by this user in the

current context The op eration might b e rejected if the user do es not have prop er authorization with resp ect

to the given web ob ject if the pro cess prerequisites have not b een satised and cannot b e automatically

satised through pro cess automation or if there is a concurrency control conict with another user who is

concurrently accessing the same web ob ject as part of a transaction

In the case of HTTP GET the subweb server p erforms pro cesssp ec ic op erations indicating the consequences

of the read immediately after sending the do cument to the subweb proxy and hence to the users browser

This may trigger pro cess automation to fulll the implications Note this is dierent from the usual pro cess

enactment mo del where the eects are asserted only after the entire task has b een completed It is imp ossible

to determine in the Web browser case when the user is done with hisher reading Although another icon

could b e added to the do cument displaywhich the user would click to indicate completion this cannot b e

taken as pro of that the user will not return to reading the do cument later on without notifying the subweb

server since the do cument could b e stored in the browsers own cache and access via the back button

There is a similar issue regarding concurrency control since arbitrary browsers do not signal when reading

is done

A related problem arises with HTTP PUT b ecause by denition the write task has b een completed at the

time of the PUT op eration If the PUT is denied for pro cess or concurrency control reasons the users eorts

may not have b een totally wasted generally the mo died content is still available in the users browsereditor

and the PUT can b e retried later Of course the PUT can b e denied at the underlying website server b ecause

the enduser do es not have prop er authorization indep endentofsubweb discipline or groupspace services

The general problem of clientserver transactions and prop osed solutions appropriate to pro cessworkow

is the main fo cus of other work eg see and not addressed further here

The architecture and realization of our to ol service are indep endent of although complementary to sub

websgroupspaces and their implementation in OzWeb and are presented later in Section

OZWEB REALIZATION

Oz Background

OzWeb reuses the pro cess mo deling language and enactment engine the transaction manager and the

ob jectoriented database management system develop ed for the Oz pro cesscente red environment

Oz provides a rulebased pro cess notation in which a rule generally corresp onds to a workow step Each

rule sp ecies the steps name as it would app ear in a user menu or agenda typ ed parameters and bindings

of lo cal variables from the pro ject ob jectbase a condition to b e satised b efore initiating the steps activity

the to ol invo cation script and arguments for the activity and a set of eects one of which asserts the

actual results of completing the activity The return value of the to ol script selects the appropriate eect

Builtin op erations like add delete etc are mo deled as standard rules and can b e overloaded based on the

parameter typ e eg to intro duce typ esp ecic conditions and eects on those op erations builtin op erations

can also b e used in the eects of arbitrary rules

Oz enforces that rule conditions are satised and automates the pro cess via forward and backward chaining

When a user requests to p erform a step whose condition is not currently satised the pro cess engine backward

chains to execute other rules whose eect may satisfy the condition if all p ossibilities are exhausted the user

is informed that the chosen step cannot b e enacted at this time When a rule completes its asserted eect

may trigger automatic enactment of other rules whose condition has b ecome satised Users usually control

the pro cess by selecting rules representing entry p oints into comp osite tasks consisting of one main rule and

a small numb er of auxiliary rules reached via chaining but it is p ossible to dene complete workows in

either goaldriven backward chaining or eventdriven forward chaining fashion

Oz employs a clientserver architecture Clients provide one of several user interfaces XView Motif and

tty and invoke to ol scripts which in turn fork and manage external to ols as describ ed in Servers

contextswitch among multiple clients and include the pro cess engine transaction manager and database

An Oz environment usually consists of several servers each with its own data schema ob jectbase pro cess

mo del and to ol scripts Clients are always connected to one lo cal server and may also op en and close

ers communicate among themselves to connections to remote servers in the same conguration Serv

establish and op erate al liances supp orting pro cess interop erability and limited data and task sharing across

pro cesses

OzWeb Implementation

OzWeb extends the Oz server to op erate as a subweb server and also as a generalpurp ose HTTP

server ftp gopher etc proto cols are not supp orted The subweb proxy is a clientoftheOzWeb server

communicating with it via HTTP Native Oz clients continue to work with the OzWeb server and are useful

for debugging The user browsers proxy servers subweb server subweb websites and any other websites

represented in a subweb may all reside on dierentmachines disp ersed across the Internet but could also

reside on the same host OzWeb subweb and proxy servers run on Solaris Of course browser clients

of the subweb proxy run on any platform where WWW browsers are supp orted

When the proxy asks the subweb server whether or not a given URL is represented in the subweb an

ob jectbase query is formulated to search for an instance of WebObj or one of its sub classes with that URL

Although built in to the subweb server the WebObj implementation is formulated as a separate layer from

the OODB so that another database system could p otentially b e substituted W e are working on other such

layers for CORBA ob jects Chimera ob jects etc to apply subweb discipline groupspace services

and eventually alliances to backend servers other than website servers and the native Oz ob jectbase we

also plan to add frontend access proto cols for CORBA clients Chimera clients etc

Ozs pro cess engine was extended with read and write op erations that can b e overloaded by pro cesssp ecic

rules thus adding prerequisites and consequences to these primitive tasks The subweb mechanism trans

parently supplies or mo dies the requested le attribute for all ob jectbase ob jects In the case of a web

ob ject and its content attribute the retrieval or up date pro ceeds as in Section only the ob jectbases le

attribute is aected in the case of native Oz ob jects or other le attributes of web ob jects read and write

could alternatively have b een implemented purely as pro cesssp ecic rules rather than builtin op erations

but this approach p ermits us to use them in the eects of arbitrary rules and is more ecient Oz already

provided builtin link and unlink op erations that can similarly b e overloaded as well as used in rule eects

There is no distinction b etween how link and unlink are applied to web ob jects compared to native Oz

ob jects in particular the external links are represented in the subweb ob jectbase and do not in anyway

tent aect any HTML links emb edded in WWW entitycon

The distinction b etween WebObj instances and native Oz ob jects is completely transparent to the pro cess

engine transaction manager and underlying OODB The pro cess engine was mo died only to supp ort prim

itive read and write op erations on all typ es of ob jects No changes were made in either the transaction

manager or OODB which leads to a lo ophole in b oth concurrency control and failure recovery lo cks

to enforce serializability and undo logs used to guarantee failure atomicity apply only to the web ob ject

representation inside the subweb servers ob jectbase There is nothing preventing other users not employing

the subwebs proxy to arbitrarily access and mo dify a website directory hierarchy directly if p ermitted by

that le systems protection mechanism This issue is addressed further in Section

The standard Oz commands were augmented to include a search command When applied to the contents

attribute of a web ob ject an implicit read op eration is p erformed p erhaps up dating the lo cal cache in the

case of Reference and Updatable typ es If the underlying WWW entity consists of HTML or other asci i

text an internal index is up dated using the Glimpse utility Then the actual search is p erformed on the

appropriate subset of the index corresp onding to those web ob jects of interest that is more than one web

ob ject can b e sp ecied as arguments to the same search The same searchmechanism also applies to the

text le attributes of all Oz ob jects

When a registered browser is sentanyWWWentity whether in the subweb or not by the proxy server an

additional HTML frame is sent to display at the top of the browser window an OzWeb panel with an icon

to select the OzWeb control screen When web ob ject content or any ob jects le attribute is read from

a subweb the subweb server also sends to the proxy server this icon plus the values of primitive attributes

dened by the ob jects class and its sup erclasses HTML links corresp onding to each le comp osite and

reference attribute multiple links for set values and additional subwebsp ecic materials eg there might

b e a message of the day to all subweb users plus usersp ecic notices

Selection of the control screen icon brings up another browser window giving the full Action Menuandan

ob jectbase display formatted in HTML The ob jectbase is represented as a twocolumn table with a list

of the names of ob jects at the current level on the left hand side and the names of the children of the

currently selected ob ject on the right hand side all represented as HTML links Selecting a child moves it

and its siblings to the left with the selected child now the current ob ject and shows its own children

on the right there is also a link for moving up in the ob jectbase comp osition hierarchy The values of

primitive attributes and links representing le comp osite and reference attribute of the current ob ject

are shown b elow this table Selecting any link in the Action Menubringsupbrowser windows for entering

arguments to the corresp onding command When an argumentmay b e an ob ject a browsing table similar

to the ob jectbase displayisshown textual entry eg for search patterns is also supp orted Several sample

screenshots are shown in Section

The ob jectbase display and browsing tables contain URLs referring to the OzWeb subweb server rather

than some conventional website For example the current p osition in the ob jectbase is enco ded in the URL

transmitted to the browser in the form httpwebsiteObjectViewOID So the URL that the

browser sees may not b e the same as the entitys home URL ie the URL eld of the web ob ject with

orks slightly the given OID Ob ject IDentier Selecting an HTML link from an ob jectbase table thus w

dierently than for access through standard WWW browser windows the OzWeb server transforms the

URL and uses HTTP Redirect to force the browser to rerequest the entity from its prop er lo cation subweb

lo okup is not needed since ob jectbase links always refer to subweb materials

TOOL SERVICE

Requirements

We identify a numb er of requirements for a distributed to ol server system

Run to ols on multiple platforms

Users should b e able to request to ols that run on a range of machine architectures and op erating

systems Users should not have to rememb er for example that the Cray software is in Chicago and

the asso ciated network commands to access it They should b e able to ask any one of a set of well

known to ol servers for the to ol and each to ol server should b e resp onsible for knowing either the

details on how to start the to ol itself or to which of its p eer to ol servers to forward the request

Although it may seem that an organization mightneeda largenumb er of to ol servers running sayif

there is one p er host where to ols reside each uses relatively few system resources compared to many

users logging into the system in order to run to ols In addition if resources are scarce and the to ol

server is needed infrequently it could b e started automatically up on a user request byalightweight

system daemon that starts up when a user tries to connect to its TCP request p ort

No lo cal to ols required on client hosts

It should b e p ossible to request all to ols from the to ol server The to ol server maybeabletoexploit

lo cally a vailable applications ie software installed on the users computer but it must b e able to

make remote to ols available via display redirection facilities like those of X Windows This minimizes

user and system administrator burden since it is then unnecessary for p opular packages to b e installed

on every computer

Run to ols on the users own UNIX workstation PC or Macintosh when possible

Atoolserver should b e able to decide that a given to ol can and should b e run lo cally on the client

users machine This is intended as an optimization since its often more ecient in terms of network

bandwidth to run a to ol lo cally than to run a to ol remotely and redirect its GUI using a remote

display facility like X Windows However in the case of dataintensivetoolsitmight b e preferable to

run the to ol on the same host where that data resides which might b e a shared le server rather than

the users machine

Wrap to ols and sequences of to ols

It should b e p ossible to wrap sequences of to ols and have the wrapp er app ear to the user as a single

activity that they are able to request from the to ol server This is useful for to ols whose input andor

output must b e converted b etween le formats Wrapp ers can also handle startup congurations

including moving all relevant data les to a temp orary directory setting environmentvariables etc

Easy to use

Users should b e able to connect to a to ol server to receive a listofavailable to ols or activities without

the creation of a heavyweight user interface that would need to b e p orted to all computing platforms

in use and learned by all users

Easy integration with existing systems

A to ol service should b e easy to integrate with existing systems that might b enet from a to ol launching

facility such as CADCAM software developmentenvironments and workow or medical care plan

automation systems in addition to simple menubased systems that present a list of p otential tasks to

the user This requires the to ol server to provide an Application Programming Interface API of some

sort for programtoprogram requests and resp onses without user intervention

Comp onent Architecture

Wehave devised an architecture that combines a collection of co op erating to ol servers running on a variety

of server computers with a p ersonal to ol services comp onent that runs on each users own machine We

use the phrase to ol server to denote a remote to ol server running on a server computer and the phrase

p ersonal to ol server or PTS to refer to a to ol server that runs to ols on a users b ehalf directly on hisher

lo cal UNIX workstation PC or Macintosh

The to ol server is mo deled as an HTTP server and uses HTTP as the communication metho d not only

between itself and clients but also b etween p eer to ol servers HTTP as opp osed to say RPC or CORBA

was selected b ecause it is a simple TCPIPbased requestresp onse proto col making it easy to graft

onto existing systems p ossibly using to olkits like libWWW from the World Wide Web Consortium

or ASHeS the Application Sp ecic HTTP Services to olkit from our research group The HTTP

sp ecication provides metho ds for a client to request a do cument HTTP GET and send data HTTP

PUT to a server In our architecture the URL is treated as a request for a to ol

Users connect to to ol servers via standard Web browsers When a to ol execution is desired the user or an

existing system that needs to run a to ol on a users b ehalf simply requests an appropriate URL from a to ol

server Rather than returning a do cument as would a standard website server the to ol server invokes the

to ol or a to ol wrapp er p erhaps by employing a p eer to ol server or p ersonal to ol server Any return co de

or output from a terminating to ol is sent to the users Web browser

When a to ol server starts up eg during system b o ot of a server machine it contacts other to ol servers

to exchange information These p eers may b e sp ecied in a conguration le or may b e inquired from a

directory service By storing information on what to ols eachknown remote to ol server is capable of running

it is p ossible for to ol servers to handle requests for to ols it may not b e able to run directly When a request

for to ol execution arrives from a client the to ol server can simply relay the request to a p eer to ol server that

knows how to p erform the execution Figure depicts a user requesting a to ol from a given to ol server where

that to ol server then forwards the request to a p eer Note this makes p ossible a clearinghouse approach

to to ol management In this scheme most to ol servers are set up to kno whow to run a sp ecic class of to ols

on a particular architecture host etc In addition one or more clearinghouse servers are congured to

contact the other servers and retrieve their to ol denitions Users can then connect to a clearinghouse server

to request to ols that actually reside on any one of the other servers

Implementing to ol servers as WWW servers makes it easy to run to ols directly on the users lo cal machine

We employ the Webs standard mechanism for capability augmentation a new Multipurp ose Internet Mail

Extensions MIME typ e and corresp onding MIME help er application Every resp onse from an HTTP Tool HTTP Request Tool Server Server

HTTP Request

N

Application

Figure Peer To ol Servers

HTTP OK

Date Fri Oct GMT

Server Apache

Contenttype texthtml

Contentlength

Lastmodified Wed Aug GMT

more data

Figure Resp onse headers from an HTTP transaction

server is tagged with a MIME typ e tag Figure shows an example resp onse and its asso ciated MIME typ e

eld Every Web browser can b e congured to start what is known as a Help er Application or app when

it receives data with a certain MIME typ e If received data is destined for a help er app the browser simply

saves that data to a temp orary le and starts the help er app giving it the temp orary le name as input

For example supp ose a to ol server receives a request from a PC user who wishes to run Microsoft Excel

which happ ens to b e installed lo cally on that users computer The users system administrator has

congured her browser so that receipt of data with the MIME typ e applicationx to ol serv causes a MIME

help er application to b e started on the computer This help er app is the Personal To ol Server whichis

resp onsible for actually starting the to ol as illustrated in Figure The data from the HTTP server tells the

PTS which lo cal application is b eing requested and the pathname to the executable program The pathname

maypoint to either the application itself or a wrapp er When the user terminates the to ol the PTS closes

down and exits Tool Server

HTTP Request

N

Personal Tool Application

Server

Figure Personal To ol Server

Activities and Scenarios

For some classes of to ols there maybemultiple individual to ols eg running on dierent platforms or

hosts which can accomplish the same task Imagine Jane an employee of XYZ Industries wishes to edit a

C source co de le If Jane uses a UNIX workstation it may b e appropriate for the to ol server to run the

Emacs text editor If she happ ens to sit in front of a PC it may b e b etter to start a Windows to ol In b oth

cases Jane will accomplish the same task editing a source le The user requesting the to ol may leaveit

up to the to ol server to determine which to ol is more appropriate in a given situation

Our to ol server mo dels Activities and Scenarios to address such situations Janes Activity mightbe

called Edit The p ossible Scenarios for Edit might b e Emacs on SparcSolaris and WinEdit on Windows

When users request to ols from the to ol server see b elow they can sp ecify a particular scenario name

if they need to run a sp ecic to ol from the available choices otherwise only the activity is sp ecied

The to ol request sentby the client is a standard HTTP GET for a URL of the following form

GET Activity NameScenario NameArchHostParameter Parameter N

Activity Name is the only required parameter It tells the to ol server which Activity the user is

requesting

Name cho oses a particular Scenario indicates no preference Scenario

Arch allows the user to sp ecify that this Activitymust run on a particular computer platform enco ding

b oth architecture and op erating system for instance SparcSolarisorIntelSolaris This can b e

used to dierentiate among Activities that use the same parameters as input but generate dierent

sideeects when executed For example a Compile activitymayhavetwo p ossibilities dened one

for the HPUX op erating system and another for Solaris One source co de le may b e used to generate

ob ject co de on either platform whichthe Arch parameter allows to b e chosen Again maybe

sp ecied for to ols where the platform do es not matter

Host requests that a particular Activity b e run on a sp ecic host overriding the to ol servers choice

of whichhostwould b e the b est place to run the selected to ol refers to this default

After the Host parameter any other p ortions of the URL are considered parameters to b e passed on

the command line when starting the to ol or wrapp er

Rivendell Realization

Our preliminary implementation of a distributed to ol server comp onentisknown as Rivendell and follows

the architecture outlined ab ove running on Solaris and Windows NT Rivendell actsasa

standard HTTP server receiving GET requests of the form sp ecied ab ovetolaunchtools Rivendell is

currently started during system b o ot although it would b e p ossible to employ a daemon to start Rivendell

only when a user request is received

During startup a Rivendell to ol server attempts to read its conguration les which sp ecify the Activities

and Scenarios it knows how to run as w ell as the p eer to ol servers it should contact and then contacts

those p eer to ol servers running on other machines on a LAN across a corp orate WAN or intranet or

even across the Internet When a p eer to ol server is contacted Rivendell attempts to download the list of

activities and scenarios known by the foreign server Once this has b een accomplished Rivendell p erforms

an HTTP PUT to upload into the foreign server the list of activities and scenarios it has b een congured

to handle Figure shows an example Rivendell conguration le The format strongly resembles the to ol

base information from MTP a previous to ol management eort in our lab which allowed for among

other things sp ecifying particular hosts where to ols had to run MTP fo cused on shared groupware to ols

one of the extensions wehopetomaketo Rivendell during our future work Peer: "pearl.psl.cs.columbia.edu:7777"; Peer: "marginal.psl.cs.columbia.edu:7777"; PTS_MIME: "application/x−toolserv"; Tool Editor [ Name : "Emacs"; Arch : "Sparc/Solaris"; Host : "*"; Exec : "/usr/local/gnu/bin/emacs"; Graphical : T; ]; [ Name : "WinEdit"; Arch : "Intel/Windows"; Host : "*"; Exec : "\edit\winedit.exe"; Graphical : T; ]; Tool [ Name : "GCC"; Arch : "Sparc/Solaris"; Host : "*"; Exec : "/usr/local/gnu/bin/gcc"; Graphical : F; ]; [ Name : "SparcWorks"; Arch : "Sparc/Solaris"; Host : "pearl.psl.cs.columbia.edu"; Exec : "/opt/SUNWspro/bin/cc"; Graphical : T;

];

Figure Sample Rivendell Conguration

The rst p ortion of the conguration le the Peer lines tell this particular Rivendell instance

how to lo cate its p eer to ol servers These to ol servers will b e contacted and conguration infor

mation shared with them at startup time This Rivendell instance has two p eers running on

p earlpslcscolumbiaedu and marginalpslcscolumbiaedu b oth on TCP p ort

The PTS MIME line tells Rivendell what MIME typ e to send to the users Web browser in order to

tell the browser to start the PTS for lo cal to ol execution The browser must have b een congured

b eforehand to start the PTS up on receipt of this MIME typ e This conguration is often handled for

users by an organizations system administrators

Following the MIME typ e denition are the denitions for the Activities and Scenarios known to this

particular Rivendell instance Two Activities are dened Editor and Compiler each of which

has two scenarios The Editor Activity denes a Scenario called Emacs on SparcSolaris as well as

one called WinEdit on IntelWindows

The actual pathname to the executable to ol or wrapp er is given in the Exec parameter in each

Scenario

The Graphical parameter tells Rivendell if the to ol has a GUI or is a batchtool

After the conguration le has b een read Rivendell contacts each of its p eer to ol servers issuing the

following HTTP GET request

GET Rivendell ACTIVITIES

The remote to ol server is exp ected to resp ond with its Activities and Scenarios The following example

illustrates this format which is the same format as the Activity denitions from the conguration le read

at startup

Tool Project

Name MS Project

Arch IntelWindows

Host

Exec msofficeprojectprojectexe

Graphical T

This resp onse indicates that the contacted to ol server denes one lo cal Activity called Pro ject Rivendell

stores this information and if a client requests the Pro ject Activity that request will b e forwarded to this

Peer To ol Server Once Rivendell has downloaded the Activity and Scenario information from the remote

server it p erforms an HTTP PUT of the following form

PUT Rivendell ACTIVITIES local activity information

Rivendell thus sends the Activity denitions from its conguration le to the remote p eer It contacts each

p eer to ol server in this fashion transferring information Once this has b een completed Rivendell is ready

to receive user requests

A users to ol request is an HTTP GET where the URL sp ecies the Activity the user wishes to run Again

using an example from XYZ Industries imagine that Bob needs to run the Emacs text editor Bobs to ol

server denes an activity called Editor which includes an Emacs scenario The closest to ol server to

Bob who is in New York is running on TCP p ort on a machine called nyservxyzcom In this case

Bob p oints his Netscap e browser at the following URL

httpnyservxyzcomEditorEmacs

When the nyserv to ol server receives Bobs request it rst checks that there is an Activity named Editor

and a Scenario named Emacs dened The Activity can b e one from nyservs own conguration le or one

informed by a p eer to ol server Once nyserv has determined that the request is valid it checks whether

Bobs UNIX workstation is able to run Emacs via a p ersonal to ol server The to ol server on nyserv has no

sp ecial knowledge of Bobs machine Since the Editor Activity is lo cally dened ie it was not downloaded

from a foreign to ol server nyserv moves on to the architecture and hostname requirements which can b e

set in an Activity denition Since these are b oth this Activity is free of restrictions Thus nyserv

deems itself the b est place to run Emacs for Bob and do es so X display redirection is used to move the

Emacs display to Bobs workstation ie the DISPLAYenvironmentvariable is set to Bobs w orkstation

b efore the to ol is invoked

If the Editor Activity from this example had b een from a remote p eer to ol server nyserv would have

forwarded the request to that remote to ol server Bob would not need to know that his request had b een

forwarded it would b e the resp onsibility of the to ol server on nyserv to do this transparently

In addition to X Windows Rivendell also interop erates with the WinDD software from Tektronix

WinDD allows a user at a UNIX workstation to remotely execute to ols on a Windows NT Server machine with

the GUI display redirected to the users machine WinDD employs sp ecial software running on the UNIX

workstation to contact the Windows NT server When Rivendell runs a to ol whose Arch conguration

parameter is set to IntelWindows a WinDD client is started for the user and WinDD is then instructed

to execute the required to ol Figure is a screen shot of WinDD running an application on a Windows NT

server and displaying on a UNIX workstation Similar software notably NTrigue from Insignia Solutions

and WinFrame from Citrix accomplishes the same function as WinDD and could b e integrated as well

Integration with OzWeb

Intro duction of Rivendell as a new groupspace service within the OzWeb hyp ermedia collab oration envi

ronment framework describ ed in Section required small changes in the OzWeb server In particular we

eb to pass on all to ol invo cations to its aliated Rivendell to ol server sp ecied as part of mo died OzW

the OzWeb instances conguration This was done byhaving OzWeb issue an HTTP GET to Rivendell

each time to ol execution was needed eg for a workow step The connection to the Rivendell server

is transparent to the OzWeb user the to ol is simply brought up on the users b ehalf In the case of a

to ol executed by a p ersonal to ol server the only user intervention necessary is the onetime conguration of

their Web browser to run the PTS up on receipt of the relevantMIMEtyp e if this is done b eforehand bya

system administrator no user intervention is required

Figure Using WinDD

EVALUATION

The implementation presented here is OzWeb whichcombines an earlier OzWeb and Rivendell

The most signicant limitationof OzWeb is we ignore anyversion and conguration management

facilities that may b e present in the underlying websites from whichsubweb materials are obtained A

pro cess designer may explicitly include version control of web ob jects in the pro cess as was often done in

Oz instances but this aects the web ob ject content for only the Copy access typ e Weareworking on

an extension to OzWebs transaction management facilities as describ ed in to take advantage of any

lo cking check out versioning etc facilities in backend website servers to more fully enforce transactional

prop erties

We previously develop ed another system called OzWeb eectively version describ ed in It provided a

generalpurp ose Webbased GUI to the unmo died Oz analogous to the Web interfaces to some commercial

workow systems eg Action Workow Metro or Lotus Notes Domino we separately develop ed

Oz environment instance supp orting medical care a sp ecialpurp ose Webbased GUI for a pro ofofconcept

plans The original architecture involved an HTTP proxy server and would work with any HTTP

browser but that is where the similarity ends There was no hyp ermedia none of the entities were in HTML

format or included emb edded links There were no subwebs and thus no ability to incorp orate external

materials from WWW or elsewhere all do cuments resided in the Ozs native ob jectbase The browser had to

explicitly request Oz functionality via a URL of the form httpozcommandargumentargument

if the oz site was not included in the URL nothing happ ened b eyond the usual retrieval of the page

from its website server This is an imp ortant distinction our subweb proxy supp orts automatic application

of full groupspace services pro cess transactions to ol invo cation etc to every URL represented in the

corresp onding subweb whether explicitly requested or selected via link selection whose actual Web page

may reside anywhere on the Internet or intranet

The functionalitybeyond Oz itself was implemented for version in a heavyweightproxy server constructed

by mo difying an Oz ttyclient It used HTTP to communicate with Web browsers but directly used the

er In contrast the main functionality p eculiar Oz clientserver proto col to communicate with the Oz serv

in resides in the OzWeb subweb server which communicates with its proxy using HTTP The OzWeb

server was implemented by extensive mo dications to the old Oz server The proxy alone is very

lightweight the main thing it do es dierently from a standard HTTP proxy eg used for caching is to

query the OzWeb server to see whether or not the requested URL is in the subweb and optionally add on

presentation of subweb ob ject attributes otherwise it just do es everything the browsers and OzWeb server

tell it to do via standard HTTP

We also develop ed the exp erimental subweb server describ ed in We used a rather convoluted implemen

tation involving direct requests for invo cation of CGI scripts rather than a proxyItwas thus imp ossible

to intercept al l Web accesses as in our current system No groupspace services were supp orted this was

purely an organizational facilityWe explored view ob jects to describ e applicationsp ecic reformatting

of HTML materials not yet implemented in OzWeb

There are several limitations of OzWeb regarding our goals for subwebs and groupspaces For example

each subweb proxy is currently hardwired to a particular subweb For an enduser to move to a dierent

groupspace heshe must designate a dierentproxy in hisher Web browser conguration It is not p ossible

for an enduser to b e op erating in multiple groupspaces at the same time from the same browser This limi

tation is easy to removeby connecting eachsubweb proxy to a directory service eg using the Lightweight

Directory Access Proto col LDAP an industry standard that allows for simple queries to b e made

to X compliant directory servers through which it can interact with anynumb er of registered subwebs

Wehave not changed the implementation however b ecause of a conceptual complication regarding what

should b e done when a browser accesses a URL represented in twoormoresubwebs This is part of our

inprogress research on extending Oz alliances to OzWeb to supp ort interop erability among groupspaces

with dierent pro cess mo dels data schemas etc see Section

In OzWeb all to ols were invoked via scripts forked by the subweb proxy A to ols GUI was redirected to

Figure Linking QA Rep ort and Co de

the endusers screen via X Windows capabilities so hosts not running X Windows were limited to command

line to ols with no interactive user prompts this has b een alleviated somewhat by the extension to WinDD

with p ersonal to ol servers running on Windows NT Scripts and thus to ols in OzWeb were always

run using the op erating system userid under which the subweb proxy was invoked say oz intro ducing a

p otential security concern In the OzWeb integration with Rivendelltoolservers continue to launch

to ols under a common userid like oz but p ersonal to ol servers always execute to ols under the relevant

users own userid The shareduserid problem could b e solved by installing to ol servers with ro ot privileges

in which case they could fork child op erating system pro cesses under any lo cal userid but then each remote

enduser would b e required to have a userid on the host where the relevanttoolserver runs Note there

may b e conicts b etween userids from dierent administrative domains eg multiple users of the same

groupspace with userid yang

Revisit Motivating Scenario

Wehave develop ed a demonstration OzWeb environment supp orting our rst motivating scenario Users

edit compile test etc C co de for the evolving OODB system and query pro cessor stored in the subweb

along with other pro ject materials GUIoriented activities like editing are p erformed on each users own

orkstation whereas CPUintensivework such as compilation and system build are p erformed bytoolson w

a shared server machine Source co de is automatically converted to crossreference d hyp ertext ie uses of

Figure CrossLinked Co de and Tool

Figure Subwebsp ecic Search

identiers are linked to their denitions via pro cess automation that invokes a homegrown utility called

HiC Email archives were converted to HTML using Hyp ermail and the subweb is p opulated with the

co de design testing and informal materials describ ed previously which are divided among three Columbia

websites two public representing the course materials as is develop ed indep endently of this research and

one internal for the subweb

Togiveaavor regarding how this hyp erco de environmentmight b e used we go through two small pro cess

fragments A user say Laura a memb er of the lobster group from our rst motivating scenario views some

test rep orts regarding the baseline co de through a standard Web browser Then she requests the OzWeb

GUI and adds an external link b etween one test rep ort and a co de le that she b elieves likely to contain the

bug as depicted in Figure Note Laura is not the author of this test rep ort whichwas written by another

student group in the spring class so she cannot edit it to directly embed a hyp erlink A link op eration

in the rule eect task consequences automatically adds a reverse linkA link op eration in the overloaded

rule eect automatically adds a reverse link

Now in Figure Laura takes a lo ok at the hyp ertext source co de in her browser and selects the edit

task link from the Action Menu In this pro cess segment a regular asci i editor to ol is invoked instead of

an HTML editor and the HTML is generated but an alternative pro cess could supp ort a Web editor and

strip o the HTML tags b efore presenting to the C compiler and other COTS C to ols The editor emacsis

invoked by the subweb proxy and displays on Lauras workstation The edit rule indicates to use the plain

source co de as the to ol script argument not the hyp ertext version After the edit task completes HiC

incrementally up dates the crossreferences

Figure Adding to a Subweb

Meanwhile say another lobster student Hugh searches through informal proprietary do cuments like email

newsgroup archives lecture notes etc As shown in Figure he uses OzWeb search to nd subweb do cu

ments containing the string DarkoverGetNameByOID b ecause he is working on this function Darkover

is the name of the relevant OODB Then Hugh decides to search the full WWW not just the subweb using

a standard search engine He nds a public page he deems relevant and adds it to the subweb as depicted

in Figure

RELATED WORK

ComMentor annotation servers are similar to our subweb servers adding external applicationsp ecic

sup erstructures on top of preexisting hyp ermedia but without the active capabilities of groupspace ser

vices Annotation servers are realized via mo died WWW browsers or plugins to standard browsers

WebMake supp orts hierarchical structuring of Web les checkout for editing and invo cation of le

based to ols like make A sp ecial Web client hides details from users otherwise WebMake uses standard

facilities CGI and MIME typ es Data may b e temp orarily transmitted to another lo cale for to ol execution

eg to compile for a particular architecture using XMosaic remote control but the entirety of a struc

tured do cument normally resides at the same website There are no transactions op erating across separate

accesses and no pro cess WAIBA pro duced a suite of utilities useful to collab orativeendeavors such

terest whats changed as shared annotations search engines that nd whats changed in categories of in

in recently viewed pages whats out there thats similar to what the user is currently viewing displays

link comp osition to a given depth displays browsing history graphicallyetcover public and private web

sites Meteor is a transactional workow engine that submits workow tasks to the Web and backend

databases using CGI but do es not supp ort workow over Web ie URL accesses

Databases often supp ort access from the Web to a database but not vice versa eg the O Web Gate

way A few databases have b een constructed on top of hyp ermedia akin to our subwebs although none

are close enough to warrant attempted reuse Most have no supp ort for either workow or transactions and

are centralized the equivalentofasinglewebsite Some exceptions Hyp erform isahyp ertext database

with an extensible ob jectoriented schema It allows choice b etween checkout of individual attributes or

entire ob jects dirty reads are allowed and conventional transactions over multiple ob jects An application

must b e implemented by a metho d of the relevant class in the hyp erbase schema to use transactions but

metho ds written in Scheme can b e added dynamically DHT overlays h yp ertext to add on transpar

ent access and external organization to distributed heterogeneous autonomouslymaintained rep ositories

Rep ository data is transformed tofrom a common structured hyp ermedia format by a rep ositorysp ecic

gatewayOnlynavigational access is supp orted Up date requests are turned down if the ob ject has changed

since last retrieved but there are no transactions and no pro cess

WebCard is one of several systems that supp orts representation of Web pages in the style of emailnews

folders Lightweight Databases extends HTML to map relational database schemas onto hyp ertext

do cuments to supp ort databasestyle queries that rely on semantic knowledge of the structure and content

of do cuments Relationships among hyp ertext pages augment the usual links However data contentmust

b e mo died to include the entity class attributes and relationships Either client or serverside pro cessing

is supp orted In contrast Hyp erG supp orts hierarchical structuring of aggregate collections of Web

pages where a collection may b e a comp onentofmultiple parents and collections can b e spread across

websites Links are represented externally to the hyp ermedia content Scaling is supp orted by replication

and caching with weak consistency Hyp erG uses its own SGML format but converts to HTML when

serving a WWW client It provides an interchange format and utilities for imp orting and exp orting external

collections None of these systems supp orts pro cess or transactions

Field uses a message bus to incorp orate to ols into an integrated software developmentarchitecture This

requires either source co de availability to mo dify the to ol to understand Field messages or an existing API

through which the capability can b e added There is little supp ort for integrating other typ es of to ols Suns

To olTalk proto col allows applications from diering vendors to share information via a message bus typ e

architecture ToolTalk could conceivably b e employed as another communication option via which users could

request to ols from a to ol server Integration with Sun developmenttoolswould b e made easier since they

supp ort the integration of thirdparty software via the ToolTalk proto col HPs SoftBench framework a

to olintegration platform that provides an op en common set of communication and user interface services to

all to ols integrated with the SoftBenchenvironmentwould also b e a useful platform with whichtointegrate

a to ol services comp onent A to ol server which connected to SoftBenchwould make it p ossible to more easily

add non SoftBenchaware to ols to the development system

Matchmaker is a distributed computing interface sp ecication language which allows a programmer to

dene RPC interfaces b etween remote pro cesses A multitargeted compiler then generates C Pascal Lisp

or Ada co de which implements the interfaces dened Polylith extends this concept to allow executing

distributed system comp onents to b e temp orarily shut down and moved among hosts These and other

related mo dels of to ol integration are subsumed by the eventbased framework presented in Wedonot

intend to comp ete with suchwork but will consider how to build on top as part of our future directions on

groupspace to ol servers

Ockerblo om prop oses an alternativetoMIMEtyp es called Typ ed Ob ject Mo del TOM that could

conceivably b e employed instead of a MIME extension to incorp orate a Personal Tool Server into our ar

chitecture Ob jects typ es exp orted from anywhere on the Internet can b e registered in typ e oracles

sp ecialized servers that may communicate among themselves to uncover the denitions of typ es registered

elsewhere Web browsers that happ en up on a typ e they do not understand can ask one of the typ e oracles

how to convert it into a known sup ertyp e In this waytheWeb browser would not have to b e set up to

handle a new MIME typ e They could simply query the typ e oracle which could return information on how

to run the to ols

CONTRIBUTIONS AND FUTURE WORK

Wehave designed a general approachtohyp ermedia collab oration environments centered on subweb rep osito

ries and groupspace services investigated many of the technical issues particularly distributed to ol services

in depth develop ed a feasible architecture and implementation techniques based on WWW technology

and realized a prototyp e environment framework and several sample OzWeb environments including the

WebCity environmentwe use for our own daytoday team software developmentwork

eb reuses Ozs pro cess engine and transaction manager moreorless as is the same OODB is used OzW

in the subweb implementation A new to ol service comp onent Rivendell replaced Ozs nativetoolman

agementmechanism In future work wewould like to further exploit our recent comp onentization direction

where these comp onents have b een tugged apart are in principle replaceable within Ozandhavebeen

exp erimentally intro duced into foreign systems such as Pro cessWEAVER as describ ed in For

example a later version of OzWeb might employ an alternative pro cess engine or a synergized set of pro cess

engines eg explains howweintegrated Ozs and now OzWebs pro cess engine with TeamWare

Our subweb architecture seems reasonably general simple and elegant for adapting existing clientserver

pro cesscentere d environments into a hyp ermedia collab oration environment framework The server for a

pro cesscentere d environmentwould already provide basic groupspace functionality and could b e augmented

by the subweb mechanism as we describ ed for Oz Native clients would b e replaced byWeb bro wsers and

proxy servers Peerp eer pro cesscentered environments where the p eers already share a common rep os

itory may b e adaptable to multiple groupspace servers sharing a common subweb server but that

investigation is outside our scop e

For fully distributed shared nothing multiserver systems for example to scale up to collab orativework

among teams as opp osed to among individual memb ers of one team we plan to expand the International

Alliance metaphor develop ed for Oz The gist is that groupspaces would register with one or more

LDAPs to b ecome available to their subweb proxy servers Groupspaces aliated with the same LDAP Subweb Server Groupspace services Subweb LDAP M Subweb LDAP L Subweb Subweb Proxy P Proxy Q WWW browsers

S N

N

Figure Alliances Architecture

could optionally form Treaties with one or more other such groupspaces to agree to share selected p ortions

of their schemas subwebs pro cess mo dels andor to ols and sp ecify how to handle situations where the same

ultimate hyp ermedia entity is represented bymultiple web ob jects andor is moved among subwebs Then

Summits would implement one groupspace p erforming a pro cess task on b ehalf of another groupspace

users and to ols from multiple groupspaces collab oratively p erforming pro cess tasks movement of users and

data from one groupspace to another etc This mo del is illustrated in Figure

For navigation and movement of users data and tasks among groupspaces weplantodevelop a metaweb

analogous to multiuser domains MUDs eg Lamb da MOO where users can movefromroomto

adjacent ro om sometimes through trapdo ors and pick up an ob ject in one ro om and carry it to another

but the ob ject may transform from a trunk lled with gold to a monkey Workowbased MUDs have

already b een investigated in Promo However in our case the same groupspace may participate in

multiple alliances each corresp onding to a MUD so exactly what a user can do and what ob jects heshe can

access may dep end on how that user arrived in the groupspace This do es not seem as challenging technically

as from a user interface p ersp ective so we are working on what we call the Twilight Zone Fifth Dimension

user mo del to address the enduser confusion that could naturally o ccur

It is tempting to consider how other distributed computing infrastructures b esides WWW might serve as the

basis for subweb and groupspace implementation We studied CORBA as a candidate but it is currently

lacking the key ingredient a standard comp onent that supp orts complete interception and mediation in the

y b e ameliorated bythevarious prop osed integrations of style of HTTP proxy servers This problem ma

HTTP and CORBAs Internet InterOrb Proto col whichwe plan to explore as an alternative standard on

which to base subwebs and groupspaces

ACKNOWLEDGEMENTS

We thank George Heineman DickTaylor Sankar Virdhagriswaran and Alex Wolf for useful technical discus

sions Laura Xiaoyu Xu participated in the development of the rst motivating scenario OzWeb has

b een released in b eta form to Brown University and the University of California at Irvine and is available

for other external use

Eort sp onsored by the Defense Advanced Research Pro jects Agency and Rome Lab oratory Air Force Materiel Command USAF

under agreements numb er FCF by NSF CDAandbyNewYork State Science and Technology

Foundation Center for Advanced Technology High Performance Computing and Communications in Healthcare The views and

conclusions contained in this do cument are those of the authors and should not b e interpreted as representing the ocial p olicies or

endorsements either expressed or implied of the Defense Advanced Research Pro jects Agency the Air Force the US Government

NSF or NYSSTF

References

Action Workow Metro WorldWideW ork ow Novemb er

wwwactiontechcommetrotourresourcesM et wphtm

Kenneth M Anderson Richard N Taylor and E James Whitehead Jr Chimera Hyp ertext for

heterogeneous software environments In European Conference on Hypermedia Technology pages

Edinburgh Scotland Septemb er

Keith Andrews Frank Kapp e and Hermann Maurer Serving information to the Web with Hyp erG In rd

International WorldWide Web Conference Darmstadt Germany April Elsevier Science BV

wwwigdfhgdewwwwwwpro ceedingspap ers hgwhtml

Standard for electronic manuscript preparation and markup

Daniel J Barrett Lori A Clarke Peri L Tarr and Alexander E Wise A framework for eventbased software

integration ACM Transactions on Software Engineering and Methodology Octob er

Israel BenShaul and Gail E Kaiser AParadigm for DecentralizedProcess ModelingKluwer Academic

Publishers Boston

Israel Z BenShaul and Gail E Kaiser An interop erabili ty mo del for pro cesscentered software engineering

environments and its implementation in Oz Technical Rep ort CUCS Columbia University Department

of Computer Science Decemb er ftpftppslcscolumbiaedup ub psl CUCSpsZ

T BernersLee and D Connolly Hyp ertext Markup Language Novemb er Network Working Group

Request For Comments

T BernersLee R Fielding and H Frystyk Hyp ertext Transfer Proto col HTTP May Network

Working Group Request For Comments

Gregory Alan Bolcer and Richard N Taylor Endeavors A pro cess system integration infrastructure In

Wilhelm Schafer editor th International Conference on the SoftwareProcess SoftwareProcess

Improvement and Practice Decemb er In press

N Borenstein and N Freed MIME Multipurp ose Internet Mail Extensions part one Mechanisms for

sp ecifying and describing the format of Internet message b o dies Septemb er Network Working Group

Request for Comments

Charles Bro oks Murray S Mazer Scott Meeks and Jim Miller Applicationsp e ci c proxy servers as HTTP

l World Wide Web Conference pages stream transducers In World Wide Web Journal th Internationa

Boston MA Decemb er OReilly Asso ciates

Marc H Brown WebCard Integrated and uniform access to mail news and the Web Technical Rep ort a

DEC Systems ResearchCenter July ftpdigitalcompub DECSRCresearchrep ortsSRCahtml

cgincsauiucedu The Common GatewayInterface ho oho oncsauiuceducgi overvi ewhtml

Citrix Inc Citrix WinFrame httpwwwcitrixcom

WorldWideWeb Consortium WC Reference LibraryhttpwwwworgpubWWWLibrary

Bill Curtis Marc I Kellner and Jim Over Pro cess mo deling Communications of the ACM

Septemb er

Umesh Dayal Hector GarciaMolina Mei Hsu Ben Kao and MingChien Shan Third generation TP

monitors A database challenge In SIGMOD International Conference on Management of Data pages

May Sp ecial issue of SIGMOD Record June

SA Dobson and VA Burrill Lightweight databases In rd International WorldWide Web Conference

Darmstadt Germany April Elsevier Science BV

wwwigdfhgdewwwwwwproceedingspap ers darmhtml

John C Doppke Software pro cessing mo deling and execution within virtual environments Technical Rep ort

CUCS University of Colorado Department of Computer Science July

Stephen E Dossick and Gail E Kaiser WWW access to legacy clientserver applicatio ns In th International

World Wide Web Conference pages Paris France May Elsevier Science BV Sp ecial issue of

Computer Networks and ISDN Systems The International Journal of Computer and Telecommunications

Networking May httpwwwpslcscolumbiaedu pap e rsCUCShtml

Ahmed K Elmagarmid editor Database Transaction Models for Advanced Applications Morgan Kaufmann

San Mateo CA

Christer Fernstrom PROCESS WEAVER Adding pro cess supp ort to UNIX In nd International Conference

on the SoftwareProcess Continuous SoftwareProcess Improvement pages Berlin GermanyFebruary

IEEE Computer So ciety Press

Dimitrios Georgakop oulos Mark Hornick and Amit Sheth An overview of workow management From

pro cess mo delling to workow automation infrastructure Distributed and Paral lel Databases

Mark A Gisi and Gail E Kaiser Extending a to ol integration language In Mark Dowson editor st

International Conference on the SoftwareProcess Manufacturing Complex Systems pages Redondo

Beach CA Octob er IEEE Computer So ciety Press ftpftppslcscolumbiaedupu bp sl ics ppsZ

The Harvest information discovery and access system Decemb er harvestcscoloradoedu

George T Heineman ATransaction Manager Component for Cooperative Transaction Models PhD thesis

Columbia University Department of Computer Science June CUCS

ftpftppslcscolum biaedu pu bps lCUCS psgz

Kevin Hughes Hyp ermail wwweitcomgo o diessoftwarehyp ermai l

Insignia Solutions Inc What is NTrigue

DataSheethtml httpwwwinsigniacommarco mData Sheets NTrigue

Gail E Kaiser Jack Jingshuang Yang and Stephen E Dossick An external transaction service for www

Technical Rep ort CUCS Columbia University Department of Computer Science Decemb er

Astrid M Julienne and Brian Holtz ToolTalk Open Protocols InterApplication Communication Prentice

Hall Englewo o d Clis NJ

Gail E Kaiser Co op erative transactions for multiuser environments In Won Kim editor Modern Database

Systems The Object Model Interoperability and Beyondchapter pages ACM Press New York

NY ftpftppslcscolumbiaedup ub psl CUCSpsZ

Gail E Kaiser Israel Z BenShaul Steven S Pop ovich and Stephen E Dossick A metalinguisti c approachto

pro cess enactment extensibili ty In Wilhelm Schafer editor th International Conference on the Software

Process Improvement and Practice Brighton UK Decemb er

ftpftppslcscolumbiaedu pu bps lCUCS psgz

Wenke Lee Gail E Kaiser Paul D Clayton and Eric H Sherman OzCare A workow automation system

for care plans In James J Cimino editor American Medical Informatics Association Annual Fal l

Symposium pages Washington DC Octob er

ttpdominolotuscom Lotus domino h

JeanClaude Mamou OBDC and Mosaic Octob er wwwworghyp ertextWWWGatewaysOQLhtml

Udi Manber Sun Wu and Burra Gopal GLIMPSE A to ol to searchentire le systems

glimpsecsarizon aedu

Christian Mogensen Martin Roscheisen and Terry Winograd Beyond browsing Shared commands soaps

trails and online communities In rd International WorldWide Web Conference April

wwwigdfhgdewwwwwwpro ceedingspap ers TRWW W html

Richard F Rashid Michael B Jones and Mary R Thompson Matchmaker An interface sp ecication language

for distributed pro cessing In th Annual ACM Symposium on Principles of Programming Languages pages

New Orleans LA January

Michael Baentsch Georg Molter and Peter Sturm WebMake Integrating distributed software developmentin

a structureenhanced Web In rd International WorldWide Web Conference Darmstadt Germany April

Elsevier Science BV wwwigdfhgdewwwwwwpro ceedingspap e rsWebMa keWeb Makehtml

John Noll and Walt Scacchi A hyp ertext system for integrating heterogeneous autonomous software

rep ositories In rd Irvine Software Symposium pages Irvine CA April

Ob ject Management Group The Common Object Request Broker ArchitectureSpecication Revision July

wwwomgorgcorbacoverhtm

John Ockerblo om Intro ducing structured data typ es into Internetscale information systems May PhD

Thesis Prop osal wwwcscmueduafscscmueduusersp okwwwprop osal html

OSF Research Institute Intel ligent Browsing Assistant for the World Wide Web and GroupWare for the Web

Octob er wwwosforgwwwwaibaindexhtml

Burkhard Peuschel and Stefan Wolf Architectural supp ort for distributed pro cess centered software

developmentenvironments In Wilhelm Schafer editor th International SoftwareProcess Workshop State of

the PracticeinProcess Technology pages Wadern Germany March Position pap er

Steven S Pop ovich AnArchitecture for Extensible Workow Process Servers PhD thesis Columbia

University Department of Computer Science January CUCS

ftpftppslcscolumbiaedu pu bps lCUCS psgz

Programming Systems Lab oratory Application Sp ecic Http Services ASHeS

wwwpslcscolumbiaedusoftwareash eshtml

Programming Systems Lab oratory Oz Manual Set July Columbia University Departmentof

Computer Science ftppslcscolumbiaedup ub psl ozmanua ls

James M Purtilo and Christine R Hofmeister Dynamic reconguration of distributed programs In th

e on Distributed Computing Systems pages Arlington TX May IEEE International Conferenc

Computer So ciety Press

Steven P Reiss Connecting to ols using message passing in the Field environment IEEE Software

July

Hans Schuster Stefan Jablonski and Christoph Buvler Clientserver qualities A basis for reliable distributed

workow management systems In th International Conference on Distributed Computing Systems

Baltimore MD May In press

Amit Sheth Private communication June See lsdiscsugaeduworkow

Tektronix Inc WinDD Network Display

DisplaysSu pp ort PAPERSWebdo chtml httpwwwtekcomNetwork

Gary Thunquest Supp orting task management pro cess automation in the softb enchdevelopment

environment In Ian Thomas editor th International SoftwareProcess Workshop Communication and

Coordination in the SoftwareProcess pages Yountville CA Octob er IEEE Computer So ciety

Press

Giusepp e Valetto and Gail E Kaiser Enveloping sophisticated to ols into pro cesscentered environments

Journal of Automated Software Engineering

ftpftppslcscolumbiaedu pu bps lCUCS psgz

Jim Whitehead Working group on versioning and conguration management of World Wide Web content

June wwwicsucieduejwversioning

Ue K Wiil Hyp erform Rapid prototyping of hyp ermedia services Communications of the ACM

August

Lamb da MOO telnetlamb daparcxeroxcom

Jack Jingshuang Yang and Gail E Kaiser An architecture for integrating OODBs with WWW In th

International World Wide Web Conference pages Paris France May Elsevier Science BV

Sp ecial issue of Computer Networks and ISDN Systems The International Journal of Computer and

Telecommunications Networking May

httpwwwpslcscolumbiaedu pap e rsCUCShtml

W Yeong T Ho wes and S Kille Lightweight Directory Access Proto col March Network Working

Group Request For Comments andrewandrewcmuedurfcrfchtml