File: FEATURES

package info (click to toggle)
polyorb 2.11~20140418-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 30,012 kB
  • ctags: 465
  • sloc: ada: 273,015; sh: 4,507; makefile: 4,265; python: 1,332; cpp: 1,213; java: 507; ansic: 274; xml: 30; perl: 23; exp: 6
file content (142 lines) | stat: -rw-r--r-- 5,239 bytes parent folder | download | duplicates (4)
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.