Interface21 focuses on 'contract first'
Spring framework delivers Web Services
Open source tool supplier Interface21 has recast its Spring framework to deliver web services applications based on the 'contract-first' approach to development. Under the name Spring Web Services 1.0, the updated framework will enable developers to build and deliver more flexible, loosely coupled web services applications, says the supplier.
"The contract-first approach gives developers more flexibility because it allows for more lenient XML processing. There are, of course, a lot of technologies out there for building web services, but they tend to process XML in a way that restricts applications to closely coupled models. With Spring Web Services 1.0 we can use a contract-first approach to allow for more loosely coupled models," explains Arjen Poutsma, technical leader of Interface21's Spring Web Services team.
He goes on to say that developers already familiar with Spring will find the transition to Web Services development straightforward. The Web Services version uses the same interface and many of the same concepts as the original Spring framework.
Specifically the Spring Web Services product supports incoming XML requests so they can be distributed to any object, depending on message payload, SOAP Action header or an XPath expression. It also enables XML messages to be handled in standard JAXP APIs, such as DOM, SAX, StAX, JDOM, dom4j, XOM or 'marshalling' technologies. The Object/XML Mapping module supports JAXB 1 and 2, Castor, XMLBeans, JiBX, and XStream and, because it is a separate module, it can also be used in non-Web Services code as well.
Security aspects of Web Services are also covered. Developers can sign SOAP messages, encrypt and decrypt them or authenticate against them. The WS-Security implementation of Spring Web Services integrates with Spring (Acegi) Security, enabling developers to use existing configuration for SOAP service as well.
Poutsma's team has produced an online tutorial to explain the contract-first approach.