9. CONCLUSION
In this paper we used architectural principles and decisions as
a comparison method to illustrate the conceptual and technological
differences between RESTful Web services and WSDL/SOAPbased
“Big” Web services. On the principle level, the two approaches
have similar quantitative characteristics. On the conceptual
level, less architectural decisions must be made when deciding
for WS-* Web services, but more alternatives are available. On
the technology level, the same number of decisions must be made,
but less alternatives have to be considered when building RESTful
Web services. Thus, the perceived simplicity of REST now can
be understood from a quantitative perspective – choosing REST
removes the need for making a series of further architectural decisions
related to the various layers of the WS-* stack and makes
such complexity appear as superfluous. Still, if advanced functionality
as delivered by WS-* is needed, it will be no simple matter
to extend a RESTful Web service to support it in an interoperable
manner. Furthermore, according to our experience several of the
decisions that are very easy to make for RESTful services lead to
significant development efforts and technical risk, for example the
design of the exact specification of the resources and their URI addressing
scheme.
From our comparison it can also be seen that the two styles
are rather similar, as long as the same subset of technology decisions
is compared, for example when ignoring the more advanced
features of the WS-* stack and only comparing POX/HTTP and
SOAP/HTTP. It could even be argued that these two approaches
are two technology-level variants of the same conceptual design.
Assuming that the enterprise-level features of WS-* (transactions,
reliability, message-level security) are not required, the key
decision drivers at present are degree of flexibility and control,
but also development efforts and technical risk (in implementation
design, development, and maintenance), degree of open source
and vendor tool support, and programming interface convenience.
REST scores better with respect to flexibility and control, but requires
a lot of low-level coding; WS-* provides better tool support
and programming interface convenience, but introduces a dependency
on vendors and open source projects. The main conclusion
from this comparison is to use RESTful services for tactical, ad hoc
integration over the Web (à la Mashup) and to prefer WS-* Web
services in professional enterprise application integration scenarios
with a longer lifespan and advanced QoS requirements.
9. CONCLUSIONIn this paper we used architectural principles and decisions asa comparison method to illustrate the conceptual and technologicaldifferences between RESTful Web services and WSDL/SOAPbased“Big” Web services. On the principle level, the two approacheshave similar quantitative characteristics. On the conceptuallevel, less architectural decisions must be made when decidingfor WS-* Web services, but more alternatives are available. Onthe technology level, the same number of decisions must be made,but less alternatives have to be considered when building RESTfulWeb services. Thus, the perceived simplicity of REST now canbe understood from a quantitative perspective – choosing RESTremoves the need for making a series of further architectural decisionsrelated to the various layers of the WS-* stack and makessuch complexity appear as superfluous. Still, if advanced functionalityas delivered by WS-* is needed, it will be no simple matterto extend a RESTful Web service to support it in an interoperablemanner. Furthermore, according to our experience several of thedecisions that are very easy to make for RESTful services lead tosignificant development efforts and technical risk, for example thedesign of the exact specification of the resources and their URI addressingscheme.From our comparison it can also be seen that the two stylesare rather similar, as long as the same subset of technology decisionsis compared, for example when ignoring the more advancedfeatures of the WS-* stack and only comparing POX/HTTP andSOAP/HTTP. It could even be argued that these two approachesare two technology-level variants of the same conceptual design.Assuming that the enterprise-level features of WS-* (transactions,reliability, message-level security) are not required, the keydecision drivers at present are degree of flexibility and control,but also development efforts and technical risk (in implementationdesign, development, and maintenance), degree of open sourceand vendor tool support, and programming interface convenience.REST scores better with respect to flexibility and control, but requiresa lot of low-level coding; WS-* provides better tool supportand programming interface convenience, but introduces a dependencyon vendors and open source projects. The main conclusionfrom this comparison is to use RESTful services for tactical, ad hocintegration over the Web (à la Mashup) and to prefer WS-* Webservices in professional enterprise application integration scenarioswith a longer lifespan and advanced QoS requirements.
การแปล กรุณารอสักครู่..