jZeno is also more than a software development framework. It is also a set of standards and guidelines to be used within your projects. We believe that many companies regularly (re-)created these types of standards and guidelines in order to streamline their development process. Thus jZeno is also an attempt to provide these things in open source.
jZeno proposes a standard architecture for your application. jZeno applications have a traditional layered architecture :
- The presentation layer. Here jZeno proposes that you create your own 'dynamic components'. If performed well this allows you to avoid much code duplication in this layer. Reducing the codebase of your presentation layer compared to struts/JSP applications. jZeno's dynamic components provide for easy data binding, input validation and event handling. Application developers are strongly encouraged to build components that correspond to concepts (and thus objects/classes) from the domain model.
- The business layer. Here jZeno proposes a view where persistent objects can be manipulated and are synchronized to the database automatically. A so-called auto-sync aspect automatically detects which objects were modified or created on the persentation layer or the business layer, and applies this new information to the database. In essence most developers will only need to learn how to write queries (using HQL), and not worry about session interactions. jZeno also provides many (traditional) services like transaction management, security enforcing, dead-lock detection and retry, etc...
- The domain model layer. In this layer we propose you write methods that allow persistent object to be more than just representations of records in the database. Domain objects can have rich functionality. This allows you to avoid some code duplication among business facades.