(learners) meet in virtual knowledge areas, where
they can use web-based facilities to store and
actively process documents by obtaining shared
views of them, by exchanging, arranging, mutually
annotating and linking them. This form of open and
cooperative handling of material is supported by
authentication processes such as user groups and
access authorization.
Here, the principle of self-administration allows
specific knowledge structures to be created for
groups and individual users and enables virtual
communities to be built on a self-organized basis.
Cooperative knowledge spaces are currently
provided by the open-source sTeam system.
The sTeam system’s architecture has already
been presented at a number of conferences (cf.
Hampel & Keil-Slawik, 2003).
The functionality offered by sTeam can be used
with different interfaces. These include various
standard protocols that have been implemented on
the server side within the sTeam kernel. E-mail
protocols (e.g. POP3, IMAP, SMTP) and file-
transfer protocols (e.g. FTP, WebDAV) are
supported. In addition, the COAL protocol (cf.
sTeam, 2003) allows communication with the sTeam
server. This enables, for instance, methods to be
directly executed on sTeam objects. The
implementation of the protocol is available in the
languages Pike and Java.
An Internet browser can also be used to access
sTeam via a web interface, the available data objects
being presented to the user in graphical or text form.
1.1 Shortcomings of the Existing
System
All the above-mentioned protocols offer a
standardized but highly specialized form of
communication with the sTeam server. The familiar
e-mail protocols can be used only with the specified
e-mail applications, and FTP programs are needed to
transfer data via the FTP interface. It is, however,
conceivable that application developers might wish
to access e-mails in sTeam from their own software,
which was developed for a specific application area.
To make this possible, the e-mail protocols would
have to be implemented on the client side. Such an
implementation, though awkward, is possible. If,
however, the application is to access objects in
sTeam in order to manipulate them, this is not
possible using the above-mentioned standard
protocols. The only available alternative is to use the
COAL interface. Here, however, recourse must be
had to the existing Java API, meaning that the
application is again tied to a single programming
language, or application developers must
reimplement COAL in the language they use (e.g.
C#). In most cases, though, the additional effort this
involves is unjustifiable. Also, the advantages that
might come with using a development environment
(IDE) can no longer be exploited because such
environments do not support COAL.
Nor is COAL an unambiguously defined
description language – a fact that gives rise to two
disadvantages: it is not possible to automatically
connect a client to sTeam or to generate client
classes using an IDE, and COAL fails to give any
information about the service functionality provided.
The sTeam server does have a partially modular
design, i.e. modules written in Pike can be added to
extend the functionality. But it cannot be extended to
include external programs. The sTeam kernel cannot
access concurrently available programs in other
languages in order to make use of them.
Given these shortcomings, sTeam can be
described, in summary, as a relatively closed,
monolithic system with a proprietary interface.
The shortcomings of the Paderborn sTeam
environment apply to practically all available CSCW
and CSCL systems. Their architecture, mostly
consisting of monolithic servers, makes them
difficult to integrate flexibly into web services. This
means that such systems have problems taking into
account all possible needs and use constellations in
the interfaces and functionality they provide. This
dilemma can only be resolved by integrating
different services and applications.
However, for the reasons mentioned above, it
has not yet proved possible to combine sTeam with
other services or applications to create an integrated
overall knowledge management system. The
following scenarios attempt to show, by reference to
the sTeam system, why such integration is needed
and give initial instances of the use of the web
service architecture presented in this paper.
1.2 Scenarios and Requirements
Using cooperative knowledge management, sTeam
enables different types of documents to be
administered. These include text documents, which
may be annotated, or e-mails. For instance, a user
engaged in writing a research paper wishes to make
a search using a keyword in his/her own and in other
sTeam documents. But the search is to be extended
to external texts and web pages as well as to the
university’s literature database. The results of the
search should then be available in the user’s own C#
application, running on his/her Windows laptop, for
use as references in the paper being written. Finally,
it should be possible to annotate selected references
HETEROGENEOUS INTEGRATION OF SERVICES INTO AN OPEN, STANDARDIZED WEB SERVICE - A WEB
SERVICE-BASED CSCW/L SYSTEM
183