The Enunciate project released version 1.5 of its code-first Web service development framework, with better support for writing GWT-based applications.
Enunciate lets a Web service developer work entirely in source code, and generates from source code interoperable Web service artifacts required for SOAP, REST, and JSON-based Web services. According to its creator, Ryan Heaton, the framework offers a developer the ability to stay focused on source code when developing Web services by automatically generating interoperable Web service artifacts:
Enunciate is a Web service deployment framework... Enunciate leverages existing Web service technologies to provide a mechanism to build, package, deploy, and to clearly, accurately deliver your Web service API on the Java platform...
Enunciate's novel approach to Web service development centers around leveraging all components of an API that are definied and maintained in original source code (as opposed to only those that are defined by compiled bytecode). This means that Web service development is done completely in source code...
Enunciate avoids the interoperabilty issues of code-first development by forcing developers at compile time to reconcile any ambiguities or other potential hazards in the formal contract. This model is formalized as the "compiled contract" development model.
New features in the 1.5 release provide a better experience when creating GWT-based services, and include changes to the module structure, introducing a new Spring module:
The Enunciate 1.5 release includes some changes to the module structure. Most notably, a new spring-app module has been created by extracting the "application assembly" logic from the SOAP stack (XFire). This
allows for clearer boundaries between how the Web service application is assembled and underlying technologies that support it. In the future, this will allow us to support alternate implementations (e.g. CXF, Axis 2) and additional implementations (e.g. AMF).
What do you think of code-first Web service development?