I2JAV 1.2 NO IDEA Avatar
  1. OMG Issue

I2JAV12 — support for local objects

  • Key: I2JAV12-15
  • Legacy Issue Number: 4624
  • Status: closed  
  • Source: Anonymous
  • Summary:

    The CORBA spec Section 3.7.6.1 includes the following:

    • The usage of client side language mappings for local types shall be
      identical to
      those of equivalent unconstrained types.
    • Language mappings shall specify server side mechanisms, including base
      classes
      and/or skeletons if necessary, for implementing local objects, so that
      invocation
      overhead is minimized.
    • Invocations on local objects are not ORB mediated. Specifically,
      parameter copy
      semantics are not honored, interceptors are not invoked, and the execution
      context
      of a local object does not have ORB service Current object contexts that
      are
      distinct from those of the caller.

    The IDL to Java spec section Section 1.12 Mapping for Interface,
    subsection Local Interfaces states that:

    • A local interface <typename> is mapped to interface <typename> which
      extends <typename>Operations, [... which an implementation can extend]
    • A holder class is generated as for non-local interfaces.
    • A helper class is also generated according to the normal rules, see
      Section 1.5,
      "Helpers", on page 1-13.
      No mention is made of Stubs, Ties or skeletons.

    Section 1.20.2.1 Mapping for Local Interface states:
    In the Java language mapping, the LocalObject class is used as a base class
    for
    implementations of a local interface.

    I take it from the above that, quite reasonably, since "invocations on
    local objects are
    not ORB mediated", skeletons/Ties are not required for Java.

    I can't see why Stubs should be required either, but
    Section 1.21.6.1 Stub/Skeleton Architecture states:
    Stubs support both local invocation and remote invocation, except in the
    following
    case: The stub is implementing an IDL interface that may only be invoked
    locally (e.g.,
    PortableServer::POA). In this case, the stub may choose to implement only
    local
    invocation.
    which suggests that Stubs may be required (although the POA interface is
    constrained
    to be invoked locally, but not actually defined as local - is that the
    difference?)

  • Reported: I2JAV 1.1 — Mon, 22 Oct 2001 04:00 GMT
  • Disposition: Resolved — I2JAV 1.2
  • Disposition Summary:

    Incorporate revised text and close issue

  • Updated: Fri, 6 Mar 2015 20:58 GMT