A web service contains endpoints or server-side skeletons and client-side stubs. Two approaches can be used to develop web service endpoints and clients: implementation-first and WSDL-first.

In the implementation-first approach, you start with an endpoint and generate the WSDL document and skeletons from it. The implementation-first approach, however, is not suitable for developing cross-platform web services because it is difficult to map interoperable data types.

This drawback of the implementation-first approach is addressed by the WSDL-first approach. You can easily generate web service endpoints and clients from a WSDL document. This is because a WSDL document contains all the information that describes a web service. In the WSDL-first approach, you can begin by first generating the server-side skeletons from the WSDL document. These skeletons serve the purpose of a template for you to develop your own web services server. After the skeletons have been developed, you can generate the stubs. The stubs allow clients to access the web service.