O'Reilly logo

Practical Internet Groupware by Jon Udell

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 5. Docbases as Groupware Applications

The pillars of Internet groupware are email, news, and the Web. Each comprises a server application, a client application, a protocol spoken between the two, and finally a data store. The Internet owes much of its dramatic success to the simplicity of these elements. Protocols are expressed as human-readable ASCII text. So are data stores. Simple rules define the protocols and data stores. Those rules guarantee predictable and regular structure. That makes server and client applications relatively easy to build and maintain.

To make this concrete, look at the protocol that a newsreader uses to post a message to a news server as shown in Example 5.1.

Example 5-1. Posting a Message to an NNTP Server

$ telnet localhost 119
200 localhost Netscape-Collabra/3.51 11202 NNTP ready
mode reader
200 localhost Netscape-Collabra/3.51 11202 NNRP ready (posting ok).
post
340 Ok
Newsgroups: test
Subject: test
From: udell@monad.net

This is the body of a sample message.
.
240 Article posted

I’ve illustrated this protocol using telnet, a command-line application that opens a TCP/IP socket to a server, sends lines of ASCII text to it, and receives lines of ASCII text in return. Internet veterans know that many socket-based Internet servers can be “driven by hand” in this way, just as a news server can. And they know that Internet client applications, behind their pretty graphical faces, send and receive the same kinds of ASCII texts. If I connect my newsreader ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required