ietf-822
[Top] [All Lists]

the ServiceMail Toolkit (was: list of MIME implentations)

1992-10-13 12:53:10

We (Enterprise Integration Technologies Corporation) have a MIME
implementation, which we are distributing freely.  Instead of a MIME
MUA, it is a toolkit for building services that automatically process
MIME messages.  It is similar, in spirit, to the few other email-scripting
packages except:

  o it exploits several MIME features
  o it is intended to run standalone (as opposed to a back-end to a MUA)
  o it uses TCL (from Berkeley) as its scripting language

and support for PEM is in the works.

I've attached our blurb for ServiceMail v1.2, which includes instructions
on how to get the distribution (over email, of course).  The distribution
includes our "multimedia e-mail shell" (mesh) sources, the tcl 6.3 sources,
a small amount of metamail code, and many example service tcl sources.

I'd love to hear any comments this group has on the distribution's
ease of installation, bugs, usefullness, and MIME-compliance, and especially
any interesting services people create.  Here's hoping you find it
interesting and useful!

Jay
---------------------------------------------------------------------
Jay C. Weber                                    weber(_at_)eitech(_dot_)com
Enterprise Integration Technologies             
weber(_at_)cis(_dot_)stanford(_dot_)edu
459 Hamilton Avenue, Suite #100                 (415)617-8002
Palo Alto, CA 94301


----------------------------------------------------------------------------
                The S E R V I C E M A I L (TM) T O O L K I T
                            is now available
----------------------------------------------------------------------------
Enterprise Integration Technologies Corporation is now providing
the ServiceMail(tm) Tool kit v1.2 for wide distribution and use.


What is ServiceMail(tm)?
------------------------
The name is a trademark of EIT.  The idea is that of sending email
to programs in order to request some automated or semi-automated
service.  There have been several applications along this line
accessible through electronic mail, including:

  LISTSERV (for mailing-list manipulation)
  MOSIS (for semiconductor fabrication brokering)
  FAST (for semiconductor parts brokering)
  ARCHIE (for archive searches, also with telnet, client/server interfaces)
  IJCAI-93 conference information
  FTP-by-email gateways
  many mail-servers, e.g., for CFI documents

Each of these applications use electronic mail in the following way:
users send their requests in the headers and/or bodies of email
messages, including any relevant data files (e.g., a semiconductor
layout representation).  These applications have been very popular,
partly or largely because of two key advantages provided by the email
approach to user interaction:

  o through gateways, email reaches millions of users who would not
    otherwise be able to access these services. This includes users on 
    USENET, MCI Mail, Compuserve, etc.
  
  o email access is exceptionally simple, using existing and familiar
    email interfaces.

We believe that the combined successes of the above listed applications
have only barely tapped the potential of ServiceMail.  It's not the
answer to every networking application, of course, but we think there
are LOTS of applications where ServiceMail is a flexible and practical
approach to information exchange.  We have experimented with several
new applications of ServiceMail, including:

  o a stock-quote service

  o a LaTeX-to-Postscript formatting service

  o a TIFF image to text OCR service (written by Jim Davis at Cornell)

  o a semiconductor fabrication process simulator service at Stanford

  o a mechanical part checkplot/milling service at the Univ. of Utah

  o a knowledge-transport mechanism for the Palo Alto Collaborative
    [Engineering] Testbed

  o a CIM information service at Stanford/EIT

In addition, we have used ServiceMail to implement a variety of
popular services:

  o an FTP-by-email service

  o a WAIS-by-email service (enchanced by Jim Davis at Cornell)

  o an email postscript printing service

  o a mailing-list maintenance service (backwardly compatible with
    LISTSERV for major commands)

  o a finger-by-email service

Each of these involved only a few hours of programming, and are
supplied as examples in the ServiceMail distribution.


What is the ServiceMail(tm) Tool kit?
------------------------------------

EIT's approach to fostering ServiceMail is to freely distribute a
toolkit that helps service providers get their services on-line.
The current toolkit provides software to take care of the "overhead"
of ServiceMail services, including:

  o connecting to the email system

  o parsing incoming messages

  o multiplexing multiple services under a single mail address

  o generating outgoing messages

  o fielding basic services like "help" and "man"

Plus, ongoing work by EIT and others (principally, Purdue and NIST)
is addressing other generic ServiceMail issues for future tool kits:

  o authentication of users, integrity checks on message contents

  o auditing of service requests, responses

  o directory services, service advertisements

  o balancing server loads

Once the tool kit is installed, programming a new service can take
as little as a few minutes.


What is Mesh?
-------------

Mesh is the "Multimedia E-mail SHell" program, the main component of the
current tool kit.  Mesh runs on UNIX systems (it has been tested on
SunOS and Ultrix) and parses an incoming mail message, identifies the
service being requested, and invokes the implementation of that service.
Service implementations are written in an embedded programming language
called Tcl, from the package created at Berkeley.  Tcl has been
described as "a cross between C, LISP, and UNIX shell languages"; it
supports list processing, string processing, procedural control
constructs, and UNIX command execution.  Code and documentation for
Tcl is distributed with the tool kit.


What's the multimedia bit?
--------------------------

Unlike the few other automatic email-processing packages, mesh is
based on MIME, the new Internet "standard" for multimedia message
bodies.  MIME supplies new email constructs for the following capabilities:

  o large message fragmentation and re-assembly

  o non-ascii/long-line message content encodings

  o multipart message bundling

  o mainstream multimedia content labeling (images, audio, richtext, etc.)

  o special-purpose content labeling (PDES, LaTeX, KQML, etc.)

Using MIME, Mesh can handle idiosyncratic mail transport, special handling
of multimedia content types, and bundling of multiple input/output objects
to/from services.  However, since ordinary email is a special case of MIME
format, Mesh can handle messages generated by ordinary mail composers.

MIME opens up a slew of powerful and convenient service applications, so
we strongly suggest that you update your mail readers to handle MIME
format.  The principal way of doing this is to install the METAMAIL package
from Bellcore (freely obtained by anonymous FTP from thumper.bellcore.com).


How does one get the ServiceMail toolkit?
-----------------------------------------

EIT is providing ServiceMail access to the ServiceMail toolkit.  If you
have the METAMAIL or some other MIME-compliant mail reader, just send the
message

  To: services(_at_)eitech(_dot_)com
  Subject: archive-request servicemail.tar.Z

  and read the response(s) using METAMAIL.  Save the result in
  servicemail.tar.Z

If you don't have a MIME reader, send the message

  To: services(_at_)eitech(_dot_)com
  Subject: archive-request servicemail.sh

  and do the following to the multi-message response:

  1) strip the headers off the messages, combine the bodies
  2) delete all instances of "=" and a subsequent newline
  3) replace all instances of "=3D" with "="
  4) replace all instances of "=2E" with "."

  you can perform 3 & 4 with the following UNIX commands:

    % mv servicemail.sh tmpfile
    % sed s/=3D/=/g|sed s/=2E/./g < tmpfile > servicemail.sh

  Sorry, but the difficulty in transporting large, complex files was
  one of the motivations for MIME.  If this is really inconvenient,
  and your system supports ftp, you can get servicemail.tar.Z by
  anonymous ftp from eitech.com.


How does one install the toolkit?
----------------------------------

The tool kit assumes that there is a UNIX account dedicated to ServiceMail
(there are a number of reasons for this, though it is possible to install
it otherwise).  We recommend calling this account "services".  Get this
account created, login under that account, and copy servicemail.tar.Z (or
servicemail.sh) to the account's home directory.  For servicemail.tar.Z,
issue the commands

  % uncompress servicemail.tar.Z
  % tar xvf servicemail.tar

or for servicemail.sh, issue the command

  % sh servicemail.sh

in either case, you will then have the toolkit directory structure.
Read the README file(s), and then type 'make'.  Mesh will then be
on-line, and you can start turning on example services and writing
your own.

If you have any problems with acquisition, installation, or use, don't
hesitate to send mail to "servicemail-help(_at_)eitech(_dot_)com" and ask for 
help.

IF YOU WANT FUTURE UPDATES ON TOOL KIT VERSIONS, BUGS, AND SERVICES,
MAKE SURE YOU ARE ON THE PACT-KIT MAILING LIST.  To get on it, send
a message to "services(_at_)eitech(_dot_)com" with subject
"listserv subscribe pact-kit your-real-name".

<Prev in Thread] Current Thread [Next in Thread>
  • the ServiceMail Toolkit (was: list of MIME implentations), Jay C. Weber <=