posted 9 years ago
-
1 -
-
Number of slices to send:Optional 'thank-you' note:
-
This is the FAQ page for the Web Services and Related Technologies forum. Like all other page in this wiki, the page is editable by anyone, so don't hesitate to add useful stuff.
What is a Web Service?
In simple terms a Web Service is an application or business logic that is accessible using standard Internet protocols.
Can I access a web services from any application?
Yes, if your application supports HTTP-based request and response (which, thanks to a plentitude of HTTP client libraries like Apache HttpClient, just about any application should be able to do).
What are the current free and commercial implementations available for Web Services?
Axis 2 Metro, the JAX-WS Reference Implementation Jersey, the JAX-RS Reference Implementation Apache CXF (formerly called XFire) JBossWS Spring WS, which apparently ceased to be worked on in 2013 A comparison of the major SOAP stacks can be found at http://wiki.apache.org/ws/StackComparison
Can I access a web service from within a browser?
You can use the JavaScript XmlHttpRequest object. You'll have to create and process the XML requests and responses yourself, though. This works in Internet Explorer, Safari and Mozilla-based browsers like FireFox. All major JavaScript frameworks have classes and methods built in that greatly simplify this, though, so that should be the first choice.
What are the differences between JAX-RPC, JAX-WS, JAX-RS, Apache Axis, SAAJ, Apache SOAP, JWSDP, Metro, Jersey and GlassFish?
JAX-RPC is a specification/API for Java developers to develop SOAP based interoperable web services. This API is now obsolete, and may be dropped from the next JEE version. JAX-WS is the successor to JAX-RPC. It requires Java 5.0, and is not backwards-compatible to JAX-RPC. This article describes the high-level differences to JAX-RPC. SAAJ is another specification/API for using SOAP envelopes with or without attachments. It operates on a lower level than JAX-RPC or JAX-WS, both of which will use SOAP envelopes based on SAAJ if needed. Apache Axis is an open source implementation of the Java WS APIs for sending and receiving SOAP messages. Axis 1 supports JAX-RPC and SAAJ, while Axis 2 supports SAAJ and JAX-WS. Apache SOAP was the first SOAP implementation. It is now obsolete, and has been superseded by Apache Axis. Sun JWSDP - Sun Java Webservices Developer Pack, is an implementation of JAX-RPC, SAAJ and various other XML Java technologies. It is now deprecated in favor of the Metro stack. GlassFish is the open source JEE reference implementation. As such, it contains implementations of JAX-RS and JAX-WS. Metro is the SOAP stack used in GlassFish. It supports SAAJ, JAX-WS, WS-Security and other standards. JAX-RS is the standard Java API for RESTful web services. Jersey is the reference implementation of the JAX-RS API, as defined in the JSR-311 standard for RESTful web services.
What is REST?
Compared to SOAP, REST is a lighter-weight and less feature-rich approach to building web services. As such, it does not support the infrastructure built on top of SOAP (like WSDL, UDDI and WS-Security). RESTful Web services: The basics by Alex Rodriguez Introduction by Roger L. Costello Best Practices by Hao He REST versus SOAP - the REST story by William Brogden REST versus SOAP - the SOAP story by William Brogden I finally get REST. Wow by Tim Ewald REST vs. WS-*: A Parable by Elliotte Rusty Harold An Introduction to Resource-Oriented Architectures by Leonard Richardson and Sam Ruby Book: RESTful Web Services JAX-RS (JSR-311): The Java API for RESTful Web Services; available implementations include Jersey (the reference implementation), Restlet, RESTEasy, Apache Wink
Where can I find the relevant standards?
SpecificationUrls lists all major standards SOAP introduction How the SCDJWS exam objectives map to the standards - Post by Valentin Crettaz Using WSDL in SOAP applications Article What's new in WDSL 2.0?
How do I get started building a web service? Show me some code!
Introduction to SOAP and Apache SOAP (Note: Apache SOAP is obsolete) Introduction using Axis1, another one Web Services Made Easy with JAX-WS 2.0 Webservices in JDK 6 Introducing JAX-WS 2.0 With the Java SE 6 Platform - part 1, part 2 Many questions are answered in the Apache Axis Wiki JAX-WS Web Service Tutorial specifically for JBoss
Some useful code snippets
How can I set HTTP headers like SOAPAction or Basic Authentication in my SOAP request? (link) With Axis, how can I access authentication information if I use HTTP Authentication? (link) With Axis, how can I find out which service and operation was invoked? (link) What is the simplest possible Java client for a web service? (link) How do I handle WS-Security UsernameTokens with WSS4J? (link)
What other sources of information are available particularly for Java Web Services?
JAX-WS articles, FAQ, Wiki and more - https://jax-ws.java.net/ How to run JAX-WS on Tomcat JSR-181 - Web Services Metadata for JAX-WS - article JAX-RS with Jersey: An Introduction Developing Web Services using EJB 3.0 JAX-WS and SAAJ are Java APIs that implement SOAP; introduction to SAAJ JEE Web Services Tutorial - JEE 5, JEE 6, JEE 7 Web Services for J2ME WebServicesReadingRoom of the Apache WS Project
Which other software packages help implement Java Web Services?
The Apache Web Services Project has a number of helpful libraries
WSS4J implements WS-Security
jUDDI and UDDI4j implement the client and server sides of UDDI, respectively. Scout is an open source JAXR implementation.
BPEL
SOAPUI is an excellent tool for testing web services. It allows to observe SOAP (and REST) traffic in transit, and can also act as a client. It supports WS-Security.
More articles on specific topics
What are WSDL styles and which one should I use: article on IBM DeveloperWorks Using SOAP headers with Axis client Transferring files over a web service Sending SOAP attachments using SAAJ Web Services, Opaque Data, and the Attachments Problem - Explore the many possibilities for dealing with opaque data in Web services (including SwA, WS-Attachments and DIME, PASwA, MTOM), and see the problem modeled with a classic childhood toy. Understanding Web service interoperability Asynchronous operations and Web services: using JAX-WS, Introduction Part 1 , Part 2, Part 3 Introduction to HTTP and WS-Security authentication in Web Services: article in JavaRanch Journal, update for Axis 2 Introduction to WS-Security encryption: article in JavaRanch Journal Patterns and Strategies for Building Document-Based Web Services: article on the Sun Developer Network Obstacles to the adoption and successful realization of Service-Oriented Architecture: SOA Antipatterns Using explicit and implicit SOAP headers with WSDL A little bit about Message Context in JAX-WS
Books
Check the JavaRanch Bunkhouse Web Services And SOAP category.
The book title is linked to the publisher where sample content may reside. The ISBN links to Amazon US which tends to list reviews.
SOA Using Java Web Services (2007) ISBN 0130449687 Web page Bunkhouse Review
Examines web service technology in a Java EE 5 context as implemented on the Glassfish application server. Covers JAX-WS 2.0 and JAXB 2.0. Mark D. Hansens posts during the book promotion. Why is Java Web Services so Hard?
RESTful Web Services (2007) ISBN 0596529260
Explains the principles of REpresentational STate transfer and Resource Oriented Architecture (ROA). Specifies design procedures for resource URIs and resource (state) representations (XML being only one option). Many examples use Ruby but one example does use the Restlet framework. Also looks at AJAX applications as REST clients. Leonard Richardsons and Sam Rubys posts during the book promotion.
J2EE Web Services (2004) ISBN 0321146182 Bunkhouse Review Author's Blog
Examines web service technology in a J2EE 1.4 context. Covers XML, XML Schema, SOAP 1.1, WSDL 1.1, WS-I Basic Profile 1.0a, UDDI 2.0 as general web service standards and the Java APIs using them: (the now dated) JAX-RPC (incl. EJB endpoints), JAXR (level 0), JAXP, SAAJ, SwA; deployment descriptors are also covered.
Designing Web Services with the J2EE 1.4 Platform (2004) ISBN 0321205219 On-line Version PDF Version
A more design/architecture oriented examination of web service technologies in a J2EE 1.4 context.
Service-Oriented Architecture: Concepts, Technology, and Design (2005) ISBN 0131858580 Web page
SOA with SOAP web services explained. Just don't expect to see any code as this is a platform independent discussion of SOA with SOAP web services.
Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services (2004) ISBN 0131428985 Web page
An examination of how XML technologies, SOAP, WSDL, UDDI, and various WS-* standards can be used to move towards a Service-Oriented Enterprise. No code as this is a platform independent exploration.
SOA Principles of Service Design (2007) ISBN 0132344823 Web page
Service-Orientation isn't Object-Orientation. Discusses the service design principles needed to develop services that can operate successfully in a SOAP-based SOA.
SOA in Practice: The Art of Distributed System Design (2007) ISBN 0596529554 Web page
Need an SOA instead of a JaBoWS (Just another Bunch of Web Services)? While not specifically written for web service based SOAs but more towards large distributed systems in general this book presents some of the benefits that you can realize by adopting service-orientation and SOA practices. More importantly it reveals that large distributed systems can turn some common sense best practices established for smaller or component-based systems on their heads (example: the perceived need for a common business object model across the entire system). Interview
Java Web Services in a Nutshell
Building Web Services with Java: Making Sense of XML, SOAP, WSDL, and UDDI
Developing Web Services with Apache Axis
Developing Java Web Services: Architecting and Developing Secure Web Services Using Java
Java Web Services Architecture
Martin Kalin Java Web Services: Up and Running
WebServicesHowTo ScdjwsLinks CategoryFaq
What is a Web Service?
In simple terms a Web Service is an application or business logic that is accessible using standard Internet protocols.
Can I access a web services from any application?
Yes, if your application supports HTTP-based request and response (which, thanks to a plentitude of HTTP client libraries like Apache HttpClient, just about any application should be able to do).
What are the current free and commercial implementations available for Web Services?
Can I access a web service from within a browser?
You can use the JavaScript XmlHttpRequest object. You'll have to create and process the XML requests and responses yourself, though. This works in Internet Explorer, Safari and Mozilla-based browsers like FireFox. All major JavaScript frameworks have classes and methods built in that greatly simplify this, though, so that should be the first choice.
What are the differences between JAX-RPC, JAX-WS, JAX-RS, Apache Axis, SAAJ, Apache SOAP, JWSDP, Metro, Jersey and GlassFish?
What is REST?
Where can I find the relevant standards?
How do I get started building a web service? Show me some code!
Some useful code snippets
What other sources of information are available particularly for Java Web Services?
Which other software packages help implement Java Web Services?
- JBoss jBPM has both good documentation and an Eclipse plugin for visual editing of business processes.
- Apache ODE implements both the current WS-BPEL 2.0 spec and the older BPEL4WS 1.1
- BPWS4J is now obsolete; it implements BPEL4WS 1.1 only
- Introduction part 1 , Introduction part 2
- article BPEL and Java
- Three part series on Reg Developer: part1 part2 part3
More articles on specific topics
Books
Check the JavaRanch Bunkhouse Web Services And SOAP category.
The book title is linked to the publisher where sample content may reside. The ISBN links to Amazon US which tends to list reviews.
SOA Using Java Web Services (2007) ISBN 0130449687 Web page Bunkhouse Review
Examines web service technology in a Java EE 5 context as implemented on the Glassfish application server. Covers JAX-WS 2.0 and JAXB 2.0. Mark D. Hansens posts during the book promotion. Why is Java Web Services so Hard?
RESTful Web Services (2007) ISBN 0596529260
Explains the principles of REpresentational STate transfer and Resource Oriented Architecture (ROA). Specifies design procedures for resource URIs and resource (state) representations (XML being only one option). Many examples use Ruby but one example does use the Restlet framework. Also looks at AJAX applications as REST clients. Leonard Richardsons and Sam Rubys posts during the book promotion.
J2EE Web Services (2004) ISBN 0321146182 Bunkhouse Review Author's Blog
Examines web service technology in a J2EE 1.4 context. Covers XML, XML Schema, SOAP 1.1, WSDL 1.1, WS-I Basic Profile 1.0a, UDDI 2.0 as general web service standards and the Java APIs using them: (the now dated) JAX-RPC (incl. EJB endpoints), JAXR (level 0), JAXP, SAAJ, SwA; deployment descriptors are also covered.
Designing Web Services with the J2EE 1.4 Platform (2004) ISBN 0321205219 On-line Version PDF Version
A more design/architecture oriented examination of web service technologies in a J2EE 1.4 context.
Service-Oriented Architecture: Concepts, Technology, and Design (2005) ISBN 0131858580 Web page
SOA with SOAP web services explained. Just don't expect to see any code as this is a platform independent discussion of SOA with SOAP web services.
Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services (2004) ISBN 0131428985 Web page
An examination of how XML technologies, SOAP, WSDL, UDDI, and various WS-* standards can be used to move towards a Service-Oriented Enterprise. No code as this is a platform independent exploration.
SOA Principles of Service Design (2007) ISBN 0132344823 Web page
Service-Orientation isn't Object-Orientation. Discusses the service design principles needed to develop services that can operate successfully in a SOAP-based SOA.
SOA in Practice: The Art of Distributed System Design (2007) ISBN 0596529554 Web page
Need an SOA instead of a JaBoWS (Just another Bunch of Web Services)? While not specifically written for web service based SOAs but more towards large distributed systems in general this book presents some of the benefits that you can realize by adopting service-orientation and SOA practices. More importantly it reveals that large distributed systems can turn some common sense best practices established for smaller or component-based systems on their heads (example: the perceived need for a common business object model across the entire system). Interview
Java Web Services in a Nutshell
Building Web Services with Java: Making Sense of XML, SOAP, WSDL, and UDDI
Developing Web Services with Apache Axis
Developing Java Web Services: Architecting and Developing Secure Web Services Using Java
Java Web Services Architecture
Martin Kalin Java Web Services: Up and Running
WebServicesHowTo ScdjwsLinks CategoryFaq
| I miss the old days when I would think up a sinister scheme for world domination and you would show a little emotional support. So just look at this tiny ad: Paul Wheaton's 16th Kickstarter: Gardening playing cards for gardeners and homesteaders https://coderanch.com/t/889615/Paul-Wheaton-Kickstarter-Gardening-playing |









