Proposed Kepler Architecture
The high-level structure of the Kepler project proposed here hinges around the concept of a collaboration model (see Proposed Collaboration Model for more information).
The other parts of the Kepler design are in place to either:
- Support the generation of the collaboration model
- Leverage the model with the Eclipse IDE to provide direct access to collaboration resources
- To provide a repository of collaboration models that you work on and also a user context that allows for a deeper understanding of your use of projects
The core of the Kepler project is the collaboration model that a project can expose. It is represented as XML, however we will be providing an EMF model for the management and manipulation of the model within the Kepler framework.
The model adapters for the Kepler project will provide the ability to convert existing meta-data found in a number of tools and technologies (including JDT, PDE, Apache Maven, ANT) into the collaboration model for use within Kepler.
Once a project can provide a collaboration model - either directly or via model adapter - various tooling can then be enabled within the Eclipse IDE based on the existence of facets within the collaboration model (see the proposed collaboration model for more information).
The concept of a local repository of information on the projects which you are using will provide you with a searchable and indexes suit of collaboration models. The repository will also provide you with the concept of a user context showing user importance associated with the projects and also relationships (as defined by the user) between the projects.
Finally the concept of a Project Artifacts, defined as the products generated by projects on which you are collaborating. This allows for binary consumption of project on which you are collaborating.