Smartclient provides a simple Java API for handling requests for data from SmartClient visual components.
It automatically parses complex nested search criteria, multi-level sorts, batch requests (multiple operations in one request), binary uploads, optimistic concurrency information (for "long transactions"), and other data into a Java request object with clean OO APIs.
You can filter response data without the need for separate DTOs (Data Transfer Objects). This avoids hand-written code for request/response handling, which cannot reasonably be generated by eg JAX-B.