From: ledford@networx.com (Don Ledford)
Subject: IDL example and a lament
Summary: IDL example and a lament
Keywords: IDL OMG CORBA
Organization: NetWorx
X-Newsreader: TIN [version 1.1 PL6]
Date: Wed, 18 Nov 1992 22:36:46 GMT

For those who requested I forward the results of my IDL example query.

First a lament:

    All in all, I'm somewhat discouraged by the state of distributed object
    technologies and standards. The technical problems are not large, but
    independent software vendors (ISVs) need a consistent framework for
    distributed objects which insures interoperability between systems and is
    low cost.

    Interoperability between systems is the end customer's upside. Early
    providers of applications employing distributed object systems are at a
    disadvantage since there are few other systems to interoperate with,
    which translates into limited cost justification for the customer; and
    there are higher implementation costs associated with putting the initial
    distributed object framework in place.

    There are a number of technical advantages to distributed object
    architectures which mitigate this situation somewhat. But it appears to
    me we have a critical mass problem which is best solved by the bigger
    industry players. Come on Sun, HP, IBM, ... (GNU?) get this stuff out
    there. Don't burden willing ISVs with a cost structure which prevents
    successful competition with traditional monolithic systems. This could be
    a vehicle for enhancing the role of UNIX.

    I haven't given up, but our next 6 month development plan will stop short
    of a full ORB architecture. Note, I've been talking to HyperDesk and
    SuiteSoftware about their distributed object products, but I am concerned
    about the costs and the lack of a solid standard.

For those interested in a continuing dialog on this subject I can be reached
at ledford@networx.com


----------------------------------
The OMG CORBA spec can be captured from:

    Richard Mark Soley, Ph.D., Vice President, Technical Director
    Object Management Group
    Framingham Corporate Center
    492 Old Connecticut Path
    Framingham, MA  01701
    (508) 820-4300   fax:  (508) 820-4303   email:  soley@omg.org
    omg_server@omg.org

I would try the omg_server@omg.org first with a mail request for the spec.

----------------------------------------------------------------------------
From vinoski@apollo.hp.com Thu Nov 12 08:11:05 1992

HP and SunSoft are jointly developing a distributed object management
facility based on the OMG CORBA (most of the technology for the CORBA
came from us in the first place).  We have found that the CORBA 1.1
spec leaves a lot of necessary details unspecified, including an
IDL-to-C++ language mapping.  We have developed such a mapping and
filled in a whole lot of details about object adapters, object
creation, language mappings, etc.  Our changes are being worked back
into the OMG slowly but surely.

I have included a sample IDL file at the bottom of this message.  Hope
it helps.

-steve

Steve Vinoski  (508)436-5904   vinoski@apollo.hp.com
Distributed Object Computing Program
Hewlett-Packard, Chelmsford, MA 01824       These are my opinions.

module Sample
{

    interface BasicTypes
    {
	const short fifteen = 15;

	typedef float		FloatType;
	typedef double		DoubleType;
	typedef long		LongType;
	typedef short		ShortType;
	typedef unsigned long	ULongType;
	typedef unsigned short	UShortType;
	typedef char		CharType;
	typedef boolean		BooleanType;
	typedef octet		OctetType;

	void floatop(
		inout FloatType f
	);
	void doubleop(
		inout DoubleType d
	);
	void longop(
		inout LongType l
	);
	void shortop(
		inout ShortType s
	);
	void ulongop(
		inout ULongType ul
	);
	void ushortop(
		inout UShortType us
	);
	void charop(
		inout CharType c
	);
	void booleanop(
		inout BooleanType b
	);
	void octetop(
		inout OctetType o
	);
    };


    interface ConstructedTypes : BasicTypes
    {
        struct StructType {
	    LongType lm;
	};

	enum EnumType { e1, e2, e3, e4 };

	union UnionType switch (EnumType) {
		case e1:
		case e2:
			ShortType first_case;
		case e3:
			StructType second_case;
		default:
			EnumType default_case;
	};

        void structop(
		inout StructType s
	);
	void enumop(
		inout EnumType e
	);
	void unionop(
		inout UnionType u
	);
    };

    interface TemplateTypes : ConstructedTypes
    {
	typedef sequence<LongType, 15> BSequenceType;
	typedef sequence<LongType> UBSequenceType;

	typedef string<15> BStringType;
	typedef string UBStringType;

	void bsequenceop(
		inout BSequenceType bs
	);
	void ubsequenceop(
		inout UBSequenceType ubs
	);
	void bstringop(
		inout BStringType bs
	);
	void ubstringop(
		inout UBStringType ubs
	);
    };


    interface Attributes : TemplateTypes
    {
	attribute FloatType		floatattr;
	attribute DoubleType		doubleattr;
	attribute LongType		longattr;
	attribute ShortType		shortattr;
	attribute ULongType		ulongattr;
	attribute UShortType		ushortattr;
	attribute CharType		charattr;
	attribute BooleanType		booleanattr;
	attribute OctetType		octetattr;
	attribute StructType		structattr;
	attribute EnumType		enumattr;
	attribute UnionType		unionattr;
	attribute BSequenceType		bsequenceattr;
	attribute UBSequenceType	ubsequenceattr;
	attribute BStringType		bstringattr;
	attribute UBStringType		ubstringattr;
    };


    interface ObjrefType
    {
	void objrefop(
		inout BasicTypes oparam
        );
    };

};



Newsgroups: comp.object