Summary
In this chapter, we focused on the considerations for enabling enterprise-class web services. These are web services that meet the level of technical and operational maturity consistent with the increasingly stringent requirements of today's enterprise.
J2EE web services must be designed for interoperability. This requires conforming to the specifications of XML, SOAP, WSDL, UDDI, and WS-I interoperability recommendations; designing the WSDL before implementing SOAP; and using document-literal as the SOAP messaging format.
Web services are published via WSDL. These represent contracts between the consumer and the producer of web services. To make these contracts durable, it is important to integrate using loose coupling, choose the right XML strategy, and use either versioning of the public interface or versioning of the implementation.
Web services are typically layered on top of enterprise business systems. To effectively interface with these business systems, we recommend using asynchronous communication using Workshop's web service conversations, using WebLogic's control framework to develop coarsely grained web services for reduced network overhead and improved performance, and using WebLogic's control framework and the MVC architecture to wrap the back-end components and help expose them as web services.
Security, scalability, and manageability considerations are crucial for enterprise-class web services. WS-Security secures SOAP messages and can be implemented using WebLogic Workshop through WS-Security policy files. Leverage the robust foundation of the WebLogic Server and improve performance by fine-tuning the WebLogic Server and using JRockit as the JVM. Use BEA WebLogic along with HP OpenView to manage web services. The former leverages JMX for developing MBeans, used for managing and monitoring web services. The latter offers the WebLogic Serverspecific Smart Plug-In module for enhanced management capabilities. Intermediaries called Web Services Networks offload load balancing, failover, routing, monitoring, and access control from the web services infrastructure.