SOA Patterns and Application Technologies
It is important to view and position SOA as an architectural model that is neutral to any one technology platform and service-orientation as a paradigm that is neutral to any distributed implementation medium. By doing so, you have the freedom to continually pursue the strategic goals associated with SOA and service-orientation by leveraging on-going technology advancements.
For example, a service can be built and implemented as a component, a SOAP-based Web service, or a REST service. Essentially, any implementation technology that can be used to create a distributed system may be suitable for service-orientation. Many of the design patterns in this catalog are not specific to any one of these three implementation mediums, but some are. Several examples are based on the use of SOAP-based Web services because this service implementation medium has been historically the most popular. This does not preclude you from applying the patterns with other suitable technologies. Some patterns in particular can be carried out with vendor-specific products and technologies that rely on alternative communication protocols and APIs that are not based on industry standards.
When deciding on what technologies to use for a given pattern, it can be helpful to take some of the standards-related patterns into account, such as Canonical Protocol, Dual Protocols, Canonical Resources, and Canonical Schema. These types of patterns can provide regulatory guidance to help you establish some baseline criteria for technology selection.