 | Level: Intermediate Chris Aniszczyk (zx@code9.com), Principal Consultant, Code 9
20 Jun 2008 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.
Simply put, Ganymede is the simultaneous release of 24 major Eclipse projects.
 |
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 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
 |
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
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
 |
The showcase
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
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
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
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
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
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
Rich Ajax Platform (RAP)
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
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
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.
About the author  | 
|  | Chris Aniszczyk is the technical lead for the Plug-in Development Environment (PDE) project at Eclipse and commits on various other Eclipse projects. He represents the Eclipse committers on the Eclipse Foundation's board of directors and sits on the Eclipse Architecture Council. His passions are blogging, software advocacy, tooling, and anything Eclipse. He's always available to discuss open source or Eclipse over a frosty beverage. |
Rate this page
|  |