Announcement Announcement Module
Collapse
No announcement yet.
Supported Web Services Stacks Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Supported Web Services Stacks

    Sorry if this info is available somewhere else. I've been unable to locate it.

    I've seen references to both Axis and XFire in the forums, but I haven't seen any specific statement regarding which versions of which WS stacks can be used along with Spring WS. Is Spring WS completely agnostic in this regard?

    If not, what versions of Axis, XFire, and/or other Web Services frameworks does it support? And is there a preferred one? Or if not a preferred one, are there advantages or disadvantages from a Spring WS perspective regarding specific frameworks (performance, ease of use, stability, etc.)?

    Basically, I'm in the evaluation stage and trying to gather as much info as I can to select the initial set of technologies to use for an upcoming project. Any suggestions, comments, or input of any kind is appreciated.

    Thanks in advance.

    Bill Bailey
    Senior Developer / DBA
    Northland, A Church Distributed

  • #2
    Spring WS does not use XFire, but is can use Axis 2 as an alternative to using SAAJ (the J2EE javax.xml.soap package). It's is a complete SOAP stack.

    As for a comparison, the main difference is the programming model. Spring-WS has a message-driven model, which is quite different from Axis and XFire.

    I answered to a comparison question here: http://forum.springframework.org/sho...31&postcount=4

    Let me know if you have any more questions.

    Comment


    • #3
      Thanks for the reply.

      Can you elaborate just a little more on your comment about message-driven vs. the XFire and Axis2 models. Is this distinction synonymous with RPC-style vs. document-style web services or is there more to it than that? I noticed you compared it to Spring MVC in another thread and I'm doing some reading now to become more familiar with Spring MVC, but in the interim any other information you can provide would be most helpful.

      On a related note, the reference documentation seems to suggest that the Spring WS approach is particularly useful for public web services, but might not be needed for private, internal web services. We are a non-profit with limited interfaces to the outside world so we expect the majority of our web services to be of the private, internal variety at least for a while. However, Spring WS appeals to me simply because I've had good experiences with the other Spring API's and most importantly because of the integration with the ACEGI framework. Single sign-on is a major requirement for us and ACEGI w/ CAS is a leading candidate for our single sign-on infrastructure. We are also very limited in terms of resources; our development staff is a whopping three people right now and we aren't 100% dedicated to new development.

      So ... another major consideration is ease of use and the ability to cover a lot of ground quickly; although I understand the benefits of contract first web services, I also know it can be substantially more time consuming than the RPC approach. I'm getting somewhat mixed messages from what I'm reading in the forum. One thread says the Spring WS is perhaps a bit more complicated, but another says you really don't need the tools provided by other frameworks because Spring WS takes care of most of it for you. Can you elaborate a bit more on the relative advantages and disadvantages of Spring WS vs. other frameworks like XFire from an ease of use perspective?

      Comment


      • #4
        Thanks for the reply.

        Can you elaborate just a little more on your comment about message-driven vs. the XFire and Axis2 models. Is this distinction synonymous with RPC-style vs. document-style web services or is there more to it than that? I noticed you compared it to Spring MVC in another thread and I'm doing some reading now to become more familiar with Spring MVC, but in the interim any other information you can provide would be most helpful.

        On a related note, the reference documentation seems to suggest that the Spring WS approach is particularly useful for public web services, but might not be needed for private, internal web services. We are a non-profit with limited interfaces to the outside world so we expect the majority of our web services to be of the private, internal variety at least for a while. However, Spring WS appeals to me simply because I've had good experiences with the other Spring API's and most importantly because of the integration with the ACEGI framework. Single sign-on is a major requirement for us and ACEGI w/ CAS is a leading candidate for our single sign-on infrastructure. We are also very limited in terms of resources; our development staff is a whopping three people right now and we aren't 100% dedicated to new development.

        So ... another major consideration is ease of use and the ability to cover a lot of ground quickly; although I understand the benefits of contract first web services, I also know it can be substantially more time consuming than the RPC approach. I'm getting somewhat mixed messages from what I'm reading in the forum. One thread says the Spring WS is perhaps a bit more complicated, but another says you really don't need the tools provided by other frameworks because Spring WS takes care of most of it for you. Can you elaborate a bit more on the relative advantages and disadvantages of Spring WS vs. other frameworks like XFire from an ease of use perspective?

        And finally, I know XFire offers some Spring support, but I'm wondering how easy it might be to integrate with ACEGI specifically. Since I'm sure you had to consider a number of alternatives before taking the route you took, I'm hoping you might have some opinion on how difficult this might be to do and the advisability of doing so vs. just using Spring WS.

        Thanks so much for your help.

        Bill Bailey
        Senior Developer / DBA
        Northland, A Church Distributed

        Comment


        • #5
          Originally posted by bill_bailey View Post
          Can you elaborate just a little more on your comment about message-driven vs. the XFire and Axis2 models. Is this distinction synonymous with RPC-style vs. document-style web services or is there more to it than that? I noticed you compared it to Spring MVC in another thread and I'm doing some reading now to become more familiar with Spring MVC, but in the interim any other information you can provide would be most helpful.
          Well, it mainly is a difference in programming model. In SWS's case, the focus in on the XML message. You can handle this message any way you want, using any XML handling API you want, including marshalling. BUt the XML is central. In the case of XFire, the endresult is a method call. So it's more "RPC-like" (even though it uses document/literal under the covers).

          Originally posted by bill_bailey View Post
          On a related note, the reference documentation seems to suggest that the Spring WS approach is particularly useful for public web services, but might not be needed for private, internal web services. We are a non-profit with limited interfaces to the outside world so we expect the majority of our web services to be of the private, internal variety at least for a while. However, Spring WS appeals to me simply because I've had good experiences with the other Spring API's and most importantly because of the integration with the ACEGI framework. Single sign-on is a major requirement for us and ACEGI w/ CAS is a leading candidate for our single sign-on infrastructure. We are also very limited in terms of resources; our development staff is a whopping three people right now and we aren't 100% dedicated to new development.
          Yes, SWS is the only SOAP stack (as far as I know) that has support for authenticating users with Acegi over WS-Security. Note that this is different that the normal Web authentication you do with Acegi. In WS-security's case, the credentials are stored in the message.

          Originally posted by bill_bailey View Post
          So ... another major consideration is ease of use and the ability to cover a lot of ground quickly; although I understand the benefits of contract first web services, I also know it can be substantially more time consuming than the RPC approach. I'm getting somewhat mixed messages from what I'm reading in the forum. One thread says the Spring WS is perhaps a bit more complicated, but another says you really don't need the tools provided by other frameworks because Spring WS takes care of most of it for you. Can you elaborate a bit more on the relative advantages and disadvantages of Spring WS vs. other frameworks like XFire from an ease of use perspective?
          The only tool that SWS has is one that creates a WSDL from an XSD for you. It doesn't do wsdl2java, because I think that that is a wrong model: it ties the WS contract directly to the implementing class, and that's not a good practice. I think it's better to have a looser coupling between the two, because that makes it easier to handle issues like versioning. So yes, the tools might help you in the short term, but my opinion is that they don't in the long term.

          Note that you can use all the XML generationg tools together with SWS quite happily, i.e. tools like xjc from JAXB, etc.

          Originally posted by bill_bailey View Post
          And finally, I know XFire offers some Spring support, but I'm wondering how easy it might be to integrate with ACEGI specifically. Since I'm sure you had to consider a number of alternatives before taking the route you took, I'm hoping you might have some opinion on how difficult this might be to do and the advisability of doing so vs. just using Spring WS.
          As far as i know, XFire has no Acegi support. And i don't think it's forthcoming, because the XFire codebase is migrating to Celtixfire, a whole new project.

          Comment

          Working...
          X