News for hackers. Stuff that matters.
Re:REST in peace, SOAP by tptacek on Friday October 15, 2010 @12:52PM (#1795255)
The story is very much the opposite in enterprise apps; I can't remember the last REST interface I saw, but we see SOAP interfaces every week, in new apps.

Unfortunately, SOAP isn't going anywhere. It's just not popular with Internet startups. Neither is ASP.NET.

Re:REST in peace, SOAP by kls on Friday October 15, 2010 @01:17PM (#1795342)
The problem is that the interconnected web of services are emphatically REST. This is the next generation of enterprise systems and it is growing quickly. One you adopt salesforce.com as your CRM strategy the next thing you want to do is integrate that system of record into the larger enterprise system. While Salesforce.com does offer SOAP services they in the end had to offer REST based services due to overwhelming demand and while they support both my observation is the the REST services are getting more attention (I don't work for or represent Salseforce.com, so take that statement for what it is worth, an opinion). If demand drops off it makes logical sense that the SOAP services will be deprecated. Further there are some SaaS systems that do not offer SOAP at all and that number is growing daily.

The enterprise of the future looks like an ESB that brokers data to and fro an assortment of SaaS, with some core in-house systems in the mix. It makes sense for companies whose bread and butter is not technology and places economies of scale on the SaaS providers. Many of those SaaS are opting for REST only implementations.

In a way it makes sense, for alot of the integrations you are wanting to pull data from the system for analytics, trending and reporting along side an aggregate of other data sources. REST make sense because it (loosely) acts like SQL which despite it's problems is a good data manipulating language.

The thing about REST is that someone needs to come up with a uniform and simple authentication and authorization mechanism that is seamless across the board.

Re:REST in peace, SOAP by tptacek on Friday October 15, 2010 @01:19PM (#1795345)
The thing about REST is that executing on it involves understanding REST. The thing about SOAP is that you can practically push a button in your IDE and get a SOAP interface. No, the enterprise world is not about to transition to REST.
Re:REST in peace, SOAP by rubinelli on Friday October 15, 2010 @02:01PM (#1795527)
It's one button away... as long as you have the same technology on both sides (and then, why are you incurring all this overhead anyway?) Maybe this has changed in the last 3 or 4 years, but the last time I tried to get .Net and Java stacks talking via SOAP was a royal pain.
Re:REST in peace, SOAP by Roboprog on Saturday October 16, 2010 @03:03AM (#1797523)
Boy, you said it. I tried to upvote, but I guess commenting kills my upvote.

Fing "Enterprise". Beam me up Scotty, there's no intelligent life here.

IBM and Microsoft drop the SOAP, and we get stuck picking it up. I hate* implementing SOAP clients for random SOAP server implementation of the day..

I'm sorry, Rob will be back shortly. We apologize for the outburst :-) ...

Boy, you NAILED it exactly, though.

REST sure seems simpler: define the document/content types, or schema, and just use links to GET things. Save POST for the few things that actually change state, then document carefully how the content is to be sent back up.

It turns out a good deal of services really are READ-ONLY anyway.

Making the simple things simple: give me my damn document! Let's keep it encrypted, and I'll prove I'm authorized to see it:

https:/acme.com/service?acct=xxx&pass=yyy&item_key=123 ... Content: binary/what-you-wanted blah blah blah...

Painfully easy vs just freaking painful tweaking of SOAP nonsense. Die, SOAP, die!

Re:REST in peace, SOAP by RyanMcGreal on Friday October 15, 2010 @02:29PM (#1795628)
I'm experiencing this particular brand of hell right now.
Re:REST in peace, SOAP by derefr on Saturday October 16, 2010 @05:00AM (#1797638)
> It's one button away... as long as you have the same technology on both sides (and then, why are you incurring all this overhead anyway?)

If you want to make it look like you have an open API, while only having to do enough work to expose the way your two predefined systems already communicate, SOAP is the answer.

Re:REST in peace, SOAP by masklinn on Friday October 15, 2010 @02:36PM (#1795656)
We're talking about The Enterprise here, this kind of stuff is not even on the radar.
Re:REST in peace, SOAP by darklajid on Saturday October 16, 2010 @12:48PM (#1798264)
I'm part of a 7 figure project right now. We're a .Net shop, they have a Java infrastructure (and are as "enterprise" and process-laden as you can imagine and then some). We need to integrate -> See, we're right there.

SOAP it is for us and I do have to say that I'm rather relaxed. For us it's just one way (Java services, Java generated WSDL, we just consume/use the stuff), but it works rather well.

Unless you don't know about 3.5/WCF/Service References and try to do it the old-fashioned "Web Reference" ASP.Net way: That's a royal pain and just plain doesn't work at all for some (valid) SOAP things (some sequences of alternating complex types a la [Key, Value, Key, Value,...] for example cannot be mapped). Guess how I found out..

Re:REST in peace, SOAP by jmspring on Friday October 15, 2010 @01:36PM (#1795418)
While I agree SOAP will remain dominant in the enterprise space, so is Java. And there are Java frameworks out there like Restlet that make publishing RESTful APIs nearly as easy as SOAP for those in this environment.
Re:REST in peace, SOAP by kls on Friday October 15, 2010 @01:32PM (#1795399)
The thing about SOAP is that you can practically push a button in your IDE and get a SOAP

Sure, I am not supporting or detracting from SOAP, just highlighting the trending I am seeing in the SaaS space and I used Salesforce as an example because it is one that has made huge inroads into the enterprise space. It is the champion that got business executives looking at the advantages of SaaS. It is a logical conclusion that Accounting, HR, etc. will be adopted by the enterprise once someone mixes the formular right for SaaS in those spaces.

Re:REST in peace, SOAP by snissn on Friday October 15, 2010 @01:26PM (#1795377)
why is everything so over-complicated? Doesn't REST just mean that everything has an http end point? and isn't soap just plain awful? end of story?
Re:REST in peace, SOAP by tptacek on Friday October 15, 2010 @01:28PM (#1795384)
REST means a bit more than just "everything has an HTTP endpoint"; it means everything has HTTP endpoints that behave in approximately the same way, using approximately the same conventions.

SOAP is just plain awful, though.

Re:REST in peace, SOAP by terra_t on Friday October 15, 2010 @01:29PM (#1795387)
Also, the term REST is usually used by people who don't know what the hell it actually means. For instance, people say that Twitter, Amazon, Ebay, just about everybody have "REST APIs" but they really have "POX" (Plain Old XML) or "POJ" (Plain Old Json) APIs.

I've had both good and bad experiences with SOAP. I remember wasting a few days figuring out how to get a PHP app to authenticate against an ASP.NET SOAP implementation... I did get the auth to work, but then I ran into other problems, and we found these bozos had a competitor that had a simple POX api that took five minutes to get working.

On the other hand, there was the day I pointed Visual Studio at the WSDL file for the Salesforce.com API and was quite astonished to see it build all the stubs for a very complex API with just the click of a mouse and no hitches at all.

Re:REST in peace, SOAP by tptacek on Friday October 15, 2010 @01:37PM (#1795420)
If we just stipulate that "REST-ful" means "REST-ish", can we avoid an unproductive academic debate?
Re:REST in peace, SOAP by terra_t on Friday October 15, 2010 @05:05PM (#1796289)
No.

I'm not worried about the people who think REST = !SOAP.

I'm worried about the people who think they understand REST, build systems, and discover too late that they've got to rebuild their whole communication protocol because performance and reliability are just a disaster.

So it's not just an academic debate, it's about the difference between systems that work and systems that don't.

Re:REST in peace, SOAP by masklinn on Friday October 15, 2010 @02:37PM (#1795659)
And so REST-ful ends up meaning "having no relation at all with REST beyond the buzzwords and being over HTTP"?

By that definision, SOAP is restful.

Re:REST in peace, SOAP by mkramlich on Friday October 15, 2010 @04:20PM (#1796102)
How about we call something a HTTP-based API, when we want to distinguish it from full REST, or SOAP, etc? Or say JSON/HTTP or XML/HTTP.
Re:REST in peace, SOAP by masklinn on Friday October 15, 2010 @05:11PM (#1796314)
And how do you define whether something is "HTTP-based" or not? Because using HTTP is not quite a good enough condition: SOAP can use HTTP as a transport, and XML-RPC has always done that (I'm not sure it allows any other transport).
Re:REST in peace, SOAP by tvon on Friday October 15, 2010 @04:21PM (#1796106)
At what point does it go from "there is a widespread misuse of this term" to "it's an academic debate"?

These days, "REST" is no better than "Web 2.0".

(Okay, it's not as bad as Web 2.0 but it's certainly a buzzword)

Re:REST in peace, SOAP by TomOfTTB on Friday October 15, 2010 @01:55PM (#1795508)
I actually like your terminology more but I've generally heard the term Hi-REST and Low-REST in this context

http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=0df3b4...

Re:REST in peace, SOAP by jmillikin on Friday October 15, 2010 @02:14PM (#1795580)
REST-ful = REST-ish

REST-ish = ?

The debate still exists, it's just moved. You're still going to have people calling anything with HTTP in it REST-ish just because it's another nice acronym to pad their resume.

Re:REST in peace, SOAP by masklinn on Friday October 15, 2010 @05:12PM (#1796318)
> You're still going to have people calling anything with HTTP in it REST-ish

aka "SOAP is RESTful"

Re:REST in peace, SOAP by shalinmangar on Friday October 15, 2010 @04:11PM (#1796063)
I call them RESTy or sometimes just HTTP APIs.
Re:REST in peace, SOAP by kenshi on Friday October 15, 2010 @01:57PM (#1795517)
I once tried to get REST apis adopted in an enterprise setting (as part of a tiny Ruby team). Talking to people in Java and .NET teams soon revealed why there was outright hostility to REST apis:

- lack of knowledge about REST - poor support (if any) for REST apis compared to SOAP in the vendor tools.

Of course, getting .NET and Java services and clients interoperating with each other using SOAP was always problematic - but the teams I spoke with tended to work within pretty vertical technology stacks and services. So it was Java clients talking to Java services, or .NET clients talking to .NET services. So they saw SOAP as a good, familiar solution.

Re:REST in peace, SOAP by toddheasley on Friday October 15, 2010 @07:52PM (#1796830)
> The story is very much the opposite in enterprise apps; I can't remember the last REST interface I saw, but we see SOAP interfaces every week, in new apps.

That's kind of like saying "I can't remember the last hybrid car I saw here in Cuba."

Re:REST in peace, SOAP by rue on Friday October 15, 2010 @05:26PM (#1796359)
The enterprise I am affiliated with (the kind that can build its own annihilation-focused moonlike space vehicle) is already using and/or moving to REST interfaces internally and externally.