Objects, Components, and the WWW
CS6204: Java and the WWW
CS4984: WWW - The Underlying Technology
Introduction
-
Want to use Web as an interface to libraries of objects
-
Want interoperable objects, since Web runs on most platforms
-
Want object-based (or compound) docs (vs. Web docs)
-
Web=data only
-
Object-based docs = data + access methods
-
Object technologies:
-
CORBA (common object request broker architecture)
-
DCOM (MS's distributed component object model)
-
Java
-
Compound doc technologies:
-
OpenDoc (by Object Management Group)
-
OLE (Object Linkng and Embedding, by Microsoft)
-
Components:
-
Java Beans
-
Active-X (for OLE)
Trends
-
Web browser becoming universal interface to docs
-
Web is more like a file system than a distributed computer
-
Want to include one applet or application inside another one
Want a paradigm shift from client/server computing to facilitate building
Web applications.
Objects provide a new paradigm.
Distributed Objects
-
Have normal object properties (encapsulation, inheritance, ...)
-
Also want
-
clients to be unaware where server object is
-
local or remote
-
if remote, which machine
-
client and server objects in different languages, OSs to interoperate
-
provide services such as security, transactions, state management, licensing
Component
Examples:
-
Demos in Java Bean Development Kit (BDK) 1.0 are components.
-
Microsoft Internet Explorer is an Active-X component.
-
A stand-alone object
-
Not bound to any program
-
The "Integrated Circuit" of software
-
May be "visibile" (e.g., has an interface) or "invisible"
-
Could work stand-alone on one machine, or use a distributed object architecture
to run across a network.
Example:
-
Java Beans uses CORBA when used across machines.
What makes component-based software?
-
Components
-
Containers
-
Scripting
Services provided by Component-based software:
-
Interface publishing and discover
-
Event Handling
-
Persistence
-
Layout Control
-
Application Builder Support
Compound Document Framework
-
Allows different desktop apps to access, modify data objects created by
peer apps regardless of data content and format.
-
Act as containers into which heterogeneous components can
be placed to build custom apps.
-
Act as front-end to apps using distributed objects.
Example:
-
Plug-ins in a Web browser: loading a spreadsheet in a Windows-based
Web browser might invoke an Active-X component that is Excel.
Summary: Key Technologies
-
Distributed Object Architecture
-
Components and Containers
-
Compund Document Frameworks
Paradigms for Distributed & Mobile Code
Distributed Object Architectures usually provide
-
Object Bus: a messaging mechanism
-
Static (compile-time defined) and dynamic method invocations
-
Object repositories
-
Distribution services (names, creates, destroys objects)
CORBA
Consists of
-
Object request broker (ORB) as object bus: middleware that mediates interactions
between client apps and server objects
-
Interface Definition Language (IDL)
-
Interface Repository: database of object defns.
-
Object adaptor: provides run-time environment for server app to handle
incoming client calls
-
CORBA services: defines persistence, transactions, concurrency, database
querrie, licensing, ...
Compound Doc Architectures
Definition:
-
Acts as a container in which a continuous stream of various kinds of data
can be placed.
-
Each formof content has associated controls that modify the doc
in-place, with uniform user interfaces.
OpenDoc
-
IBM’s CORBA-compliant System Object Model is Object Bus.
-
Bento defines a platform neutral container format used in files, net streams,
….
-
Uniform Data Transfer allows drag, drop, link, paste, etc. in same or different
docs.
-
Open scripting extends Apple Events to allow objects to react to creation,
edit, ...
OLE:
Return to CS6204 home page.
Send comments to abrams@vt.edu
Last modified on 6 May 1997.
[This is http://ei.cs.vt.edu/~jwww/courseNotes/object/index.html.]