mirror of
https://github.com/AdaCore/PolyORB.git
synced 2026-02-12 13:01:15 -08:00
[Imported from Perforce change 9530 at 2006-12-01 21:46:02] Subversion-branch: /trunk/polyorb Subversion-revision: 37011
149 lines
5.6 KiB
Plaintext
149 lines
5.6 KiB
Plaintext
------------------------------------------------------------------------------
|
|
-- --
|
|
-- POLYORB COMPONENTS --
|
|
-- --
|
|
-- Copyright (C) 1999-2005 Free Software Foundation, Inc. --
|
|
-- --
|
|
-- 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 AdaCore. --
|
|
-- (email: sales@adacore.com) --
|
|
-- --
|
|
------------------------------------------------------------------------------
|
|
|
|
This files lists PolyORB's main features, as well as some known
|
|
limitations. These limitations will be addressed in next releases.
|
|
|
|
Configuration options
|
|
---------------------
|
|
|
|
Different configuration options allow for a complete control of the
|
|
middleware.
|
|
|
|
- PolyORB allows for the dynamic configuration of some of its internals
|
|
through a detailed configuration file (see polyorb.conf for more details).
|
|
|
|
- 3 tasking runtimes:
|
|
- No tasking;
|
|
- Full tasking, using constructions as proposed by the Ada 95
|
|
Reference Manual;
|
|
- Ravenscar, using the Ada Ravenscar restricted profile for tasking
|
|
constructs.
|
|
|
|
- ORB's request dispatching policies to control thread allocation:
|
|
- Thread Pool;
|
|
- Thread Per Session (i.e. active connection);
|
|
- Thread Per Request;
|
|
- Single Thread (if 'No Tasking' tasking runtime is used).
|
|
|
|
- ORB Controller's policy to control concurrency patterns used to
|
|
synchronize the middleware internal threads:
|
|
- Workers;
|
|
- Half Sync/Half Async;
|
|
- Leader/Followers;
|
|
- No Tasking.
|
|
|
|
Configuration options are detailed in the PolyORB User's Guide.
|
|
|
|
-----------
|
|
-- CORBA --
|
|
-----------
|
|
|
|
PolyORB implements a CORBA application personality, compatible with
|
|
the OMG's specifications, that supports:
|
|
|
|
- Static invocation models based on generated stub and skeletons,
|
|
- Dynamic Invocation Interface (DII),
|
|
- Dynamic Skeleton Interface (DSI),
|
|
|
|
It also provides an implementation of the CORBA Portable Object
|
|
Adapter (POA); CORBA DynamicAny, CORBA PortableInterceptors interfaces; and
|
|
RT-CORBA 1.1 and the RTCosScheduling Service.
|
|
|
|
CORBA Services
|
|
--------------
|
|
|
|
PolyORB implements the following CORBA COS Services:
|
|
- Event,
|
|
- Interface Repository,
|
|
- Naming,
|
|
- Notification,
|
|
- Time.
|
|
|
|
Note that the current COS Naming implementation does not support
|
|
corbaloc references.
|
|
|
|
IDL Compiler
|
|
------------
|
|
|
|
PolyORB provides idlac, a CORBA 'IDL to Ada compiler' written entirely
|
|
in Ada 95. It generates full stub and skeleton from an IDL contract.
|
|
|
|
It supports all common IDL constructs; yet it does not support the
|
|
following advanced constructs: value-type, abstract interfaces.
|
|
|
|
----------
|
|
-- MOMA --
|
|
----------
|
|
|
|
PolyORB offers the Message Oriented Middleware for Ada (MOMA)
|
|
personality. It proposes an API comparable to Sun's Java Message
|
|
Service, and supports Publish/Subscribe and Point-to-Point.
|
|
|
|
----------
|
|
-- GIOP --
|
|
----------
|
|
|
|
GIOP is the Generic Inter-ORB Protocol, defined as part of the CORBA
|
|
specifications to support Inter-ORB communications. PolyORB follows
|
|
this specification and proposes the following instances of GIOP:
|
|
|
|
IIOP
|
|
----
|
|
|
|
PolyORB proposes an implementation of the IIOP 1.0, 1.1 and 1.2
|
|
protocols.
|
|
|
|
Request marshaling operations are complete.
|
|
|
|
IIOP-level interoperability with other ORBs have been tested with
|
|
- Jonathan 3.0
|
|
- omniORB 4.0
|
|
- OpenORB 1.3.0
|
|
- VisiBroker 4.5
|
|
|
|
SSLIOP
|
|
------
|
|
|
|
PolyORB proposes an implementation of the SSLIOP protocol. It provides
|
|
support for data encryption for GIOP requests.
|
|
|
|
MIOP/UIPMC
|
|
----------
|
|
|
|
PolyORB proposes an implementation of the MIOP 1.0 proposed
|
|
specification. It provides group communication mechanisms using
|
|
IP/multicast.
|
|
|
|
DIOP
|
|
----
|
|
|
|
PolyORB proposes a specialization of GIOP for oneway requests based on
|
|
UDP/IP.
|