home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.pasteur.org/FAQ/
/
ftp-pasteur-org-FAQ.zip
/
FAQ
/
object-faq
/
part3
< prev
next >
Wrap
Text File
|
1996-04-03
|
52KB
|
1,208 lines
Newsgroups: comp.object,comp.answers,news.answers
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!hookup!news.join.ad.jp!news.imnet.ad.jp!usenet.seri.re.kr!news.cais.net!news.jsums.edu!gatech!newsfeed.internetmci.com!ncar!uchinews!news
From: Bob Hathaway <rjh@geodesic.com>
Subject: Comp.Object FAQ Version 1.0.9 (04-02) Part 3/13
X-Nntp-Posting-Host: ford.uchicago.edu
Message-ID: <Dp9q6u.A00@midway.uchicago.edu>
Followup-To: comp.object
Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology
Sender: news@midway.uchicago.edu (News Administrator)
Organization: Geodesic Systems
References: <Dp9prv.92t@midway.uchicago.edu>
Date: Wed, 3 Apr 1996 04:08:54 GMT
Approved: news-answers-request@MIT.Edu
Lines: 1191
Xref: senator-bedfellow.mit.edu comp.object:46837 comp.answers:17912 news.answers:68444
Archive-name: object-faq/part3
Last-Modified: 04/02/96
Version: 1.0.9
Contact Person: Richard Soley (technical director) soley@omg.com
FTP Sites:
omg.org:pub/*
omg.org:pub/NEC_DII/93-1-2.tar... *CORBA (DII) (corba.ps.Z)
omg.org:pub/OMG_IDL_CFE_1.2/bin* idl.SunOS4.x, idl.Solaris2.x
claude.ifi.unizh.ch:under pub/standards/spec CORBA Spec
WWW:
http://www.omg.org/
http://conf4.darpa.mil/corba-ada/ORBs.html
http://www.acl.lanl.gov/sunrise/DistComp/Objects/corba.html
http://www.cs.wustl.edu/~schmidt/corba.html
http://www.dstc.edu.au/AU/research_news/omg/corba.html
Headquarters: Marketing Office:
492 Old Connecticut Path 3823 Birchwood Drive
Framingham, MA 01701 Boulder, CO 80304
Tel: 508-820-4300 Tel: 303-444-8129
Fax: 508-820-4303 Fax: 303-444-8172
3.8.2 OMG Summary
__________________
From: soley@emerald.omg.ORG (Richard Mark Soley)
Subject: OMG
In answer to your general question about the OMG, here's a brief overview.
Feel free to call, fax or email for more information.
-- Richard Soley
Vice President & Technical Director
Object Management Group, Inc.
and coincidentally, MIT '82, SM '85, PhD '89 (EECS)
The Object Management Group (OMG) is an international software industry
consortium with two primary aims:
(*) promotion of the object-oriented approach to software engineering
in general, and
(*) development of command models and a common interface for the development
and use of large-scale distributed applications (open distributed
processing) using object-oriented methodology.
In late 1990 the OMG published its Object Management Architecture
(OMA) Guide document. This document outlines a single terminology for
object-oriented languages, systems, databases and application
frameworks; an abstract framework for object-oriented systems; a set
of both technical and architectural goals; and an architecture
(reference model) for distributed applications using object-oriented
techniques. To fill out this reference model, four areas of
standardization have been identified:
1) the Object Request Broker, or key communications element, for
handling distribution of messages between application objects in
a highly interoperable manner;
2) the Object Model, or single design-portability abstract model for
communicating with OMG-conforming object-oriented systems;
3) the Object Services, which will provide the main functions for
realising basic object functionality using the Object Request Broker -
the logical modeling and physical storage of objects; and
4) the Common Facilities will comprise facilities which are useful in
many application domains and which will be made available through OMA
compliant class interfaces.
The OMG adoption cycle includes Requests for Information and
Proposals, requesting detailed technical and commercial availability
information from OMG members about existing products to fill
particular parts of the reference model architecture. After passage
by Technical and Business committees to review these responses, the
OMG Board of Directors makes a final determination for technology adoption.
Adopted specifications are available on a fee-free basis to members and
non-members alike.
In late 1991 OMG adopted its first interface technology, for the Object
Request Broker portion of the reference model. This technology, adopted
from a joint proposal (named "CORBA") of Hewlett-Packard, NCR Corp.,
HyperDesk Corp., Digital Equipment Corp., Sun Microsystems and Object
Design Inc. includes both static and dynamic interfaces to an inter-
application request handling software "bus."
Unlike other organizations, the OMG itself does not and will not
develop nor sell software of any kind. Instead, it selects and promulgates
software interfaces; products which offer these interfaces continue to be
developed and offered by commercial companies.
In order to serve OMG membership interested in other object-oriented systems
arenas besides the distributed system problem, the Group supports Special
Interest Groups for discussion of possible standards in other areas. These
groups at present are:
1) Object Oriented Databases;
2) OO Languages;
3) End-User Requirements;
4) Parallel Processing;
5) Analysis & Design Methodologies;
6) Smalltalk; and
7) Class Libraries.
Any company, university/research institution or individual, whether
end-user or vendor, can become a member of this body. Administrative
details are given at the end of this paper.
3.8.3 Mail Server Access
_________________________
Information via Mail Server:
Send the following commands in a letter to the mail server.
mail omg_server@omg.org
help (how to use file server)
index (return a list of all available files)
get <file> (get files returned by index)
log <info> (logs info on server)
address <e-mail address) (use this address instead of sender)
list <directory> [match] (index a directory, pattern 'match' files)
size <segment size> (max file size to send)
list mail
list docs
get docs/doclist.txt
get docs/91-12-1.ps CORBA spec [although it looks a little old]
Recommended (from the net):
mail omg_server@omg.org
Subject:
help
index
list
list mail
list docs
get docs/doclist.txt
3.8.4 OMG Publications
_______________________
Below is from omg.org:pub/CORBA
> First Class (Bi-Monthly Newsletter)
First Class is OMG's non-commercial bi-monthly 28-page
newsletter. First Class provides current information on Object
Technology developments, both technically and commercially. First
Class offers an open editorial forum on numerous Object
Technology topics and issues. This publication features
commentaries from software industry leaders, informative user
case histories, OT training information and the latest object-
oriented product announcements. All OMG activities and the
ongoing development of the Object Management Architecture are
regularly reported.
> Object Management Architecture Guide (OMA)
The members of the OMG have a shared goal of developing and using
integrated software systems. These systems should be built using
a methodology that supports modular production of software;
encourages reuse of code; allows useful integration across lines
of developers, operating systems and hardware; and enhance long-
range maintenance of that code. As an organization, OMG believes
that the object-oriented approach to software construction best
supports their goals. The OMA publication outlines the
groundwork for technology response to Request for Proposals (RFP)
and the adoption of specifications.
> The Common Object Request Broker: Arch. and Spec. (Corba)
The CORBA, as defined by the OMG's Object Request Broker (ORB),
provides the mechanisms by which objects transparently make
requests and receive responses. The ORB provides interoperability
between applications on different machines in heterogeneous
distributed environments and seamlessly interconnects multiple
object systems. The Common Object Request Broker Architecture and
Specification described in this published document is a self-
contained response to the Request for Proposals (RFP) issued by
the ORB Task Force of the OMG.
> Pricing
[Here's why you don't see the specifications posted to the net or available via
ftp! These are from the list of literature and periodicals listed in
omg.org:pub/CORBA]
o I would like a one year subscription to First Class
______ for $40 U.S., ______ for $50 outside U.S.
o I would like to order ______ copy(s) of the Object Management
Architecture (OMA) Guide for $50 each.
o I would like to order ______ copy(s) of the CORBA for $50 each.
o [Combinations]
Contact documents@omg.org or omg_documents@omg.org for more of the same...
3.8.5 Implementations (Brief)
______________________________
> DEC ObjectBroker Version 2.5 (Version 2.1 was ACA)
Full implementation of OMG CORBA 1.1. Digital's ObjectBroker is a 100 %
compliant implementation of CORBA and is available on these platforms:
IBM AIX, IBM MVS(port in progress), HP-UX, Macintosh, MS-Windows 3.1, NT,
OSF/1, SunOS, ULTRIX, Digital VAX/VMS, Digital OpenVMS
Contact:
Andrew Comas
comas@nyo.dec.com (212) 856-2507
Digital Equipment Corporation.
ObjectBroker
110 Spit Brook Road
Nashua, New Hampshire 03062-2698
> DOME - The C++ Object Request Broker
runs on VAX/VMS, Unix, PC
http://www.octacon.co.uk/onyx/external/oot.co.uk
Anon ftp: ftp.octacon.co.uk/external/oot/domedemo.exe; also from http.
> HP ORB Plus and HP Distributed Smalltalk
Full implementation of the OMG CORBA 1.1 Object Request Broker. Also DOMF.
Hewlett-Packard
Distributed Computing Group
19447 Pruneridge Avenue
Cupertino, CA 95014-9974 (USA)
Ian Fuller ian@cup.hp.com (408) 447-4722
> HyperDesk (Westborough MA) HD-DOMS, rich_fraser@hyperdesk.com
Runs on SPARC, HP/UX, IBM RS-6000, Data General Aviion, MS-Windows (client
API only), NetWare (planned, Novell owns part of HyperDesk).
> IBM SOM (System Object Model)
Available on AIX and OS/2. See Distributed Computing Monitor, March 93 for
a detailed review.
> ILU (free, see APPENDIX E entry 59)
Object RPC compatible with OMG CORBA 1.2 spec (will compile OMG IDL and
generate OMG compliant code for OMG-specified languages).
parcftp.parc.xerox.com:/pub/ilu/ilu.html
> IONA Technologies, Dublin Orbix, info@iona.ie
First full and complete implementation of OMG's CORBA.
> NCR 'Cooperative Frameworks' -- a Distributed Object Foundation
(1) C++ ORB toolkit consisting of over 300 C++ classes and runtime libraries
(2) CORBA 1.1 toolkit
> ORBELINE - The SMART Object Request Broker - PostModern Computing
Complete implementation of CORBA. Free academic; com. eval licence avail.
SunOS 4.x, Solaris 2.3, and OSF/1 versions of ORBeline available; will
consider making other platforms available if enough interest. See Appendix E.
http://www.pomoco.com/
> ROLSCH CONSULTING (RC-ORB)
Implements ORB spec, DOS/Windows 3.1, 12 user license: $99.
Ref: Datamation, LOOK AHEAD Section, August 1. German Company.
> SUITESOFTWARE (SuiteDOME)
- an open system, standards compliance, object-oriented architecture,
support for heterogeneous environments, support for Remote Data Access
(RDA), Remote Procedure Calls (RPC), Message-Oriented Middleware (MOM),
and Object Request Broker (ORB).
> Sun DOE
> Tivoli
> CS Dept. University of Zurich, Switzerland. maffeis@ifi.unizh.ch
The ELECTRA Toolkit (not finished)
3.8.6 Implementation Descriptions
___________________________________
The OMG also has a (Corporate) Membership list and "known CORBA supporters"
list with their info package.
> The ELECTRA Toolkit
CS Dept. University of Zurich, Switzerland. maffeis@ifi.unizh.ch
The ELECTRA Toolkit
Subject: ORB Implementations
Date: Tue, 4 May 1993 13:12:36 +0200 (MET DST)
From: Silvano Maffeis <maffeis@ifi.unizh.ch>
something like an Object Broker, but it is *not* CORBA compatible (yet).
Electra is a research project and not available yet.
Its a toolkit for building failure resilient, distributed applications
in C++. It supports object-groups, virtual synchrony, multithreading
etc. Electra is based on the HORUS toolkit (which is "the new ISIS
implementation" developed at Cornell, Ithaca NY.)
An overview paper to electra is available from:
ftp.ifi.unizh.ch: pub/techreports/electra.ps.Z
> HD_DOMS
HD-DOMS (HyperDesk Distributed Object Management System). A
CORBA-compliant DOMS. Includes a GUI API driver for prototyping and
exercising objects, a bundled object database for persistent object
storage, a Kerberos-based authentication service, a location service, a
set of base classes to speed development, and a test script language.
Revision 1.0 has been shipping since beginning of '92. Revision 1.1
(which includes support for CORBA's static client interface) is available
now, and a NetWare version is in the works. Submitted a C++ language
mapping for IDL to the OMG recently.
HyperDesk Corporation
2000 West Park Drive
Westboro, MA 01581
(508)366-5050
> HP ORB Plus and HP Distributed Smalltalk
============================================================================
SUBJECT: HP INTRODUCES DISTRIBUTED-COMPUTING SOLUTION FOR BUILDING
SCALABLE, OBJECT-ORIENTED APPLICATIONS
DATE: September 27, 1993
----------------------------------------------------------------------------
PALO ALTO, Calif.--(BUSINESS WIRE) via First! -- Hewlett-Packard Company
today introduced a distributed-computing solution for building scalable,
object-oriented applications.
With HP ORB Plus, programmers can develop scalable, object-based
applications that can be distributed throughout the enterprise. HP also
introduced an enhanced version of HP Distributed Smalltalk.
HP ORB Plus and HP Distributed Smalltalk are major components of HP's
overall distributed-computing strategy, which is designed to give customers
integrated, desktop access to enterprise-wide information and resources in
distributed heterogeneous systems environments. Of all computer companies,
HP believes it is best positioned to help customers take advantage of
distributed computing. HP provides a wide variety of distributed-computing
products, understands how to help customers adopt new technology for maximum
business benefit, and offers worldwide support and training programs,
ranging from analysis and design to deployment.
HP ORB PLUS: CORBA AND DCE COMBINED
HP ORB Plus is the only environment that combines the complete CORBA 1.1
specification from the Object Management Group with the DCE standard from
the Open Software Foundation(tm) as its transport mechanism. DCE is
designed to let developers write one application and then deploy it --
without modification -- on any other system that supports DCE. HP ORB Plus
reduces the complexity of developing distributed applications so programmers
can concentrate on the application itself without needing to know multiple
operating systems, networking protocols or where application objects are
stored.
The DCE (Distributed Computing Environment) standard provides an
integrated set of services that can be used separately or together to
provide a distributed computing environment that's easy to administer. The
CORBA (common-object-request-broker architecture) specification provides a
standard for how objects (in applications, repositories or class libraries)
make requests and receive responses across a distributed network.
HP ORB PLUS DETAILS
HP ORB Plus consists of several components: the Distributed Object
Management Facility (DOMF), object services, developers' and administrative
tools, and sample applications. HP's DOMF provides a location-transparent
object-communication mechanism across heterogeneous networks by using the
DCE standard. This object- enabling technology specification was jointly
developed with SunSoft. By following a common specification, HP and SunSoft
have made it easier for their customers to port applications between their
platforms.
In addition, HP is working with IBM to integrate HP's DOMF with IBM's
System Object Model with extensions for distribution. This integration will
eventually provide users with complete scalability, portability and
interoperability of distributed applications across HP and IBM platforms.
This is part of the companies' planned approach toward a standards-based,
"plug-and-play" object-oriented environment. This will give developers,
system administrators and end users language-neutral, enterprise-wide,
heterogeneous support for building, managing and using distributed object-
oriented applications.
"We're so convinced of the value of object technology that we're staking
our entire company on it," said Richard Tanler, president and chief
executive officer of Information Advantage, Inc. "Our object-based
applications for retailers provide the means to a competitive business edge.
We plan to use HP ORB Plus to develop new object-based products that
retailers can distribute to end users throughout headquarters, all chain
stores, and warehousing and distribution operations."
HP DISTRIBUTED SMALLTALK 2.0
In a related announcement, HP introduced Version 2.0 of HP Distributed
Smalltalk. This toolset works with VisualWorks from ParcPlace Systems to
provide programmers with a rapid development environment for creating and
running distributed applications. These applications can use object
databases (currently OpenODB from HP and Gemstone from Servio) as their
storage mechanism to facilitate the reuse of objects.
Applications built using HP Distributed Smalltalk currently run without
modification on HP, Sun and IBM UNIX(R) system-based workstations. They
also will run on Apple Macintosh computers and on any PC running the Windows
3.1 or Windows NT operating systems from Microsoft(R) Corp., once
VisualWorks 2.0 is released (expected within two months.)
New HP Distributed Smalltalk 2.0 features include the following:
-- easier deployment, with the ability to run multiple HP
Distributed Smalltalk-based applications on a single system;
-- up to 400 percent increased performance, through quicker
sending and receiving of remote messages, and reusable
object libraries;
-- run-time version, for full production deployment; and
-- easier development, with remote object browsing so
developers can find and use objects more quickly.
TECHNICAL DETAILS AND AVAILABILITY
HP's DOMF includes the object request broker, interface- definition-
language compiler, static and dynamic invocation interface and interface
repository. In addition to these OMG-specific features, most developers
writing distributed, object-oriented applications require additional
interfaces to use objects effectively. So developers don't need to create
their own, HP has supplied several object-service interfaces for developers
to use. That's why HP ORB Plus includes OMG interfaces and implementations
for properties, life cycle, associations, event notification and naming.
HP's limited release of HP ORB Plus to key developers is designed so that
customer input can be incorporated into the product early in its development
cycle. The initial version will work with the C++ programming language.
For the generally available Developer's Kit, C++, C and Smalltalk
interoperability is planned so objects written in different languages can be
combined into one application. The Developer's Kit is scheduled to be
available mid- 1994; prices will be announced then. HP ORB Plus runs on the
HP Apollo 9000 Series 700 workstations and HP 9000 Series 800 business
servers.
Hewlett-Packard Company is an international manufacturer of measurement
and computation products and systems recognized for excellence in quality
and support. The company's products and services are used in industry,
business, engineering, science, medicine and education in approximately 110
countries. HP has 94,900 employees and had revenue of $16.4 billion in its
1992 fiscal year.
EDITORIAL CONTACTS:
Hewlett-Packard Company
Lynne Hanson, 408/447-1415, Cupertino, Calif.
Jill Kramer, 408/447-4275, Cupertino, Calif.
==================
For more information about HP ORB Plus, contact Kathy Litch
(litch_k@apollo.hp.com).
For more information about HP Distributed SmallTalk, contact
Jerry Boortz (jerry_boortz@hp4000.desk.hp.com).
> Iris RDOM
From: rcbc@cs.cornell.edu (Robert Cooper)
Subject: Re: DCE vs. CORBA
Reply-To: rcbc@isis.com
Product: Isis Reliable Distributed Object Manager(tm) (RDOM)
Company: Isis Distributed Systems, Inc., Ithaca NY, USA.
Isis RDOM(tm) is a fault tolerant distributed ORB platform for reliable
multi-lingual object-oriented applications. RDOM provides an "object group"
paradigm for constructing complex applications out of collections of
cooperating objects. RDOM is built on top of the Isis Distributed
Toolkit(tm). RDOM provides interfaces from Smalltalk (Parcplace),
Objective-C, and C++, and runs on most Unix workstations. RDOM is currently
not CORBA compliant, but will be brought to compliance during 3Q93.
Status:
RDOM has been at beta test sites since January. General release of
the Smalltalk and Objective-C language interfaces is expected in June.
The C++ interface in August. Customers include AMD, Consilium and Swiss
Bank Corp).
> Object-Oriented Technologies DOME
Product: DOME - Distributed Object Management Environment
Company: Enquiries: info@oot.co.uk
Object Oriented Technologies Ltd,
1st Floor, Lawrence House, 1A Morrell St, Leamington Spa, England CV32 5SZ
Telephone: +44 (0) 1926 833488 Fax: +44 (0) 1926 883370.
Short Description:
DOME provides heterogenous distribution across many platforms
and networks, including:
UNIX, Windows, Windows NT, OS/2, OSF/1 (AXP), OpenVMS,
SunOs, Solaris, HP-UX, SGI Unix, Stratus FTX,
TCP/IP, NetBIOS, XTI
As a fully peer-to-peer product DOME can be used to build systems
using any combination of the above.
Long Description:
DOME is an ORB toolkit for the production of user-configured
ORBs and servers. It is a multi-threaded high performance ORB
suitable for use in large scale commercial systems and embedded
real-time systems.
DOME is non-intrusive, meaning that the application development
is separated from the means of distribution and the problem of
distributed object management; this allows the application to
be built and tested on a single machine using local resources.
Existing software can also be incorporated easily, providing
integration for legacy systems.
DOME is constructed as a C++ class library, from which ORBs
can be configured and constructed to best suit the runtime
environment. This provides great flexibility since new classes
can be derived from existing ones and the resulting configurations
implemented to user-specific requirements.
Database distribution can be as simple persistent files,
RDBMSs, OODMS, or a combination of these.
DOME has a CORBA-conformant interface, and is CORBA 1.0 compliant
with the following divergences -
additions:
- full C++ binding,
- integral support for GUI development,
- network monitoring & analysis,
- transaction management,
- location broking,
- enhanced security;
ommissions:
- dynamic invocation, which is seen as detrimental to performance
and network security; however, DOME does allow stream operators
to perform the same function.
DOME was first released in August 1993; version 2 in May 1994.
> ORBELINE - The SMART Object Request Broker
ORBeline is a complete implementation of OMG's Common Object Request
Broker Architecture (CORBA). ORBeline goes beyond the standard
specification to provide a SMART communication framework allowing
you to easily develop large distributed applications that are robust,
scalable, flexible and maintainable. ORBeline incorporates PostModern's
proven communication framework that links thousands of nodes.
See Appendix E:65 for a complete description and anon FTP info.
> Orbix
Orbix
Iona Technologies Ltd.
8-34 Percy Place
Dublin 4
Ireland
The latest release of Orbix, Version 1.2, includes an Object Loader function
for the first time, as well as an upgraded Interface Repository, a new
approach to filtering, and more code examples to guide programmers.
Orbix was launched in June 1993 as the first full and complete implementation
of the Object Management Group's (OMG's) Common Object Request Broker
Architecture (CORBA) standard. With Orbix, programmers can develop
distributed, object oriented applications following a consistent and
straightforward, standards-based model.
With Orbix Version 1.2 IONA has added the ability to dynamically load objects
at runtime through its Object Loader function. This enables developers to more
easily integrate Orbix applications with existing data stores be they
traditional flat file databases, relational databases or object oriented
databases.
The improved Interface Repository is an integral part of IONA's CORBA
implementation. The Interface Repository operates as a dynamic browser which is
populated with all objects or services available at runtime keeping programmers
informed of the functions, attributes and characteristics of objects and
services.
In version 1.2 IONA has also extended the whole approach to filtering of
requests, and has made it easier for users to integrate Orbix with their
security systems providing for improved reliability of distributed systems
built using Orbix. IONA has also extensively extended the number, and scope, of
code examples it ships with the product to help developers learning how to use
the system.
IONA released Orbix for SunSoft Solaris and SunOS at the Object World
exhibition in San Francisco, Calif., June 1993. Since then it has rolled
out versions of Orbix for Microsoft Windows NT, Silicon Graphics IRIX and
HP/UX. IONA demonstrated a version of Orbix for Microsoft Windows 3.1 at
Object World in London, England last October. Orbix for Microsoft Windows
3.1 is now in beta. In January 1994, IONA and SunSoft Inc. signed an
agreement to align their implementations of CORBA. The two companies
demonstrated interoperability between IONA's Orbix running on Microsoft
Windows 3.1 and SunSoft's Distributed Objects Everywhere (DOE) on Solaris.
In addition Orbix-TP, integration with Tuxedo for transaction processing, has
just entered beta testing. Work is underway on Orbix-FT, integration with
the Isis distributed system, will deliver a fault-tolerant ORB.
Paul Hickey, tel: +353-1-6686522
Iona Technologies Ltd., fax: +353-1-6686573
8-34 Percy Place, email: pth@iona.ie
Dublin 4
Ireland
Availability
------------
The full Orbix availability and release schedule looks like:
Operating System C++ Compiler Release
Date
-------------------------------------------------------
SunOS 4.1 SPARCompiler 2.1 NOW
SunOS 4.1 SPARCompiler 3.0.2 NOW
SunOS 4.1 Lucid 3.1 NOW
SunOS 4.1 GNU 2.5.8 NOW
Solaris 2.x SPARCompiler 3.0.2 NOW
Solaris 2.x SPARCompiler 4.0 NOW
Solaris 2.x GNU 2.5.7 NOW
IRIX 4.0.5H Native NOW
IRIX 5.x Native NOW
HP-UX Native NOW
Microsoft Windows NT Visual C++ NOW
Microsoft Windows NT Borland NOW
Microsoft Windows 3.1 Visual C++ In Beta
IBM AIX C Set++ 4th Qtr
OSF/1 DEC C++ 4th Qtr
SCO Native 4th Qtr
UnixWare Computer Innovations 4th Qtr
Ultrix DEC C++ 4th Qtr
Release of Orbix on OS/2 is also imminent.
Documents Available from IONA
-----------------------------
electronic mail server - server@iona.ie
anonymous ftp file server - ftp ftp.iona.ie
World Wide Web - http://www.iona.ie/
> NCR 'Cooperative Frameworks' -- a Distributed Object Foundation
From: Randy Volters <randy.volters@columbiasc.ncr.com>
Subject: re-post: NCR Cooperative Frameworks (new phone no.)
November 19, 1993
NCR ANNOUNCES BETA AVAILABILITY
OF 'Cooperative Frameworks' --
a Distributed Object Foundation
Product Background -
NCR Cooperative Frameworks(TM) were first released for sale
in 10/1991 as "the frameworks" part of the NCR COOPERATION(TM)
product, and are based on NCR's submission to OMG.
Cooperative Frameworks release 3.0 makes the product
available apart from COOPERATION.
Product Description -
Cooperative Frameworks is a distributed object foundation
for building computing applications and services on networks
of heterogeneous computers.
Cooperative Frameworks consists of an integrated suite of
C++ class libraries that:
- defines and implements a comprehensive enterprise
architecture and methodology for creating
distributed implementations of C++ classes over
networks
- allows customers to build and use object services
over a network
- supports TCP/IP, NetBIOS, Lan Manager NetBEUI and
OSI protocols, X.25
NCR Cooperative Frameworks currently has two portable ORB
toolkits (others are planned for future release) --
(1) C++ ORB toolkit consisting of over 300 C++ classes and
runtime libraries
(2) CORBA 1.1 toolkit Both are for:
- wrapping existing databases and legacy
applications for improved availability
and maintainability on systems of heterogeneous
computers, operating systems and networks
- building next-generation, object-oriented,
distributed computing applications for
networks of heterogeneous computers, operating
systems and network operating systems
Cooperative Frameworks come with predefined object services
for implementing distributed systems:
- Naming - network implementation of X.500 directory
provides object naming service
- Logging - provides local and server based error
logging
- Fine-grain Data Management - class libraries are
designed around fine grained objects, developers can
build distributed objects as large or as small as
needed
- Persistence - the same object stream model for
communication between internal ORB functions is used to
support object persistence. Persistent objects can be
files, relational or object databases
- Dynamic Service Location - provides a mechanism for
registering services and entities in a distributed
system and invoking targeted services based on service
characteristics -- rather than names
- Dynamic Service Activation - provides a mechanism for
object activation when method invocations are required,
and deactivation when not needed
- Event Service (Release 3.1) - Implements an OMG/JOSS
compliant event service
- Network Configuration Tools - simplifies creation of
directory entries required for cross domain operation
in a multiple domain heterogeneous network.
NCR Cooperative Frameworks run on multiple UNIX platforms,
including HP-UX, Sun Solaris, NCR 3000 UNIX and NCR
StarServer UNIX SVR4; and on MS Windows 3.1. Cooperative
Frameworks has been demonstrated on Novell NetWare v3.11,
and was originally developed on MS OS/2 v1.x. Development
environments supported include CFRONT and C++ Workbench from
NCR, HP Softbench Sun SPARCworks and Borland IDE.
Implementation - implementation is for client/server system
architectures as a set of DLL and shared libraries
Languages used for IDL mapping - IDL bindings for C, (or
object services can be implemented directly in C++)
Release date - Release 3.0 is available now to early
developers with general availability set for December, 1993;
Release 3.1 will be available to early developers 1Q 1994
with general availability set for 2Q 1994
Product interoperability - Full interoperability between NCR
Cooperative Framework implementations on supported platforms
is available now; interoperability with selected CORBA 1.1
ORBs and CORBA 2.0 ORBs is planned
Company Name -
NCR Corporation (An AT&T Company)
Address -- Software Products Division-Columbia
3245 Platt Springs Road
West Columbia SC 29170
Phone
(803) 939-7500
FAX
(803) 939-7745
Contact Name
Randy Volters, Sr. Product Manager
Cooperative Frameworks
Email: Randy.Volters@ColumbiaSC.NCR.COM
Ext. 7774
Company Description -
NCR, AT&T's computer business, brings computing and
communications solutions together to provide people easy
access to information and to each other -- anytime,
anywhere.
> SUITESOFTWARE (SuiteDOME)
Overview
Variety may make life more interesting, but it only complicates the
task of connecting employees with the information they need. In a
world of heterogeneous, distributed computer systems, it's an ongoing
struggle to provide easy access to data while maintaining and
updating a collection of incompatible hardware platforms, operating
systems, applications, databases, network protocols, and the like.
To simplify the technical challenges, reduce the time and effort
required, and still be able to exploit all of an organization's
on-line data, information technology (IT) managers are turning to
middleware - run-time system software that is layered between an
application program and the operating system and that, in a
distributed, heterogeneous environment, supplies the functions that
would have been provided by the application's native operating
system.
To do this effectively, middleware must be able to interpret the
differences between operating systems, network protocols, databases,
and file systems; access and distribute data; guarantee system
security; and scale up to accommodate even the largest systems. When
middleware achieves this, it makes enterprise computing a reality.
As a result, middleware is quickly emerging as the best solution for
overcoming system incompatibilities, and middleware such as
SUITESOFTWARE's Distributed Object Management Environment (DOME)
Software System makes it possible for organizations to build large
scale, heterogeneous, distributed systems that can run virtually any
application in the enterprise, accessing virtually any data.
DOME - Covering the Enterprise
The DOME Software System is comprehensive middleware that provides
all of the essential services necessary to unify distributed
applications and data into a single system. With DOME, companies can
develop applications on any platform they choose and then easily
distribute them across heterogeneous environments throughout the
enterprise.
The DOME system can accomplish this complex task because it offers:
- an open system
- standards compliance
- object-oriented architecture
- support for heterogeneous environments
- and support for Remote Data Access (RDA), Remote Procedure
Calls (RPC), Message-Oriented Middleware (MOM), and Object Request
Broker (ORB).
o Open System
DOME is an open system that provides an interface between all of a
customer's applications, making it possible to share information
between new and legacy applications. DOME provides a solution today
and its open platform structure accommodates future technologies.
o Standards Compliant
DOME is compliant with the following standards:
- OMG/CORBA
- SAG
- MOMA
- ISO
- OLE Microsoft
- CCITT X.500
- Kerberos 5.4 (Security)
DOME allows message transfer from one object to another object,
provides the ability to find an object, register an object, register
the message interface to an object, and dynamically invoke an object.
DOME also provides object services beyond the Object Request Broker
(ORB) and contains a directory and name service that provides more
functionality than specified by the X.500 standard. Because DOME goes
beyond what many of the standards require, it makes the task of
creating distributed applications, especially in very large
distributed environments, even easier.
SUITESOFTWARE is a member of various standards groups and conforms
its products to industry standards as they are adopted.
o Object-Oriented Architecture
Because DOME's architecture is object-oriented, there are significant
benefits.
- True messaging for workflow management and EDI
- Queue- and bus-based (rather than send-based) design provides
store-and-forward, broadcasting, and subscribing functionality
- Full recovery capabilities
- Different levels of messaging service for positive/negative
acknowledgment and start-on-demand
- Hierarchical namespace with true domains for complete
scalability
- Concern registration and event notification
- Logical name translation for true aliasing
- Kerberos 5.4 compatible security/authentication and access
control
- Implementation of additional protocols through a
communications layer
- Co-existence of multiple development and/or production
environments on a single node
- Platform independent time services and exception handling
These beneficial functions have resulted in measurable time and labor
savings while freeing systems personnel to concentrate on critical
issues.
o Support for Heterogeneous Environments
DOME runs on the major UNIX platforms as well as in other interactive
computing environments, such as OS/2 and Windows.
DOME Software System Components
The DOME software system is composed of the core DOME product, DOME
SecurityTM, DOMEshellTM scripting and prototyping language, and the
DOME Data Manager (DDMTM) database access manager.
[...]
The DOME Data Manager is a complete relational DBMS engine that
provides access to distributed data.
Features
DDM provides autonomy for distributed data sites, but it also
supplies the means for consolidating data for specific applications.
It can read and write data across numerous DBMSs, and it makes
distributed data management transparent, so that the user never needs
to know the physical location of data, the server of access, or the
underlying vendor in order to process requests. From the user's
perspective, the enterprise is a single logical database located in
its entirety on the local machine. This is possible because DDM maps
the application's logical view of the environment into the
enterprise's physical environment of multiple nodes, disparate
operating systems, and multiple DBMSs.
DDM can manipulate data across a large number of databases and data
locations, and it is also interoperable. By conforming to the SQL
Access Group's Call Level Interface standard, DDM can interoperate
with any number of third-party GUI and CASE tools. Among the GUIs are
Powerbuilder,, Visual Basic,, and Uniface,. Among the CASE tools are
ERwin,, Popkin,, and Knowledgeware,.
? 1995 SUITESOFTWARE
DOME, DOMEshell, DOME Security, DOME Data Manager, and DDM are
trademarks of SUITESOFTWARE. All other products and product names are
copyrighted by, trademarks of, or registered trademarks of their
respective owners.
Support and Deliverables
Customer Support
SUITESOFTWARE places particular emphasis on support and continuing
education. The broad technical and business systems background of our
staff of fully trained professionals ensures "real world" responses
to problems. SUITESOFTWARE `s support staff is available by
telephone, FAX, and e-mail to help customers maximize the use of the
DOME Software System and obtain quick resolutions to problems.
Deliverables
Optical or magnetic media containing all files required to load and
execute DOME plus PostScriptTM versions of DOME documentation.
Hardcopy versions of all DOME documentation are available for a
nominal additional cost.
Configuration Requirements
Disk space and memory requirements are dependent on the installation
platform. SUITESOFTWARE sales representatives are available to help
determine configuration requirements for particular computer systems.
SUITESOFTWARE
801 East Katella Ave., Suite 210,
Anaheim, CA 92805
Telephone: (714) 938-8850
FAX: (714) 978-1840
E-mail: customer_support@suite.com
3.8.7 Books, Articles, And Literature
--------------------------------------
This section is expected to grow considerably in the future.
"Distributed Object Computing With CORBA", C++ Report, July/August 1993
The Object Database Standard: ODMG-93
edited by: R.G.G. Cattell
published by Morgan Kaufmann Publishers, San Mateo, California
[Covers CORBA standards with respect to OODBs]
3.9) Why is Garbage Collection A Good Thing?
-------------------------------------------------------------------------
There are two entries on garbage collection, the first is an excellent entry
written for the FAQ by Paul Johnson and the second is from the FAQ author's
company on the necessity of garbage collection for object-oriented programming
and technique.
From: Paul Johnson (paj@gec-mrc.co.uk)
Garbage collection (GC) is a facility in the run-time system associated with a
language which will automatically reclaim objects which are no longer used.
OO Languages which require garbage collection include Eiffel, Smalltalk and
CLOS. C and C++ can have garbage collection retrofitted (see [3] and [4]
below). [Ada has switchable GC, too -bob]
Without GC programmers must explicitly deallocate dynamic storage when
it is no longer needed (in C this is done by a call to free(3)).
There are a number of problems with this:
1: Bugs due to errors in storage deallocation are very hard to find,
although products are available which can help.
2: In some circumstances the decision about whether to deallocate
storage cannot be made by the programmer. Drawing editors and
interpreters often suffer from this. The usual result is that the
programmer has to write an application-specific garbage collector.
3: An object which is responsible for deallocating storage must be
certain that no other object still needs that storage. Thus many
modules must co-operate closely. This leads to a tight binding
between supposedly independent modules.
4: Libraries with different deallocation strategies are often
incompatible, hindering reuse.
5: In order to avoid problems 3 and 4, programmers may end up copying
and comparing whole objects rather than just references. This is a
particular problem with temporary values produced by C++ overloaded
operators.
6: Because keeping track of storage is extra work, programmers often
resort to statically allocated arrays. This in turn leads to
arbitrary restrictions on input data which can cause failure when
the assumptions behind the chosen limits no longer apply. For
instance many C compilers limit expression nesting, identifier
length, include file nesting and macro stack depth. This causes
problems for programs that generate C.
One partial solution to a lack of GC is reference counting. In this
scheme each object keeps a count of references to it. When this count
drops to zero the object is automatically deallocated. However this
is inefficient (swapping two references will result in three
decrements, three increments and six comparisons) and cannot reclaim
circular data structures. Two systems that use a reference count GC
are the Interviews C++ graphics library and the Unix file system (the
link count).
Opponents of GC reply that it introduces an overhead which is
unacceptable in some applications. However the overhead of manual
storage deallocation is probably as high as GC. GC algorithms are
also available with good real-time behaviour.
[Further, GC can perform compaction improving locality of reference.]
Further Reading:
[1] "Object-Oriented Software Construction" by Meyer puts the argument
for GC.
[2] "Uniprocessor Garbage Collection Techniques," by Paul R. Wilson,
in Memory Management (proceedings of 1992 Int'l Workshop on Memory
Management, Sept. 1992, St. Malo, France, Yves Bekkers and Jacques Cohen,
eds.), Springer Verlag Lecture Notes in Computer Science #637.
This is an excellent summary of the state of the art in GC algorithms. This
and other papers about garbage collection are available in PostScript via
anonymous ftp (cs.utexas.edu:pub/garbage/gcsurvey.ps. [See APPENDIX E]
[3] "Garbage Collection in an Uncooperative Environment" by Boehm and
Weiser. Software --- Practise and Experience vol 18(9), pp 807-820.
Sept 1988. This describes GC in C and C++.
ftp://parcftp.xerox.com/pub/gc/gc.html
[4] Geodesic Systems provides GC for C and C++. See http://www.geodesic.com
and Appendix G.
3.9b) Why is Garbage Collection Necessary for Object-Oriented Programming?
--------------------------------------------------------------------------
Michael Spertus
Geodesic Systems
mps@geodesic.com
There are several reasons why true object-oriented programming requires garbage
collection.
1. Manual Memory Management Breaks Encapsulation.
Program components frequently need knowledge of an entire program to
determine the last use of an object and provide deletion. This makes reuse
of the component nearly impossible. For example, methods and functions
taking a container as an argument need to know of or make assumptions
about the rest of the program to determine ownership of the objects in the
container.
Attempts to encapsulate memory management with reference counting, the "poor
man's garbage collector", are usually misguided. Reference counting has worse
performance than GC, awkward syntax, and poor semantics, which typically
include failure to reclaim cycles, inability to handle stack and static
objects, lack of polymorphism, and problems with interior pointers (e.g.
arrays and multiple inheritance). Intensive research [1] in garbage
collection has completely solved the above problems and made reference
counting an inadequate substitute for true GC.
2. Implementation Hiding is not Compatible with Manual Memory Management
Implementation hiding is a pillar of object-oriented programming,
but explicit memory management requires implementation-dependent
low-level knowledge of how memory is structured. For example, programmers
often use "copy on write" to efficiently implement pass-by-value semantics.
However, to manage memory explicitly, a program has to know if it has a copy
of an object or the object itself. Programmers sometimes use reference
counting to encapsulate copy-on-write memory management. However, this only
works well in simple cases like strings where the data is not polymorphic
and does not contain pointers.
3. Message Passing Leads to Dynamic Execution Paths
Manual memory management must make assumptions about a program's order of
execution to make a compile-time determination of the last user of an
object. While this is often possible in procedural languages, the object-
oriented paradigm of objects sending messages to each other (possibly from
different threads) makes it impossible to statically determine the last user
of an object. For example, event driven GUI programs frequently have no
clear order of execution. Other dynamic control structures, such as
exceptions, also make static analysis of memory usage at compile-time
impossible.
4. Differing Memory Management Schemes Hinder Reuse
Because no memory management scheme is universal enough for all applications,
manually managed components and libraries often use incompatible memory
management schemes. For example, there are common container libraries using
each of the following schemes:
a) Doubly specified empty and remove methods with one including a memory
delete, placing the memory management burden on the client, who must call
the appropriate method.
b) Switches indicating deletion. Many applications must clear the switch to
support long-lived data and keep track of ownership of data shared by
multiple containers, leaving many memory management issues unaddressed.
c) Value semantics store objects rather than references, inhibiting data
sharing and carrying expensive performance costs when complex objects are
copied by value.
d) Reference counting, which was already discussed.
Any components or libraries that use containers with different memory
management strategies are difficult to use with each other.
5. Garbage Collection Works
It is not enough to merely find fault with manual memory management. One also
has to show that garbage collection provides a better alternative. Early
versions of garbage collection were merely crude implementations of
mark-and-sweep that left much to be desired. However, garbage collection has
advanced as rapidly as most computer-related technologies and is now a robust,
mature technology.[1] Many object-oriented languages specify garbage
collection for all or part of their memory. Even C and C++ have at least one
commercially supported garbage collector that can transparently and
compatibly manage both new and existing programs. [2]
Garbage collected programs are usually as fast and responsive as
their manually managed brethren. [3] In fact, multi-media programmers
sometimes choose treadmill collectors [4] over hand-management because of its
superior real-time performance as manual management usually has difficulty
scheduling destructor calls smoothly. Of course, garbage collected programs
are generally more reliable and easier to develop, maintain, and reuse than
manually managed programs. Finally, garbage collection can be mixed with
manual management to provide the programmer with the broadest set of tools,
and garbage collection is much too important a tool to be absent from any
object-oriented programmer's toolbox.
References
[1] Paul R. Wilson, "Uniprocessor Garbage Collection Techniques", 1992
International Workshop on Memory Management, Springer-Verlag Lecture Notes in
Computer Science series.
[2] Geodesic Systems, Great Circle(TM) Automatic Memory Management System.
http://www.geodesic.com/GreatCircle/index.html.
[3] Detlefs, Dosser, and Zorn, "Memory Allocation Costs in Large C and C++
Programs". ftp://cs.colorado.edu/pub/techreports/zorn/CU-CS-665-93-ps.Z.
[4] Henry Baker, "The Treadmill: Real-Time Garbage Collection without Motion
Sickness". ftp://ftp.netcom.com/pub/hb/hbaker/NoMotionGC.html
3.10) What Can I Do To Teach OO To The Kids?
---------------------------------------------
Smalltalk (in its original 1972 version) was initially intended to make
computer programming easy enough for children. The idea was that manipulating
objects was something more intuitive and natural than coding procedures.
Other entries or suggestions are welcome, please send to the author of the FAQ.
3.11) What Is Available On Object-Oriented Testing?
---------------------------------------------------
[This entry was donated by Doug Shaker and is certainly a FAQ]
Testing of Object-Oriented Programming (TOOP) FAQ/Resource Summary
Posted to comp.object, comp.lang.c++, comp.lang.smalltalk and
comp.software.testing.
Last revised on 93.10.27. The most notable change is in the additions
to the Software section. Also a couple of articles added to the
Written Material section.
> What?