Important participants in a bottom up SOAP based web service implementation are:
Service Endpoint Interface (SEI)
Service Implementation Bean (SIB)
Service Endpoint Interface (SEI) is an interface that declares the web service operations as its methods.
Service implementation Bean (SIB) is the implementation class of the SEI.
A SOAP – based web service could be implemented as a single java class,
But best practice is to have an interface (SEI) that declares the web service operations as its methods, and an implementation (SIB), which defines the methods declared in the interface.
The SIB can be either a POJO or a stateless session EJB.
While creating a web service bottom up, we can configure the SEI and SIB to act as a web service using annotations.
In case of bottom up web service, the binding properties in a WSDL can be specified using these annotations.
You can find a summary of the most commonly used annotations for creating web services @ http://javajee.com/common-annotations-used-to-create-web-services.
We can use a standalone publisher like Endpoint publisher (javax.xml.ws.Endpoint) or a webcontainer like Tomcat.
The java.xml.Endpoint class can be used to publish a web service from a simple java application.
Out of the box, the Endpoint publisher handles one request at a time, but can be made multithreaded using an Executor.
The single threaded endpoint publisher is suited for development and the multithreaded one can be used in light production mode.
However a web container such as tomcat is better suited to publish multiple web services in actual production.