Enterprise Build System: Model Driven Architecture on PDE Build runtime Kagan Turgut
When delivering a new Build and Release System to meet the needs of a large Enterprise (with 10's development teams developing 1000+ projects on multiple versions of Eclipse with different release cycles) we were forced to think outside the box to meet some challenging requirements.
Our evaluation of Buckminster at the time did not give us confidence that it would meet the needs of this large enterprise. We needed an extensible foundation to provide a comprehensive solution to cover all aspects of build and release (including publishing to update sites, P2 repositories, download and distribution portals etc.)
We chose to leverage the powerful features of PDE Build, rather than starting from scratch.
We had to manage configuration life-cycle effectively keeping configurations simple and declarative, free of heavy ANT scripting, while supporting reuse, and specialization.
Although GUI based tooling was one of the requirements, even more important was ability to do all operations through command line API, following an execution plan that can be debugged in Eclipse IDE.
Scalability was high on our priority list: we wanted to be be able to break the build steps into parallel processes, and eventually take advantage of the Cloud computing.
In this presentation I will demonstrate how we applied Model Driven Architecture (MDA) to develop a Release Engineering Suite that meets these requirements.
Brane.Releng project defines an EMF model of PDE Build, with an extensible Command Framework implemented in JAVA taking advantage of PDE's ANT extensions, by-passing ANT heavy scripting.
Demo will include defining a build configuration using the Graphical UI, as well as extending the command framework to cover additional tasks such as converting regular projects into OSGI, and running Eclipse builders (such as Code Generators) as part of build steps.
We will demonstrate how we put together a fully functional RCP UI for the Releng Suite, declaratively drastically cutting our development time.
Demo will also include workspace materialization : with a single click developer will enter the URL of the build configuration file which embeds the source project mapping information that is used for the build.
Highlights from the presentation:
Previously as Oracle Tools architect, Kagan designed and lead the development of Oracle Warehouse Builder; defined and evangelized adoption of Oracle’s Common Warehouse Metadata model which was later standardized by Object Management Group (OMG); lead key aspects of integration of Express OLAP Server into Oracle Database.