Re: [ogpx] LLIDL, LLSD, Transport

Morgaine <morgaine.dinova@googlemail.com> Wed, 24 February 2010 23:48 UTC

Return-Path: <morgaine.dinova@googlemail.com>
X-Original-To: ogpx@core3.amsl.com
Delivered-To: ogpx@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1D69028C140 for <ogpx@core3.amsl.com>; Wed, 24 Feb 2010 15:48:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.976
X-Spam-Level:
X-Spam-Status: No, score=-1.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fA92QIQ442mf for <ogpx@core3.amsl.com>; Wed, 24 Feb 2010 15:48:31 -0800 (PST)
Received: from mail-ww0-f44.google.com (mail-ww0-f44.google.com [74.125.82.44]) by core3.amsl.com (Postfix) with ESMTP id 515C628C125 for <ogpx@ietf.org>; Wed, 24 Feb 2010 15:48:31 -0800 (PST)
Received: by wwb31 with SMTP id 31so1610945wwb.31 for <ogpx@ietf.org>; Wed, 24 Feb 2010 15:50:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=WSsxXn2tPiE0UoXhlMDETNccfibP2riTIR56Jz6x9qQ=; b=oUeRaQFTZfzCm/kWQQS8L83L5j1PVo7dQiyAeHKYFKVmNbIinCkfFnshIH/mmmaKMw zT9zkIEtiZjEI5+5xHBhcDS7qJKoGEmd2QpcE+n6IRzJBt6cm2boX9fp/BH/ff2Kn6Ce 2y0d/skhf+s2q6DQ6M5cXXuH8dmxzGCaRyiys=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=QquuYrVh5bLY+UEHEwj+1FplQ2qzULSpGUyss/5lK5K/+SChcNMVvAJGcLx8/GNMjV uvA8dAW3SpgaC/7byPDtvubybHx7RqZVaRlo4x+qpeGufyZ4dYzmY4TSD3iN2vSPGrfi Tpe9tASu2IvsTqtoSHGTsYh5Ev9nt2I2gp3+k=
MIME-Version: 1.0
Received: by 10.216.91.81 with SMTP id g59mr241983wef.128.1267055436240; Wed, 24 Feb 2010 15:50:36 -0800 (PST)
In-Reply-To: <f72742de1002230858l2da40a7ag6daac72e6fd7c054@mail.gmail.com>
References: <OF9C5B1597.47D03774-ON852576CB.006382E5-852576CB.006409C6@us.ibm.com> <4B79B2C9.8020800@cox.net> <e0b04bba1002151435g15b9050qeec1bde4b7d7c998@mail.gmail.com> <f72742de1002230858l2da40a7ag6daac72e6fd7c054@mail.gmail.com>
Date: Wed, 24 Feb 2010 23:50:36 +0000
Message-ID: <e0b04bba1002241550q4ff43e1eh96c33b5efe1376f8@mail.gmail.com>
From: Morgaine <morgaine.dinova@googlemail.com>
To: ogpx <ogpx@ietf.org>
Content-Type: multipart/alternative; boundary="0016e6d9a027301b1d048061556c"
Subject: Re: [ogpx] LLIDL, LLSD, Transport
X-BeenThere: ogpx@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual Worlds and the Open Grid Protocol <ogpx.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ogpx>, <mailto:ogpx-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ogpx>
List-Post: <mailto:ogpx@ietf.org>
List-Help: <mailto:ogpx-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ogpx>, <mailto:ogpx-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Feb 2010 23:48:33 -0000

Joshua, being rather fond of decoupling as a software power tool, I tend to
favour decoupling in documentation as well --- cross-references are
generally better than static inclusion.

With regard to the use of GET, PUT and so on, it seems to me that which
operations are supported is only relevant within the particular layer that
performs these operations.  The only other place where this knowledge might
perhaps be exposed is in a prior facilities negotiation phase, if any.

Within their layer, these operation of course invoke corresponding
operations at the next layer, but those corresponding operations should not
really know what invoked them otherwise you would never be able to replace
HTTP with some other transport without modifying the next layer as well.

Be that as it may, if you think that this would be rather difficult then at
the very least I would like to try to find a few additional words to add to
the serializations section, in order to make it clear that further
serializations are possible and would not be unexpected.

This is particularly important I feel in regard to the binary serialization
of LLSD which could usefully be joined at a later date by a Protocol Buffer
or Thrift serialization over TCP.  I would wish to make it clear that our
document places no obstacles in the way of further serializations, in the
sense that appearance of such new serializations would not be regarded as
incompatibility with the LLSD specification.


Morgaine.




==================================

On Tue, Feb 23, 2010 at 4:58 PM, Joshua Bell <josh@lindenlab.com> wrote:

>
> On Mon, Feb 15, 2010 at 2:35 PM, Morgaine <morgaine.dinova@googlemail.com>wrote:
>
>> There is no need for the LLIDL/LLSD spec to mandate any specific transport
>> layer at all.  It's a higher level data specification which can work
>> perfectly well over any reliable transport.  If details are provided with
>> regard to one particular transport, then these should be given in a separate
>> document so that a different transport can also be specified, separately,
>> without requiring change to the specification document of the layer above
>> it.
>>
>
> I confess, I was a little put off by this at first. Some work I was doing
> with LLSD would have benefited from "naked" LLIDL descriptors, with no
> semantics about traffic. But then I started reviewing the use cases for
> LLIDL:
>
> * Declaring the interface provided by a service end-point (i.e. I publish
> my API defined in LLIDL)
> * Validating the use of an end-point (i.e. I put a LLIDL validator in my
> web service code and it flags invalid use)
>
> In both cases, the actual verbs used are critical pieces of the API -
> whether my end-point supports GET, PUT or POST is rather important for a
> client to know.
>
> LLSD can (of course) be used without LLIDL; most uses of LLSD today do not
> use LLIDL (since it was invented later).
>
>
>> I'd go further and suggest that binding to specific serializations is
>> unnecessary coupling too.  While defining the three serializations is of
>> course very useful, they should not be defined in the same document as
>> LLIDL/LLSD, but in a separate set of parallel documents to which more
>> serialization specs could be added later.
>>
>
> IMHO, splitting this one into multiple documents would produce unnecessary
> clutter and overhead. The specification should not preclude other
> serialization formats, and subsequent RFCs could be published that add
> additional formats.
>
> For example, Google's Protocol Buffers and Facebook's Thrift provide very
>> popular and very efficient serializations which have raised much interest as
>> alternatives to the legacy binary serialization of LLSD, as they are much
>> more appropriate for use over TCP-based transports.  The LLIDL/.LLSD
>> specification should not have to be revised when one or both of these new
>> serializations are defined.  All it should require is to add a new document
>> in parallel with a set of 3 documents that define the current 3
>> serializations.
>>
>
> There should be nothing in the wording of the type systems I-D that
> precludes new specs providing further serializations. If there is, please
> point it out and it should be corrected.
>
>
> _______________________________________________
> ogpx mailing list
> ogpx@ietf.org
> https://www.ietf.org/mailman/listinfo/ogpx
>
>