• Post Reply Bookmark Topic Watch Topic
  • New Topic

REST vs SOAP Popularity?  RSS feed

 
Mike London
Ranch Hand
Posts: 1441
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm wondering if anyone could tell me if SOAP is more popular than REST or vice versa.

I know it "depends", but in many cases you could use either one.

Just curious.

Thanks in advance,

-mike
 
Mike Degteariov
Ranch Hand
Posts: 145
8
Java Mac MySQL Database Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The company I work for develops an NFC mobile payment solution and we do a lot of web services integration with third parties, mostly with mobile carriers.

From my experience in past integration projects I've participated in, SOAP is used most of the time, I only done 2 REST based integrations and a dozen of SOAP-based integrations.
 
Mike London
Ranch Hand
Posts: 1441
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Mike Degteariov wrote:The company I work for develops an NFC mobile payment solution and we do a lot of web services integration with third parties, mostly with mobile carriers.

From my experience in past integration projects I've participated in, SOAP is used most of the time, I only done 2 REST based integrations and a dozen of SOAP-based integrations.


Interesting, thanks.

Considering how simple it is to create a JAX-WS service, it's my favorite way over the REST "Easy" approach.

-mike
 
Mike Degteariov
Ranch Hand
Posts: 145
8
Java Mac MySQL Database Ubuntu
  • Likes 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
REST and SOAP-based services are best tailored for different things, you know.

REST are generally easier to implement (although me personally have had so much more experience with SOAP that for me SOAP is easier), also REST is better for simple(ish) read-only operations like returning list of orders for the customers or list of the customers for the agent.

On the contrary,
SOAP is arguably your only option when you need either

1. message-level security (when you need to sign and/or encrypt parts of the message), or
2. you need a transactions support, or
3. you need a one-way asynchronous calls, or
4. you need to implement a service using a 3rd party WSDLs (in a same way like you implement a 3rd party interface with your own class)

For mission-critical inter-enterprise integrations, these 1-4 bullets are often essential, and so SOAP is still a way to go.
 
Mike London
Ranch Hand
Posts: 1441
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Interesting info, thanks.

- mike
 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 66153
146
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In my own experience, I have created exactly zero SOAP APIs, but dozens of RESTful ones. So, yes, it depends.

Most modern JavaScript frameworks (such as Backbone) assume REST.
 
Ulf Dittmer
Rancher
Posts: 42972
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
SOAP used to rule supreme, but these days REST is the first choice for ease of use. But SOAP still has advantages like WS-Security, which REST can't really match.
 
Mike London
Ranch Hand
Posts: 1441
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ulf Dittmer wrote:SOAP used to rule supreme, but these days REST is the first choice for ease of use. But SOAP still has advantages like WS-Security, which REST can't really match.


Ease if use, perhaps, but with RESTEasy and Jersey, the actual development, especially having to configure maven projects, seems much more tedious.

I can create a SOAP WS in an hour, but RESTEasy, not so much.

Appreciate your reply.

-mike
 
Ulf Dittmer
Rancher
Posts: 42972
73
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You can use both JAX-WS and JAX-RS with
Maven or without Maven. I don't see how that would be a differentiating factor.
 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 66153
146
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Indeed; if the tools you are using aren't working for you, choose others. (I personally avoid maven like the plague.)
 
Mike London
Ranch Hand
Posts: 1441
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bear Bibeault wrote:Indeed; if the tools you are using aren't working for you, choose others. (I personally avoid maven like the plague.)


Bear! Words of wisdom as usual. Totally agree.

Yet, I've been in so many Enterprise environments where they try to justify the extra (endless, sometimes) hours for configuring maven (src/main/java), etc. by the life cycle methods and standardization it brings to the table. I suppose only Enterprise type environments can afford a lot of Java development as it's hardly a RAD platform.

Even the O'Reiley JAX-RS 2.0 book uses Maven for all its examples. I suppose I could just add the libs to the "libs" folder in Intellij and just build the WAR artifact that way. In fact, I did just that to add the Client code to the project so I could test it.

So, do you use Jersey or RESTEasy? Which IDE?

Just curious what your workflow is if you create lots of services.

Appreciate your great replies as always.

Thanks,

-mike
 
Mike London
Ranch Hand
Posts: 1441
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ulf Dittmer wrote:You can use both JAX-WS and JAX-RS with
Maven or without Maven. I don't see how that would be a differentiating factor.


Just that most examples seem to use Maven and so do most books. So, if you don't use JAX-RS all the time, and you're using a book to get up to speed on this or that, not using Maven just adds another layer to an already somewhat difficult development exercise.

thanks,

-mike
 
William Brogden
Author and all-around good cowpoke
Rancher
Posts: 13078
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Since REST is an architectural style, NOT an API, you don't need anything but the stardard HTTP library to create a RESTful server.

Some folks just can't resist building toolkits like Jersey and RESTeasy but they are not necessary. Just respect the style.

Bill
 
Ulf Dittmer
Rancher
Posts: 42972
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
So, if you don't use JAX-RS all the time, and you're using a book to get up to speed on this or that, not using Maven just adds another layer to an already somewhat difficult development exercise.

But that's the same with JAX-WS, no? If you use Maven, then for both APIs you need to create the POM once, and then it's copy/paste. If you don't use Maven, then you need to hunt down the jar files once (or set up Ivy for Ant once), and then it's copy/paste. So I really don't see how the choice of build tool makes a difference. There are other, much more important, differences between SOAP and REST upon which to base a decision than a one-time setup task.
 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 66153
146
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I use a lightweight framework I created that's layered on the Play Framework v1.

(No don't ask -- I can't share the framework because of client agreements.)
 
Mike London
Ranch Hand
Posts: 1441
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ulf Dittmer wrote:
So, if you don't use JAX-RS all the time, and you're using a book to get up to speed on this or that, not using Maven just adds another layer to an already somewhat difficult development exercise.

But that's the same with JAX-WS, no? If you use Maven, then for both APIs you need to create the POM once, and then it's copy/paste. If you don't use Maven, then you need to hunt down the jar files once (or set up Ivy for Ant once), and then it's copy/paste. So I really don't see how the choice of build tool makes a difference. There are other, much more important, differences between SOAP and REST upon which to base a decision than a one-time setup task.


I see your points.

I really didn't know people copied and pasted POM files, but I guess that is a solution. I suppose you could also create a custom Maven archetype as well.

Thanks for your reply.

-mike
 
Anindya Roy
Ranch Hand
Posts: 76
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You don't need to know which one is more popular SOAP or REST, obviously whoever comes first will get more hits than later one, rather try to understand where SOAP or REST fits into the application.
 
Mike London
Ranch Hand
Posts: 1441
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Anindya Roy wrote:You don't need to know which one is more popular SOAP or REST, obviously whoever comes first will get more hits than later one, rather try to understand where SOAP or REST fits into the application.


Yes, obviously. How each might fit was not the basis of my question.

I was just wondering, that's all.

- mike
 
Rahul Mahindrakar
Ranch Hand
Posts: 1869
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi

We have used both REST and SOAP but for different interfaces.

Obviously we use REST towards the WEB endpoint and SOAP towards EAI integrations.

Within the enterprise if possible Messaging is the preferred style.

Rahul M
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!