mn-build-service creation and initial commit. This is a new project.
The purpose is to create a central service layer over our databases. Some of the goals are to :
- Make sure that we don't perform direct call to database from external services but through this service layer.
- Open the project to the open source community by simplifying the installation on various infrastructures and environments.
- Create new APIs in order to offer more features and possibilities.
- Simplify the current implementation mn-build-core so that it can be better maintained, understood, documented and tests.
- Monitor this project using continuous integration systems and quality tools.
- Replace part (if not all) of the mn-build-core module.
- Simplify the mn-build-ant and mn-build-webapp modules
- Many more...

This service will be hosted on a application server such as Glassfish (the recommended server for java ee 7 application).
This project is based on the Java EE 7 full stack platform.

This change list is the result of a reverse engineering of the existing application and legacy database.
- It only contains the persistence layer (entities implementation) at this point + related unit tests.
- It only maps useful tables present in the legacy database and actually used in the mn-build-core module.
- It fully maps tables that need to be mapped. In the mn-build-core module some tables are only partially mapped.
- It is implemented using JPA/JTA and fully leverage JPA/JTA capabilities (transaction, locking, concurrency management, etc..) rather that custom persistence framework implementation over direct JDBC APIs.
- As a consequence, this implementation is significantly simpler and smaller than the mn-build-core implementation .
- As a consequence, this implementation is more stable and better tested.
- It is now possible to run test using a in memory database (like Derby). This is not possible with the mn-build-core module.
- Implemented regular unit test (for new database instance) and legacy unit test in order to make sure that the current implmentation works on the legacy database.
Merge branch 'master' of github.com:ModelN/build-management