UI side

 General architecture

The application platform is based on Eclipse 4 technology and provides:

  • One perspective with 4 panels that end-user can resize, minimize or maximize:
    1. A Navigator Panel displays available features (queries, tools…).
    2. An Editor panel for hosting Query and Entity editors.
    3. A Console panel where messages (traces, warnings, errors) are posted.
    4. An Outline panel which contains a tool part adapted to current editor.
  • A tool bar containing:
    • 3 Tool items displayed when Entity Editor is focused: Save, refresh, display errors.
    • A menu item for reaching runtime tools as preferences, Editors switcher, pooled queries.
    • A menu item containing specific tools to make possible communication between Runtime and Development environments and so, to improve efficiency. This menu item no longer exists when exporting product to create an end user application.
    • Tool items defined by developers.
  • Editors:
    • Query Editor for managing JQL and SQL queries.
    • Entity Editor display detail and related objects of an entity. Validation processes and layouts can easily be worked by developers.

Model layer

 General architecture

Model layer carries out the junction between UI side and Server side. Beans are provided by Hibernate, wrapped in Application Data Cache to become an Entity. Application data cache and databinding service, entities is capable of managing:

  • Validation processes,
  • Data Binding,
  • Lazy loading,
  • Locks,
  • Unicity,
  • Consistency.

Server side

An application jar is deployed in the Application Server environment which contains:

  • An EJB module for managing requests and changes from UI side.
  • A tree decision to package all related objects asked by client side in one go.
  • An EJB module for ensuring consistency (locks).
  • An implementation for OneToOne relationship for Hibernate.
  • A solution to automatically create composite keys (parent key, increment).