Apache Wink is a Java based framework for building RESTful applications. It provides implementation of JAX-RS specification and is currently under Apache incubation.
Apache wink provides a service module for developing JAX-RS compatible RESTful services and client modules for creating RESTful clients. Apart from JAX-RS standard representations, Apache Wink provides and ability to expose resources using various representations formats like RSS, Atom and CSS formats.
From the official site –
“Apache Wink 1.1 is a complete Java based solution for implementing and consuming REST based Web Services. The goal of the Wink framework is to provide a reusable and extendable set of classes and interfaces that will serve as a foundation on which a developer can efficiently construct applications.”
The following is the high level architecture of Apache Wink, which seems pretty standard as followed by any service stack.
In my view, I am not sure why there are conflicting Apache projects providing RESTful capability. Though Apache Wink provides more representations like ATOM, RSS, but primarily it would be used for JAX-RS specification.
I guess if they are embedding Apache Wink implementation in existing Apache web services stacks like CXF and AXIS 2 to standardize REST implementations, client APIs and representations format code , across stacks it makes sense, but one more project providing RESTful implementation seems an overkill and they could very well utilize this effort for standardizing the REST integration in there existing stacks. That’s an outsider view looking at these projects :). In my view, one should be able to use Wink as a stand-alone RESTful stack or as embedded JAX-RS implementation shipped with existing Apache web service stacks using some configurations (Spring or Non-Spring based).