SOAP Web-Services are everywhere. There is a plethora of Java
frameworks supporting SOAP but most of them follow the paradigm of the
explicit or implicit code (stubs) generation. Handy as it may seem at
the beginning, it can also be redundant and cumbersome. Problems occur
when a single WSDL/XSD change triggers a full recompilation and
redeployment of the app or when many versions of the same service have
to be maintained within one code-base. The trickery that is then
applied, like postfixing class names, adding version numbers to
packages, sharing common classes, etc., does not scale well, causes a
rapid code-base growth and is clearly against the “best practices”.
Finally, marshalling and unmarshalling the whole payload may also
cause a significant performance deterioration.
This session will be a critical whirlwind tour of SOAP Web-Services
reviewing the existing solutions and emphasizing some of the biggest
drawbacks of the frameworks based on the code generation. It will
rethink the idea of Java Web-Services refuting widely-accepted
concepts that nobody reflects on anymore. It will also offer people
handy tools to overcome above mentioned problems and prevent them from
following bad practices. On the example of soap-ws, project authored
by me, a completly different approach will be presented. soap-ws
provides a lightweight Java Web-Services stack (based on Spring-WS)
that handles the SOAP protocol “codelessly” on a purely XML level.
Using soap-ws enables handy generation, transmission and handling of
SOAP messages without the usage of stubs, no matter what flavors the
WS client and server are (RPC,document; literal,encoded).
You simply cannot miss out if you have ever used a Web-Service!
End: 2/21/13 08:30 PM
Tom is a software engineer and consultant proficient in the field of
software architecture currently working for centeractive ag in Bern,
Switzerland. He has a vast experience in messaging systems, business
process management, high-throughput processing and enterprise service
bus technologies. For the last few years he has been working on
numerous assignments fulfilling a range of roles, particularly dealing
with design and development of small to large scale systems, mostly on
Tom has earned a Masters Degree in Computer Science and holds several
technical certifications. He is the founder and the project lead of
soap-ws, cougar and p2-maven-plugin open-source projects
[www.reficio.org/projects]. Tom’s spectrum of activities also includes
a part-time involvement in conceptual research on the topic of Service
Oriented Architecture (IEEE article, KTI). Finally, he is very keen on
tutoring, presenting and live coding, especially in a non-fluffy way.