Plain old Java objects with Hibernate annotations mapping them to tables of the Integrated Breeding Database (IBDB)
Data Access Objects (DAOs)
Provides CRUD functions.
High level API for users of the Middleware. Uses the DAOs to perform their functions. ICIS DLLs functions are used as basis and starting point for development of Data Manager functions.
REST Web Services providing functions similar to what is provided by the Data Managers. Implementation of these web services use the Data Managers to access IBDBs.
Applications have the option to either use the Web Services or use the Data Managers directly. Web and mobile applications will benefit much from using the web services. Standalone applications may opt to use the Data Managers directly for simplicity.