1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
------------------------------------------------------------------------------
-- --
-- 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. --
-- --
-- --
-- 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.
|