forked from AdaCore/PolyORB
-
Notifications
You must be signed in to change notification settings - Fork 0
/
FEATURES
148 lines (116 loc) · 5.58 KB
/
FEATURES
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
143
144
145
146
147
148
------------------------------------------------------------------------------
-- --
-- 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: [email protected]) --
-- --
------------------------------------------------------------------------------
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.