Files
PolyORB/FEATURES

149 lines
5.6 KiB
Plaintext
Raw Permalink Normal View History

------------------------------------------------------------------------------
-- --
-- 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.