Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

Comp.Object FAQ Version 1.0.9 (04-02) Part 3/13

( Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Part8 - Part9 - Part10 - Part11 - Part12 - Part13 )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Sex offenders ]
Archive-name: object-faq/part3
Last-Modified: 04/02/96
Version: 1.0.9

See reader questions & answers on this topic! - Help others by sharing your knowledge
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/


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?

User Contributions:

Comment about this article, ask questions, or add new information about this topic:




Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Part8 - Part9 - Part10 - Part11 - Part12 - Part13

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
Bob Hathaway <rjh@geodesic.com>





Last Update March 27 2014 @ 02:11 PM