Dave Orme, Patrick Paulin (Modular Mind )
Making with Eclipse · Tutorial
Monday, 15:40, 2 hours | Lafayette
Have you run the "RCP Application with a View" plugin project wizard, wanted to scale your application up to an auto-updating enterprise RCP application, and felt like you just ran into a brick wall?
One of the challenges of the OSGi (and Eclipse RCP) learning curve is discovering the best way to structure your bundles, features, and other artifacts to build a complete, server-pushed, enterprise application.
In this tutorial, we will develop a complete enterprise-capable skeleton application that illustrates solutions to the following concerns:
- What code makes up a minimal RCP application that updates itself automatically on launch?
- What are the numbers and types of projects that make a self-updating application easy to build and to scale up in size and complexity?
- At what granularity should one split a large application into multiple Bundles?
- How can code be structured so that it is easy to test while also maintaining a strict separation between tests and production code?
- What project structure makes it easy to add a continuous integration build using Maven/Tycho?
- How can one leverage P2 and Maven/Tycho to split a large application's build into many mutually-dependent modules rather than something big and monolithic?
- What concerns need to be addressed when designing the server-side P2 repositories that will back an enterprise RCP application?
The skeleton application we will build uses the same structure as large server-updated mission-critical enterprise RCP applications the presenter has helped deploy over the the past six years. Attendees will leave the session with working code that they can in turn grow into large-scale, self-updating RCP applications.
All of the lab/tutorial/slide materials are available on GitHub. This includes the labs, lab manuals, solutions, slide deck, and the customized Jetty we used to host the tutorial's P2 repositories while you do the labs.
A successful Eclipse Rich Client Platform contractor and Eclipse committer, David has been delivering and supporting professional Eclipse RCP applications since before the term was coined.
For the last four years, David has been contracting with J.P. Morgan, supporting in-house enterprise RCP developers. He has also helped develop, document, support and deliver training for an in-house build of Eclipse RCP called OneBench--which won the Eclipse Community Award for RCP applications and tools in 2008.
Before that, David took part in the successful delivery of an enterprise, mission-critical, distributed Eclipse RCP application containing more than four million lines of code (including unit tests) at time of delivery. Today that application processes more than 2/3 of that client's orders and consists of more than five million lines of code (including unit tests).
In addition, David was a co-founder of the Eclipse Data Binding framework, and led Visual Editor Project during its first few years.
Patrick Paulin is a software developer and trainer specializing in modular technologies such as OSGi and the Eclipse Rich Client Platform. Patrick lives in Madison, Wisconsin with his wife and two daughters.