Re: [ogpx] LLIDL, LLSD, Transport

Joshua Bell <josh@lindenlab.com> Tue, 23 February 2010 16:56 UTC

Return-Path: <josh@lindenlab.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 5AF373A7F61 for <ogpx@core3.amsl.com>; Tue, 23 Feb 2010 08:56:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.676
X-Spam-Level:
X-Spam-Status: No, score=-1.676 tagged_above=-999 required=5 tests=[AWL=0.300, 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 lhDqIGt2x61j for <ogpx@core3.amsl.com>; Tue, 23 Feb 2010 08:56:41 -0800 (PST)
Received: from mail-ew0-f212.google.com (mail-ew0-f212.google.com [209.85.219.212]) by core3.amsl.com (Postfix) with ESMTP id 0202D3A6DCF for <ogpx@ietf.org>; Tue, 23 Feb 2010 08:56:40 -0800 (PST)
Received: by ewy4 with SMTP id 4so225855ewy.28 for <ogpx@ietf.org>; Tue, 23 Feb 2010 08:58:40 -0800 (PST)
MIME-Version: 1.0
Received: by 10.102.246.9 with SMTP id t9mr4372793muh.109.1266944319696; Tue, 23 Feb 2010 08:58:39 -0800 (PST)
In-Reply-To: <e0b04bba1002151435g15b9050qeec1bde4b7d7c998@mail.gmail.com>
References: <OF9C5B1597.47D03774-ON852576CB.006382E5-852576CB.006409C6@us.ibm.com> <4B79B2C9.8020800@cox.net> <e0b04bba1002151435g15b9050qeec1bde4b7d7c998@mail.gmail.com>
Date: Tue, 23 Feb 2010 08:58:39 -0800
Message-ID: <f72742de1002230858l2da40a7ag6daac72e6fd7c054@mail.gmail.com>
From: Joshua Bell <josh@lindenlab.com>
To: ogpx <ogpx@ietf.org>
Content-Type: multipart/alternative; boundary="0016364c7231202ec304804776af"
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: Tue, 23 Feb 2010 16:56:42 -0000

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.