Galileo is the simultaneous release of 33 major Eclipse projects. The Eclipse Foundation states that the Galileo release train consists of 33 projects. However, some are subprojects that are rolled up into projects, and not all projects are highlighted in the Eclipse Foundation's marketing push. Regardless, Galileo represents the largest single release of new technology to date.
The important thing to remember about Galileo in particular 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 is a separate open source project, operating with its own project leadership, its own committers, and its own development plan. The release train concept is designed to provide a transparent and predictable development cycle.
There are two main ways to get Galileo. The first — and recommended — way is to just grab a package relevant to you. The other way to get Galileo is to use an update site.
Go to the Eclipse Galileo Packages site. The packages site contains nine pre-bundled versions of Galileo specific for your needs.
Figure 1. Galileo packages
To get Galileo using an update site, download the Eclipse V3.5 SDK. Once this is done, you can launch Eclipse and access the software-update mechanism via Help > Software Updates (see Figure 2). Enter the proper Galileo update site information, if it isn't already available as the Galileo Discovery Site. Once you are connected to the Galileo update site, you should see the list of available features that are part of the Galileo 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
The Eclipse ecosystem is a large and sometimes intimidating place. About 100 projects are being overseen by the Eclipse Foundation, and the Galileo release only represents a snapshot of that. The Galileo release train showcases Eclipse technology and helps adopters integrate Eclipse technology into their products. For more information about the Galileo projects, see the links below.
Table 1. Galileo release train projects
"The ACTF V0.7 supports the Eclipse Galileo release as a first-class development environment for accessible Web applications, not just for legislative compliance (as for U.S. Section 508) but also for everyone's usability," according to Chieko Asakawa, ACTF project leader.
"ACTF extends the Web, J2EE, and PHP perspectives with seamless accessibility evaluation features, such as automatic error detection, visualization of usability for voice access users, and image processing-based simulation of the views of low-vision people. These features help developers in quickly recognizing, learning about, and improving the accessibility of their applications," Asakawa said.
"This integration is just a first step. Our ultimate goal is to make any artifact generated with or developed on the Eclipse IDE accessible for everyone."
According to Doug Schaefer, CDT project leader, the Debug Services Framework has completed its move to CDT and is a new component of CDT. It includes new heuristics to help indexer find header files in projects, and has added index support for implicit references and overloaded operators.
The improved Convert to C/C++ Project factors in project types — for example Makefiles. The update to CDT has new Launch Group configuration for launching multiple sessions at once. Schaefer indicated CDT now contains new features for embedded development, remote launch based on RSE, GCC cross-compiler build support, and, finally, p2 support for installing tar files for C/C++ SDKs.
"With our Galileo (V1.7) release, DTP focused in a couple of main areas, said Brian Fitzpatrick, project lead. "One was to add and enhance some of our visual tools, such as the SQL Query Builder (SQB). Several simple usability enhancements were done to make it easier to use. We also added a new framework for Schema Object editors that we hope will become more widely adopted in future releases. For this go round, we provided some exemplary Schema Object editors for Sybase ASA, and hopefully other vendors and members of the community will see the benefit of an editor framework for creating and modifying tables, indexes, stored procedures, and so on," Fitzpatrick said.
"The other area we beefed up was the Connectivity API. Essentially, we now provide mechanisms for the simplified creation and use of API-only connections to databases or other connection types. This was critical for some of our main adopters, such as BIRT, where they're using DTP functionality under the covers with report generation and wanted to shield their users from having to leave their environment to create and manage connections. Now they can use the APIs with properties they already control to generate connections, use the SQB, and much more," Fitzpatrick said.
"Overall, I think we increased the stability of our components and APIs while providing additional capabilities to adopters and extenders as we've been doing since DTP began in 2006," he said.
The Modeling project comprises many subprojects. EMF itself consists of a Core component, as well as components including Teneo, and CDO.
According to Ed Merks, project lead, "In the overall modeling picture, three of the most interesting and promising technological advancements are in Xtext, which is a subproject of the Textual Modeling Framework (TMF) project and is new to Galileo; CDO Model Repository, which is a subproject of the EMF project and has made huge improvements and generated a great deal of new interest since the last release; and Teneo, which is now providing integration with EclipseLink."
"We will also be releasing Acceleo, a new OMG standard templating language that's part of the Model to Text (M2) project. And GMF continues to make technological advancements," Merks said. "In terms of EMF Core itself, the subproject I directly lead, the improved support for data binding, spearheaded by our latest new committer, Tom Schindl, is certainly worth of note. The focus on a reduced footprint implementation of EObject is also noteworthy, with some clients using it to achieve more than 60-percent reduction in footprint."
Connected Data Objects (CDO)
Elke Stepper, Connected Data Objects (CDO) project lead, described CDO as a framework for distributed shared EMF models focused on scalability, transactionality, and persistence.
The CDO Model Repository generated a great deal of new interest since the previous release and attracted major adopters, including NASA and the Canadian Space Agency and Department of Defense. The team grew to eight committers and implemented 130 enhancements. Among them are distributed transactions, pessimistic locking and save points, as well as a virtual file system for EMF resources with import/export wizards, change-subscription policies, an asynchronous query framework, and security hooks in the repository. The characteristics have been further improved through features like partial collection loading, model usage analysis and adaptive prefetching," Stepper said.
"With Galileo, Eclipse databinding introduces the so-called Properties-API, which provides many new features to adopters of the framework, including direct support for nested properties at for domain objects and widgets, including tables and trees," said Tom Schindl, project lead. Also included are "decoupling of the observable creation and the definition of which property is observed, improved table/tree support, easier setup, different object types in one widget, and easier creation of custom observables," Schindl said.
EMF V2.5 provides first-class support for adopters of Eclipse databinding who have chosen Ecore as their domain model technology and the ecosystem around it, including CDO, Teneo, and EMF-Edit, Schindl said.
"With Galileo, EMF Compare goes to V1.0, you're able to diff and merge your models in a teamwork environment. It's tightly integrated with the Eclipse Team API and works nicely with CVS, SVN or GIT team providers," Cedric Brun, project lead, said.
"The 'Model To Text' project brings nice components, too, thanks to the Acceleo project," Brun said. "This provides an MTL (MOF Template Language) implementation. You can now stop worrying about all your code generation templates and write standard ones. Moreover, the tooling is complete providing you code completion, debugging facility, generation preview, which makes it easy to leverage your models to generate code," he said.
"In the 'Model-to-Model transformation' area," Brun said, "the ATL tooling has been improved a lot, providing better user interfaces and debugging assistance."
"In the Galileo V3.5 release, Teneo adds an EMF-EclipseLink integration consisting of two parts: generation of standard JPA orm XML files on the basis of ecore model and a runtime layer for integrating standard EMF concepts with EclipseLink," Martin Taal, project lead, said. "Other improvements in Galileo V3.5 are increased support for Hibernate-specific persistence annotations and full support for standard JPA annotations."
"Xtext is a framework for development of textual domain-specific languages (DSLs), said Sven Efftinge," Xtext project lead. "Just describe your very own DSL using Xtext's simple EBNF grammar language, and the generator will create a parser, an AST-meta model (implemented in EMF), as well as a full-featured Eclipse text editor from that."
"The Framework integrates with technology from Eclipse Modeling, such as EMF, GMF, M2T, and parts of EMFT. Development with Xtext is optimized for short turn-arounds, so that adding new features to an existing DSL is a matter of minutes. More sophisticated programming languages can be implemented," Efftinge said.
"What most people don't know is the fact that the Eclipse Packaging Project (EPP) creates all those packages that are downloaded by thousands of users from the main Eclipse download page every day," said Markus Knauer, project lead. “With Galileo, we provide updated versions of all packages plus two new and very exciting ones that are interesting for many developers: The new Pulsar package can be used to develop applications for mobile devices that we are all using day by day, such as mobile phones; the other new package is created for PHP developers, and I am already sure that it will be one of the most downloaded packages,” he said.
"But the main change this year was the switch to a completely new build infrastructure. We are now building all packages with the help of the p2 technology. This not only makes the packages fully p2 compliant it also gives us more flexibility to customize the packages."
"The most exciting thing for me in Eclipse Galileo is the SWT port to Mac Cocoa," said Steve Northover, project lead. “Cocoa is the future of the user interface on the Macintosh and Eclipse will be there. The port came together quicky with help from the community, Adobe and IBM®,” Northover said.
"The Galileo release of Equinox is quite exciting for us," said Jeff McAffer, project lead. "We have implemented the latest OSGi spec, which includes many enhancements to increase the power of OSGi in a broader range of real-world scenarios, including distributed and enterprise systems. The Equinox OSGi Declaratives Services implementation has been updated to the latest spec and fully tooled by PDE and is now included in the standard Eclipse downloads," McAffer said.
"p2, our provisioning platform, has undergone major improvements in robustness, performance and flexibility. We are seeing a major upswing in the use of p2 for delivering sophisticated software solutions. While technically not part of Galileo, the Equinox Aspects project is graduating and is being adopted by a number of projects including the AOP community itself. More generally, EclipseRT, the use of Eclipse in the runtime environment is really coming to the fore with many projects supplying runtime-specific function in Galileo," McAffer said.
"In addition to a number of bug fixes and performance improvements made to the runtime component, a significant change was made to the generation tooling this release," said Richard Gronback, project lead. "Specifically, our version of the Xpand code generator was refactored to use Object Constraint Language (OCL) and QVT Operational Mapping Language (OML), instead of the Xtend and underlying expression language originally found in Xpand. This improves our model-to-text transformation capabilities, and complements the addition of QVT as an option to transform between our mapping and generator models, which was formerly done in Java code," he said.
"Java Workflow Tooling (JWT) brings open business process design and development to the Eclipse platform,” said Florian Lautenbacher, project lead. “Business Process Management (BPM) is at the crossroads of business, middleware, and integration, so it really shouldn't lock up the options of its actors. That's why JWT-modeled processes can look the way the analyst wants, hold any implementation information the developer adds in, and be deployed to the runtime platform of choice.
"This is possible, thanks to a flexible framework allowing extensible views, model and transformations, that communities and vendors can build on. JWT comes with several built-in extensions like UML Activity Diagram or Event-driven Process Chains (EPC) views, BPMN interoperability, code generation (e.g., XPDL, or WSBPEL-code in the AgilPro integration, but also HTML documentation). There are actually already a few solutions that integrate JWT, such as the SOA-focused Scarbo of the OW2 consortium, or AgilPro in SourceForge," Lautenbacher said.
For Galileo, the focus has been to add compatibility with common business process runtimes like Bonita, and to integrate service-oriented features in collaboration with projects of the SOA Tools Platform (STP), especially BPMN, SCA and IM, Lautenbacher said.
"The compiler offers several new diagnostics (finding dead code, for example), and each reported problem comes with corresponding quick fixes to get rid of the problem, said Dani Megert, project lead.
"The Java editor now offers constructor completion and allows to directly jump to implementations of a method. The formatter can now preserve existing line breaks and finally, the Java compare editor surfaces many features that are available in the normal Java editor — for example, content assist," Megert said.
JET2 is a template engine for the Eclipse environment.
"In Galileo, a major focus has been on template readability," said Paul Elder, project lead. "Fundamentally, a template is static text mixed with markup that customizes that text. With a good template, you can quickly get a sense of the text structure and how the markup effects it. Add too much markup, though, and a template can become nearly indecipherable."
"In Galileo, JET2 introduces a number of innovations to make markup less intrusive," Elder said. "First, markup can now be considerably more compact. Second, new markup that succinctly describes common generation patterns has been introduced. My personal favorite, the new c:deepIterate tag, falls into this latter category. It allows you to succinctly describe text generated from nested or recursive data. In previous releases, this required two templates, recursive templates and considerably more markup — not a recipe for readability."
"Galileo is the first synchronous release train that the Memory Analyzer has boarded,” Andreas Buchen, project lead, said.
"It feels great!" Buchen said. "We have some new feature in our luggage. First of all, support for heap dumps from the IBM family of Virtual Machines which includes PHD and system dumps. Other enhancements include stack traces for the threads running at the time the heap dump was taken, an Equinox bundle browser that lets you see the full state of the OSGi runtime, and little things like recreating and displaying SWT icons from the dump."
This is the first time that the MTJ Project is released as part of the Eclipse train. Christian Kurzke, project lead, said, "During the last year, we merged the two Eclipse projects targeting mobile developers (EclipseME and MTJ ) into one joint development: the 'new' Eclipse MTJ.
"As part of the Galileo release, we also created a Pre-Integrated Eclipse download package (called Pulsar Package), which targets Mobile Application Developers. The MTJ Project also has graduated to version 1.0 with the Galileo train. The main objective of this release was to define a MTJ API. This API enables any third-party tools developers to extend MTJ to support their own platforms and also to support SDK-specific features."
"One of the most exciting things shipping in Mylyn V3.2 is our new App Store like UI for finding and installing Mylyn Connectors. With this release, Mylyn supports most of the change-management solutions popular with Eclipse users, and installing those integrations into your workspace only takes a few clicks," said Mik Kersten, Mylyn project lead and CEO of Tasktop Technologies.
"For day-to-day work, my favorite improvement is the new task editor layout. It makes it possible to read through and triage tasks as fast or faster than scanning e-mail," Kersten said.
"Eclipse PHP Development Tools (PDT) provides a development environment, based on the Eclipse platform for developing PHP scripts. "This project encompasses the required development components for developing PHP and facilitates extensibility. Eclipse PDT has become the de-facto standard for PHP development these days," said Roy Ganor, project lead.
"Web developers that adhere to today's Web standards are probably the biggest audience for Eclipse PDT," Ganor said. "Team leaders and product managers also find it useful for prototyping their next-generation products using Eclipse and PHP.
"The power of open source projects is exposed when they adhere to industry standards. This is exactly why Eclipse PDT has decided to join the Galileo release train, as it provides an accepted framework which enables projects to commit to a certain level of quality and maturity. In addition, we see a great difference in the publicity and visibility of Eclipse PDT this time. I can't wait for next release to come!"
Eclipse PDT started as an initiative by Zend Technologies and IBM about three years ago. "We predicted that PHP developers would benefit from Eclipse and the Eclipse ecosystem, especially when working in a team and while practicing agile development methodologies," Ganor said.
There are two new big announcements around PDT V2.1 that will surprise people, he said. "The first one is that this is the first release of Eclipse PHP flavor, the Eclipse PHP flavor is based on top of the Eclipse platform and the Eclipse PDT projects. If people were used to download a Java flavor of Eclipse and add the PHP capabilities in the past, now they will be able to download a PHP-unique package directly from Eclipse main download site. The second announcement is around the PHP 5.3. After couple of years of development, the PHP team will release the next generation of the PHP engine with many new language feature, such as namespaces and closures. And the good news is that Eclipse PDT supports these new features." This demonstrates the tight relations between these two communities, he said.
"The Eclipse PDT team should always strive for better quality and support standards," Ganor said. Hence, we are going to focus on stability and usability in the next maintenance versions. We also have plans to open up more and more extensions for PHP framework teams around the world to be able to leverage PDT as the target environment for their developers."
RAP V1.2 makes it easier to single-source desktop and Web applications with RCP and RAP. "We put a focus on providing popular APIs in RAP and have been working with a couple of other Eclipse projects to start single-sourcing code," said Jochen Krause, project lead. "As an example, for the Eclipse memory analyzer the code reuse rate between RCP and RAP amounts to 98.4 percent. Webcasts and guidelines for how to organize single sourced projects show you how you can effectively add a Web UI to your RCP app.
"A new out-of-the-box Web-style look and feel and new usability features make RAP applications more attractive to end users. Performance improvements on client- and server-side help to make RAP apps faster and to scale to hundreds of users per server."
The SCA Tools project has seen an enormous amount of new development since the 2008 Ganymede release, said Stephane Drapeau, project lead. "We've added an XML editor to make editing and updating SCA-standard assembly files really easy. For Java developers, it's now possibly to create an SCA assembly definition and then generate Java code from it. And, if you want to start with some Java you already have, we've added a special introspector that will investigate your code and automatically produce an SCA assembly. Once you've created your Java SCA project, you can then run and debug it using the great facilities that Eclipse provides. We also have made sure that the SCA artifacts you might create are properly validated, helping you spot mistakes early in the process. We even took the time to update the graphics, giving us a prettier SCA Composite Designer," Drapeau said.
"For me, the most exciting feature is how we've developed the core SCA model to be extensible by people who want to write in extra capabilities into the tools. The heart of the model contains the SCA standard specifications, and different extensions have been created to support the key Open Source SCA runtimes — Apache Tuscany V1.4 and Frascati V0.5. Using the extension mechanisms, it is much more straightforward to add new concepts to SCA and extend the tools to include them," Drapeau said.
"The Galileo release sees a maturing of the SOA Tools Project — subprojects like the BPMN Modeler and SCA Tools are now built out to a very high degree of quality and form serious contributions to the type of tools that SOA developers will use," Oisin Hurley, project lead, said.
"The SCA Tools subproject has made considerable advances on last year and has complete a major version update to 2.0. Extensions to the Policy Editor now mean that developers struggling to produce WS-Policy documents can have the option to create starting point declarations in a customizable manner, which can then be converted on the fly for validation. Our SOA Model continues to advance, with new transformations from the canonical model to SCA. Looking forward, there are some exciting things on the radar — we're looking to expand participation in the SOA Tools Project, and to introduce some new subprojects," Hurley said.
"Swordfish receives its premiere with the Galileo simultaneous release this year, so we’re really excited about it!" said Oliver Wolf, project lead.
"The goal of the Swordfish project is to provide an extensible SOA framework based on the proven Eclipse Equinox runtime technology," Wold said. "The framework is designed to be complemented by additional open source components, such as a service registry, a messaging system, a process engine, etc. to form a comprehensive open source SOA runtime environment based on both established and emerging open standards. With Galileo, we’re delivering our 0.9.0 release that also includes some tools to facilitate creating services in a code-first or WSDL-first approach."
“I am personally excited about the ability to compare/synchronize local and remote file systems, and the ability to work with multiple different connections to the same host. Both have been long-standing feature requests from our community,” said Martin Oberhuber, project lead.
But the new "Show in Remote Systems View" action is also handy, even if only working on local systems — since RSE allows easy browsing into TAR, TGZ, ZIP, and JAR archives that way, Oberhuber said. "People launching programs on remote systems will like the ability to perform arbitrary commands on the remote as part of a launch. This has been implemented for CDT programs, but can also be used for any other kind of remote application when a dummy CDT project is set,” he said.
The Galileo release of the Eclipse Test and Performance Tools Platform (TPTP V 4.6) has focused on refinement, improved stability and documentation over Ganymede, said Oliver Cole, project lead.
“For Galileo, and going forward with Helios," Cole said, "the goal of TPTP is to have zero defects. While this may sound dull, it is actually quite an interesting experiment. What does it mean to have a platform (such as TPTP) with zero defects? A platform with zero defects can be depended on, both by end users in the community and by consuming products. It has much more value than a platform with open bugs. Has a zero defect piece of software ever happened before?
"Zero bugs means that all the things that should get done for a 'great' product do get done. For example, bugs that identify poor documentation get fixed. Bugs that identify sloppy work flows get fixed. Bugs that address polish get fixed. The value inherently in the large amount of code that is TPTP becomes available because it works."
Specifically, an effort called Profiler of the Gods (POG) seeks to fix all profiler bugs to get a world class Java profiler in the hands of the community, he said.
"It's an exciting time for developers looking to bring their innovations to life, as mobile application development has taken the spotlight within the entire mobile industry," said Eric Cloninger, senior product manager at Motorola Inc. and the lead for the Eclipse Tools for mobile Linux® (TmL) project.
"As a part of the upcoming Galileo Simultaneous Release, we are making it easy for developers to create, debug and diagnose their apps on mobile phones and emulators. This common mobile-application development platform will enable developers to stay with one familiar development environment while creating mobile applications targeting multiple devices. Motorola is pleased to align itself with industry players to offer developers the right tools they need to bring their innovations to life," Cloninger said.
“The Web Tools Platform (WTP) was started a five years ago to extend Eclipse into the domain of Web applications. Since then, it has become the most popular Eclipse project, providing a very rich set of tools for Web application developers and a set of platform application programming interfaces (API) for tool vendors,” David Williams, project lead, said.
"Dali Java Persistence Tools has added a new and improved Entity Generation wizard that provides greater customization of entities before they are generated. Dali has also added advanced tooling support for EclipseLink JPA and broad support for mapping binary content from JARs, the project classpath, or plug-ins, greatly expanding the flexibility of the tooling," Williams said.
The goal of this article was to take you through the Galileo release train and showcase some of the projects that are part of the release. I accomplished this by giving a tour of some Galileo projects, including quotes from project leaders along the way.
So what are you waiting for? Get on the Eclipse release train and give Galileo a try.
Thanks to all the project leaders who contributed their knowledge and insight to this article, and to Chris Aniszczyk, author of many Eclipse articles on developerWorks, for his permission to use the format used in this article.
Learn more about the latest version of Eclipse on the
Galileo release train.
Interested in what's happening inside the Eclipse community? Check
New to Eclipse? Read the developerWorks article "Get started with the Eclipse Platform" to learn its origin and architecture, and how to extend Eclipse with plug-ins.
Check out the "Recommended Eclipse reading list."
Browse all the Eclipse content on developerWorks.
Follow developerWorks on Twitter.
New to Eclipse? Read the developerWorks article "Get started with the 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 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
Download Eclipse Platform and other projects from the Eclipse Foundation.
Check out the latest Eclipse technology downloads at IBM alphaWorks.
Download Eclipse Platform and other projects from the Eclipse Foundation.
IBM product evaluation versions
the online trials in the IBM SOA Sandbox and get your hands on application development tools and middleware products from
DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
Innovate your next open source development project with IBM trial software, available for download or on DVD.
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.
As the former editor of the developerWorks Open source zone, Cappel knows just how crazy it makes a zone editor to hand an article in 5 minutes after the deadline, and how many typos and grammatical errors are required before the zone's Web editor puts out a contract on the author's life. He hopes to live long enough to attend this year's Burning Man festival.