Few weeks ago I attended the “Building XML Web Services with Java: Hands-On” training course offered by LearningTree International.
Aside the excellent central location in London and the nice facilities (canteen, coffee corners, Internet access, lab) available to the students I really have to say it is a very good training which I would definitely recommend to anybody who wants to get going with the Web Services and SOA business.
The program of the course covers different aspects related to Web Services with special focus on the standards, protocols and the Java APIs. The best part is understanding the WSDL (pronounce ‘wiz-dəl’), what it means, its role and responsibility, and how to generate one from the Java source code or the other way around. This is definitely (for beginners) the most important part as it lies the foundations to work with Web Services no matter which framework or approach is chosen.
Overview and technology involved: short high-level introduction to define Web Services and their objectives. Follow few words about XML schema and namespaces (this is not too long, so you can bear with it if you know already that stuff).
SOAP: details about the SOAP protocol. Very interesting.
WSDL: all you need to know about WSDL, its role and the elements included in the XML.
JAX-RPC: building sync and async Web Services, generating services and client stubs, deal with binary data.
SAAJ: manipulate the SOAP message programmatically (header metadata and attachments).
Security: security concerns related to Web Services (authentication, encryption, digital signatures).
JAX-R: querying and accessing registries to find organisations and services.
JAX-WS: Web Services with the JAX-WS specification (brief intro).
Definitely one of the best instructors I have come across: Mike has outstanding communication skills, knows how to involve his audience and, above all, is able to deepen progressively into the topics making sure there are not gaps or blind jumps. Super!
I think he also delivers the SOA Training for LearningTree (google it if interested).
Axis1, Axis2, Metro
All Java samples have been built with Axis1 and, I must confess, I was a bit disappointed initially. What about the new Axis2? And Metro, the implementation reference? Well, Mike knows best: the objective of the training is to ensure the students understand the foundations of the Web Services and the relevant technologies. Axis1 is used for convenience, later you can adopt a specific framework rather others, it doesn’t matter as long as you know what the WSDL is about, how to generate stubs, define faults, deal with security, etc..
And this is absolutely right: I can see now aspects of Axis2 (for instance) which before looked to me a bit awkward.
This is the subject I would have surely liked to explore more. As JAX-WS it is the emerging technology it would have been very interesting to touch this area, instead only 10 minutes have been spared 😦 .
Definitely 4 days well spent which give a good overview of the Web Services technology and the Java API (JAX-RPC). Keep in mind it is (I reckon) a course for developers/architects, mainly technical people who are confident with XML schema, namespaces, Ant and the Java language.
If you are about to adventure in the world of Web Services then think about it: you can avoid the terrible headaches of approaching a new technology with thousands of references/articles/samples and, at the same time, put yourself on the right direction. It is just a start, but a very good one.