Brennan, As someone who's only a few (intensive) months further along the WS path than Scott seems to be, that is a beautiful summary. Very much in agreement with what I've found (but presented with the perspective, I think, of a lot more experience).
Very helpful to have things summarized like that! Thank you. - Steve p.s. Have you considered writing the book that Scott is looking for? :-) I certainly spent a lot of time looking for one and didn't find it. ______________________________________________ Steve Gruverman, Programmer IntelliCare, Inc. | A Medco Health Solutions Company 500 Southborough Drive | South Portland ME 04106 "Brennan Spies" <[EMAIL PROTECTED]> wrote on 04/29/2008 02:00:01 AM: > Scott, > > That's a tall order. There's lots to say about this space, and it > won't be contained in one web page. Can't help you with the Xanax, > but I can give you the brief tour of WS in Java. Here goes... > > 1. At the high level, your first decision is SOAP vs. REST. REST > implies POX (plain old XML)--though it's not necessarily the case, > that's the way the majority of RESTful services are developed. SOAP > is just a message format, but all of the WS-* standards (and there's > a lot of them) and WSDL (at least until v.2.0) revolve entirely > around using SOAP; hence the perceived complexity because there's > more to learn. REST has less structure, so it can be simpler when > developing simple web services; however, if you have other > requirements, such as security or policy, going with REST could be > more difficult and error-prone than SOAP. It's over-simplifying a > bit, but the distinction can be summed up as "go with the standards" > in SOAP or "roll your own" with REST. Taking a look at some of the > more popular web services from Google, Amazon, etc. may give you a > better feeling for this. > > 2. Your second decision is going to be which Web Services stack to > use. In Java, the major ones are Apache Axis 2.0, Apache CXF, Spring > Web Services, and the JAX-WS reference implementation (on java.net). > You'll have to match their features against your requirements to see > which one fits you best. There's a fair amount of overlap in > features (and even in the 3rd party libs they use), but there are > significant differences as well. I'd recommend not using Axis 1.0 at > this stage, since it is about 4-5 times slower than the newer stacks > under load. > > 3. JAXB is simply a framework for XML-Java binding, one among many: > JiBX, XML Beans, Castor, ADB, etc. Which one you use may be decided > by which one(s) the stack in #2 you choose supports (you'll choose > JAXB, for example, if you use Sun's JAX-WS reference > implementation), but all except JAX-WS RI support more than one > binding framework. > > 4. XML Schema is the standard way of defining XML types in > SOAP/WSDL, but there are others. In WSDL 1.2 and 2.0, for example, you can( > http://www.w3.org/TR/wsdl20-altschemalangs/) use Relax NG, but-- > practically speaking--XML Schema rules the roost here. > > 5. Most WS frameworks (from #2) support two basic styles of > development: top-down (write WSDL, generate Java--WSDL2Java, for > instance) and bottom-up (generate WSDL and other artifacts from your > Java code). I prefer the first, but bottom up may be simpler if you > are just starting out, esp. if you already have code that you are > adding a web service to. JSR-181 (JAX-WS) is particularly nice for > this approach, since you just add annotations to your existing code. > > 6. If you must buy a book, don't buy anything that's been published > more than a year ago. The landscape has changed a lot in the last > year or two. One of my favorites, "J2EE Web Services" by Richard > Monson-Haefel, is already out-of-date. > > Well, that's it for the nickel tour. The brush strokes are pretty > broad here, but I hope I've given you a better idea. > > Brennan > ----- Original Message ----- > From: [EMAIL PROTECTED] > To: [email protected] > Sent: Monday, April 28, 2008 4:37 PM > Subject: The WS Crazy Train! > > Can someone either provide me a URL for xanax or a site that > explains the interplay between SOAP/JAXB/WSDL/Schema/blah, blah, > yada. yada? I am trying to figure out what is actually necessary to > produce & consume web services in Java and I am hearing that many of > these technologies are optional! In fact, today it was decided that > WSDL2Java produced too many artifacts and that writing web services > could be much simpler. How do RESTful web services play into this > mix, and what are the pros/cons to the permutations of ws stacks? I > would gladly throw down my AMEX if someone can recommend a good > book/resource that might clear this confusion. > > Peace, > -- > Scott > [EMAIL PROTECTED] > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
