2

Everyone's saying "Contract-First" approach to design WS is more inclined to SOA style design. Now, if we take the available open-source frameworks available to achieve that we have Spring-ws and also Axis2(which supports both styles). I have a task to design SOA based e-commerce app. where loose coupling, quick response, security and scalability are the key points. So it is very important to choose the right framework from the start.

Based on past experiences, which of them or something else do you guys think to be a more appropriate option for my requirements.

kaychaks
  • 1,715
  • 3
  • 21
  • 28
  • First, I'm not sure "Contract-First" has anything to do with "SOA style design" and suggest reading the Chapter 2. Why Contract First? http://bit.ly/iSq2g of the Spring-WS documentation for a better understanding of pros and cons of the "Contract-First" approach. Second, if you consider Axis2, please have a look at other (real) JAX-WS implementations like JAX-WS RI or CXF. Even if the spirit of JAX-WS is more Contract-Last, Contract-First is totally supported. And regarding performances, you need to check this: JAX-WS RI 2.1 benchmark details | Java.net http://bit.ly/gZMtS – Pascal Thivent Sep 11 '09 at 15:05

4 Answers4

2

For contract first I'd recommend using JAX-WS. Either CXF, JAX-WS RI or Metro (Metro = JAX-WS RI + WSIT) seem to be the best implementations around that can take any WSDL contract and generate the POJOs (or vice versa).

Pascal Thivent
  • 562,542
  • 136
  • 1,062
  • 1,124
James Strachan
  • 9,168
  • 34
  • 31
0

If you're going to create spring based application then use spring-ws. If not, you can look at jax-ws referense implementation and metro service stack. And here is another good web-service stack you may want to look at - CXF.

gedevan
  • 1,293
  • 1
  • 10
  • 11
  • 2
    Well, I do not totally agree. Creating a Spring application **do not** exclude JAX-WS RI or Apache CXF as both stacks offer very good integration with Spring (it's actually very difficult for a modern framework to ignore Spring). So choosing between Spring-WS, JAX-WS RI, CXF is not that simple. – Pascal Thivent Sep 11 '09 at 14:41
  • 1
    If spring already provide its own web-service stack, why should I use another? libraries... another dependency, another portion of kilobytes. I'm not saying that spring-ws is the best choise ever, but it's a good starting point to develop web-service application with spring. That's all :) – gedevan Sep 14 '09 at 07:49
0

That is a tough question.

I have used Axis2 in the past but am relatively new to Spring WS. What I do like about spring WS is the options I get with respect to what API's I use to handle my incoming and outgoing requests (XmlBeans, JDOM, Castor etc.) and the excellent integration with a Spring based stack.

You mentioned the Contract First approach. I am not sure if Axis 2 has something like this but Spring WS has a schema to wsdl generator. You can see an example of this here:

http://static.springsource.org/spring-ws/sites/1.5/reference/html/tutorial.html

Both the frameworks offer all that you ask for in terms of features such as loose coupling, response, scalability etc. Spring-ws may also offer good integration with Acegi as far as I think but I have really not dived deep into that topic.

Deep Kapadia
  • 1,468
  • 8
  • 21
0

Axis2 is what I work with and is pretty solid solution. Also, I'm kind of allergic to Spring.

Eldelshell
  • 6,683
  • 7
  • 44
  • 63