Internet Tool Survey
Table of Contents
Context
Purpose
Structure of the Survey
Tool Categories
Context
The Internet Tool Survey is part of a larger project, Scaling
Object Services Architectures to the Internet, whose overall goal is
to enable the rapid construction of Internet-enabled applications for electronic
commerce, command and control, and virtual enterprises. Our thesis is that
an extensible architecture is needed that combines the representational
power of today's object technology with the scalability and openness of
today's Internet tools, including World Wide Web. We are working to extend
a class of architectures called object services architectures to
be scaleable and Internet-enabled. Visions: Application
and Technology Drivers sketches a number of end-user-oriented visions
of the future that will be enabled by the type of Internet/Web/Object/Middleware/DBMS
integration toward which we are working.
Today, object services architectures (OSAs) are frameworks which consist
of a messaging backplane and a collection of orthogonal plug-in
object services. The messaging backplane, called an Object Request
Broker by the Object Management Group
(OMG) and Component Object Model (COM)/Network OLE by Microsoft, supports
an object model and distributed message passing communication between the
various services. Benefits include a principled architecture and a rich
services toolkit which, if adopted widely, would extend the kinds of benefits
provided by today's standard GUI components, common look-and-feel,
to a much broader domain, that of common semantics, as provided
by a common object services toolkit. End-users would benefit from ease
of understanding applications built from a common set of services. Developers
would benefit from the availability of a library of common, tested parts
and could customize only some parts or include some services instead of
starting from scratch when building custom systems. Limitations of OSAs
at present include lack of maturity, modest adoption rates, and limited
architectural provision for federation of services though there is good
progress on federation of backplanes.
At the same time, today, a number of widely-used tools are available
in the Internet environment. One of them, the World Wide Web (WWW or The
Web), is an increasingly pervasive addition on top of basic Internet protocols
that makes is possible for people world wide to access and publish globally
accessible hypermedia documents. Beyond the clear benefit of providing
a platform-independent way to share information, there is still the challenge
of extending the reach of the web beyond unstructured and semi-structured
to structured information, which object technology handles well.
Today, corporations, as well as the Government, are moving from proprietary
internal networks to intranets, using Internet technologies within a corporate
firewall or other protection perimeter. And they are adopting object technology.
What is needed is a way to improve both web and object technology frameworks
and to grow these architectures together so that the advantages of both
can be available to next generation application builders.
Steps in our three year project are:
-
identify today's object and Internet technologies and tools (this Internet
tools survey),
-
extend the architecture of both OSAs and Internet tools toward unification,
and
-
demonstrate a reference implementation of (some of) this unified architecture
based wherever possible on existing tools.
Our approach is open. We are working towards this end not only in our project
but also through standards groups like OMG (chairing the OMG
Internet Special Interest Group), helping to create forums like the
Joint W3C-OMG Workshop
on Distributed Objects and Mobile Code (June 24-25 1996 in Boston),
and working with like-minded industry groups including the National
Industrial Information Infrastructure Protocols (NIIIP) consortium
(a DARPA Electronics Technology Office
Technology Reinvestment
Project) and other members of the DARPA
Information Technology Office Defense
Technology Integration and Infrastructure (see also DTII
Workshop Proceedings '96) community and the DARPA
Information Systems Office Intelligent
Integration of Information Technology for the Dynamic Database (I3)
(see also I3 Workshop Proceedings
'96) community.
Purpose
In the above context, this Internet Tool Survey has several goals:
-
Common Architecture -- gain a better understanding of the glue and
architectural properties of large scale architectures. For instance, OSAs
are based on APIs while many Internet protocols are based on wire protocols.
Any unification of OSAs and these Internet protocols must address this
fundamental difference. Understanding properties of glue is a key step
in understanding how to bind parts together quickly to build new compositions.
Accelerating progress toward populating a large scale object services Internet-based
architecture will provide a target for a next generation common operating
environment.
-
Standard Parts -- determine what kinds of service types might reasonably
be defined in the Internet world. OMG has identified a large number of
services, many of which now have specifications. These are not the same
services that are found in an Internet or WWW environment. Surveying the
kinds of tools already existing in the Internet and WWW is a necessary
prerequisite to defining (some of) them as object services. Reviewing several
tools in a class helps identify the common services provided by a class.
Orthogonalization of services is extremely important, since it facilitates
composition of services in unanticipated ways. The greater the orthogonality,
the easier composition becomes. Results of identifying potential Internet
object services can be inputs to the OMG Internet SIG.
-
Reference Implementation -- determine which tools might be available
for use in our demonstration scenarios. One thesis of our overall project
is that most of the functionality that is required to quickly assemble
applications is already available in today's tools but better componentization
and better component glue is needed to accomplish the goal of rapid application
synthesis. The Tools Survey is a step toward determining what components
or compositions of functionality are available today in forms that can
be deconstructed into object services leading quickly to a reference implementation
of some of the Internet services.
-
Technology Transfer -- provide a forum by which additional information
from both our own and others' efforts can continually be collected, organized,
and made available to a wide audience. This includes the Government, industry,
and academia.
Structure of the Survey
The Tool Survey groups Internet tools into broad categories according to
the characteristics of existing tools and the functionalities we believe
are needed in order to support a broad class of distributed applications
over the Internet. Additional categories and tools will be surveyed throughout
the course of this project and some of the current categories will be updated.
Categorizations of this sort are always somewhat arbitrary because a
typical tool performs several functions. We tried to categorize tools based
on their primary functionality and were influenced by our eventual need
to create orthogonal services that can be composed to easily construct
virtual enterprises. The categories thus represent a mix of the real and
the ideal (from our perspective). Other categorizations are certainly possible.
When selecting tools to survey in each category, we tried to include
a representative mix of popular and leading edge systems from both the
commercial and research communities. The survey is by no means comprehensive,
either in depth or breadth. Given the scope of the Internet and the rapid
rate of introduction of new systems, this will necessarily be true of any
such survey. Some categories are intentionally shallower than others. This
reflects that the purpose of the survey is to support our architectural
and prototyping tasks rather than to attempt to create a comprehensive
"parts list". This does not imply any judgment about the value or quality
of the tools or the category.
If readers spot an inaccuracy, know of a system they think should be
included, or want to contribute a section, please let us know at ford@objs.com.
Tool Categories
Virtual Office
-
Virtual
Office Scenarios. This section describes a collection of scenarios
(or scenario fragments) from the Virtual Office (VO) application domain.
It explores a wide range of VO scenarios in both military and civilian
applications, particularly those that considerably extend activities beyond
those that might be imagined to take place in a conventional "office" setting.
The intent of describing these scenarios is to provide intuition on how
VOs might function, and the types of "office" activities that, given the
proper technologies, could be performed virtually, that is, in a distributed
environment, and to provide the necessary background to identify technologies
required to support VOs.
-
Enabling
Technology for Virtual Office Applications. This section provides
an initial description of the enabling technology required to support Virtual
Office (VO) applications.
-
Virtual
Office White Paper. This section describes our rationale for setting
up OBJS as a Virtual Office, and our initial experiences.
-
Electronic
Support for Collaboration & Decision Making in OBJS. This section
reports the experiences of the author using electronic support, primarily
email, for a recent OBJS virtual brainstorming session.
-
Initial
Use of COTS Tools in the OBJS Virtual Office. This section describes
the construction of a working Virtual Office, using a combination of straightforward
operational techniques, and readily available COTS personal computer and
Internet hardware and software technology, based on our experience in setting
up and using the OBJS VO. The section also describes lessons we have learned
based on our experience, and further developments we intend to make in
refining and extending our VO capabilities. This is the first in a series
of scenarios intended to both illustrate VO capabilities and technology,
and drive our development of further VO technology. Subsequent scenarios
will involve both more refined uses of COTS technology based on our experience,
and the use of new technology we develop, in both internal and DoD-related
applications.
Managing and Using Information
-
Hypermedia Systems and WWW Browsers. The
term hypermedia refers to compound documents that allow users
to traverse a document space in a non-linear order by means of "hyperlinks"
between parts of the document space. Hyperlinks are tailored by a document
author to provide meaningful paths through the space. This allows progressive
disclosure of information, the ability to add new, supporting information,
and the ability to annotate. Hypermedia encompasses multimedia by
allowing "documents" to contain data types other than text including graphics,
image, video, and sound. This survey covers both integrated hypermedia
systems and browsers for the World Wide Web (WWW).
-
HTML Authoring. HTML is the standard interchange
format for documents in the WWW. The increasing complexity of HTML, the
preference many "content creators" have for WYSIWYG editors, and the existence
of many documents without HTML embeddings leads to a desire to simplify
the HTML authoring process. The tools in this category either automate
or facilitate the process of inserting HTML markup.
-
Searching and Indexing. Locating information
in the WWW by any means other than simple hyperlink traversal requires
the use of an index or some sort of query capability. These two topics
are closely related, since an index can be thought of as a cached query
and many indices are created by using web crawlers that have much in common
with query engines. The tools in this category create and maintain indices
and/or provide users with search facilities.
-
Groupware. Groupware is software and
hardware for shared interactive environments. Under the most rigorous definition,
a complete groupware infrastructure has three dimensions: communication
(pushing information out into an organization), collaboration
(shared information and building shared understanding), and coordination
(delegation of task, sequential sign-offs, etc.,). Also, see our feasibility
study on Video Conferencing, a type of groupware of
special interest to distributed workgroups.
Security
-
Authentication. Authentication tools provide
the ability to determine the identity of a party to an interaction and
to ensure that a message came from who it claims to have come from. Like
encryption, authentication is seldom used in isolation. Authentication
is used as the basis for authorization (determining whether a privilege
will be granted to a particular user or process), privacy (keeping
information from becoming known to non-participants), and non-repudiation
(not being able to deny having done something that was authorized to be
done based on the authentication).
-
Encryption. Encryption is used to protect
the confidentiality of information when it must reside or be transmitted
through otherwise unsafe environments. Encryption is also used for digital
signatures to authenticate the origin of messages or data. Encryption
algorithms themselves are rarely used alone in practice; rather, they are
typically embedded into a larger security frameworks to ensure their correct
and consistent use.
-
Virtual Private
Networks. This technical memo briefly describes the current state
of application-transparent technologies to secure tcp/ip communications
between hosts distributed across the Internet (e.g. PPTP, Altavista Tunnel,
IPsec).
Objects and the Internet
-
Componentware
Glossary. At present in industry, there is much more talk than
understanding about software architecture and componentware concepts like
components, component composition, protocols, frameworks and glue. There
is not even a good vocabulary for talking about these terms. This document
is a start in that direction. The objective of this document is to provide
a glossary of terms central to componentware. This terminology may be useful
to other groups like the OMG Architecture Board or various DARPA componentware
or architecture efforts (NIIIP Consortium, ComponentWare Consortium, I3,
JTF/ATD, DoD DII) that have architecture teams working on these concepts.
-
IETF. This section overviews the Internet
Engineering Task Force (IETF) and links to IETF protocols under development.
-
Object Models. Representing information
is facilitated by object models but sharing is more difficult since there
are many different modeling representations. This section reviews the features
of object models (by reference to the work of X3H7) and provides a number
of approaches to object model interoperation.
-
OMG. Object technology is becoming a pervasive
programming style in several key communities: networking, database, programming,
and user interface. Object Management Group (OMG) has developed an open
architecture for distributed object communication as well as a suite of
object services standards to make it easier to build large intra- and inter-enterprise
applications.
-
Requirements
for OO + Web Integration. This section is a listing of some of
the unmet requirements of OO + Web integration.
-
Microsoft Technical Briefs. The following sections briefly describe
several important elements of Microsoft's interoperability technology.
-
OLE.
This section OLE's (Object Linking and Embedding) object model and features.
-
OLE
DB. This section describes OLE DB, "an open, extensible collection
of interfaces that factor and encapsulate orthogonal, reusable portions
of DBMS functionality."
-
OLE
IFilter Interface. This section describes OLE's means of providing
the text contents of objects to indexing engines.
-
OLE
Registry. This section describe the OLE Registry, which maps between
high level service names, their unique identifiers, their attributes and
their concrete implementations.
-
Replication
Services. This section describes the various replication services
available within Microsoft's operating systems.
-
Current
Web Architecture. This section describes the current architecture
of the World Wide Web (WWW): the basic two-tier architecture in which static
web pages (documents) are transferred from information servers to browser
clients world-wide, extensions that permit three-tiered architectures where
content pages can be constructed dynamically and where programs as well
as data can be transferred, other information transfer protocols, and related
standards.
-
Quality of Service
(QoS). This section describes the quality of service provided by
the Internet. Currently the Internet offers a point-to-point delivery service,
which is based on the "best effort" delivery model. In this model, data
will be delivered to its destination as soon as possible, but with no commitment
as to bandwidth or latency. Using protocols such as TCP, the highest guarantee
the network provides is reliable data delivery. This is adequate for traditional
data applications like FTP and Telnet, but inadequate for applications
requiring timeliness. For example, distributed multimedia applications
need to communicate in real-time and are sensitive to the quality of service
they receive from the network. For these applications to perform adequately
and be widely used, QoS must be quantified and managed, and the Internet
must be modified to support real-time QoS and controlled end-to-end delays.
The notion of QoS must be extended from the communication layer up through
the intervening architectural layers to the application level.
-
Semantic
File Systems. Files are a popular form of data storage as they
do not impose any formatting and structuring constraints, and the file/directory
abstraction is easy to understand. Conversely, the fact that data is stored
in files provides no semantic information about them. Tools that manipulate
files carry much of the knowledge about file semantics and form the DBMS
for the file formats in a sense. By "file semantics" we mean any higher-level
definitional (e.g file extension and magic numbers define file type), associative
(e.g keywords in file that characterize content), structural (e.g. physical
and logical organization of the data, including intra- and inter-file relationships),
behavioral (e.g. viewing and modification semantics, change management),
environmental (e.g creator, revision history) or other information related
to the file. Looking at file data through the eyes of tools limits us to
the particular "views" supported by the tools. Conversely, tool-independent
views of file data will allow a finer-grained, seamless access to file
information. It will also facilitate the potential integration of file
information with information stored in more structured repositories such
as RDBs and OODBs.
-
Web + DBMS
Integration. The web is connecting together data sources at a fantastic
rate. Many data sources including DBMS systems that were formerly inaccessible
and write-only are or could soon become accessible. There is increased
incentive in enterprises to make more information available not just within
the organization but to customers as well. The purpose of this section
is to identify software architecture approaches for integration of the
Web with DBMS systems.
-
Web Programming
Languages. This document is a survey of current and planned languages
and interfaces for developing World Wide Web based applications. The principal
goal of creating this document was to identify the various languages currently
in use and to provide some insight into the context in which each language
is used. Secondarily, the author sought some insight into the directions
that web programming was going, especially in the context of the intense
publicity surrounding Sun's Java.
-
Wrappers. Wrappers are a type of software
"glueware" that is used to attach together other software components. A
wrapper encapsulates a single data source to make it usable in a more convenient
fashion than the original unwrapped source. Wrappers are assumed to be
"simple". Wrappers can be used to present a simplified interface, to encapsulate
diverse sources so that they all present a common interface, to add functionality
to the data source, or to expose some of the data source's internal interfaces.
This research is sponsored by the Defense Advanced Research
Projects Agency and managed by the U.S. Army Research Laboratory under
contract DAAL01-95-C-0112. The views and conclusions contained in this
document are those of the authors and should not be interpreted as necessarily
representing the official policies, either expressed or implied of the
Defense Advanced Research Projects Agency, U.S. Army Research Laboratory,
or the United States Government.
© Copyright 1996 Object Services and Consulting,
Inc. Permission is granted to copy this document provided this copyright
statement is retained in all copies. Disclaimer: OBJS does not warrant
the accuracy or completeness of the information in this survey.
The Internet Tool Survey was written by (in alphabetical
order) Steve Ford, Gil Hansen, Shaun Joseph, Ansu Kurien, Dave Langworthy,
Frank Manola, Paul Pazandak, Craig Thompson, Venu Vasudevan, David Wells,
and Nancy Wells. Send questions and comments about it to wells@objs.com.
Last updated: 5/15/97 sjf
Back to OBJS