that interfaces with client programs. Logically, it serves as a middle tier in the client/server model. It enables you to implement the request/response interactions using any of the following architectural variations:
Loosely coupled Web services using the SOAP protocol.
Tightly coupled Java remote procedure calls based on Enterprise JavaBeans (EJBs) or XML.
Asynchronous Java Message Service (JMS)-based messages.
XML documents going back and forth via Hypertext Transfer Protocol (HTTP).