Institut fuer Informationssysteme
ETH Zuerich
8092 Zuerich, Switzerland
e-mail: perrochon@acm.org
phone: ++41-1-632 72 82
fax: ++41-1-632 11 72
Keywords: Multiple service integration, legacy systems, World Wide Web (WWW), interactive session, textual interface, translation server.
Open Questions: More examples of legacy systems with textual interfaces? How much can be covered using translation servers? How to define a schema? Are there suitable languages (ASM.1?) available?
Like the database migration research community, the field of multiple service integration is confronted with legacy systems. Although the new client-server based interfaces (like WWW or Gopher) provide uniform access to a variety of information, plenty of it is still accessed using an interactive services. Interactive services normally provide some kind of specially designed service interface. Service interfaces based on DEC's VT100 or IBM's 3270 standards are nice, because sometimes only a teletype based interface is offered.
To include information offered by interactive services in WWW, special Universal Resource Identifiers (URI) Schemes (telnet, rlogin and tn3270) have been defined. This allows some kind of transparent access to interactive services. Nevertheless is the user forced to fight a new service interface almost every time he hits an interactive session.
The goal of this paper is to show and discuss some solutions, how to integrate certain types of interactive services into the universal set of objects as defined in the WWW-context.
The data provided in SVI-Kurs is our main information to be offered via multiple services. We spend some time right now to offer the same information using the Swiss Telecom's Videotex system. And soon the embedding campus information system ezInfo will migrate to a new platform (probably WWW). If we can't offer the same information using other services until then, we'll have to migrate our home-grown software too.
Using an interactive service, the user has to provide the request for information in a dialogue with the machine. Request-respond services accept the user's request in one block. The latter is also called client-server computing, where the client issues one request and gets one response from the server. Please note, that also clients (defined as above) offer an interactive service, as the user has to go through a dialogue with the client to access useful information. In contrast, servers (WWW, Gopher or similar) offer request-respond services.
Textual service denotes an existing interactive service with some kind of textual interface (no GUI), that can for any reason (e.g. cost, computing power) not be migrated to a new interface. Examples are services like most libraries and many home grown services (as described above). Note that the word textual should not imply bad. In fact many of these textual interfaces have been carefully defined and have been in use for years without complaints.
In the WWW context, interactive services are called interactive sessions. There exists special URIs for some of them (telnet, rlogin, tn3270). These three examples refer to textual services. Normally the client doesn't handle such interactive sessions itself but delegates this task to external programs. Other interactive services, especially those with graphical interfaces, currently have to find other ways. Some WWW-servers understand specialised URIs and provide the user with a direct service interface popped up on the users screen directly (based on the X-Windows system).
The term client interface refers to the graphical interface the client is providing. The interface of a textual service is referred to as textual interface (Fig. 1).
A complete description of the protocol (or a subpart of it) that is used while accessing a textual service, is called a schema. It must be written in a standardised language.
We plan to set up translation servers, that can access textual services and provide a uniform access to the user. The textual services would be classified depending on the kind of dialogue they require, and each textual service would have to describe its own textual interface protocol (i.e. its schema) in a protocol description language. The translation server will then access the textual services and via a client, provide a common client interface to the user (Fig. 3). Using different translation servers and clients, any desired client interface could be served. Thus different user can access the same textual service in different ways.
+--------------+ --- client interface
¦Modern Service|
+--------------+
¦
+------------------+
|Translation Server¦
+------------------+
¦
+---------------+ --- textual interface
|Textual Service|
+---------------+
Fig. 1. Translation Servers
Such an indirect upgrading of a textual interface to a graphical client interface using a translation server is much cheaper, as one translation server per requested client interface is enough for a range of textual systems. The textual system's protocol must just be described once.
SERVICE_URL=telnet://orion.ethz.ch
SERVICE_NAME="Finger Service"
QUERY_TEXT="Please enter name:"
ON {anysign}.ch. SEND $answer1
START_TRANSLATE -- Send everything to user, just as we get it
Fig. 2. Description of a simple interactive service.
SERVICE_URL=telnet://guest@ezinfo.ethz.ch SERVICE_NAME="SVI-Kurs by subject" QUERY_TEXT=SVI_Kurs.html -- This must return an integer $checkbox SEQUENCE ON Username: SEND $username END ON "ezinfo>" SEND "EXTORG SVIKURS" WAIT 1 SEND 2 END ON ">" SEND $checkbox -- This will select the appropriate submenu TRANSLATE USING FILTER VT100 -- Send the result, but filter out VT100 codes END SEQUENCE END "E" WAIT 1 "LOG"
Fig. 3. Description of a subpart of SVI-Kurs: Select events according to subject.
Ideally any schema can be written interactively. A generator tool can monitor a typical session, i.e. one of the kind that will be offered via the translation server. Each action of this sessions user must then be caught by the tool and documented by the user so the tool can compile a description.
There is no restriction to a single request-respond iteration. Consecutive processes could be implemented on specialised translation servers. This might require more than a simple protocol description language.
+--------------+ --- client interface
¦Modern Service|
+--------------+
¦
+----------------------+
|CGI capable WWW-Server¦
+----------------------+ --- CGI interface
| Translation Server ¦
+----------------------+
¦
+---------------+ --- textual interface
|Textual Service|
+---------------+
Fig. 4. Translation Servers implemented via the CGI
The same holds for providers of new services. They can build a simple textual interface and broadcast the description.
All the aspects of different character sets and communication differences between heterogeneous computers are shielded from the provider of a service. He has to offer one simple textual interface to server a multitude of users with different character sets, languages and understandings of how a GUI should look like.
Due to the different functionality of all the services, some of the functions are expected to be lost. It is not clear, where the border between full support and simplicity can be drawn.
The main disadvantage is the vulnerability to changes in the textual interface. Every such change has to be accompanied by a redesign of the respective schema.
As soon legacy database systems can be accessed using SQL and until SQL-access using systems like WWW is easily available, some problems will be solved. We guess, that even then, the basic problem remains. We believe, that only the definition of a legacy system will shift. Providers of a working service suddenly must provide another interface.
INFBIB SPIDER V1.3
+----------------------------------------------------------------+
| I N F O R M A T I K B I B L I O T H E K |
+----------------------------------------------------------------+
INFBIB basiert auf dem SPIDER Information Retrieval System und er-
moeglicht ein effizientes Recherchieren im Katalog der Informatik-
bibliothek.
ANLEITUNG: Tippen Sie einfach Suchwoerter ein und starten Sie die
Suche mit <return>. Weitere Details finden Sie im Hilfetext ('help'
und <return> eingeben).
AUSKUNFT: Bei Fragen, Problemen, Anregungen, usw.... senden Sie
bitte eine mail an infbib@inf.ethz.ch
(h)elp (r)etrieve (s)how (n)ext (p)rev (m)ail (q)uit
: r
Enter your query or <return> to escape.
query> information retrieval
Enter the max. number of books to be retrieved
or <return> for the default number (20).
number> 5
Rank Score Title
-----------------------------------------------------------------
1. 4.074 Information Retrieval
2. 3.663 Information Retrieval Based on Information Structur
3. 3.663 Information Retrieval Based on Information Structur
4. 3.663 Vocabulary Control for Information Retrieval
5. 3.644 Research and Development in Information Retrieval
(h)elp (r)etrieve (s)how (n)ext (p)rev (m)ail (q)uit: Interactive Sessions
: s 3
Book on rank 3
--------------
Title : ---------------------------------------------------
Information Retrieval Based on Information Structures
-----------------------------------------------------------------
Authors : Schaeuble, P.
Publisher : Verlag der Fachvereine
Signature : RD.89.15
Year : 1989
(h)elp (r)etrieve (s)how (n)ext (p)rev (m)ail (q)uit
: q
Fig. 5. INFBIB
CALENDAR OF EVENTS SVI/FSI Display all events (1) 02.05.94 Informatik '94 - Stand und Trends (2) 03.05.94 Informatik-Sicherheit: Ein Muss zur Risikoabwendung im (3) 10.05.94 Virtual Reality: Anwendung und Entwicklungsrichtungen (4) 11.05.94 Le Language Clipper (5) 24.05.94 Fourth Intern. Conference on Principles of Knowledge (6) 24.05.94 ACM SIGMOD / PODS 94 more.. (M)enu (N)ext page (H)elp (B)ack (E)xit >
Fig. 6. SVI-Kurs (probably with a typical demonstration of character-set mismatches)
ETV V1.2-1 - Telephone Directory entry #: 1 total: 1 last name: Perrochon first name: Louis maiden name: street: Schoentalstr. 19 ZIP/city: 8004 / Zuerich canton: ZH tel. number: 01 / 241 02 08 rubric: generic term: profession: add. info: (Wuenscht keine Werbung) - entries: private search range: city spelling: phonetic DOWN forward UP back RETURN,ENTER overview Ctrl/N new query Ctrl/E edit input Ctrl/V original output page Ctrl/Z quit
Fig. 7. ETV (another demonstration of character-set mismatches)