We're using CQ5 pretty extensively for our external web presence and I'm in the process of evaluating Sling for a wider range of use cases internally.
One of the questions that comes up on a regular basis is whether we are able to define a java object alongside the JSP when we are creating a widget. So that we can potentially implement a very specific business logic and have it co-located with the presentation logic. There seems to be support in Sling for compiling java classes located in the JCR, but there's a lack of clarity on when/how that occurs. Any information would be appreciated. -Jason