Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
• Object adapter
– stands between a distributed object and its ORB
– enables clients to access ORB services:
• IOR generation
• security
• activation/deactivation
• OMG specified two adapter types:
– Basic Object Adapter (BOA)
• vague definition of an adapter which led to inconsistencies
between different vendors’ implementations
– Portable Object Adapter (POA)
• more widely used, even though more complex than BOAs
• POA policies:
– ImplicitObjectActivation,
• tells POA outside object created servant and activated it
– IDAssignmentPolicy, and
• determines who is responsible for assigning a unique ID to a
given servant
– RequestProcessingPolicy.
• uses object id either to find matching servant or invoke default
service that uses object id to perform lookup in database
• Policy combinations provide POAs with fine-
grained control over one or many servants.
– Level 2
• is everything level 1 provides in addition to:
1. more fine-grained user authentication
2. greater invocation security
3. auditing
4. finer control over secure invocations
5. delegation
6. administrators can set security policies
7. discovery of security policies by security-aware
applications
8. discovery of security policies by ORBs and other
services
Event
EventChannel
Event
ProxySupplier Co nsumer
Eve nt
Line 6
Line 7
– runtime limitations:
• sending a tree graph from ORB to ORB may be problematic if
multiple nodes point to one object
• CORBA does not define distributed garbage collection
• Casting stubs may not work properly, so using the static
method narrow of class
java.rmi.PortableRemoteObject is encouraged.
• RMI downloads the stubs needed by client, CORBA does not.
• Start ChatServer
– java –Djava.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory
–Djava.naming.provider.url=iiop://localhost:1050
com.deitel.messenger.rmi_iiop.client.DeitelMessenger