Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: OpenStack: Dev

Image API v2 Draft 4

 

 

First page Previous page 1 2 Next page Last page  View All OpenStack dev RSS feed   Index | Next | Previous | View Threaded


jaypipes at gmail

Apr 10, 2012, 11:01 AM

Post #26 of 36 (190 views)
Permalink
Re: Image API v2 Draft 4 [In reply to]

On 04/10/2012 01:57 PM, Justin Santa Barbara wrote:
> It definitely has improved - thank you for all your work; I didn't mean
> to put down anyone's work here. It's simply a Sisyphean task.
>
> Either way, though, if I had the choice, I'd rip all of nova's XML
> support out tomorrow…
>
> As a strong supporter of XML, who thinks JSON is for kids that haven't
> figured out that the Easter bunny isn't real yet :-)... +1

Way to ruin my day, Justin. I'm taking the rest of the day off and
calling Santa Claus to vent about this.

-jay

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack [at] lists
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp


jorge.williams at rackspace

Apr 10, 2012, 11:42 AM

Post #27 of 36 (190 views)
Permalink
Re: Image API v2 Draft 4 [In reply to]

I'm also a strong supporter of XML. XML does a good job of lowering barriers for a key group of clients, specifically those that work with statically typed languages. It offers key benefits in terms of extensibility and validation. I'd hate to lose it.

-jOrGe W.

On Apr 10, 2012, at 12:57 PM, Justin Santa Barbara wrote:

It definitely has improved - thank you for all your work; I didn't mean to put down anyone's work here. It's simply a Sisyphean task.

Either way, though, if I had the choice, I'd rip all of nova's XML support out tomorrow…

As a strong supporter of XML, who thinks JSON is for kids that haven't figured out that the Easter bunny isn't real yet :-)... +1

Justin


glen.campbell at RACKSPACE

Apr 10, 2012, 12:09 PM

Post #28 of 36 (188 views)
Permalink
Re: Image API v2 Draft 4 [In reply to]

I'll bring the fish

On Apr 9, 2012, at 11:05 PM, Monty Taylor wrote:

>
>
> On 04/09/2012 04:11 PM, Jay Pipes wrote:
>> On 04/09/2012 07:07 PM, Jorge Williams wrote:
>>>
>>> On Apr 9, 2012, at 6:03 PM, Justin Santa Barbara wrote:
>>>
>>>> How about we discuss this further at the summit :-)
>>>>
>>>>
>>>> I think that's a sensible proposal. We're not likely to reach a good
>>>> conclusion here. I think my viewpoint is that even json-dressed-as-xml
>>>> is fine; no end-user gives two hoots what our JSON/XML/HPSTR looks
>>>> like. I'd wager most users of the EC2 API have never even seen the
>>>> data representation!
>>>
>>>
>>> I take it you didn't attend the glorious JSON debate of a couple of
>>> summits ago :-)
>>
>> Glorious it was indeed.
>>
>>> I'm up for round two,
>>
>> Only with beer. :) I still owe you a couple I think!
>
> I refuse to not be there for that. Please make sure I'm in the room.
> With a video camera. And a bottle of whiskey.
>
> Monty


_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack [at] lists
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp


justin at fathomdb

Apr 10, 2012, 12:10 PM

Post #29 of 36 (190 views)
Permalink
Re: Image API v2 Draft 4 [In reply to]

Our XML support isn't good enough to be helpful. The reality is that our
XML support is an afterthought, so we're not getting those extensibility
and validation benefits anyway.

People want APIs that work. As a Java programmer, I'm perfectly capable of
talking to XML, JSON, ASCII or HPSTR. The one thing I can't interface with
is a buggy implementation.

Everything gets hidden in a library anyway. We now have a Java library; I
believe it is the only statically typed & only XML binding out there. As
more and more bugs are discovered in the XML, it becomes less of an XML
binding and more of a JSON binding.

As a concrete example, the namespace for extensions changed late in Essex.
Some of the public clouds still use the old namespace, some use the new
namespace. The easiest fix was to move those extensions to JSON. Security
groups have whitespace problems with XML => JSON. Floating IPs don't work
with XML => JSON. Key Pairs don't seem to work with XML => JSON.

In contrast, while Glance doesn't work with XML, it took me 30 seconds to
say "use JSON for all glance calls", as opposed to figuring it out one bug
at a time (hours of work).


On Tue, Apr 10, 2012 at 11:42 AM, Jorge Williams <
jorge.williams [at] rackspace> wrote:

> I'm also a strong supporter of XML. XML does a good job of lowering
> barriers for a key group of clients, specifically those that work with
> statically typed languages. It offers key benefits in terms of
> extensibility and validation. I'd hate to lose it.
>
> -jOrGe W.
>
> On Apr 10, 2012, at 12:57 PM, Justin Santa Barbara wrote:
>
> It definitely has improved - thank you for all your work; I didn't mean
> to put down anyone's work here. It's simply a Sisyphean task.
>
> Either way, though, if I had the choice, I'd rip all of nova's XML
>> support out tomorrow…
>>
>
> As a strong supporter of XML, who thinks JSON is for kids that haven't
> figured out that the Easter bunny isn't real yet :-)... +1
>
> Justin
>
>
>


vishvananda at gmail

Apr 10, 2012, 1:56 PM

Post #30 of 36 (192 views)
Permalink
Re: Image API v2 Draft 4 [In reply to]

On Apr 10, 2012, at 2:26 AM, Thierry Carrez wrote:

> Jay Pipes wrote:
>>> I take it you didn't attend the glorious JSON debate of a couple of
>>> summits ago :-)
>>
>> Glorious it was indeed.
>
> I think the key quote was something like:
> "Please don't bastardize my JSON with your XML crap"

According to my twitter, the actual quote was: "Don't bring your XML filth into my JSON"

Vish



_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack [at] lists
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp


mnot at mnot

Apr 12, 2012, 12:58 PM

Post #31 of 36 (191 views)
Permalink
Re: Image API v2 Draft 4 [In reply to]

A little fuel for the fire / entertainment before the summit:
http://www.mnot.net/blog/2012/04/13/json_or_xml_just_decide

Cheers,


On 10/04/2012, at 3:56 PM, Vishvananda Ishaya wrote:

> On Apr 10, 2012, at 2:26 AM, Thierry Carrez wrote:
>
>> Jay Pipes wrote:
>>>> I take it you didn't attend the glorious JSON debate of a couple of
>>>> summits ago :-)
>>>
>>> Glorious it was indeed.
>>
>> I think the key quote was something like:
>> "Please don't bastardize my JSON with your XML crap"
>
> According to my twitter, the actual quote was: "Don't bring your XML filth into my JSON"
>
> Vish
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack [at] lists
> Unsubscribe : https://launchpad.net/~openstack
> More help : https://help.launchpad.net/ListHelp

--
Mark Nottingham
http://www.mnot.net/





_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack [at] lists
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp


justin at fathomdb

Apr 12, 2012, 3:12 PM

Post #32 of 36 (199 views)
Permalink
Re: Image API v2 Draft 4 [In reply to]

I may disagree with a couple of the points along the way; but I agree with
the conclusion for OpenStack.

Thanks for writing it!

Justin

PS vim or emacs?



On Thu, Apr 12, 2012 at 12:58 PM, Mark Nottingham <mnot [at] mnot> wrote:

> A little fuel for the fire / entertainment before the summit:
> http://www.mnot.net/blog/2012/04/13/json_or_xml_just_decide
>
> Cheers,
>
>
> On 10/04/2012, at 3:56 PM, Vishvananda Ishaya wrote:
>
> > On Apr 10, 2012, at 2:26 AM, Thierry Carrez wrote:
> >
> >> Jay Pipes wrote:
> >>>> I take it you didn't attend the glorious JSON debate of a couple of
> >>>> summits ago :-)
> >>>
> >>> Glorious it was indeed.
> >>
> >> I think the key quote was something like:
> >> "Please don't bastardize my JSON with your XML crap"
> >
> > According to my twitter, the actual quote was: "Don't bring your XML
> filth into my JSON"
> >
> > Vish
> >
> >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~openstack
> > Post to : openstack [at] lists
> > Unsubscribe : https://launchpad.net/~openstack
> > More help : https://help.launchpad.net/ListHelp
>
> --
> Mark Nottingham
> http://www.mnot.net/
>
>
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack [at] lists
> Unsubscribe : https://launchpad.net/~openstack
> More help : https://help.launchpad.net/ListHelp
>


jaypipes at gmail

Apr 12, 2012, 4:09 PM

Post #33 of 36 (189 views)
Permalink
Re: Image API v2 Draft 4 [In reply to]

On 04/12/2012 03:58 PM, Mark Nottingham wrote:
> A little fuel for the fire / entertainment before the summit:
> http://www.mnot.net/blog/2012/04/13/json_or_xml_just_decide

I *have* to point out that your article is published on Friday the 13th.

Just sayin' :)

-jay

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack [at] lists
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp


jorge.williams at rackspace

Apr 12, 2012, 5:28 PM

Post #34 of 36 (193 views)
Permalink
Re: Image API v2 Draft 4 [In reply to]

Generally, I agree with a lot of what you're saying, but I want to point out a couple of things:

1. Static language folks gravitate to XML, not simply because they're invested in it, but because it solves a real problem:

In a static language, I want to to say something like:

myServer.name = "hello";

if I misspell "name"

myServer.nam = "hello";

I should see an error...if I assign it to an integer...

myServer.name=10;

I should also see an error...

and I should see those errors at compile time or while I'm authoring my code if a have a good editor or IDE....I shouldn't have to wait until my program is run to catch those errors.

Sure, I can parse some JSON turn the result into a hashtable and if I'm using something like Scala, I can do this

myServer("name") = "hello"

but at that point, there's very little benefit to having a static language, because I don't have the assurances and guarantees that the language provides. So I don't see a lot of Java folks dealing with JSON in that manner. Most devs will need to build a class before hand. So, you decrease barriers for static language clients because there's a set of tools that can extract the relevant info from XML schema languages and generate a set of class files at compile time. There's nothing saying you can't do something similar with JSON, but those sort of tools aren't there yet.

2. Then there's the issue of extensibility....especially distributed extensibility. XML has that notion built in, JSON has no concept of it...and we are building extensible APIs. There are no standard way in JSON to introduce a new property without guaranteeing that there won't be clash. You've mention the need for namespaces in JSON precisely to deal with this sort of issue (http://www.mnot.net/blog/2011/10/12/thinking_about_namespaces_in_json).
In the absence of a standard method, we're been using prefixes, which has worked out well, but most JSON tools don't know how to deal with them and they seem alien to folk that are used to using JSON day to day. This is a big deal because dynamic language folks are more likely to deal with the JSON directly...Static language folks are generally not dealing with XML in the same way. In XML, the notion of extensibility is build into parsers and data binding tools directly. Most folks don't have to worry too much about it. In fact extensible protocols like XMPP and Atom Pub generally benefit from the extensibility that's already built in: http://metajack.im/2010/02/01/json-versus-xml-not-as-simple-as-you-think/

Given that, if we're going to go the route of just picking one format, I think the fact that our API is extensible means that we might want to ask ourselves whether XML isn't a better fit :-)

Having said all of that, I realize that our devs are working in a dynamic language, and don't see a lot of value in XML. It's important to take that into consideration, but we should also be asking whether there's value to our current clients and potential clients. Like it or not, there's a lot of folks out there using static languages.

You're right in stating that if we had really good language bindings for Java and .Net, then issue #1 would essentially go away -- especially if we had language binding that was flexible enough to remove the need to go down to the HTTP level. Also, if the language binding itself was extensible we could also deal with issue 2. As things stand today though, I don't thing that we are even remotely there yet.

-jOrGe W.


On Apr 12, 2012, at 2:58 PM, Mark Nottingham wrote:

> A little fuel for the fire / entertainment before the summit:
> http://www.mnot.net/blog/2012/04/13/json_or_xml_just_decide
>
> Cheers,
>
>
> On 10/04/2012, at 3:56 PM, Vishvananda Ishaya wrote:
>
>> On Apr 10, 2012, at 2:26 AM, Thierry Carrez wrote:
>>
>>> Jay Pipes wrote:
>>>>> I take it you didn't attend the glorious JSON debate of a couple of
>>>>> summits ago :-)
>>>>
>>>> Glorious it was indeed.
>>>
>>> I think the key quote was something like:
>>> "Please don't bastardize my JSON with your XML crap"
>>
>> According to my twitter, the actual quote was: "Don't bring your XML filth into my JSON"
>>
>> Vish
>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openstack
>> Post to : openstack [at] lists
>> Unsubscribe : https://launchpad.net/~openstack
>> More help : https://help.launchpad.net/ListHelp
>
> --
> Mark Nottingham
> http://www.mnot.net/
>
>
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack [at] lists
> Unsubscribe : https://launchpad.net/~openstack
> More help : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack [at] lists
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp


kiall at managedit

Apr 13, 2012, 7:55 AM

Post #35 of 36 (189 views)
Permalink
Re: Image API v2 Draft 4 [In reply to]

On Fri, Apr 13, 2012 at 1:28 AM, Jorge Williams <
jorge.williams [at] rackspace> wrote:

> Having said all of that, I realize that our devs are working in a dynamic
> language, and don't see a lot of value in XML. It's important to take that
> into consideration, but we should also be asking whether there's value to
> our current clients and potential clients. Like it or not, there's a lot
> of folks out there using static languages.
>

I actually think this is an important point (But in favor of JSON!).

The OpenStack developers are writing in a dynamic language, python. This
means the tooling and experience available will be biased towards JSON over
XML for the most part. This, IMHO, will result in a less than perfect XML
implementation. I would much prefer to see a single great XML or
JSON implementation rather than two poor implementations.

Combine that with the massive uptake of dynamic languages over recent
years, and I would bet JSON is a more natural fit for a higher percent of
developers and end users (Please notice I said "I would bet", not "I know").

Maybe RackSpace (or any other large operator..) can share some stats of the
user-agents they see in the wild?

Thanks,
Kiall (A, likely biased, dynamic language guy ;))


mnot at mnot

Apr 13, 2012, 8:22 AM

Post #36 of 36 (194 views)
Permalink
Re: Image API v2 Draft 4 [In reply to]

I'm working on that.

Sent from my iPhone

On 13/04/2012, at 9:55 AM, Kiall Mac Innes <kiall [at] managedit> wrote:

> Maybe RackSpace (or any other large operator..) can share some stats of the user-agents they see in the wild?

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack [at] lists
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp

First page Previous page 1 2 Next page Last page  View All OpenStack dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.