+

Search Tips   |   Advanced Search

Web services performance best practices

Learn about best practices for the performance of web services applications.

Web services are developed and deployed based on standards provided by the Web Services for Java EE specification and the JAX-WS and Java Architecture for XML Binding (JAXB) programming models, and is the mechanism used to access a web service. Performance considerations for web services supported by this specification are explained.

When we develop or deploy a web service, several artifacts are required, including a Web Services Description Language (WSDL) file. The WSDL file describes the format and syntax of the web service input and output SOAP messages. When a web service is implemented in the WebSphere Application Server runtime, the SOAP message is translated based on the Java EE request. The Java EE-based response is then translated back to a SOAP message.

The most critical performance consideration is the translation between the XML-based SOAP message and the Java object. Performance is high for a web service implementation in WAS, however, application design, deployment and tuning can be improved. See the information on monitoring the performance of Web services applications to learn more about analyzing and tuning Web services.

If we are using a web service application that was developed for a WAS version prior to v6, we can achieve better performance by running the wsdeploy command. The wsdeploy command regenerates web services artifact classes to increase the serialization and deserialization performance.

The wsdeploy command is supported by JAX-RPC applications. The JAX-WS programming model implemented by the application server does not support the wsdeploy command. If our web services application contains only JAX-WS endpoints, we do not need to run the wsdeploy command, as this command is used to process only JAX-RPC endpoints.


Basic considerations for a high-performance web services application

The following are basic considerations we should know when designing a web services application:


Optimize JAX-WS web services performance for WAS

Depending on the web services usage scenario, we can use the following JVM custom properties to optimize JAX-WS web services performance. After we change the values of these JVM custom properties, WAS must be restarted for the changes to take effect.


Additional web services performance features that we can leverage

IBM provides considerable documentation and best practices for web services application design and development that details these items and more.


Related:

  • SOAP with Attachments API for Java interface
  • RMI-IIOP using JAX-RPC
  • Monitor the performance of web services applications
  • Web services client to web container optimized communication
  • Web services specifications and APIs