Thomas Quinot b86f216593 Update build deps on release branch.
[Imported from Perforce change 7114 at 2006-12-01 20:17:10]

Subversion-branch: /branches/polyorb/1.0
Subversion-revision: 34936
2003-07-25 11:42:03 +00:00
2003-07-21 12:33:05 +00:00
2003-03-07 11:52:08 +00:00
2003-07-25 11:42:03 +00:00
2003-06-17 20:11:05 +00:00
1999-02-03 00:44:33 +00:00
2003-05-02 11:39:13 +00:00
2001-10-25 16:33:30 +00:00
2003-07-22 18:04:47 +00:00
2003-06-15 16:56:08 +00:00
2002-10-23 23:18:04 +00:00

------------------------------------------------------------------------------
--                                                                          --
--                           POLYORB COMPONENTS                             --
--                                                                          --
--             Copyright (C) 1999-2003 Free Software Fundation              --
--                                                                          --
-- PolyORB is free software; you  can  redistribute  it and/or modify it    --
-- under terms of the  GNU General Public License as published by the  Free --
-- Software Foundation;  either version 2,  or (at your option)  any  later --
-- version. PolyORB is distributed  in the hope that it will be  useful,    --
-- but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN- --
-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public --
-- License  for more details.  You should have received  a copy of the GNU  --
-- General Public License distributed with PolyORB; see file COPYING. If    --
-- not, write to the Free Software Foundation, 59 Temple Place - Suite 330, --
-- Boston, MA 02111-1307, USA.                                              --
--                                                                          --
-- As a special exception,  if other files  instantiate  generics from this --
-- unit, or you link  this unit with other files  to produce an executable, --
-- this  unit  does not  by itself cause  the resulting  executable  to  be --
-- covered  by the  GNU  General  Public  License.  This exception does not --
-- however invalidate  any other reasons why  the executable file  might be --
-- covered by the  GNU Public License.                                      --
--                                                                          --
--                PolyORB is maintained by ACT Europe.                      --
--                    (email: sales@act-europe.fr)                          --
--                                                                          --
------------------------------------------------------------------------------

This is the README file for PolyORB version @polyorb_version@.

The home page of the project is located at http://libre.act-europe.fr/polyorb/
This is where you can find news about the project, new releases, and
pointers to several documents and papers related to PolyORB.

What is PolyORB?
----------------

PolyORB is a polymorphic, reusable infrastructure for building
object-oriented distributed systems.  Middleware environments are
software libraries that hide the complex issues of distribution
and provide the programmer with high-level abstractions that allow
easy and transparent construction of distributed applications.
A number of different standards exist for creating object-oriented
distributed applications.  These standards define two things:

    * the interface seen by the developer's applicative objects;
    * the protocol used by the middleware environment to talk to other
      nodes in the distributed application.

Usually, middleware for one platform supports only one set of
such interfaces, and cannot interoperate with other platforms.

A polymorphic middleware allows the existence of several different
implementations of each of these aspects to be used within the same
middleware framework.  In addition, PolyORB allows such different
personalities to coexist in the same instance of the running middleware;
it decouples the personality presented to applications on one side
("application personality"), and the personality presented
to other middleware on the other side ("protocol personality").
Multiple implementations of each personalisable aspect can
coexist within the same instance of the running middleware:
unlike previous generic middleware, PolyORB is actually schizophrenic.

The decoupling of application and protocol personalities, and the support
for multiple simultaneous personalities within the same running middleware
are key features required for the construction of interoperable
distributed applications.  This allows PolyORB to communicate
with middleware that implement different distribution standards:
PolyORB provides middleware-to-middleware interoperability.

The PolyORB architecture also permits the automatic,
just-in-time creation of proxies between incompatible environments
(although this feature is not implemented yet).

Installation
------------

See INSTALL file for more details on supported platforms and
installation process.

Documentation overview
----------------------

FEATURES    : List PolyORB's features.
INSTALL     : Detail PolyORB installation process.
NEWS        : Detail updates between PolyORB's releases.
README      : This file, first instructions.
src/ROADMAP : Overview of PolyORB source code.
doc/*       : Miscellaneous documents describing PolyORB internals.

Usage of idlac
--------------

idlac is the IDL-to-Ada 95 compiler of PolyORB. It is an evolution
of the compiler that was present in AdaBroker.

  idlac [-i] [-k] idl_file [-cppargs ...]

  -i    Generate implementation template.
  -k    Keep temporary files.
  -q    Be quiet.
  -cppargs ARGS
        Pass ARGS to the C++ preprocessor.

This creates several files :

- myinterface.ads, myinterface.adb : these files contain the mapping
  for user defined types (client and server side).

- myinterface-impl.ads, myinterface-impl.adb : these files are to be
  filled by the user. They contain the implementation of the
  server. They are generated only if the -i flag is specified.

- myinterface.ads, myinterface.adb : these files
  contain the client stubs for the interface.

- myinterface-skel.ads, myinterface-skel.adb : these files
  contain the server-side skeletons for the interface.

- myinterface-stream.ads, myinterface-stream.adb : these files
  contain subprograms to marshal data according to the CDR protocol.

Usage of PolyORB
----------------

See examples of simple CORBA clients and servers in subdirectory
'examples/'.  Basically, a simple non-tasking CORBA client should have
a dependency and a pragma Elaborate_All on PolyORB.Setup.Client. A
CORBA server should have a dependency and pragma Elaborate_All on one of
PolyORB.Setup.No_Tasking_Server, PolyORB.Setup.Thread_Pool_Server or
PolyORB.Setup.Thread_Per_Session_Server.

If you want anything different, you should create a package similar
to one of these setup packages and use it instead. That package must
have dependencies and pragmas Elaborate_All on all subsystems you need
to use, and must contain a call to PolyORB.Configurator.Initialize_World
in its own elaboration code.

Bug reports
-----------

If you find a bug or would like to submit patches, please do so indicating 
the release you use. We accept patch files. To produce such a patch file, 
put your files in the PolyORB directory and our files in the directory 
PolyORB.orig, and use the following command:

  diff --recursive --context PolyORB.orig PolyORB > patch_file

and send us the patch_file via e-mail at the address 

	polyorb-devel@lists.act-europe.fr

If your diff version do not understand the --recursive or --context
option, please use the GNU diffutils package which may be found on any
GNU archive (e.g. ftp://ftp.lip6.fr/pub/gnu/).

Note that unified diff files (-u option of GNU diff) are also welcomed.

Mailing-lists
-------------

	TO BE WRITTEN

Contributors:
-------------

PolyORB has been developed since January, 1999 by the following
contributors:

* Nicolas Archambault
* Fabien Azavant
* Benjamin Bagland
* Emmanuel Chavane
* Jean-Marie Cottin
* Olivier Delalleau
* Cyril Domercq
* Michael Friess
* Nicolas Fritsch
* Jeremy Gibbons
* Jerome Guitton
* Jerome Hugues
* Mejdi Kaddour
* Laurent Kubler
* Vincent Niebel
* Pierre Palatin
* Laurent Pautet
* Sebastien Ponce
* Jerome Roussel
* Thomas Quinot
* Nicolas Roche
* Nicolas Setton
* Frank Singhoff 
* Samuel Tardieu
* Florian Villoing
* Guillaume Wisniewski
Description
No description provided
Readme 34 MiB
Languages
Ada 97.2%
Makefile 0.8%
Roff 0.4%
Python 0.4%
Shell 0.4%
Other 0.7%