The Integrated Breeding Platform is composed of applications and tools which scientists use to manage and analyze data for breeding programs. Most of these applications will need to communicate with the Integrated Breeding Database (IBDB) for data storage and retrieval. In order to provide a layer of abstraction between applications and the database, a services API will be implemented using open standards that allow the database to exist in local environments without Internet access as well as in the cloud. This also will prevent headaches down the road in software versioning and maintenance, not to mention making it easier for applications to be created. The Middleware itself will be written in Java using RESTful web services with a rich API that map to a simplified domain model that will in turn communicate with the database. The design will also support integration to other data stores, services or systems supporting extensibility into the future. All applications which need to access the IBDB do so using the Middleware. Thus, tool developers will benefit by being able to concentrate on the functions of their tools and not worry about writing their own data access layer and also understanding the intricacies of the data model.
Resources and documentation
Please see the child pages of this wiki page for the initial design, use cases documentation and REST web services specification.
The Javadocs of the Middleware project is here. Information on how to add the project as a dependency of your project and instructions on how to use and test the Middleware is included.
Latest Middleware JAR with dependencies can be downloaded from here.
For all concerns on the Middleware project, please email Kevin Manansala (firstname.lastname@example.org).