Eclipse Ganymede at a glance

Learn what is aboard the 24-project release train

The Eclipse Ganymede release of 24 projects showcases the diversity and innovation going on inside the Eclipse ecosystem. Get an overview of several Ganymede projects, along with resources to find out more information.

Share:

Chris Aniszczyk (zx@code9.com), Principal Consultant, Code 9

Chris AniszczykChris Aniszczyk is the technical lead for the Eclipse Plug-in Development Environment (PDE) project and principal consultant at Code 9. He tends to be all over the place inside the Eclipse community by committing on various Eclipse projects. He sits on the Eclipse Architecture Council, the Eclipse Foundation Board of Directors and on the Eclipse Technology PMC. His passions are blogging, software advocacy, tooling, and anything Eclipse. He's always available to discuss open source or Eclipse over a frosty beverage.



20 June 2008

Also available in Japanese Vietnamese

Simply put, Ganymede is the simultaneous release of 24 major Eclipse projects.

The important thing to remember about Ganymede and Eclipse release trains in general is that even though it's a simultaneous release, it doesn't mean these projects are unified. Each project remains a separate open source project, operating with its own project leadership, its own committers, and its own development plan. In the end, Ganymede is about improving the productivity of developers working on top of Eclipse projects by providing a more transparent and predictable development cycle.

Getting Ganymede

Before we get into the details about the various projects, let's complete a quick hands-on exercise to install Ganymede on your machine.

There are two main ways to get Ganymede and that depends on your preference. The first — and recommended — way is to just grab a package relevant to you. The other way to get Ganymede is to use an update site.

Ganymede packages

The recommended way to get Ganymede is to head over to the Eclipse Ganymede Packages site. The packages site contains pre-bundled versions of Ganymede specific for your usage needs.

Figure 1. Ganymede packages
Ganymede packages

Usage data collector

Each Ganymede package includes the Usage Data Collector (UDC). The UDC collects information about how individuals are using Eclipse. This information is periodically uploaded to servers hosted by the Eclipse Foundation. The intent is to use this data to help committers and organizations better understand how developers are using Eclipse. Note, this is off by default and is an opt-in feature. Review the terms of use if you're interested. In the end, this data can help Eclipse committers do things like optimize their project user interfaces, amongst other things, based on behavioral data.

For example, if you're a Java™ developer, you'd want to grab the package for Java developers. If you're a C/C++ person, grab the C/C++ package, etc.

Ganymede update site

To get Ganymede using an update site, download the Eclipse V3.4 SDK. Once this is done, you can launch Eclipse and access the software-update mechanism via Help > Software Updates (see Figure 1). Enter the proper Ganymede update site information if it isn't already available as the Ganymede Discovery Site. Once you are connected to the Ganymede update site, you should see the list of available features that are part of the Ganymede release train. It's as simple as that. Once you're connected, you can simply choose what features to install into your Eclipse.

Figure 2. Software updates
Software updates

With these two simple methods, you are primed to take full advantage of the Ganymede release.


The projects

The Eclipse ecosystem is a large and sometimes intimidating place. There are more than 90 projects being developed at Eclipse, and the Ganymede release only represents a snapshot of that. The Ganymede release train is there to showcase Eclipse technology and also help adopters integrate Eclipse technology into their products. For more information about the Ganymede projects, see the links below. Otherwise, continue to the next section to see the Ganymede showcase.

Table 1. Ganymede release train projects
ProjectSynopsisWeb site
Business Intelligence and Reporting Tools (BIRT)Generate reportshttp://www.eclipse.org/birt
BuckminsterSimplify deploymenthttp://www.eclipse.org/buckminster
C/C++ Development Tools (CDT)Code C/C++http://www.eclipse.org/cdt
Dynamic Languages Toolkit (DLTK)Code Perl and Rubyhttp://www.eclipse.org/dltk
Device Software Development Platform — Device Debugging (DSDP-DD)Debug embedded deviceshttp://www.eclipse.org/dsdp/dd
Device Software Development Platform — Native Application Builder (DSDP-NAB)Build device GUIshttp://www.eclipse.org/dsdp/nab
Device Software Development Platform — Target Management (DSDP-TM)Remote explorer (SSH)http://www.eclipse.org/dsdp/tm
Eclipse Data Tools Platform (DTP)Manage data-centric systemshttp://www.eclipse.org/datatools/
Eclipse Communications Framework (ECF)Chat inside Eclipsehttp://www.eclipse.org/ecf
Eclipse ProjectTools to build Eclipse, including Platform, JDT, PDE, and Equinox http://www.eclipse.org/eclipse
Eclipse Modeling Framework (EMF)Develop modelshttp://www.eclipse.org/emf
Eclipse Modeling Framework Technologies (EMFT)Utilities to aid model developmenthttp://www.eclipse.org/emft
Eclipse Packaging Project (EPP)Build installershttp://www.eclipse.org/epp
Graphical Editing Framework (GEF)Develop graphical applicationshttp://www.eclipse.org/gef
Graphical Modeling Framework (GMF)Develop graphical editorshttp://www.eclipse.org/gmf
Model Development Tools (MDT)Utilities to aid model developmenthttp://www.eclipse.org/mdt
M2MA framework for model-to-model transformation languageshttp://www.eclipse.org/m2m/
Model To Text (M2T)Utilities to aid model developmenthttp://www.eclipse.org/m2t
MylynFocus your development based on taskshttp://www.eclipse.org/mylyn
Rich Ajax Platform (RAP)Develop Eclipse-based Web 2.0 applicationshttp://www.eclipse.org/rap
SOA Tools Platform (STP)Tools for SOAhttp://www.eclipse.org/stp
SubversiveSubversion supporthttp://www.eclipse.org/subversive
Test and Performance Tools Platform (TPTP)Profilerhttp://www.eclipse.org/tptp
Web Tools Platform (WTP)Code Web-based applicationshttp://www.eclipse.org/webtools

The showcase

Become a Friend of Eclipse

Do you want to get faster access to the Ganymede release? Did you ever want to give back to Eclipse but didn't know how? Well, Eclipse has a new program called "Become a Friend of Eclipse," which allows you to give back to the Eclipse community. By becoming a friend of Eclipse, you help the Eclipse Foundation provide services for the Eclipse community, such as providing more bandwidth for users and committers, purchasing additional servers to host Eclipse projects, and sponsoring Eclipse community events.

The Eclipse Project (SDK)

The Eclipse Project, commonly referred to as the Eclipse SDK, resides at the heart of Eclipse. The project consists of four subprojects: Platform, Plug-in Development Environment (PDE), Java Development Tools (JDT), and Equinox. The Platform project contains the set of common and core services needed to build Eclipse-based applications. PDE simply contains the plug-in development tools developers use in Eclipse to build plug-ins. The JDT represents the collection of the Java development tooling at Eclipse. And finally, Equinox represents the core run-time of Eclipse that enables plug-ins to co-exist with each other happily.

What's new for Ganymede? Well, there are many new enhancements throughout the Eclipse project, but it would take up too much space to list them here. So for brevity, here are my three favorite enhancements, followed by a review of some of the highlights in Ganymede.

The first enhancement I like comes from the Java Development Tools (JDT). As you may know, the world of computing is changing, and we are seeing machines that consist of many cores (multicore). The JDT added multicore support in V3.4 to make sure Eclipse would be as fast as possible when it comes to compiling Java code in the future.

In plug-in development, my favorite new feature is the Plug-in Spy. The Plug-in Spy allows you to introspect Eclipse by simply selecting something interesting and pressing Alt+Shift+F1. Once you do that, the Plug-in Spy will present a pop-up that contains information like the current selection class and what plug-in it comes from. This information is useful to plug-in developers looking to integrate their plug-ins into the Eclipse user interface.

Finally, the Equinox project released a feature known as p2 provisioning. p2 replaces the old update manager as a mechanism for managing a Eclipse installation, searching for updates and installing new functionality. p2 solves many of the problems people had when updating and searching for plug-ins.

Business Intelligence and Reporting Tools (BIRT)

The BIRT project strives to bring an Eclipse-based reporting system that integrates with your applications to produce compelling reports. BIRT provides core reporting features, such as a graphical report designer, data access, and scripting support.

"With the Ganymede release of BIRT V2.3, many new features are available to help in creating and testing report designs," said Jason Weathersby, BIRT evangelist and Actuate employee. "Most notable is a new JavaScript debugger, which allows debugging BIRT event handlers within the debug perspective. In addition, the JavaScript editor has been improved, and general error reporting has been enhanced. BIRT V2.3 also adds a plethora of enhancements to the cross-tab and charting elements. Cross-tab elements now support scripting, multiple and derived measures, filter by dimension or measure, horizontal page breaks, and can present measure data as text or as a chart item. Charts can now be created directly from a table or cross tab, by making use of the new multiview report item feature."

And in addition to consuming data from data sets, charts can now use data from an existing report item or a data cube. Another feature of note is the inclusion of the Data Tools Platform SQL Query Builder prototype, which allows queries to be built graphically.

Figure 3. BIRT screenshot
BIRT screenshot

C/C++ Development Tools (CDT)

The CDT project aims to bring a fully functional C/C++ development environment to the Eclipse ecosystem, similar to what the JDT did for Java development.

"The CDT continues to gain momentum as a leading C/C++ IDE for technical and embedded software development. It is now packaged in all major Linux® distributions and has an almost universal adoption by embedded platform vendors. The CDT user and contributor community remain strong as the technology backing the CDT's advanced feature set reaches a new level of maturity," said Doug Schaefer, CDT project lead and recently a Wind River Systems employee.

"The focus on CDT V5.0 has been mainly on improving the features that were added in the last few releases. The CDT's source indexer can now track macros and its support for templates and other C++ features continues to improve. This enables editor features such as content assist and open declaration to find even more information that has been possible in previous releases," Schaefer said.

Schaefer said CDT V5.0 also introduces a new refactoring framework and a number of new refactorings to complement CDT's rename refactoring. This is a really exciting new area for us that shows the power of CDT's built-in parsers and editor framework and leverages much the same technology that has provided JDT with such rich refactoring features. Along with new file-level code templates, and Visual Studio key bindings, the CDT is becoming an attractive alternative to even the most popular C/C++ IDEs.

Figure 4. CDT screenshot
CDT screenshot

Dynamic Language ToolKit (DLTK)

DLTK is a tool for anyone who relies on dynamic languages like Ruby and Perl. DLTK comprises a set of extensible frameworks designed to reduce the complexity of building full-featured development environments for dynamic languages like PHP, Perl, and Ruby. Furthermore, besides being a set of frameworks, DLTK provides exemplary Tcl, Ruby, and Python development environments ready to use out of the box.

"For the Ganymede release, the DLTK improved TCL and Ruby IDEs with a set of features you may find in Java Development Tools," said Andrei Sobolev, DLTK project co-lead and Xored employee. "Starting from code editor with code assistance and code outline, class browser and code navigation features like Open Type and Go to declaration, powerful search features like find references up to interactive console and integrated debugger, these features bring Ganymede a powerful development environment for Ruby and TCL programming languages. With Ganymede, DLTK delivers support for various TCL object-oriented extensions, ability to work on the projects, which are hosted on remote devices (with help of DSDP-TM Project), and provide Mylyn integration for all DLTK-based IDEs."

Figure 5. DLTK screenshot
DLTK screenshot

DSDP Target Management (DSDP-TM)

The DSDP-TM project creates data models and frameworks to configure and manage remote systems, their connections, and their services. As a developer, imagine being able to SSH into distant machines and be able to edit your files on machines using Eclipse tooling.

"The DSDP Target Management Project has been focused on internal API Review, Cleanup, Refactoring, and Performance improvements for the Ganymede release, but there's still some exciting news," said Martin Oberhuber, TM lead, and Wind River Systems employee. "The Remote System Explorer (RSE) now has Windows® CE connection support, allowing transparent browsing and editing of files on the CE device. The lightweight ANSI Terminal emulation is now also available integrated with RSE, providing better support for interactive remote programs on SSH connections. Configurable User Actions and Compile Commands now allow defining simple UI shortcuts for common operations. Connections, filters and user actions can now be shared with others through an import/export facility."

"With these new features," Oberhuber said, "Target Management/RSE gives easy access to remote systems and extends the capabilities of other Eclipse plug-ins. In addition to the Ganymede train, the new TM V3.0 release still runs on last year's Eclipse V3.3 release, so upgrading from TM V2.0 is easy. With Ganymede, the Eclipse IDE for Java EE package already includes RSE in its initial download."

Figure 6. TM screenshot
TM screenshot

Eclipse Communications Framework (ECF)

The ECF project consists of a framework for supporting the development of distributed Eclipse-based tools and applications. It can be used to create other plug-ins, tools or full Eclipse RCP applications that require communications support. Furthermore, ECF also ships with example applications that let you chat with your friends inside Eclipse (via XMPP/GTalk, MSN, etc.), send files, share editors, and more.

Scott Lewis, ECF project lead said, "We think people will be very excited by ECF V2.0.0 for the Ganymede release. It has new user features like real-time shared editing, screenshot sharing, and dynamic service discovery, as well as new APIs like remote OSGi services."

Figure 7. ECF screenshot
ECF screenshot

Mylyn

Mylyn is a task-focused UI that reduces information overload and makes multitasking easy. It does this by making tasks a first-class part of Eclipse and integrating rich and offline editing for repositories, such as Bugzilla, Trac, and JIRA. Once your tasks are integrated, Mylyn monitors your work activity to identify information relevant to the task at hand and uses this task context to focus the Eclipse UI on the interesting information, hide the uninteresting, and automatically find what's related. I highly recommend this MyLyn V2.2 webinar for a visual example of what Mylyn can do for you.

"Mylyn 3.0 represents a big step in the maturity of the task-focused interface. The adoption rate of Mylyn has indicated that this is a technology whose time has come," said Mik Kersten, Mylyn lead and Tasktop Technologies chief technology officer. "Since the V2.0 release with Europa last year, we have resolved 1,500 bugs and enhancement requests, and applied around 250 patches from the contributor community." .

"What users will notice," Kersten said, "is across-the-board streamlining of the UI and new features ranging from content assist for tasks to focus for the Breakpoints view. Performance has been improved across the board, task open and activation is much faster, and you should notice no appreciable performance or memory overhead coming from Mylyn in spite of all the automation it provides. But the biggest thing coming with V3.0 is a revamp of core APIs to incorporate the feedback from the rapidly growing ecosystem of Mylyn integrations. There are numerous new extensions building on Mylyn, ranging from C++ and AspectJ language support to a dozen new task-repository connectors to commercial suites built on the task-focused interface, such as the SpringSource Tool Suite and Tasktop."

Figure 8. Mylyn screenshot
Mylyn screenshot

Rich Ajax Platform (RAP)

Reusing RCP code

If you're interested in this concept of code reuse among desktop and browser, I recommend checking out the Eclipse Business Expenses Reporting Tool (EBERT) example. The EBERT example reuses about 90 percent of Eclipse code on the desktop, browser and embedded device.

The RAP project enables developers to build rich Ajax-enabled Web applications by using the Eclipse development model. This means you're developing plug-ins with the well-known Eclipse workbench extension points and reusing SWT/JFace APIs. The coolest thing about the RAP project is that it allows you to reuse code from your RCP applications if things are structured correctly. This allows you to create a stand-alone and Web-based application that share a lot of common code. To get an idea of what you can do with RAP, check out the RAP demos.

"RAP adds a new runtime technology to Ganymede, expanding the reach of RCP/Equinox to the Web,"said Jochen Krause, RAP lead, and Innoopract employee. "With its strong tie into the existing platform, it does not only leverage the established technology but also enables adopters of Eclipse to leverage their investments and reach the Web 2.0 much more easily."

Figure 9. RAP/RCP screenshot
RAP/RCP screenshot

Contest

The Eclipse Foundation is holding the Ganymede Around the World Contest and wants to hear how you're using the Eclipse projects in the Ganymede release. Write a blog post, create a screencast/video, or record a podcast telling the world what's great or what you dislike about Ganymede. If you do this, the Eclipse Foundation will send you an Eclipse shirt. On top of getting a shirt, the top three reviews will win an Eclipse jacket, and the best entry will win the choice of a pass to EclipseCon 2009 or Eclipse Summit Europe 2008.

Figure 10. Ganymede contest screenshot
Ganymede contest screenshot

Conclusion

On the whole, the goal of this article was to take you through the Ganymede release train and showcase some of the projects that are part of the release. I accomplished this by giving a tour of some Ganymede projects, including quotes and screenshots from project leaders along the way.

So what are you waiting for? Get on the Eclipse release train and give Ganymede a try.

Resources

Learn

  • The starting place for the latest version of Eclipse is the Ganymede release train.
  • Interested in what's happening inside the Eclipse community? Check out PlanetEclipse.
  • Want to add functions to your copy of Eclipse? Browse the available Eclipse plug-ins at Eclipse Plug-in Central.
  • For webinars featuring various Eclipse technologies, visit EclipseLive.
  • Want to meet Eclipse committers and learn more about Eclipse projects? Attend EclipseCon, Eclipse's premiere conference.
  • Check out the "Recommended Eclipse reading list."
  • Browse all the Eclipse content on developerWorks.
  • New to Eclipse? Read the developerWorks article "Get started with Eclipse Platform" to learn its origin and architecture, and how to extend Eclipse with plug-ins.
  • Expand your Eclipse skills by checking out IBM developerWorks' Eclipse project resources.
  • To listen to interesting interviews and discussions for software developers, check out developerWorks podcasts.
  • Stay current with developerWorks' Technical events and webcasts.
  • Watch and learn about IBM and open source technologies and product functions with the no-cost developerWorks On demand demos.
  • Check out upcoming conferences, trade shows, webcasts, and other Events around the world that are of interest to IBM open source developers.
  • Visit the developerWorks Open source zone for extensive how-to information, tools, and project updates to help you develop with open source technologies and use them with IBM's products.

Get products and technologies

Discuss

  • The Eclipse Platform newsgroups should be your first stop to discuss questions regarding Eclipse. (Selecting this will launch your default Usenet news reader application and open eclipse.platform.)
  • The Eclipse newsgroups has many resources for people interested in using and extending Eclipse.
  • Participate in developerWorks blogs and get involved in the developerWorks community.

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Open source on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source
ArticleID=314752
ArticleTitle=Eclipse Ganymede at a glance
publish-date=06202008