Donnerstag, 24. Mai 2012


Artikel

Juni 2010 | Artikel

Eclipse Helios: Projekt-Kaleidoskop eines Sonnengottes

(Link zum Artikel: http://www.entwickler-magazin.de/jaxenter//003159)

Was der Eclipse-Helios-Release-Train zu bieten hat

Text: Hartmut Schlosser
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share
Zum fünften Mal jährt sich am Mittwoch, 23. Juni 2010 die Tradition der Eclipse Foundation, verschiedene Projekte, die von der Open-Source-Plattform Eclipse abhängen, in einem koordinierten Sammelrelease zu veröffentlichen. 39 Eclipse-Projekte haben sich dem diesjährigen Eclipse-Release-Train "Helios" angeschlossen, der so verschiedene Bereiche wie Entwicklungsumgebungen für Java, PHP, C/C++, Mobile, etc., Server-seitige Runtime-Komponenten, Werkzeuge zur Software-Modellierung und Frameworks für Service-orientierte Architekturen abdeckt. Damit ist es der Eclipse Foundation erneut gelungen, ihre minutiös ausgearbeiteten Release-Pläne einzuhalten und ein eindrucksvolles Paket aufeinander abgestimmter Open-Source-Projekte zu schnüren, das so groß ist wie nie zuvor.
Teil 1   Teil 2   

Die Basis des Eclipse-Helios-Release-Zugs ist die neue Version 3.6 der Eclipse-Plattform, auf die sich alle am Sammelrelease teilnehmenden Projekte beziehen. Die Funktionalitäten und Abhängigkeiten der Einzelprojekte wurden dabei strikt an die Neuerungen von Eclipse 3.6 angepasst. Erreicht wurde dies durch eine zeitlich gestaffelte Release-Policy, in der jedes Projekt sieben Meilenstein-Versionen und mehrere Release-Kandidaten präsentieren musste. Insgesamt wird das Helios-Paket über 33 Millionen Quellcode-Zeilen enthalten, die von ca. 500 Eclipse-Committern aus 44 verschiedenen Unternehmen stammen.

Die Idee: Koordinierte Modulentwicklung
Begonnen hat die Tradition der Simultan-Releases bereits früh, nachdem der Quellcode der Eclipse-Plattform im Jahr 2001 von IBM freigegeben wurde. 2004 stimmten die Projekte "Test and Performance Tools Platform" (TPTP), "C/C++ Development Tools" (CDT) ihre Veröffentlichungen mit der Eclipse-Plattform 3.0 ab. Motiviert war diese Koordination durch das Problem, dass zwar immer mehr Projekte die modular aufgebaute Eclipse-Plattform als Basis für Erweiterungen wählten, durch die individuellen Release-Zeitpläne der Einzelprojekte und die verschiedenen gegenseitigen Abhängigkeiten allerdings ein konzertierter Einsatz der Module erschwert wurde.

Im Jahr 2006 formalisierte die Eclipse Foundation die Praxis der Sammel-Veröffentlichungen schließlich und verlieh dem ersten nun sogenannten "Eclipse Simultaneous Release Train", dem sich mittlerweile 10 Projekte angeschlossen hatten, den eigenen Markennamen "Callisto". Im "Europa"-Release 2007 beteiligten sich bereits 21 Projekte an der Koordinationsanstrengung, 2008 waren es 23 Projekte in "Ganymede". "Galileo" konnte 2009 insgesamt 33 Projekte in einer Simultanveröffentlichung vereinen - eine Zahl, die von den 39 Projekten des "Helios"-Zuges nun nochmals getoppt wird.

Projekt-Kaleidoskop Helios
Auf JAXenter werden wir in den kommenden Tagen in unserer Serie "Eclipse Helios Release Train" alle wichtigen Neuerungen in Helios im Detail vorstellen. Verschaffen wir uns zunächst einen Überblick über die 39 teilnehmenden Projekte, die nochmals unter 12 Top-Level-Projekte zusammengefasst werden:


.

Top-Level-Projekt: Eclipse Project

  • The Eclipse Project: Fasst die Projekte "Platform" (als Basis aller Eclipse Plug-in-Erweiterungen), Java Development Tools (JDT - die bewährte Java-IDE) und PDE (Plug-in Development Environment - Werkzeuge zur Entwicklung von Eclipse Plug-ins, Fragmenten, Features, Update-Sites und RCP-Anwedungen) zusammen.
Top-Level-Projekt: Business Intelligence and Reporting Tools (BIRT)
  • BIRT: Business Intelligence and Reporting Tools: Reporting-System zur Erstellung von Berichten und Reports.
Top-Level-Projekt: Data Tools Platform
  • DTP: Data Tools Platform - Plattform zur Entwicklung von Werkzeugen zum Daten-Management
Top-Level-Projekt: Device Software Development Platform
  • DSDP MTJ (Mobile Tools for Java): Entwicklungsumgebung für mobile Java Anwendungen
  • DSDP Sequoyah: Tools und Frameworks für mobile Anwendungsentwicklung: Soll künftig die Barrieren zwischen Linux und Java überwinden
  • DSDP TM (Target Management): Verwaltung von Remote-Systemen (Mainframe bis Embedded Systeme)
Top-Level-Projekt: Eclipse Modeling Project
  • Amalgam: Zusammenfassung verschiedener Eclipse-Modeling-Projekte zu einem integrierten SDK
  • Eclipse Modeling Framework (EMF): Framework für Softwaremodellierung und Codegenerierung, (Unterprojekte: CDO, Compare, Core (EMF), Net4j, Model Query, Model Transaction, Model Validation, Teneo)
  • Eclipse Modeling Framework Technology (EMFT), Inkubatorprojekt für neue EMF-Projekte (Unterprojekte: Ecore Tools, Extended Editing Framework (EEF), Mint, Modeling Workflow Engine (MWE))
  • Graphical Modeling Framework (GMF): Erstellung von grafischen Editoren auf Basis von GEF und EMF-Modellen
  • Model to Model (M2M): Framework für model-to-model Transformationssprachen (Unterprojekte: ATL (Atlas Transformation Language- Modell Transformationssprache und Toolkit), QVTo (Operational QVT Language))
  • Model to Text (M2T): Generierung von textuellen Artefakten aus Modellen (Unterprojekte: Acceleo, JET, Xpand)
  • Model Development Tools (MDT): enthält Subprojekte: OCL (Implementierung der Object Constraint Language), UML2 (Implementierung der Unified Modeling Language 2.x), XSD (XML Schema Definition: API für die Manipulation eines XML Schemas)
  • Textual Modeling Framework (TMF): besteht aus dem Projekt Xtext zur Entwicklung externer textueller DSLs
  • MoDisco: Erweiterbares Framework für Modell-getriebene Werkzeuge für den Anwendungsfall: Modernisierung existierender Softwareprojekte
Top-Level-Projekt: Eclipse Runtime Project
  • Equinox: OSGi-Implementierung von Eclipse
  • Eclipse Persistence Services Project (EclipseLink): Persistenzframework, Referenzimplementierung von JPA 2.0
  • Riena: Plattform zur Entwicklung von Multi-Tier Enterprise Client/Server Anwendungen
  • Eclipse Communication Framework (ECF): Framework für die Entwicklung von Kommunikations- und Messaging-Werkzeugen für Eclipse und Eclipse RCP-Anwendungen
  • Rich Ajax Platform (RAP): Entwicklung von Rich-Ajax-Web-Applikationen auf Basis von Eclipse RCP-Anwendungen
  • Jetty: Webserver und Servlet-Container mit Support für Web Sockets, OSGi, JMX, JNDI, JASPI, AJP.
Top-Level-Projekt: Service Oriented Architecture
  • Swordfish: SOA Runtime Framework Project - SOA-Framework auf Basis der Eclipse Equinox-Runtime-Technologie

Top-Level-Projekt: SOA Tools

  • SOA Tools Platform (STP): Frameworks und exemplarische Werkzeuge für Software einer Service-orientierten Architektur. Subprojekte: SCA Tools (Werkzeuge für den Service Component Architecture (SCA) Standard), BPMN (Business Diagram Editor für Business Analysten)

Top-Level-Projekt: Eclipse Technology Project

  • Eclipse Packaging Project (EPP): Hier werden seit dem Eclipse-Europa-Release die Downloads und Packages der Eclipse-Downloadseite produziert. Zwei neue Packages gibt es bei Helios: "Eclipse SOA Platform for Java and SOA Developers" und "Eclipse IDE for JavaScript Web Developers".
  • Accessibility Tools Framework (ACTF): Framework zur Entwicklung von Werkzeugen, die bei der Evaluierung und Umsetzung der Barrierefreiheit von Anwendungen von Nutzen sind.
  • Dynamic Languages Toolkit (DLTK): Erweiterbare Frameworks zur Entwicklung von IDEs für dynamische Sprachen (bereits enthalten: exemplarische IDEs für Tcl, Ruby, Javascript und Python).
  • Subversive: Integration des Versionsverwaltungssystems Subversion (SVN) in die Eclipse-Plattform
  • Java Workflow Tooling (JWT): Geschäftsprozesse auf der Eclipse-Plattform modellieren und sie mit den für die Ausführung benötigten technischen Informationen anreichern
  • EGit, JGit: Integration des Versionsverwaltungssystem Git in Eclipse bzw. Java
  • Linux Tools: Werkzeuge für Linux C/C++-Entwickler, integriert existierende Linux-Tools wie GNU Autotools, Valgrind, OProfile, SystemTap in Eclipse. Stellt Komponenten für das neue Linux-Package bereit.

Top-Level-Projekt: Tools Project

  • Buckminster: Framework für automatisierte Build-, Assemble- und Deployment-Prozesse.
  • C/C++ Development Tooling (CDT): Entwicklungsumgebung für die C/C++-Programmierung
  • Mylyn: Taskverwaltung zur Reduzierung von Informations-Überladung
  • PHP Development Tools (PDT): Entwicklungsumgebung für PHP
  • Parallel Tools Platform (PTP): Integrierte Umgebung für die Entwicklung von parallelen Anwendungen
  • Memory Analyzer (MAT): Werkzeug zur Analyse von Java Heap Dumps und zum Auffinden von Speicherlecks (Heap Dumps sind Abbilder des Speichers einer Virtual Machine samt seiner Klassen, Objekte, Feldwerte und Referenzen).
  • Graphical Editing Framework (GEF): Framework zur Erstellung grafischer Editoren

Top-Level-Projekt: Eclipse Test and Performance Tools Platform

  • Test & Performance Tools Platform (TPTP) (Unterprojekte: Platform, Test, Trace, Monitoring): Framework zur Entwicklung von Test - und Performance-Optimierungs-Werkzeugen
Top-Level-Projekt: Eclipse Web Tools Platform Project
  • Web Tools Platform (WTP): Werkzeuge zur Entwicklung von Web- und Java EE Anwendungen.

Teil 1   Teil 2   

andere Artikel dieser Serie

Kommentare