Subject: CORBA FAQ (part 1)
Date: 9 Sep 1997 04:05:51 GMT
X-Trace: news.cerf.net 873777951 9736 (None) 192.102.249.3
X-Complaints-To: news@CERF.NET
Summary: Please read this before posting to comp.object.corba

Archive-name: CORBA-FAQ/part1
Posting-Frequency: monthly
URL: http://www.cerfnet.com/~mpcline/corba-faq/

AUTHORS (alphabetically): Rob Appelbaum, Marshall Cline, Mike Girou,
corba-faq@parashift.com.

COPYRIGHT: This posting is part of "CORBA FAQ."  The entire "CORBA FAQ"
document is Copyright (C) 1996 Rob Appelbaum, Marshall Cline, Mike Girou,
corba-faq@parashift.com.  All rights reserved.  Copying is permitted only under
designated situations.  For details, see section [1].

NO WARRANTY: THIS WORK IS PROVIDED ON AN "AS IS" BASIS.  THE AUTHORS PROVIDE NO
WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK, INCLUDING
WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
PURPOSE.

==============================================================================

This "raw text" document was mechanically produced from the HTML version at:
 * English:  http://www.cerfnet.com/~mpcline/corba-faq/
 * Japanese: http://www.caelum.co.jp/~gougi/Corba-FAQ-J/

If you have a Web browser, you probably want to read the above HTML version
instead of this document because:
 * The HTML version has many hyperlinked cross references.
 * The HTML version is MUCH easier to read than this "raw text" version.
 * The HTML version is updated more regularly than this "monthly posting".


==============================================================================
==============================================================================

      The CORBA FAQ --- Frequently Asked Questions

==============================================================================
==============================================================================

Who Should Read This... And Why:

* Intended Audience[1.9] for the CORBA FAQ.
* Morality vs. Legality[1.10] --- "Should" and "shouldn't" in addition to just
  "can" and "can't."
* Tutorial[1.11].

How To Improve Network Response:

* Use the closest mirror site: USA
  <http://www.cerfnet.com/~mpcline/corba-faq/>, Japan
  <http://www.caelum.co.jp/~gougi/Corba-FAQ-J/>.
* Browse the FAQ off-line: Use the one-click download feature to get your own
  local copy[1.13].[NEW!]

How To Find Stuff:

* Select a topic with the extensive subject index[5] ((SUBJECT-INDEX-SIZE)
  topics).
* Select a section with the table of contents[2] ((TOC-SIZE) sections).
* Select a FAQ in context with the exhaustive table of contents[3]
  ((EXHAUSTIVE-TOC-SIZE) FAQs).
* Select a FAQ alphabetically with the alphabetical table of contents[4]
  ((EXHAUSTIVE-TOC-SIZE) FAQs).
* Select the changed topics with the chain of recent changes[0] ((CHANGES-SIZE)
  changes for (RECENT-DATE-1) and (RECENT-DATE-2)).

Authors and Legal Mumbo Jumbo:

* Authors: alphabetically Rob[1.2], Marshall[1.3], Mike[1.4].
* Legal mumbo jumbo: copyright notice[1.5], no warranty[1.6], copying
  permissions[1.7], trademarks[1.8].




==============================================================================
==============================================================================

      [1] Authors, Copyright, Permissions, Intended Audience, Navigation
      (Part of the CORBA FAQ, Copyright (C) 1996)

==============================================================================
==============================================================================



[1.1] The Authors (Alphabetically)

* Rob Appelbaum[1.2]
* Marshall Cline[1.3]
* Mike Girou[1.4]



[1.2] About Rob Appelbaum

Robert Appelbaum graduated Cum Laude from the University of Rochester in 1990.
He received a Bachelor's degree in Cognitive Science.  While there, he
specialized in knowledge representation.  Topics such as computer based
reasoning, cognitive psychology, natural language processing and vision
processing augmented a traditional math and computer oriented program.  He has
attended post-graduate computer classes at NYU and Harvard.

After graduating, he worked for Informix Software as a systems engineer.  He
spent the next four years building, benchmarking, and deploying relational
database applications.  While there he worked primarily within the
telecommunications and financial services industries.  After leaving Informix
Software, Mr. Appelbaum took a job as a senior systems engineer with
Persistence Software.  This allowed Mr. Appelbaum to leverage his relational
database experiences along with his knowledge of Object Oriented languages and
methodologies.

Mr. Appelbaum is currently employed by Expersoft Corporation.  He was their
first field engineer and is currently chief systems architect.  His day to day
tasks distribute him between development, marketing and customer assignments.
While working for Expersoft, he has been involved with many leading edge
distributed ORB based applications built with C++.  He has helped design and
review applications within both the telecommunications and Financial services
arenas.  Many of these projects have successfully combined the use of Object
Oriented Database technologies with Expersoft ORB products.  He has published
an article entitled "ORBs and OODBMSs, the perfect solution" in Object
Magazine, September 1995.  He has also authored a whitepaper entitled
"Distributed Applications within the Financial Services Industry."

He can be reached at the following address:

Robert Appelbaum
201-726-8405
rappelbaum@expersoft.com
Home page <www.planet.net/prappel>

Expersoft Corporation
65 Hilltop Trail
Sparta, NJ 07871



[1.3] About Marshall Cline

Contact info

Marshall Cline
315-353-6100
cline@parashift.com

Paradigm Shift, Inc.
One Park St.
Norwood, NY  13668

Summary

Solves business problems by exploiting emerging technologies such as
Object-Oriented technology, Distributed Objects, Intranets, and the World Wide
Web.  Experience with large projects (hundred million dollar) and large
organizations (hundreds of people).  Multi-year repeat business from several
Fortune 50 organizations.  Global audience of hundreds of thousands in various
writings including a book and three Internet/Web Frequently Asked Questions
(FAQ) repositories (Intranets, Corba Distributed Objects, and C++).  Listed in
several Who's Who publications and member of two National Honorary Societies.
Principal Voting Member of two national and international standardization
efforts.  Results oriented.

Paradigm Shift, Inc., Founder and President, 1991-present

* Experience working with high level people in marketing and executive
  management, as well as line management and technologists.  For example, Bull,
  IBM, Allstate.
* Experience on large projects at the highest technical levels.  For example,
  with 8 and 9 figure budgets.
* Experience with business-oriented frameworks.  For example, VMI, A.G.
  Edwards, AFL, DTC, CSX.
* Experience with distributed object systems, included distributed wireless
  applications.  For example, Brooklyn Union Gas working with Corba and various
  RF and OO components.
* Experience with large organizations.  For example, provided the core OO
  consulting, design, and mentoring for the 150+ developers who built the
  software for IBM's 64 bit AS/400.  Results: 2x-price/performance gain to
  customers, 10x development efficiency through reuse.
* Developed a technology to enable adaptable business applications with Mike
  Girou, called Business-Oriented Lifecycle Technique (BOLT), along with the
  underlying Enduring Business Theme (EBT) technology.  These improve marketing
  and management control over software specification and development.
* Invited speaker in U.S., Canada, Mexico, Europe, and China.  Have trained and
  mentored thousands of software professionals in numerous companies across the
  USA, in Canada and in Mexico.  Consistently high reviews.
* Fourteen years of experience using the Internet; eleven years of experience
  using OO; have been with Java since it was called OAK.
* Developed the CORBA FAQ with M. Girou and R. Appelbaum.  Published on the
  Internet since 1996.  A corresponding book is in progress.
* Developed the C++ FAQ.  Published on the Internet since 1991.
* Author of the book C++ FAQs with Greg Lomow.  Published by Addison-Wesley,
  the book's initial printing (7,500) sold out within 3 months.

Clarkson University, Visiting Asst. Professor, 1989-1991

* Developed the first Internet based Frequently Asked Questions list for the
  Usenet newsgroup comp.lang.c++.  Very wide distribution with over 200,000
  estimated readership.  Still being accessed thousands of times per month on
  the World Wide Web.
* Pioneered the adoption of OO technology in the University's Graduate
  Curriculum.
* Developed the first Internet-based Compiler Quality Report for the Borland
  C++ product line.  Influential in the Borland organization and popular with a
  global audience.
* Created A++ (Annotated C++), a technique for embedding semantic annotations
  into OO software.  This was received well by the OO community; continues to
  get requests for reprints of the papers on a regular basis.

Clarkson University, Instructor and Technology Consultant, 1986-1989

* Led the organization on the adoption of technology throughout the
  organization.
* Products included high performance reusable components.  For example, a data
  repository component with 10x better performance over the earlier approach.

CompAS, Software Systems Manager, 1985-1986

* Rapidly promoted to management after being initially hired as a technologist
  in the test area.
* Oversaw development of software that automated the test/QA area.  The
  solutions have had an exceptionally long usefulness (still being used over a
  decade later).
* Exploited both Networking and OO.

Academic qualifications

* Ph.D., Electrical and Computer Engineering, Clarkson University, 1989, GPA of
  3.9.
* Master of Science in Electrical and Computer Engineering, Clarkson
  University, 1984.
* Bachelor of Science in Physics, St. Lawrence University, 1981, Cum Laude,
  multiple Dean's List awards, Faculty Scholar.



[1.4] About Mike Girou

Contact info

Mike Girou
972 690-0685
mgirou@ix.netcom.com

MT Systems Company
2538 Big Horn Lane
Richardson, TX 75080

Summary

Mike Girou has been combining common sense and high-technology to solve
practical business problems for the last twenty-five years, while maintaining
an active research career in computer science, finance, and pure mathematics.
He has been actively involved with OO since the mid 1980's, and has had many
successful collaborations with Marshall Cline over the last four years. His
biography can be found in Who's Who In Science And Technology, American Men And
Women Of Science, and Who's Who In The World; he has published two dozen
refereed journal articles and refereed several hundred.  He serves on the X3J16
and WG21 C++ standards committees.

Girou's client list includes IBM, Groupe Bull, Federal Express, ATT, Microsoft,
CSX, Allstate, Cenex, Brooklyn Union Gas, and GTE.  He received his Ph.D. in
Mathematics from the University of Missouri at Columbia, and is a registered
Commodities Trading Advisor.



[1.5] Copyright Notice

The CORBA FAQ document is Copyright (C) 1996, Rob Appelbaum[1.2], Marshall
Cline[1.3], and Mike Girou[1.4].  All rights reserved.  Copying is permitted
only under designated situations[1.7].



[1.6] No Warranty

THIS WORK IS PROVIDED ON AN "AS IS" BASIS.  THE AUTHORS[1.1] PROVIDE NO
WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK, INCLUDING
WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
PURPOSE.



[1.7] Copying Permissions

The Authors[1.1] hereby authorize you to copy portions or the entirety of the
CORBA FAQ for your own personal use.  If you want to redistribute any portions
of the CORBA FAQ to others (even for free), you must get permission from the
authors first (and that permission is normally granted; note however that it's
often easier for you to simply tell your recipients about the one-click
download option[1.13]).  In any event, all copies you make must retain verbatim
and display conspicuously all the following: all copyright notices, the
Authors[1.1] section, the Copyright Notice[1.5] section, the No Warranty[1.6]
section, and the Copying Permissions[1.7] section.

If you want more and/or different privileges than are outlined here, please
contact us <corba-faq@parashift.com>.  We're very reasonable...



[1.8] Trademarks

* No trademarks used so far (at least any that we know of!)



[1.9] What the Intended Audience Looks Like

Our goal is to make the CORBA FAQ[0] be a practical guide for how to use CORBA
to build real-life distributed applications, rather than merely to show what it
is.  In other words, the document will be tailored to developers who intend to
use CORBA to build applications, not to developers who are going to build a new
CORBA-compliant ORB.

This is in a similar spirit to C++ FAQ
<http://www.cerfnet.com/~mpcline/c++-faq-lite/>.



[1.10] "Morality" in addition to just "Legality"

We have included/will include "things that can cause your project to fail,"
rather than merely showing syntax and programming rules.  We are presenting
what is moral in addition to what is legal.  I.e., what you "should" and
"shouldn't" do in addition to what you "can" and "can't" do.

This approach was well-received on the C++ FAQ
<http://www.cerfnet.com/~mpcline/c++-faq-lite/>, which is based loosely on a
similar model.



[1.11] Tutorial

The CORBA FAQ includes a tutorial that gives a top-down perspective of how to
use CORBA to build distributed applications.  This will (hopefully!) make it
possible for people who are new to CORBA to read and understand the FAQ.



[1.12] Four Different Ways to Navigate the CORBA FAQ

* Use the table of contents[2] or the exhaustive TOC[3] if you want to read
  section-by-section or if you want to scan for a topic.
* Use the extensive Subject Index[5] if you're looking for a specific topic in
  the CORBA FAQ.
* Use the hyper-linked chain of FAQs that are [NEW!] or [UPDATED!][0] if you
  want to see what's changed since the last time you read the CORBA FAQ.
* Use the alphabetical list of all FAQs[4] if you remember the name of a FAQ
  you've read in the past, but you can't remember which section it's in.



[1.13] How can I get a Copy of all the HTML files of the CORBA FAQ so I can
       read them Off-Line?

Here's how you can get a bundled and compressed copy of the HTML files of the
CORBA FAQ e-mailed to you:

* Select a format (.zip is common on Windows and the Mac, .tar.Z and .tar.gz
  are common on UNIX), then send an (empty) e-mail message to
  cline-corba-faq-html-zip@crynwr.com (for .zip),
  cline-corba-faq-html-tarz@crynwr.com (for .tar.Z), or
  cline-corba-faq-html-targz@crynwr.com (for .tar.gz).
* Wait a few minutes, then check your e-mail.  If you don't receive an e-mail
  message containing the bundled FAQ, wait a while longer and check again.  If
  you still haven't received it after waiting an entire day, something is wrong
  and you can send us e-mail or try again.
* Once you receive the FAQ in your e-mail, unpack the FAQ using the
  instructions contained in the associated e-mail message.

Note: e-mail was selected as the preferred delivery mechanism because it's the
best choice for people overseas (so they don't have to wait while the packets
cross the ocean).  So please please don't send us e-mail asking for an FTP
address since there isn't one.  Thanks!

Restriction: the FAQ uses "long filenames."  If your machine can't handle long
filenames (e.g., if it's DOS and/or Windows 3.x), you cannot unpack the FAQ.
UNIX, Windows NT, Windows 95, and Mac all handle long filenames correctly.



[1.14] How can I get a Copy of all the "plaintext" files of the CORBA FAQ so I
       can read them Off-Line?

The "plaintext" version of the CORBA FAQ is posted monthly on
comp.object.corba.  These simple text files are mechanically produced by
stripping the HTML tags from the HTML files on the Web site
<http://www.cerfnet.com/~mpcline/corba-faq/>. Therefore the plaintext files
aren't as pretty to look at and don't have the hyper-linked cross references,
but they have basically the same information as the HTML files.

Here's how you can get a bundled and compressed copy of the plaintext files of
the CORBA FAQ e-mailed to you:

* Select a format (.zip is common on Windows and the Mac, .tar.Z and .tar.gz
  are common on UNIX), then send an (empty) e-mail message to
  cline-corba-faq-plaintext-zip@crynwr.com (for .zip),
  cline-corba-faq-plaintext-tarz@crynwr.com (for .tar.Z), or
  cline-corba-faq-plaintext-targz@crynwr.com (for .tar.gz).
* Wait a few minutes, then check your e-mail.  If you don't receive an e-mail
  message containing the bundled FAQ, wait a while longer and check again.  If
  you still haven't received it after waiting an entire day, something is wrong
  and you can send us e-mail or try again.
* Once you receive the FAQ in your e-mail, unpack the FAQ using the
  instructions contained in the associated e-mail message.

Note: e-mail was selected as the preferred delivery mechanism because it's the
best choice for people overseas (so they don't have to wait while the packets
cross the ocean).  So please please don't send us e-mail asking for an FTP
address since there isn't one.  Thanks!



[1.15] What URLs are there for getting the CORBA FAQ?

* English <http://www.cerfnet.com/~mpcline/corba-faq/>
* Japanese <http://www.caelum.co.jp/~gougi/Corba-FAQ-J/>




==============================================================================
==============================================================================

      [2] Table of Contents --- Overview
      (Part of the CORBA FAQ, Copyright (C) 1996)

==============================================================================
==============================================================================

Part A: Preliminaries:

* [1] "Meta" information[1]:
  * The authors --- alphabetically Rob[1.2], Marshall[1.3], Mike[1.4].
  * Legal mumbo jumbo --- copyright[1.5], no warranty[1.6], copying
    permissions[1.7], trademarks[1.8].
  * Goals / Scope / Purpose --- intended audience[1.9], "morality" vs.
    "legality"[1.10], tutorial[1.11].
  * Navigation --- the four ways to navigate the CORBA FAQ[1.12].
  * Downloading --- how to download your own copy[1.13].
* [2] Table of Contents --- Overview
* [3] Table of Contents --- Exhaustive
* [4] Alphabetical List of All FAQs
* [5] Subject Index
* [6] Recent Changes
* [7] Netiquette when posting to comp.object.corba

Part B: Strategy Issues:

* [8] Why Use Distributed Computing
* [9] Why Use Distributed Objects
* [10] Why Use CORBA
* [11] How to do Client/Server with CORBA
* [12] Choosing between CORBA and DCOM
* [13] Choosing between CORBA and DCE
* [14] How Real/Mature is CORBA?
* [15] How does CORBA relate to doing Internet/Intranet Applications?

Part C: Tutorial on CORBA:

* [16] How to do Notification with CORBA
* [17] Why would I use CORBA Services
* [18] Architectural Choices --- Concurrent vs. Distributed vs. Decoupled
* [19] Asynchronous Communications
* [20] Application Architectures
* [21] Object References
* [22] Factories and Factory Finders
* [23] Reference Counting Architectures
* [24] Performance Issues
* [25] Interoperability Overview
* [26] Miscellaneous Issues

Part D: CORBA Nuts and Bolts:

* [27] Basic CORBA Architecture
* [28] CORBA Objects
* [29] Pseudo Objects
* [30] Interface Definition Language (IDL)
* [31] Skeletons and Implementation Objects
* [32] Object References --- Details
* [33] Language Mappings
* [34] Static Invocation
* [35] DII
* [36] DSI
* [37] IR
* [38] BOA
* [39] Interoperability --- Details
* [40] IIOP
* [41] Name Service
* [42] Event Service
* [43] COS Lifecycle Service
* [44] Object Transaction Service
* [45] Trader Service

[ An exhaustive table of contents is also available[3] ]




==============================================================================
==============================================================================

      [3] Table of Contents --- Exhaustive
      (Part of the CORBA FAQ, Copyright (C) 1996)

==============================================================================
==============================================================================



[0] The CORBA FAQ --- Frequently Asked Questions



[1] Authors, Copyright, Permissions, Intended Audience, Navigation

* [1.1] The Authors (Alphabetically)
* [1.2] About Rob Appelbaum
* [1.3] About Marshall Cline
* [1.4] About Mike Girou
* [1.5] Copyright Notice
* [1.6] No Warranty
* [1.7] Copying Permissions
* [1.8] Trademarks
* [1.9] What the Intended Audience Looks Like
* [1.10] "Morality" in addition to just "Legality"
* [1.11] Tutorial
* [1.12] Four Different Ways to Navigate the CORBA FAQ
* [1.13] How can I get a Copy of all the HTML files of the CORBA FAQ so I can
  read them Off-Line?
* [1.14] How can I get a Copy of all the "plaintext" files of the CORBA FAQ so
  I can read them Off-Line?
* [1.15] What URLs are there for getting the CORBA FAQ?



[2] Table of Contents --- Overview



[3] Table of Contents --- Exhaustive



[4] Alphabetical List of All FAQs



[5] Subject Index



[6] Recent Changes

* [6.1] What is the chain of recently updated FAQs?



[7] Netiquette when posting to comp.object.corba

* [7.1] How can I find out about general netiquette so I don't embarrass
  myself?
* [7.2] What does IMHO mean? (or IMO, IMNSHO, FWIW, OTOH, etc.)?
* [7.3] How do I get comp.object.corba to do my homework problem for me?
* [7.4] What do I do if someone else posts a question that's already in the
  FAQ?
* [7.5] What makes a good "Subject:" line?
* [7.6] How do I post a question about code that doesn't work correctly?
* [7.7] Which newsgroup should I post my questions?
* [7.8] How do I get the FAQs for a particular newsgroup?
* [7.9] In addition to these FAQs, what other useful URLs might I be interested
  in?



[8] Why Use Distributed Computing

* [8.1] Can Distributed Computing Enhance my Performance?
* [8.2] How is a Distributed Database related to Distributed Computing?
* [8.3] Can Distributed Computing solve Business Problems?



[9] Why Use Distributed Objects

* [9.1] What is a Distributed Object?
* [9.2] Are all Distributed Objects CORBA Objects?
* [9.3] Why should I develop Applications with Distributed Objects?
* [9.4] How are Distributed Objects actually implemented?
* [9.5] Should all my Objects be Distributed?



[10] Why Use CORBA

* [10.1] What is the Basic Functionality provided by CORBA?
* [10.2] What Advantages does CORBA provide?
* [10.3] What other types of Distributed Systems does CORBA compete with?



[11] How to do Client/Server with CORBA

* [11.1] How can CORBA enable Client/Server Communication?
* [11.2] Do any Client/Server Limitations exist with CORBA?



[12] Choosing between CORBA and DCOM

* [12.1] I use Microsoft products; Why should I use CORBA and not DCOM?
* [12.2] Must I choose between DCOM and CORBA?
* [12.3] Is CORBA more Mature than DCOM?
* [12.4] What Advantages does DCOM have over CORBA?



[13] Choosing between CORBA and DCE



[14] How Real/Mature is CORBA?



[15] How does CORBA relate to doing Internet/Intranet Applications?

* [15.1] Can CORBA Objects be accessed by Web Based Applications?



[16] How to do Notification with CORBA

* [16.1] Can CORBA Allow Servers to cause Client Side Events or Notifications?



[17] Why would I use CORBA Services

* [17.1] Does CORBA support functionality other than Request/Response?
* [17.2] Why would I use the CORBA Name Service?
* [17.3] Why would I use the CORBA Lifecycle Service?
* [17.4] Why would I use the CORBA Event Service?



[18] Architectural Choices --- Concurrent vs. Distributed vs. Decoupled



[19] Asynchronous Communications

* [19.1] Why would Applications require Asynchronous Communications?
* [19.2] Does CORBA support Asynchronous Communication?
* [19.3] Are Application Threading and Asynchronous Communication related?
* [19.4] Are there Important Forms of Asynchronous Communication that Aren't
  Supported Directly by CORBA?



[20] Application Architectures

* [20.1] Does CORBA define High Level Application Architectures?
* [20.2] Do Common Application Architectures Exist?



[21] Object References

* [21.1] What is an Object Reference?
* [21.2] Why a Handle rather than a "Hard" Address?
* [21.3] For How Long is an Object Reference Valid?
* [21.4] What if I want a Persistent Reference?
* [21.5] I want to be an expert. How do I Stringify an Object Reference?
* [21.6] What is the Format of an Object Reference?
* [21.7] Who creates Object References?
* [21.8] How do I Compare References?
* [21.9] Great. What other Surprises are there with is_equivalent()?
* [21.10] Is that All of the Bad News about is_equivalent()?
* [21.11] So why don't we just Compare Stringified References?
* [21.12] This sounds Too Complicated. Should I just learn DCOM instead?
* [21.13] Why do you say, "Most people never need this kind of knowledge"?
* [21.14] Then why did you just Drag us through the Mud?
* [21.15] How are Object References declared in C?
* [21.16] How are Object References handled in C++?
* [21.17] When do I use _var instead of _ptr?
* [21.18] What if I want to invoke Methods on an Object in another ORB?
* [21.19] Does an IOR have a Defined Format and, if so, Why?
* [21.20] What is the Format of an IOR?
* [21.21] What is a Tag?
* [21.22] What is a Profile?
* [21.23] What is the Difference between the two Types of Profiles?
* [21.24] Why did you say that the Specific Details Probably Shouldn't Matter?
* [21.25] But how does my program use an IOR?
* [21.26] This Expert Stuff isn't so tough. What about Stringifying an IOR?



[22] Factories and Factory Finders

* [22.1] What is a Factory?
* [22.2] What are some typical types of factories?
* [22.3] Does the CORBA specification define any specific capabilities for a
  factory object?



[23] Reference Counting Architectures

* [23.1] What is a distributed reference counting architecture?
* [23.2] Why would an application implement a distributed reference counting
  architecture?
* [23.3] Does CORBA support distributed reference counting architectures?
* [23.4] What problems might be associated with a distributed reference
  counting architecture?
* [23.5] Is there an alternative to distributed reference counting
  architectures?



[24] Performance Issues

* [24.1] Can CORBA Applications be Tuned for Better Performance?
* [24.2] Do Different CORBA Implementations perform at Significantly Different
  Levels?
* [24.3] What Types of Performance should I be Concerned With?



[25] Interoperability Overview



[26] Miscellaneous Issues

* [26.1] Should I use Underscores ("_") in the Names of Interfaces and/or
  Methods?



[27] Basic CORBA Architecture

* [27.1] What is the basic CORBA architecture?



[28] CORBA Objects

* [28.1] How are CORBA Objects Defined?
* [28.2] What Capabilities do CORBA Objects Possess?



[29] Pseudo Objects



[30] Interface Definition Language (IDL)

* [30.1] What is the purpose of IDL?
* [30.2] Do I program in IDL?
* [30.3] Is IDL a Specification Language, an Implementation Language, or Both?
* [30.4] Does my implementation need to use Inheritance just because my IDL
  intrerface uses Inheritance?
* [30.5] How do I express Aggregation in IDL?



[31] Skeletons and Implementation Objects

* [31.1] How does a CORBA Object provide its services?
* [31.2] How are the skeleton and implementation object combined?



[32] Object References --- Details

* [32.1] How are object references obtained by applications?



[33] Language Mappings



[34] Static Invocation



[35] DII



[36] DSI



[37] IR



[38] BOA

* [38.1] What is the BOA?
* [38.2] What are the Four BOA Activation Policies for a CORBA Server?
* [38.3] Are there any other activation policies for CORBA objects?



[39] Interoperability --- Details



[40] IIOP

* [40.1] What is an IOR?
* [40.2] Are IORs obtained in the Same Manner as Object References?
* [40.3] Can an Application refer to Objects implemented with Multiple CORBA
  Products?
* [40.4] Can CORBA Vendors Simplify Interoperability and the Process of
  Obtaining Other Vendor's Object References?



[41] Name Service

* [41.1] What are the IDL Interfaces defined within the COSNaming Module?
* [41.2] How do I use a NameContext?
* [41.3] What if I Do Not Know the Name of the Object?



[42] Event Service



[43] COS Lifecycle Service

* [43.1] What is the purpose of the COS Lifecycle Service?



[44] Object Transaction Service

* [44.1] What is the purpose of the COS Object Transaction Service?



[45] Trader Service

* [45.1] What is the purpose of the COS Trader Service?




==============================================================================
==============================================================================

      [4] Alphabetical List of All FAQs
      (Part of the CORBA FAQ, Copyright (C) 1996)

==============================================================================
==============================================================================



What FAQs start with "A" ?

* About Marshall Cline [1.3]
* About Mike Girou [1.4]
* About Rob Appelbaum [1.2]
* Alphabetical List of All FAQs [4]
* Application Architectures [20]
* Architectural Choices --- Concurrent vs. Distributed vs. Decoupled [18]
* Are all Distributed Objects CORBA Objects? [9.2]
* Are Application Threading and Asynchronous Communication related? [19.3]
* Are IORs obtained in the Same Manner as Object References? [40.2]
* Are there any other activation policies for CORBA objects? [38.3]
* Are there Important Forms of Asynchronous Communication that Aren't Supported
  Directly by CORBA? [19.4]
* Asynchronous Communications [19]
* Authors, Copyright, Permissions, Intended Audience, Navigation [1]



What FAQs start with "B" ?

* Basic CORBA Architecture [27]
* BOA [38]
* But how does my program use an IOR? [21.25]



What FAQs start with "C" ?

* Can an Application refer to Objects implemented with Multiple CORBA Products?
  [40.3]
* Can CORBA Allow Servers to cause Client Side Events or Notifications? [16.1]
* Can CORBA Applications be Tuned for Better Performance? [24.1]
* Can CORBA Objects be accessed by Web Based Applications? [15.1]
* Can CORBA Vendors Simplify Interoperability and the Process of Obtaining
  Other Vendor's Object References? [40.4]
* Can Distributed Computing Enhance my Performance? [8.1]
* Can Distributed Computing solve Business Problems? [8.3]
* Choosing between CORBA and DCE [13]
* Choosing between CORBA and DCOM [12]
* Copying Permissions [1.7]
* Copyright Notice [1.5]
* CORBA Objects [28]
* COS Lifecycle Service [43]



What FAQs start with "D" ?

* DII [35]
* Do any Client/Server Limitations exist with CORBA? [11.2]
* Do Common Application Architectures Exist? [20.2]
* Do Different CORBA Implementations perform at Significantly Different Levels?
  [24.2]
* Do I program in IDL? [30.2]
* Does an IOR have a Defined Format and, if so, Why? [21.19]
* Does CORBA define High Level Application Architectures? [20.1]
* Does CORBA support Asynchronous Communication? [19.2]
* Does CORBA support distributed reference counting architectures? [23.3]
* Does CORBA support functionality other than Request/Response? [17.1]
* Does my implementation need to use Inheritance just because my IDL intrerface
  uses Inheritance? [30.4]
* Does the CORBA specification define any specific capabilities for a factory
  object? [22.3]
* DSI [36]



What FAQs start with "E" ?

* Event Service [42]



What FAQs start with "F" ?

* Factories and Factory Finders [22]
* For How Long is an Object Reference Valid? [21.3]
* Four Different Ways to Navigate the CORBA FAQ [1.12]



What FAQs start with "G" ?

* Great. What other Surprises are there with is_equivalent()? [21.9]



What FAQs start with "H" ?

* How are CORBA Objects Defined? [28.1]
* How are Distributed Objects actually implemented? [9.4]
* How are Object References declared in C? [21.15]
* How are Object References handled in C++? [21.16]
* How are object references obtained by applications? [32.1]
* How are the skeleton and implementation object combined? [31.2]
* How can CORBA enable Client/Server Communication? [11.1]
* How can I find out about general netiquette so I don't embarrass myself?
  [7.1]
* How can I get a Copy of all the HTML files of the CORBA FAQ so I can read
  them Off-Line? [1.13]
* How can I get a Copy of all the "plaintext" files of the CORBA FAQ so I can
  read them Off-Line? [1.14]
* How do I Compare References? [21.8]
* How do I express Aggregation in IDL? [30.5]
* How do I get comp.object.corba to do my homework problem for me? [7.3]
* How do I get the FAQs for a particular newsgroup? [7.8]
* How do I post a question about code that doesn't work correctly? [7.6]
* How do I use a NameContext? [41.2]
* How does a CORBA Object provide its services? [31.1]
* How does CORBA relate to doing Internet/Intranet Applications? [15]
* How is a Distributed Database related to Distributed Computing? [8.2]
* How Real/Mature is CORBA? [14]
* How to do Client/Server with CORBA [11]
* How to do Notification with CORBA [16]



What FAQs start with "I" ?

* I use Microsoft products; Why should I use CORBA and not DCOM? [12.1]
* I want to be an expert. How do I Stringify an Object Reference? [21.5]
* IIOP [40]
* In addition to these FAQs, what other useful URLs might I be interested in?
  [7.9]
* Interface Definition Language (IDL) [30]
* Interoperability --- Details [39]
* Interoperability Overview [25]
* IR [37]
* Is CORBA more Mature than DCOM? [12.3]
* Is IDL a Specification Language, an Implementation Language, or Both? [30.3]
* Is that All of the Bad News about is_equivalent()? [21.10]
* Is there an alternative to distributed reference counting architectures?
  [23.5]



What FAQs start with "L" ?

* Language Mappings [33]



What FAQs start with "M" ?

* Miscellaneous Issues [26]
* "Morality" in addition to just "Legality" [1.10]
* Must I choose between DCOM and CORBA? [12.2]



What FAQs start with "N" ?

* Name Service [41]
* Netiquette when posting to comp.object.corba [7]
* No Warranty [1.6]



What FAQs start with "O" ?

* Object References [21]
* Object References --- Details [32]
* Object Transaction Service [44]



What FAQs start with "P" ?

* Performance Issues [24]
* Pseudo Objects [29]



What FAQs start with "R" ?

* Recent Changes [6]
* Reference Counting Architectures [23]



What FAQs start with "S" ?

* Should all my Objects be Distributed? [9.5]
* Should I use Underscores ("_") in the Names of Interfaces and/or Methods?
  [26.1]
* Skeletons and Implementation Objects [31]
* So why don't we just Compare Stringified References? [21.11]
* Static Invocation [34]
* Subject Index [5]



What FAQs start with "T" ?

* Table of Contents --- Exhaustive [3]
* Table of Contents --- Overview [2]
* The Authors (Alphabetically) [1.1]
* The CORBA FAQ --- Frequently Asked Questions [0]
* Then why did you just Drag us through the Mud? [21.14]
* This Expert Stuff isn't so tough. What about Stringifying an IOR? [21.26]
* This sounds Too Complicated. Should I just learn DCOM instead? [21.12]
* Trademarks [1.8]
* Trader Service [45]
* Tutorial [1.11]



What FAQs start with "W" ?

* What Advantages does CORBA provide? [10.2]
* What Advantages does DCOM have over CORBA? [12.4]
* What are some typical types of factories? [22.2]
* What are the Four BOA Activation Policies for a CORBA Server? [38.2]
* What are the IDL Interfaces defined within the COSNaming Module? [41.1]
* What Capabilities do CORBA Objects Possess? [28.2]
* What do I do if someone else posts a question that's already in the FAQ?
  [7.4]
* What does IMHO mean? (or IMO, IMNSHO, FWIW, OTOH, etc.)? [7.2]
* What if I Do Not Know the Name of the Object? [41.3]
* What if I want a Persistent Reference? [21.4]
* What if I want to invoke Methods on an Object in another ORB? [21.18]
* What is a Distributed Object? [9.1]
* What is a distributed reference counting architecture? [23.1]
* What is a Factory? [22.1]
* What is a Profile? [21.22]
* What is a Tag? [21.21]
* What is an IOR? [40.1]
* What is an Object Reference? [21.1]
* What is the basic CORBA architecture? [27.1]
* What is the Basic Functionality provided by CORBA? [10.1]
* What is the BOA? [38.1]
* What is the chain of recently updated FAQs? [6.1]
* What is the Difference between the two Types of Profiles? [21.23]
* What is the Format of an IOR? [21.20]
* What is the Format of an Object Reference? [21.6]
* What is the purpose of IDL? [30.1]
* What is the purpose of the COS Lifecycle Service? [43.1]
* What is the purpose of the COS Object Transaction Service? [44.1]
* What is the purpose of the COS Trader Service? [45.1]
* What makes a good "Subject:" line? [7.5]
* What other types of Distributed Systems does CORBA compete with? [10.3]
* What problems might be associated with a distributed reference counting
  architecture? [23.4]
* What the Intended Audience Looks Like [1.9]
* What Types of Performance should I be Concerned With? [24.3]
* What URLs are there for getting the CORBA FAQ? [1.15]
* When do I use _var instead of _ptr? [21.17]
* Which newsgroup should I post my questions? [7.7]
* Who creates Object References? [21.7]
* Why a Handle rather than a "Hard" Address? [21.2]
* Why did you say that the Specific Details Probably Shouldn't Matter? [21.24]
* Why do you say, "Most people never need this kind of knowledge"? [21.13]
* Why should I develop Applications with Distributed Objects? [9.3]
* Why Use CORBA [10]
* Why Use Distributed Computing [8]
* Why Use Distributed Objects [9]
* Why would an application implement a distributed reference counting
  architecture? [23.2]
* Why would Applications require Asynchronous Communications? [19.1]
* Why would I use CORBA Services [17]
* Why would I use the CORBA Event Service? [17.4]
* Why would I use the CORBA Lifecycle Service? [17.3]
* Why would I use the CORBA Name Service? [17.2]




==============================================================================
==============================================================================

      [5] Subject Index
      (Part of the CORBA FAQ, Copyright (C) 1996)

==============================================================================
==============================================================================

"A"

* Acronyms ... [7.2]
* Advantages of CORBA ... [10.2]
* Alphabetical list of all FAQs ... [4]
* Application architecture ... [20]
  * Basics ... [20.1]
  * Exclusive vs. Non-Exclusive Objects ... [20.2]
  * Statefull vs. Stateless Objects ... [20.2]
* Application threading
  * Relation to CORBA asynchronous communication ... [19.3]
* Asynchronous communication ... [19]
  * Basics ... [19.1]
  * CORBA support ... [19.2]
  * Relation to application threading ... [19.3]
  * Things CORBA doesn't supported ... [19.4]
* Audience expectations ... [1.9]
* Authors of the CORBA FAQ ... [1.1]
  * Marshall Cline ... [1.3]
  * Mike Girou ... [1.4]
  * Rob Appelbaum ... [1.2]

"B"

* Basic functionality provided by CORBA ... [10.1]
* Basic Object Adapter (BOA) ... [38]
  * Activation policies ... [38.2], [38.3]
  * Definition ... [38.1]
* BOA (see Basic Object Adapter) ... [38]
* BTW (Acronym) ... [7.2]

"C"

* C language
  * Declaring an Object reference ... [21.15]
* C++ language
  * Declaring an Object reference ... [21.16]
* C language
  * Newsgroup comp.lang.c ... [7.7]
* C++ language
  * Newsgroup comp.lang.c++ ... [7.7]
* Changes to the CORBA FAQ (see Recent changes...) ... [6]
* Client/Server ... [11]
  * C/S communication enabled by CORBA ... [11.1]
  * C/S limitations imposed by CORBA ... [11.2]
* Competitors of CORBA ... [10.3]
* Contents of the CORBA FAQ
  * Alphabetical list of all FAQs ... [4]
  * Exhaustive list of all FAQs ... [3]
  * Overview of all sections ... [2]
* Copying permissions ... [1.7]
* Copyright notice ... [1.5]
* CORBA Architecture ... [27]
  * Basics ... [27.1]
* CORBA FAQ ... [0]
  * HTML version ... [1.13]
  * Plaintext version ... [1.14]
* CORBA object vs. Distributed object ... [9.2]
* CORBA Objects ... [28]
  * Capabilities ... [28.2]
  * Definition ... [28.1]
* CORBA Services ... [17]
  * Basics ... [17.1]
  * Event Service ... [17.4]
  * Lifecycle Service ... [17.3]
  * Name Service ... [17.2], [41]
* CORBA
  * Advantages ... [10.2]
  * Basic functionality provided by CORBA ... [10.1]
  * Competitor technologies ... [10.3]
  * Related URLs ... [7.9]
  * Why use it? ... [10]

"D"

* Database triggers ... [10.3]
* DCE ... [10.3]
* DCOM ... [10.3], [12]
  * Benefits of CORBA ... [12.1]
  * Limitations of CORBA ... [12.4]
  * Maturity compared with CORBA ... [12.3]
  * Mixing with CORBA ... [12.2]
* Definition
  * Basic Object Adapter (BOA) ... [38.1]
  * CORBA Object ... [9.2]
  * CORBA Objects ... [28.1]
  * Distributed object ... [9.1]
  * Factory ... [22.1]
  * Interoperable object reference ... [40.1]
  * Object reference ... [21.1]
* Distributed Computing
  * Performance enhancements ... [8.1]
  * Relation to Distributed Databases ... [8.2]
  * Solving business problems ... [8.3]
  * Why use it? ... [8]
* Distributed databases ... [8.2]
* Distributed Object
  * vs. CORBA object ... [9.2]
* Distributed objects
  * Definition ... [9.1]
  * Don't distribute every business object ... [9.5]
  * Implementation process ... [9.4]
  * Why use them ... [9], [9.3]
* Downloading
  * HTML version of the CORBA FAQ ... [1.13]
  * Plaintext version of the CORBA FAQ ... [1.14]

"E"

* Etiquette (see also Netiquette) ... [7]
* Event Service ... [17.4]
* Exhaustive list of all FAQs ... [3]

"F"

* Factory ... [22]
  * Capabilities ... [22.3]
  * Definition ... [22.1]
  * Types ... [22.2]
* "From:" line of a posting (see also Netiquette) ... [7.1]
* FTP sites
  * rtfm.mit.edu ... [7.8]
* FWIW (Acronym) ... [7.2]
* FYI (Acronym) ... [7.2]

"G"

* GNU
  * g++ ... [7.7]
* Goals of the CORBA FAQ
  * Audience expectations ... [1.9]
  * Morality in addition to Legality ... [1.10]
  * Tutorial ... [1.11]
* Graphics ... [7.7]

"H"

* Handles
  * Object reference ... [21.2]
* Homework problems ... [7.3]
* HTML version of the CORBA FAQ ... [1.13]

"I"

* IDL ... [30]
  * Aggregation not directly supported ... [30.5]
  * Implementation language (Not!) ... [30.3]
  * Inheritance ... [30.4]
  * Program ... [30.2]
  * Purpose ... [30.1]
  * Separation of interface from implementation ... [30.3], [30.4]
  * Specification language ... [30.3]
* IIOP ... [40]
* IMHO (Acronym) ... [7.2]
* IMNSHO (Acronym) ... [7.2]
* IMO (Acronym) ... [7.2]
* Index of topics, Sorted by Subject ... [5]
* Interface Definition Language (see IDL) ... [30]
* Interoperable object reference (IOR) ... [21.18]
  * Definition ... [40.1]
  * Format ... [21.19], [21.20]
  * Hidden from the application programmer ... [21.25]
  * Interoperability ... [40.4]
  * Low level details ... [21.24]
  * Obtaining from an application ... [40.2]
  * Profile ... [21.22], [21.23]
  * Stringifying ... [21.26]
  * Tags ... [21.21]
  * Vendor transparency ... [40.3]
* IOR (see Interoperable object reference) ... [21.18], [40.1]
* is_equivalent() (see Object reference) ... [21.9], [21.10]

"J"

* Java language
  * Newsgroup comp.lang.java.* ... [7.7]

"K"

* KUTGW (Acronym) ... [7.2]

"L"

* Legal mumbo jumbo
  * Copying permissions ... [1.7]
  * Copyright notice ... [1.5]
  * No Warranty ... [1.6]
  * Trademarks ... [1.8]
* Legality = can vs. can't ... [1.10]
* Lifecycle ... [43]
* Lifecycle Service ... [17.3]
* Lifecycle
  * Purpose ... [43.1]
* Lifetime
  * Object reference ... [21.3]
* List of all FAQs
  * Alphabetical list ... [4]
  * Exhaustive list ... [3]

"M"

* Maturity
  * CORBA vs. DCOM ... [12.3]
* Message queuing ... [10.3]
* Microsoft Windows ... [7.7]
* Morality = should vs. shouldn't ... [1.10]
* MS-DOS ... [7.7]
* MYOB (Acronym) ... [7.2]

"N"

* Name Service ... [17.2], [41]
  * Alternatives ... [41.3]
  * COSNaming module ... [41.1]
  * NameContext ... [41.2]
* Named Pipe communication ... [10.3]
* Navigating the CORBA FAQ ... [1.12]
* Netiquette ... [7]
  * "From:" line of a posting ... [7.1]
  * General netiquette ... [7.1]
  * Getting and reading other FAQs ... [7.8]
  * Homework problems ... [7.3]
  * Posting code ... [7.6]
  * "Reply-to:" line of a posting ... [7.1]
  * Responding to FAQs ... [7.4]
  * Selecting an appropriate newsgroup ... [7.7]
  * "Subject:" line of a posting ... [7.5]
  * URLs relevant to CORBA ... [7.9]
* Newsgroups
  * comp.graphics ... [7.7]
  * comp.lang.c ... [7.7]
  * comp.lang.c++ ... [7.7]
  * comp.lang.c++.moderated ... [7.7]
  * comp.lang.java.* ... [7.7]
  * comp.lang.smalltalk ... [7.7]
  * comp.object ... [7.7]
  * comp.os.ms-windows.programmer.misc ... [7.7]
  * comp.os.ms-windows.programmer.tools ... [7.7]
  * comp.os.msdos.programmer ... [7.7]
  * comp.os.msdos.programmer.turbovision ... [7.7]
  * comp.programming ... [7.7]
  * comp.sources.wanted ... [7.7]
  * comp.std.c++ ... [7.7]
  * comp.sys.mac.oop.* ... [7.7]
  * comp.sys.mac.programmer.* ... [7.7]
  * comp.unix.programmer ... [7.7]
  * comp.unix.solaris ... [7.7]
  * gnu.g++.bug ... [7.7]
  * gnu.g++.help ... [7.7]
* No Warranty ... [1.6]
* Notification ... [16]
  * And CORBA ... [16.1]

"O"

* Object reference (OR) ... [21], [32]
  * A "handle" vs. a "hard address" ... [21.2]
  * Comparing ... [21.8], [21.9], [21.10], [21.11], [21.12], [21.13], [21.14]
  * Creation of ... [21.7]
  * Declaring in the C language ... [21.15]
  * Declaring in the C++ language ... [21.16]
  * Definition ... [21.1]
  * Format ... [21.6]
  * is_equivalent() ... [21.9], [21.10]
  * Lifetime ... [21.3]
  * Obtaining from an application ... [32.1]
  * Persistent ... [21.4]
  * _ptr ... [21.17]
  * Stringifying ... [21.5]
  * _var ... [21.17]
* OR (see Object reference) ... [21]
* ORB vendors
  * Performance differences introduced by ... [24.2]
  * Simplifying interoperability ... [40.4]
  * Transparency within an application ... [40.3]
* OTOH (Acronym) ... [7.2]
* OTS ... [44]
  * Purpose ... [44.1]
* Overview of all sections ... [2]

"P"

* Performance ... [24]
* Performance enhancements ... [8.1]
* Performance
  * Basics ... [24.1]
  * Differences introduced by ORB vendors ... [24.2]
  * Quantifying performance ... [24.3]
* Persistent
  * Object reference ... [21.4]
* Plaintext version of the CORBA FAQ ... [1.14]
* Posting code (see also Netiquette) ... [7.6]
* Purpose
  * Lifecycle ... [43.1]
  * OTS ... [44.1]
  * Trader Service ... [45.1]

"R"

* Recent changes to the CORBA FAQ ... [6]
  * Chain of recently updated FAQs ... [6.1]
* ReferenceCounting ... [23]
  * Alternatives ... [23.5]
  * CORBA ... [23.3]
  * Definition ... [23.1]
  * Problems ... [23.4]
  * Why ... [23.2]
* "Reply-to:" line of a posting (see also Netiquette) ... [7.1]
* RTFM (Acronym) ... [7.2]
* rtfm.mit.edu ... [7.8]

"S"

* Shared memory based interaction ... [10.3]
* Skeletons ... [31]
  * Implementation ... [31.2]
  * Services ... [31.1]
* Smalltalk language
  * Newsgroup comp.lang.smalltalk ... [7.7]
* SO (Acronym) ... [7.2]
* Socket level programming ... [10.3]
* Solaris ... [7.7]
* Solving business problems with Distributed Computing ... [8.3]
* Source code identifiers, underscores ("_") in ... [26.1]
* Standardization issues ... [7.7]
* Stringify
  * Interoperable object reference (IOR) ... [21.26]
  * Object reference (OR) ... [21.5]
* Subject index ... [5]
* "Subject:" line of a posting (see also Netiquette) ... [7.5]

"T"

* Table of Contents of the CORBA FAQ
  * Alphabetical list of all FAQs ... [4]
  * Exhaustive list of all FAQs ... [3]
  * Overview of all sections ... [2]
* .tar.gz (see Downloading) ... [1.13], [1.14]
* .tar.Z (see Downloading) ... [1.13], [1.14]
* Threading
  * Relation to CORBA asynchronous communication ... [19.3]
* Trademarks ... [1.8]
* Trader Service ... [45]
  * Purpose ... [45.1]
* Tutorial ... [1.11]

"U"

* Underscores ("_") in source code identifiers ... [26.1]
* Unix ... [7.7]
* URLs for the CORBA FAQ ... [1.15]
* URLs relevant to CORBA ... [7.9]
* Usenet newsgroups (see also Newsgroups) ... [7.7]

"V"

* Vendors of ORBs (see ORB vendors) ... [24.2]

"W"

* Warranty (NOT!) ... [1.6]
* Web applications ... [15]
  * Accessing CORBA objects from ... [15.1]
* Why use CORBA ... [10]
* Why use Distributed Computing ... [8]
* Why use distributed objects ... [9]

"Z"

* .zip (see Downloading) ... [1.13], [1.14]




==============================================================================
==============================================================================

      [6] Recent Changes
      (Part of the CORBA FAQ, Copyright (C) 1996)

==============================================================================
==============================================================================



[6.1] What is the chain of recently updated FAQs?

The hyper-linked chain of [NEW!] and [UPDATED!] FAQs[0] is a big help if you
want to see what's changed since the last time you read the CORBA FAQ.

MODS:07:1997 MODS:02:1997 MODS:01:1997 MODS:12:1996 MODS:11:1996 MODS:10:1996
MODS:09:1996 MODS:08:1996




==============================================================================
==============================================================================

      [7] Netiquette when posting to comp.object.corba
      (Part of the CORBA FAQ, Copyright (C) 1996)

==============================================================================
==============================================================================



[7.1] How can I find out about general netiquette so I don't embarrass myself?

Key guidelines:

* Do not say, "Please respond by e-mail because I don't normally read this
  newsgroup."  If you don't have enough time for the newsgroup, don't expect
  the newsgroup to have enough time for you.
* Do not post questions that are answered in the newsgroup's FAQ. That's like
  saying your time (to read the FAQ) is more valuable than the time of hundreds
  of others (to answer your question).  Tres uncool. Read the FAQ first![7.4]
* Do not cross post your question to a big pile of newsgroups. Post to the
  newsgroup (singular) that best fits your question[7.7].  If you don't get an
  answer in the "right" newsgroup, post somewhere else but redirect follow-ups
  back to the "right" newsgroup.
* Do include a working e-mail address in your signature.  If your "From:"
  address is not correct, please notify your system administrator.  Until it's
  fixed, add a Reply-To: line to your e-mail header that gives your correct
  e-mail address.

Many more general netiquette questions are answered in the newsgroup
news.announce.newusers.  This newsgroup contains many must-read articles for
new users.



[7.2] What does IMHO mean? (or IMO, IMNSHO, FWIW, OTOH, etc.)?

Here's a partial list of acronyms in alphabetical order:

*      BTW = By the way
*      FWIW   = For what it's worth
*      FYI    = For your information
*      IMHO   = In my humble opinion (egoless)
*      IMNSHO = In my not-so humble opinion (a lot of ego)
*      IMO    = In my opinion (a little ego)
*      KUTGW  = Keep up the good work
*      MYOB   = Mind your own business
*      OTOH   = On the other hand
*      RTFM   = Read the ___ manual
*      SO     = Significant other (as in, "My SO and I went for a walk...")



[7.3] How do I get comp.object.corba to do my homework problem for me?

Shame on you!

Please do not post your homework questions to comp.object.corba.



[7.4] What do I do if someone else posts a question that's already in the FAQ?

Rather than reinventing the same answers to the same frequently asked questions
over and over, it would be better if you pointed the questioner to the FAQ. For
example, you could use something like the following template:

    Subject: It's in the FAQ (was: Original_Subject_Goes_Here(TT()
    > Original_Question_Goes_Here [...]
    This issue is covered in the CORBA FAQ.
    You can get the FAQ at:
        http://www.cerfnet.com/~mpcline/corba-faq/
    Please read the FAQ.

If everyone chips in and points people to the FAQ, it will hopefully keep the
signal-to-noise ratio on comp.object.corba down to a reasonable level, thereby
preserving that valuable resource.

Notes:

* It's better if you don't give them the location of the appropriate FAQ.
  E.g., don't say, "Look at FAQ [10.3]" or "Look in section [10]."  It's the
  old give-them-a-fish vs. teach-them-to-fish idea.
* It's best to be polite.  We're hoping to can avoid "RTFM" or "RTFFAQ"
  euphemisms[7.2] (or worse!).

Thanks for any help you can give in this matter.



[7.5] What makes a good "Subject:" line?

Be descriptive.  For example, this is a good Subject: line:

* Good: Subject: Problem expressing an association in IDL

In contrast, these are bad Subject: lines:

* Bad: Subject: HELP
* Bad: Subject: CORBA problem
* Bad: Subject: SEX SEX SEX



[7.6] How do I post a question about code that doesn't work correctly?

Whenever possible, try to give people everything they need to understand your
code.  For example, it would be ideal if a reader could recreate your
situation.  This means doing the best you can to:

* Post minimal code --- just enough to demonstrate the problem.
* Post complete code --- include any necessary interfaces, methods, etc.

Finally, it's best if you post the tools you used (ORB vendor, operating
system, etc.) and, if relevant, the exact error messages you received. As
always, make sure your question isn't already in the FAQ --- use the subject
index[5] to check.



[7.7] Which newsgroup should I post my questions?

Only post to comp.object.corba if your question has something to do with CORBA.
For example, questions about general object-oriented design, C++ programming,
specific operating systems (Windows NT / 95 / 3.x, UNIX, etc.) all belong on
more appropriate newsgroups.

Newsgroups about miscellaneous object-oriented issues:

* comp.object is mostly general OO analysis and design issues. Note that this
  group's FAQ contains an excellent introduction to OO along with an overview
  of OO terms and concepts.

Newsgroups about particular programming languages:

* comp.lang.c++ discusses the C++ programming language. It's FAQ
  <http://www.cerfnet.com/~mpcline/c++-faq-lite/>.
* comp.lang.c++.moderated is a moderated variant of comp.lang.c++ (the
  moderator's job is to keep the signal-to-noise ratio higher than in
  comp.lang.c++).
* comp.std.c++ discusses the evolving ANSI/ISO C++ standard.
* comp.lang.smalltalk discusses the Smalltalk programming language.
* comp.lang.java.* discusses the Java programming language and environment.
* comp.lang.c discusses the C programming language.

Newsgroups about particular operating systems:

* comp.os.ms-windows.programmer.misc discusses software development for the
  Windows environment.
* comp.unix.programmer discusses software development for the UNIX environment.
* comp.unix.solaris discusses software development for the Solaris environment.
* comp.sys.mac.programmer.* and comp.sys.mac.oop.* discuss software development
  for the Macintosh environment.

Newsgroups about particular software development tools:

* comp.os.ms-windows.programmer.tools discusses the selection and use of tools
  for Windows software development.
* comp.os.msdos.programmer is mostly about language products, chiefly from
  Borland and Microsoft.  Its FAQ is here
  <ftp://oak.oakland.edu/pub/msdos/info> and here
  <ftp://garbo.uwasa.fi/pc/doc-net>.
* comp.os.msdos.programmer.turbovision is about Borland's character-mode
  framework.
* gnu.g++.help is about the GNU C++ compiler (see also gnu.g++.bug for GNU C++
  bug reports).

Other newsgroups:

* comp.graphics is about graphics programming in general.
* comp.sources.wanted is for getting source code for something you want.
* comp.programming is about general programming issues.



[7.8] How do I get the FAQs for a particular newsgroup?

Let me count the ways...

FAQs (Frequently Asked Questions lists) are available 24-hours a day via:

* ftp or WWW: ftp://rtfm.mit.edu/pub/usenet/
* e-mail: send a message with the line "help" to mail-server@rtfm.mit.edu
* usenet: many FAQs are available in the newsgroup news.answers

Please, PLEASE do not send e-mail to us!



[7.9] In addition to these FAQs, what other useful URLs might I be interested
      in?

* English version of the CORBA FAQ
  <http://www.cerfnet.com/~mpcline/corba-faq/>.
* Japanese version of the CORBA FAQ
  <http://www.caelum.co.jp/~gougi/Corba-FAQ-J/>.
* Archives of the CORBA-dev mailing list
  <http://list-archive.qds.com/corba-dev-html/index.html>.
* HTML versions of all OMG defined IDLs
  <http://www.eurecom.fr/~blum/proto/orbdoc/index.html>.




==============================================================================
==============================================================================

      [8] Why Use Distributed Computing
      (Part of the CORBA FAQ, Copyright (C) 1996)

==============================================================================
==============================================================================



[8.1] Can Distributed Computing Enhance my Performance?

Distributed computing allows different users or computers to share information.
Distributed computing can allow an application on one machine to leverage
processing power, memory, or storage on another machine.  It is possible that
distributed computing could enhance performance of a stand-alone application,
but this is often not the reason to distribute an application.  Some
applications, such as word processing, might not benefit from distribution at
all.  In many cases, a particular problem might demand distribution.  If a
company wishes to collect information across locations, distribution is a
natural fit.  In other cases, distribution can allow performance or
availability to be enhanced.  If an application must run on a PC and the
application needs to perform lengthy calculations, distributing these
calculations to faster machines might allow performance to be enhanced.



[8.2] How is a Distributed Database related to Distributed Computing?

A distributed database is a specialization of distributed computing.  A
distributed database allows certain data specific operations to be distributed
to one or more different machines.  This means that the decision to perform an
operation occurs on one machine and then one or more other machines end up
performing the operation.  Distributed database operations include searching,
updating, and deleting data.  Distributed computing operations can be much more
varied.  They might include performing calculations, scheduling tasks, data
transfers, etc.



[8.3] Can Distributed Computing solve Business Problems?

Yep.

Distributing computing can help solve certain business problems.  In today's
business climate, distribution of business processes is common place.  A
factory might be in one location, sales in another, and marketing in a third.
In many cases, the computation associated with the business processes can be
distributed along similar lines.  Distributed computing can also allow some
applications to run faster then if they are implemented within a single
process.  In these cases, distribution does not mirror real world distribution,
but allows additional processing power to be taken advantage of.

==============================================================================
-- 
Marshall Cline, Ph.D., President, Paradigm Shift, Inc.
315-353-6100 (voice)
315-353-6110 (fax)
mailto:cline@parashift.com
