REST API - motivation

Hi.

It is my understanding that Red Hat dropped support to Cobbler and now
supports
Foreman. I would guess that several Cobbler developers migrated to
Foreman. Cobbler
uses a XML-RPC interface and Foreman uses a REST API implemented on
plain HTTP. What
were the motivations to change API technology from one tool to another?

I'm aware that HTTP has caching and versioning out of the box (as well
explained at
http://etherealbits.com/2012/12/debunking-the-myths-of-rpc-rest/ ), but
I'm curious
to know if there are other motivations.

Regards,
Alan Evangelista

as a end user, i guess that the main reasons was that :

  • rest is easy to consume
  • rest is easy to add to the code
··· El 06/12/2014 07:05, "Alan Evangelista" escribió:

Hi.

It is my understanding that Red Hat dropped support to Cobbler and now
supports
Foreman. I would guess that several Cobbler developers migrated to
Foreman. Cobbler
uses a XML-RPC interface and Foreman uses a REST API implemented on plain
HTTP. What
were the motivations to change API technology from one tool to another?

I’m aware that HTTP has caching and versioning out of the box (as well
explained at
http://etherealbits.com/2012/12/debunking-the-myths-of-rpc-rest/ ), but
I’m curious
to know if there are other motivations.

Regards,
Alan Evangelista


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Having used both Apis for various 3rd party projects I would say rest is better and more light weight. The technical barrier to use a rest api is as simple as using a one liner curl command or even calling it straight from a browser. Where as xml rpc requires a completely separate process to execute the remote commands issued via a coded client. And I honestly don't even know how to troubleshoot rpc calls. Charles proxy or any browser dev tools makes it easy to troubleshoot rest calls. Xml also consumes 50% more bandwidth. Where as the foreman api uses Json at the moment. Also not sure how one scales a rpc server either. Where as foreman's http based Api is easy to scale with any load balancer. I do miss the rpc interface function calling but once you wrap your foreman http calls in some wrapper code it's very similar. Also practically any language that can consume http can utilize the rest api, I don't know if xmlrpc was implemented in as many languages natively as http.

Hope this helps.

Corey

Cobbler is still part of the Satellite 5 product, and is still integrated
into the spacewalk project. As foreman is built on Rails, REST is a more
natural fit.Plus, it is a more current technology for APIs with more built
in support in various languages.

– bk

··· On Sat, Dec 6, 2014 at 3:57 AM, Karim Boumedhel wrote:

as a end user, i guess that the main reasons was that :

  • rest is easy to consume
  • rest is easy to add to the code
    El 06/12/2014 07:05, “Alan Evangelista” alanoe@linux.vnet.ibm.com > escribió:

Hi.

It is my understanding that Red Hat dropped support to Cobbler and now
supports
Foreman. I would guess that several Cobbler developers migrated to
Foreman. Cobbler
uses a XML-RPC interface and Foreman uses a REST API implemented on plain
HTTP. What
were the motivations to change API technology from one tool to another?

I’m aware that HTTP has caching and versioning out of the box (as well
explained at
http://etherealbits.com/2012/12/debunking-the-myths-of-rpc-rest/ ), but
I’m curious
to know if there are other motivations.

Regards,
Alan Evangelista


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.