Skip to content
Eric Berryman edited this page Jun 20, 2013 · 7 revisions

Eclipse And CSS

Eclipse is a Java-based framework for creating applications.

At its core is the extensible OSGi plug-in system. Application code is split into modular bundles called Plug-Ins. The Eclipse runtime loads required plug-ins and their dependencies. Plug-ins can describe software interfaces as Extension Points, and other plug-ins then register their implementation of these interfaces in the Eclipse Registry, allowing loose coupling of software components.

The Eclipse Rich Client Platform (RCP) provides an extensive user interface framework based on extension points. While this was originally developed for the Eclipse Java IDE, RCP can be used independently from the IDE to create applications like CSS.

An Eclipse Product combines the plug-ins that you want to use at your site with site-specific settings for access to network, database etc. You add a 'Welcome' screen that guides users through their initial steps, and the result is then a homogeneous application that your users can for example download from a web page.

Books, Online Sources

When looking for Books on Eclipse, note that you probably don't need books on the Eclipse IDE, since those are for general Java programming. Instead, look for books on RCP, SWT, JFace, Plug-ins, OSGi, for example:

  • "eclipse Plug-ins, Third Edition" by Eric Clayberg, Dan Rubel (Addison-Wesley Professional) is an update to "Eclipse: Building Commercial-Quality Plug-ins", which used to be the book on Eclipse, Plug-ins, RCP.
  • "Eclipse Rich Client Platform (2nd Edition)" as well as "OSGIi and Equinox", both by Jeff McAffer, Jean-Michel Lemieuxr, Chris Aniszczyk (Addison-Wesley Professional) seem to cover relevant topics as well

With Eclipse evolving at a rapid pace, all books quickly become obsolete. The online help of the Eclipse RCP IDE and a google search are often the fastest way to get specific information.

Introduction to Eclipse/CSS Development

While Eclipse allows you to build arbitrary applications, CSS provides plug-ins that help with control system tasks like accessing live or historic data, handling user permissions or sending information to a log book. For help, refer to

This CSS 'Guide' steps through installing CSS with an Alarm and Archive system (as used by SNS), starting from fetching the source code, importing it into Eclipse and so on:

These slides from the Spring 2010 EPICS Collaboration Meeting hosted by ITER at Aix-en-Provence, France show

  1. Basic test-driven Java development in the Eclipse IDE,
  2. Bundling of code into Plug-ins, creating a simplistic IOC where the Eclipse Registry provides the "glue" between APIs for Records and Links and the actual implementations
  3. Building a minimal "Probe" type UI for CSS

More CSS Training slides:

Clone this wiki locally