Search This Blog

Thursday, July 09, 2015

Web ٍٍServices Development Patterns

Which approach is best for you?
Web services have become a standard way of implementing Service Oriented Architectures. Developers have used many patterns of developing these Web services, but these patterns have not been well-defined or discussed. This article describes these development patterns and discusses their advantages and disadvantages in terms of tooling support and results. The analysis is based on real-world experience in developing customer solutions.

Since a WSDL document is so important, the development patterns described in this article center around how WSDL documents are created and manipulated. Once a WSDL document is created, you can use Web service development tools to help you generate the necessary deploy-time and run-time artifacts defined by JAX-RPC. Keep in mind that the WSDL document is the key to Web services development, this article considers WSDL the top level of development because it is a meta-language that describes an interface in abstract, implementation-independent terms. Code is considered the bottom level of development because it can be mostly generated, deployed and executed. Given this terminology, this article identifies and describes three development patterns:
  1. Bottom-up pattern: Start with Java to produce WSDL.
  2. Top-down pattern: Start with WSDL to produce Java.
  3. Round-trip pattern: Start with WSDL to produce Java, which is then used to produce WSDL, which is then used to produce Java.

These patterns are described in the following sections, including the advantages and disadvantages of each. The advantages and disadvantages are derived from experience in developing actual customer solutions involving business integration and modernization.

Developers have been implementing Web services for some time now, but few have practiced rigorous development approaches. This article described three development patterns that you can use to develop Web services based on the currently available tools.
The bottom-up pattern is the best approach for exposing existing function as a Web service. The top-down pattern offers the most flexibility and reusability, and is rapidly approaching the status of a best practice when developing new Web services. The round-trip pattern can be used as an aide when one of the better methods cannot be used. However, based on our observations in actual customer engagements, our recommendation is to start with a top-down approach to guarantee the best standards-based and evolving interface. Use a bottom-up approach secondarily if existing function needs to be quickly exposed. Finally, avoid round-trip approaches altogether due to the problems with the inconsistencies and development drawbacks in the approach.

No comments: