diff options
Diffstat (limited to 'TAO/IIOP/README.sun')
-rw-r--r-- | TAO/IIOP/README.sun | 252 |
1 files changed, 252 insertions, 0 deletions
diff --git a/TAO/IIOP/README.sun b/TAO/IIOP/README.sun new file mode 100644 index 00000000000..1abf999135a --- /dev/null +++ b/TAO/IIOP/README.sun @@ -0,0 +1,252 @@ +======================================== + +This file contains the original README that came with the SunSoft IIOP +release. The information contained here is largely obsolete by the +features added to TAO. Please see the ../README file that comes with +TAO for up-to-date information. + +======================================== + +@(#)README 1.2 97/02/03 + +Inter-ORB Engine +================ + +02-Feb, 1997 +Version 1.4 + + -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- + + As of today, this is the most current version of the "IIOP Engine". + It's doubtful that a later one will be released by Sun Microsystems. + + This still supports only IIOP v1.0 (no fragmentation or security + extensions) and contains a few bugs (GIOP service context typecode + is wrong). This version was completed before the COM/CORBA + "Part A" RFP cycle, as well as the "Secure IOP" work. + + It's different from other versions in that it has (a) the benefit + of much performance work, including support for multithreading, + (b) the source code is reorganized to display more of the internal + structure, and (c) it incorporates a simple COM glue layer (which + is not the same as the one later standardized by the OMG). There + is surely more; for example, experimental XDR marshaling support. + + Documentation hasn't particularly been updated. It'll need more work + to run "out of the box" since it doesn't use autoconf just now. + + Please drop me a line (brownell@ix.netcom.com) if you're using this. + + - Dave + + -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- + + +INTRODUCTION +------------ +Welcome to the Inter-ORB Engine! This is the source code version of +SunSoft's portable implementation of the CORBA 2.0 mandatory "IIOP" +interoperability protocol for networked ORBs. + +This is a preliminary version. This software is made available AS IS and +WITH NO GUARANTEES. Please make sure you read and understand the copyright +and license notice under which this software is distributed. This notice +may be found in the "LICENSE" file that is part of this distribution, and +also in the corba/orb.hh header file used by every source file. Note that +both commercial and noncommercial usage is allowed. + +The rest of this document includes these sections: + + - ENGINE OVERVIEW + - TARGET AUDIENCE + - HOW TO OBTAIN THIS SOFTWARE + - CONTACT POINT AND WORKING ALIAS + - ABOUT THIS IIOP SOFTWARE DISTRIBUTION + - WHAT ARE: IOP, IIOP, GIOP, ESIOP, AND DCE-CIOP? + +For instructions on how to build and test this software, see the file +named "BUILDING" in the "docs" directory. + + +ENGINE OVERVIEW +--------------- +The Inter-ORB Engine implementation is composed of four parts. Each of +these is found in a top level directory with the name used here: + + * "runtime" ... this defines the public binary interface to the engine, as + used by application (and test) programs. It has three main parts: + + - A CDR (Common Data Representation) marshaling engine, which encodes + simple OMG-IDL data types directly and uses a TypeCode interpreter + to marshal complex ones; + + - The TypeCode interpreter is used to manipulate all legal OMG-IDL + data types using just standard OMG-IDL TypeCodes; + + - The runtime framework itself includes a partial ORB implementation. + Its programming interfaces are specified in CORBA and it provides + the OMG-IDL C++ mapping of those abstractions in most cases; + + * "bridge" ... this is an IIOP-specific module which talks to the runtime + and to TCP-based sockets to send, receive, and dispatch IIOP messages. + + * "test" ... code for a few basic functional tests is included. + + * "docs" ... text files, such as this one, describe the way the + implementation works. This is oriented toward people who are + maintaining, porting, or otherwise enhancing this code. + +The package is not a full ORB. It doesn't support the full set of CORBA +APIs, an IDL compiler, an Interface Repository, a standard object adapter, +and more. You could use this software to help build an ORB, but you +would need to enhance it. + +If you have an interest in using an IDL compiler to generate TypeCodes, +stubs, and/or skeletons, you may be interested in the portable front end +for an OMG-IDL compiler which is available through the OMG FTP server. +Further information may be found in this file: + + ftp.omg.org:/pub/OMG_IDL/ANNOUNCEMENT + + +TARGET AUDIENCE +--------------- +Who should use this release? + +- Organizations which are providing their own implementations of the IIOP + should use this software to perform protocol testing, helping to ensure + that they can in fact interoperate with each other. + +- Bridge builders, including ORB implementors who have their own ORB + protocols, can use this software to bootstrap bridge construction work. + This includes bridge builders working to bridge COM and CORBA. + +- ORB implementors can use this to acquire a TypeCode interpreter. (ORBs + compliant with CORBA 2.0 CORE need one to support the dynamic runtime + typing APIs, such as Any, DII, and DSI.) + +- ORB implementors without their own protocols can use this software to add + networked object capabilities to their systems, using the Internet IOP. + +- Implementors of systems which are intended to talk with ORBs may wish to + use this software when bridging to ORBs from non-CORBA systems. A few + examples: (a) specialized applications that don't need a full ORB as + infrastructure; (b) "legacy" code which needs either to use an ORB or to + be used by one; (c) users or providers other object systems, such as + programming environments, which want ORB connectivity. + +- And of course, this is the core of a portable ORB, and may be used as + one by providing the rest of the CORBA 2.0 programming interfaces and + development tools such as one or more IDL compilers. + + +HOW TO OBTAIN THIS SOFTWARE +--------------------------- +There are several distribution sites for this software, and it may also be +restributed through other ones. Not all sites will necessarily have the +most recent version. + +OMG MAIL SERVER -- You can use a mail server program to retrieve this +software. Send email with a body line 'help' to iiop-bridging@omg.org, and +the mail server will respond with a copy of this README file. Send email +with a body line "iiop" and it will return a SHAR file of this software. + +OMG FTP SERVER -- You may also use anonymous FTP to the "ftp.omg.org" server. +To do this the classic (pre-Web) Internet way, use FTP to sign on with the +username "ftp" and your Internet email address as your password. Then change +directory to "/pub/interop" and retrieve: + + - "iiop.sh.Z" ... compressed SHAR format, for UNIX systems + - "iiop.tar.Z" ... compressed TAR format, also for UNIX systems + - "iiop.zip" ... ZIP format, for MS-Windows systems + +In Web-speak, those files are named by these URLs: + + ftp://ftp.omg.org/pub/interop/iiop.sh.Z ... compressed SHAR format + ftp://ftp.omg.org/pub/interop/iiop.tar.Z ... compressed TAR format + ftp://ftp.omg.org/pub/interop/iiop.zip ... PC ZIP format + +Copies of this software may be made available from archives other than +omg.org. New versions made available by Sun will be placed on omg.org and a +message will be sent to the comp.object newsgroup announcing availability. + + +CONTACT POINT AND WORKING ALIAS +------------------------------- +Please let us know who you are if you decide to use this software, and how +you use it. Please send e-mail to: + + omg-iiop-bridge@sun.com + +This address can also be used to report problems, bugs (or better yet, fixes!), +suggestions and send general comments. It is not a general mailing list for +discussion about IIOP implementations. + +There is at least one general access alias intended for discussion about +IIOP implementations. You can subscribe by sending email with a subject +line of "subscribe" to: + + iiop-impl-request@jsoft.com + + +ABOUT THIS IIOP SOFTWARE DISTRIBUTION +------------------------------------- +On some platforms POSIX threads (P1003.1c; draft 10 became the standard) +will be available to users of this distribution. There are still legal +client side message sequences which will not be emitted by this distribution +(namely, requests being sent on a connection while a response is pending), +though by definition the server side must (and will!) accept them when they +are produced by other implementations of the IIOP. + +Also, note that although this is written in C++, ANSI C++ exceptions are not +required. This derives from a goal to have this software be highly portable. +(Few C++ compilers fully comply with the C++ exception specifications.) + +Developers should not be surprised to find implementation or specification +problems at this point in time. When they do, they are encouraged to +communicate such problems through the contact point (for problems with this +implementation of IIOP; see above) or the OMG interoperability revision +task force (for specification problems; see the REFERENCES file) so that +they can be resolved. If you need complete and final ORB software, you +should use a commercially available ORB product. + +There are areas where the software is known to be incomplete; for example, +it does not provide Interface Repository APIs. It is expected that bridge +and ORB implementors will add the missing pieces as appropriate for their +environments. In some cases these may be added in future distributions +of this software. + +See the "DIFFERENCES" file for information about where this software differs +from current OMG specifications. As a rule, these differences are to +establish compatibility with CORBA 2.0 specifications which are being +prepared but which are not (as of this writing) available. In some cases, +they address recently recognized problems that are yet to be resolved. + +For a brief description of the implementation, including goals, notes, and +an overview of the source file organization, see the "IMPLEMENTATION" file. + +For a brief overview of the functional tests, see the "TESTS" file. + + +WHAT ARE: IOP, IIOP, GIOP, ESIOP, AND DCE-CIOP? +------------------------------------------------ +Inter-ORB Protocols (IOPs) support communication between or within ORBs. + +The "Internet IOP" (IIOP) is the protocol adopted by OMG that is required +to be supported by CORBA 2.0 compliant Networked ORBs, either as a native +protocol or through half bridges. It is a mapping of the "General IOP" +(GIOP) onto the Internet's TCP transport layer. Mappings onto other +transport layers may be defined in the future. + +ORBs are free to support optional Environment Specific IOPs (ESIOPs) as +their preferred ORB protocols. The "DCE-Common IOP" (DCE-CIOP) is the the +first such protocol that has been publicly specified. It uses a subset of +DCE-RPC facilities, and reuses parts of the GIOP. ORB implementors building +on top of DCE are likely to comply with DCE-CIOP, and bridge to the IIOP +for communication with ORBs not using the DCE-CIOP. + +Of course, other ESIOPs exist and will continue to exist, both in ORBs built +on top of other distributed computing environments such as ONC+ and ones +independent of such environments. Due to the prevalence of such ESIOPs, +most ORBs are expected to interoperate through bridging to the IIOP. + |