Re: [weirds] Response container structure

Francisco Obispo <fobispo@isc.org> Tue, 18 September 2012 03:33 UTC

Return-Path: <fobispo@isc.org>
X-Original-To: weirds@ietfa.amsl.com
Delivered-To: weirds@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3222321E80A0 for <weirds@ietfa.amsl.com>; Mon, 17 Sep 2012 20:33:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, NO_RELAYS=-0.001]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bofJl+Mlxj9f for <weirds@ietfa.amsl.com>; Mon, 17 Sep 2012 20:33:07 -0700 (PDT)
Received: from mx.ams1.isc.org (mx.ams1.isc.org [IPv6:2001:500:60::65]) by ietfa.amsl.com (Postfix) with ESMTP id 53A7E21F8442 for <weirds@ietf.org>; Mon, 17 Sep 2012 20:33:07 -0700 (PDT)
Received: from bikeshed.isc.org (bikeshed.isc.org [IPv6:2001:4f8:3:d::19]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mail.isc.org", Issuer "RapidSSL CA" (not verified)) by mx.ams1.isc.org (Postfix) with ESMTPS id 42F0F5F984C; Tue, 18 Sep 2012 03:32:54 +0000 (UTC) (envelope-from fobispo@isc.org)
Received: from [IPv6:2001:470:1f05:1326:7588:5c36:89fb:d108] (unknown [IPv6:2001:470:1f05:1326:7588:5c36:89fb:d108]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client did not present a certificate) by bikeshed.isc.org (Postfix) with ESMTPSA id 896B7216C3B; Tue, 18 Sep 2012 03:32:52 +0000 (UTC) (envelope-from fobispo@isc.org)
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 6.0 \(1486\))
From: Francisco Obispo <fobispo@isc.org>
In-Reply-To: <CC7D5502.D158%andy@arin.net>
Date: Mon, 17 Sep 2012 20:31:34 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <44F35C0B-B121-4E7F-BDC7-AB69A34D6474@isc.org>
References: <CC7D5502.D158%andy@arin.net>
To: Andy Newton <andy@arin.net>
X-Mailer: Apple Mail (2.1486)
Cc: "weirds@ietf.org" <weirds@ietf.org>
Subject: Re: [weirds] Response container structure
X-BeenThere: weirds@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "WHOIS-based Extensible Internet Registration Data Service \(WEIRDS\)" <weirds.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/weirds>, <mailto:weirds-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/weirds>
List-Post: <mailto:weirds@ietf.org>
List-Help: <mailto:weirds-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/weirds>, <mailto:weirds-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Sep 2012 03:33:08 -0000

On Sep 17, 2012, at 7:37 PM, Andy Newton <andy@arin.net> wrote:

> On 9/17/12 10:08 PM, "Byron Ellacott" <bje@apnic.net> wrote:
> 
>> If someone is willing to demonstrate that their weirds server would
>> require such a flag to meet actual or reasonably likely policy
>> conditions, I'd be OK with including it.  Otherwise, it's just one more
>> thing client software will need to consider, and the protocol will need
>> to include.
> 
> That's an interesting take. I'll posit that even if such a flag were
> needed for some policy reason, another policy will pop up needing another
> flag, etcŠ But like you said, if somebody can demonstrate the need...

I think Byron was very clear with his use case, which is exactly the same
that I have.

If you provide an answer that does not have all the components, the client might
generate additional requests asking for the missing pieces.

But I also don't want to make that behavior mandatory, in some other occasions, 
I want exactly the opposite, to prevent hitting the backend with unnecessary
requests if the client does not want them.


> 
>>> Actually, yes there is a very good technical reason. Not all registries
>>> wish to model all data as first class objects. This is the cause of the
>>> issue of name servers being attributes on domains vs being first class
>>> objects. See section 4 of Unified Response
>>> 
>>> (http://tools.ietf.org/html/draft-designteam-weirds-using-http-01#section
>>> -9
>>> ). I also see that we will have this issue with entities.
>> 
>> (http://tools.ietf.org/html/draft-newton-weirds-unified-json-response-00#s
>> ection-4)
> 
> 
> DOH!
> 
>> I was thinking that you could just take the data you'd put inline in that
>> section and move it down to an additional, but you're right in that where
>> there's no handle or other identifier you'd be making up a UUID or
>> something just to link the two items together, and it might be quite
>> misleading to clients to have a handle that cannot be queried for
>> separately.
> 
> 
> Exactly!
> 


Can't speak for number registries, but it is very common for name registries
to have unique identifiers for the internet objects they manage: contacts (contact_id),
hosts (host_name), and domains (domain_names).

The ID doesn't need to be universal, it just needs to be unique to that repository.

In my opinion the handle should be used to retrieve the specific object via another
restful request, why not do it? or am I missing something




>> Regarding duplicated data objects, the unified response draft only has
>> one entity object per entity handle.  There's no difference, that I can
>> see.  It might be fractionally harder to find the particular type of
>> entity you want, but one of the things we quickly see with the domain
>> survey data is that the types of entities recorded is one of the most
>> widely variant facets of registration data - I don't know that it's
>> feasible to specify an enumeration of entity roles, and it might be hard
>> to even specify a minimum set.
> 

We can start with the general set that EPP has, and the rest will need 
to be done using an extension mechanism, which is nothing more than
placing the additional information in 'extension' field that has a namespace
identifier associated to it.

Francisco Obispo 
Director of Applications and Services - ISC
email: fobispo@isc.org
Phone: +1 650 423 1374 || INOC-DBA *3557* NOC
PGP KeyID = B38DB1BE