10.1. Web Services Architecture
Figure 10-1 shows how the VBAD client uses Web Services to access the JAW Motors inventory.
Figure 10-1. Web Service invocation
VBAD's web site acts as an external client that invokes the JAW Motors findAvailableCars( ) Web Service to get information about all JAW Motors cars. Underneath the covers, the client uses a Web Service proxy object to marshal the method findAvailableCars( ) call as a Simple Object Access Protocol (SOAP) Request and sends it to the JBoss application server. The SOAP Servlet picks up the SOAP Request, looks up the findAvailableCars service in the Web Services Definition Language (WSDL) file and invokes the findAvailableCars( ) method on behalf of the client. The findAvailableCars( ) method finds all unsold cars in the JAW Motors database, packages them into CarDTO objects, and returns control to the SOAP Servlet. The SOAP Servlet then marshals the CarDTO objects into a SOAP Response and returns it to the caller. On the client side, the Web Service proxy object unmarshals the SOAP Response into CarDTO objects to be displayed on the VBAD web site.
Web Services has its own terminology, so let's wade through the alphabet soup: