Results 1 to 3 of 3

Thread: Facet documentation?

  1. #1
    brian is offline Registered User
    Name: brian whitney
    Organization: boulder research and development
    Project: MarketBank
    Join Date
    Oct 2003
    Posts
    119

    Facet documentation?

    There are numerous references in the
    Distributed Programming With Ice document
    to facets, but no concrete description of how to
    use them as far as I could see. There are references
    to Chapter 17 and/or "XREF", but there is nothing
    in Chapter 17 on facets.

    Also searched in demos for "facet" and found nothing.

    Can someone please point me in the right direction
    for application developer documentation.


    Thanks,


    Brian

  2. #2
    michi's Avatar
    michi is offline Registered User
    Name: Michi Henning
    Organization: Triodia Technologies
    Project: I have a passing interest in Ice :-)
    Join Date
    Feb 2003
    Location
    Brisbane, Australia
    Posts
    1,055

    Re: Facet documentation?

    Originally posted by brian
    There are numerous references in the
    Distributed Programming With Ice document
    to facets, but no concrete description of how to
    use them as far as I could see. There are references
    to Chapter 17 and/or "XREF", but there is nothing
    in Chapter 17 on facets.

    Also searched in demos for "facet" and found nothing.

    Can someone please point me in the right direction
    for application developer documentation.
    I'm sorry, but I haven't written the facet chapter yet. Facets are currently undergoing some changes. The new version won't make it into Ice 1.2, but will be part of Ice 1.3. At that time, we'll also publish the facet chapter.

    Briefly, facets allow you to provide multiple interfaces. The server can attach any number of named facets to a servant. A facet is simply an Ice object of arbitrary interface. The client can then ask for a facet of an object by name, either by calling ice_getFacet(), or by using a dynamicCast with a second argument that is the facet name. If the target object supports the required facet, the client gets a new proxy to the facet and a null proxy otherwise.

    Facets are useful for a number of things. In particular, they provide a good answer to the old problem of how to version an already deployed application without breaking backward compatibility, and they allow you to design more flexible and extensible systems: facets do not require changes to the Slice definitions of an object, meaning that facets are less tightly coupled (at the type system level); without facets, you would have to add explicit operations to Slice interfaces to get equivalent functionality.

    You can find a bit of info about facets by looking at test/Ice/operations. The test uses facets and illustrates the client- and server-side API. But be warned: the facet APIs may change by the time Ice 1.3 is released so, if you use facets now, your code may break later.

    Cheers,

    Michi.

  3. #3
    brian is offline Registered User
    Name: brian whitney
    Organization: boulder research and development
    Project: MarketBank
    Join Date
    Oct 2003
    Posts
    119
    Thanks again for the quick response, Michi.

    Hope things go well with the Facet development.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Admin facet in python Ice.Application?
    By smandy in forum Help Center
    Replies: 2
    Last Post: 03-02-2010, 12:56 PM
  2. checkCasting to default facet broke in Ruby?
    By ctennis in forum Bug Reports
    Replies: 2
    Last Post: 05-22-2007, 03:34 PM
  3. a problem about facet and IceStorm
    By freshman in forum Help Center
    Replies: 13
    Last Post: 11-14-2004, 10:16 PM
  4. about facet
    By freshman in forum Help Center
    Replies: 3
    Last Post: 11-03-2004, 09:13 AM
  5. about facet
    By freshman in forum Help Center
    Replies: 2
    Last Post: 11-02-2004, 03:23 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •