Web Cohesion

glue for the programmatic web

Enunciate

Enunciate is an opensource web service deployment framework that 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, where it can be maintained using your favorite IDE and where the development entry barrier is low.

Enunciate boasts a powerful set of features, including:

  • Full User Documentation
  • Consolidated, Annotated WSDL and Schemas
  • Client Code Generation
  • Multiple Endpoints
  • War Packaging

OAuth for Spring Security

OAuth for Spring Security is an OAuth implementation for Spring Security. The library provides mechanisms for both the OAuth provider and the OAuth consumer.

Compiled Contract

Compiled Contract is a development model for Web service programming. It is a resolution between the two opposing philosophies of web service development, contract-first and code-first. Both development philosophies have significant drawbacks. A WSDL-first approach places a heavy burden on the API developer to define the contract in terms of WSDL and XML-Schema, and then work backwards to develop the engine that will adhere to the contract. Changes and modifications to the contract are burdensome and brittle. The code-first approach is prone to errors in interoperability because it makes assumptions about the usage and semantics of the generated contract.

The compiled contract philosophy is a meld between the two approaches to web service development. The web service API is built and maintained in code, but developers are warned at compile time about the possible ambiguities and interoperability issues in the generated XML contract. The compiled contract model is formalized in this document. It is also available as a pdf.