Similar to the Spring framework Pustefix should take the best practices and design patterns that have been proven over the years and codify/integrate them. Here's a list of common problems, which could be supported by the framework:
- Lazy initialization: loading data from observed ContextResources, backend services databases on demand, e.g. declarable with annotations
- Asynchronous backend calls and client notifications
- Parallel backend calls
- Transaction handling support for distributed service calls (e.g. compensation function triggering, rollback, etc.)
- Messaging mechanism for inter-component communication