[comp.protocols.iso.dev-environ] ROSE

shia@dset.UUCP (Dan Shia) (06/28/90)

This mail was posted on 6/22. But it seems that it never reached the net.
I am posting it one more time. Please ignore it if you have seen it.
Dan
-------
Greg,

You asked for a comparison of remote operations in ISODE with other
"popular" rpc systems on your 6/6/90 posting.  Here is a list of our survey:

1. Non-OSI-compatible RPCs
a) Sun RPC
This is probably the oldest commercial RPC compiler.  It does not support
user defined data types very well. You need to hand-code an encoding and
a decoding routine for each complex data type you define.  A more serious
problem is that the request PDU does NOT have an invocation identifier
to differentiate one invocation from another.  This prevent it from
making multiple invocations of the same operation type.

b) Netwise RPC Tools
Netwise RPC eliminates the above encoder and decoder problem by automatically
generating encoding and decoding routines.  However, it is NOT ACSE/ROSE
based. The only OSI standard used by Netwise is the ASN.1 Basic Encoding
Rules (BER). It requires a proprietary layer on top of a variety of
Transport layer protocols, including SPX, TCP/IP, NetBIOS, Named Pipes,
DECnet.  This layer of proprietary protocol prevents it from inter-operating
with X.500, X.400, and CMIS services.  It is also NOT Object-oriented.
There is NO concept of grouping routines into Objects, which has been
recognized as the most suitable way for distributed computing.
The basic unit of distribution is a routine in Netwise RPC.

c) HP/Apollo NCS 2.0
NCS is object-based, which supports the Object concept, but there is NO
concept of Class and Inheritance.  It uses a flat space UID for naming
objects.  Its NIDL compiler compiles an interface specification and
generates stub routines for both the client and server.  It provides a more
complete distributed computing environment than Netwise RPC. It supports
threads. It has a name server, called Location Broker.  However, like Netwise
RPC, NCS 2.0 requires a proprietary layer on top of ISO Session layer.
Again this prevents it from inter-operating with X.500, X.400, and CMIS
services.  And finally, not all ASN.1 data types are supported.

2. OSI-based RPC

a) ISODE ROSY
ISO ROSE provides a super set of services provided by all above RPC protocols.
It is also required by other standards such as X.400, X.500 and CMIP.
It supports both asynchronous and synchronous operation invocations.  It
supports all ASN.1 data types.  Marshall Rose has a true vision of what can
be built using ISO/CCITT ROSE.  He pioneered many tools to take advantage of
the flexibility of ROSE and provides services similar to an RPC compiler.
To summarize, ROSY is equivalent to an RPC compiler, POSY is equivalent to
an ASN.1 compiler, while PEPY automatically generates encoder/decoder routines.

b) Distributed Systems Generator (DSG)
  by Distributed Software Engineering Tools Corp.
This is probably the only OSI-based RPC system Commercially available.
DSG is an integrated set of tools built on top of ISODE.  It provides a
Transparent Operations (TOP) service which transparently maps remote
operations on top of ACSE/ROSE (both full ISODE and LPP), while using other
more efficient ways for local invocations.  TOP is fully integrated with a
Threads library so that ISODE can be used in a multi-thread environment.
There is an Abstract C (AC) compiler. It extends the C language to support
full ASN.1 data types. Any ASN.1 data, including unbounded arrays,
 can be manipulated as easily as other ordinary C data types.  An ASN.1
data type can also be defined using the familiar C syntax.  For users who
are NOT proficient in ASN.1 notation, this reduces a great deal of the
learning effort. A typical ASN.1 compiler requires the user
to write code using pointers of pointers of pointers to access unbounded
array elements. This has been a tedious and error-prone task.  AC eliminates
this problem.

DSG supports distributed and concurrent objects in a heterogeneous environment.
It is fully compatible with the Object Management Architecture (OMA) recently
published by Object Management Group (OMG).  DSG is Object-oriented.
It supports Objects, Classes and Multiple Inheritance.  DSG can generate code
to support Structured Finite State Machines (SFSM) in an Object-oriented
environment.  I have a more detailed list of comparisons for anyone who may
be interested.

Dan Shia                        UUCP:   uunet!dset!shia
DSET Corp.                      INTERNET: dset!shia@uunet.UU.NET
182-S Old Driftway Lane         Tel:    (201) 832-6533
Lebanon, NJ 08833               Fax:    (201) 832-6523

tebbutt@RHINO.NCSL.NIST.GOV (John Tebbutt) (06/29/90)

>b) Distributed Systems Generator (DSG)
>  by Distributed Software Engineering Tools Corp.
>
>Dan Shia                        UUCP:   uunet!dset!shia
>DSET Corp.                      INTERNET: dset!shia@uunet.UU.NET
>182-S Old Driftway Lane         Tel:    (201) 832-6533
>Lebanon, NJ 08833               Fax:    (201) 832-6523
>

Thanks for the impartial and purely informational plug, Dan.

	JT 	;^)