db4o, JBoss Drools, Open Flex

Die besten Open-Source-Tools für Entwickler

30.10.2008 von Stefan Ueberhorst
Im Rahmen ihrer "Best of Open Source-Software Awards 2008" hat die CW-Schwesterpublikation "InfoWorld" auch Entwicklungs-Tools gekürt. Hier die acht Gewinner.

Anders als in den meisten Softwaredisziplinen hat der Rückgriff auf quelloffene Werkzeuge unter Entwicklern eine lange Tradition. Dies ist vor allem der sehr frühzeitigen und erfolgreichen Community-Bildung geschuldet, die den Open-Source-Gedanken wie in keinem anderen Softwaresegment vorangetrieben hat. Ob Apache Software Foundation oder Eclipse Foundation, um nur zwei der wichtigsten Vertreter zu nennen, sie alle bieten Entwicklern Instrumente, mit denen sie sich unkompliziert in Softwareprojekte einbringen beziehungsweise sich dort der neuesten Entwicklungen bedienen können.

In den vergangenen Jahren hat das zu einer fortschreitenden Lagerbildung unter den Professionals geführt: Der mit Visual Studio oder anderen Closed-Source-Produkten arbeitenden Microsoft-Gemeinde steht eine wachsende Zahl von Entwicklern gegenüber, die auf das von Sun Microsystems geöffnete Java setzen und hier die Vorteile der diversen Open-Source-Plattformen nutzen - in Bezug auf Eclipse wird schon länger von einem kompletten "Ökosystem" an Werkzeugen und Bibliotheken gesprochen. Ähnliches gilt für Skriptsprachen, deren Verwendung über die Bereitstellung von Frameworks und Bibliotheken wie das Javascript-Toolkit Dojo oder Ruby on Rails deutlich vereinfacht wurde, um im Rahmen der Web-Programmierung schneller und komfortabler zu Ergebnissen zu kommen.

Die Beliebtheit von Open Source hat allerdings auch dazu geführt, dass das Angebot, selbst wenn es auf das Umfeld der Softwareentwicklung eingegrenzt wird, inzwischen äußerst unübersichtlich ist. InfoWorld weist deshalb bezüglich ihrer Awards darauf hin, dass es sich bei den prämierten Produkten um eine Auswahl quelloffener Tools handelt, die im eigenen Testcenter, bei der Befragung von Analysten und anderen zuarbeitenden Experten besonders positiv auffielen.

Objektdatenbanken

Dazu gehört beispielsweise die native Java- und .NET-Objektdatenbank "db4o". Sie wurde zur Verwendung in eingebetteten Anwendungen entwickelt und steht unter der GNU General Public License (GPL) zur Verfügung. Zu den Highlights zählt, dass sich selbst komplexe Datenobjekte mit wenigen oder gar einer einzigen Codezeile speichern lassen und die Datenbank keine Administration benötigt. Die jüngst eingebrachten Mechanismen für Transparent Update und Transparent Activation automatisieren die Objektpersistenz noch mehr als bisher. Die db4o-Engine selbst ermittelt, wie oft Objekte beziehungsweise Teile davon zur Einhaltung der Persistenz aus dem Speicher gelesen und dorthin wieder zurück geschrieben werden müssen. Neu ist auch die Unterstützung von Microsoft LINQ (Language Integrated Query), eine Komponente des .NET-Frameworks, mit der sich SQL-, XLink- und XQuery-Anfragen direkt in Pogrammiersprachen wie C# oder VB.NET als Code einbinden lassen.

Versionskontrolle

Ein insbesondere für geografisch verteilt arbeitende Entwicklerteams unentbehrliches Tool ist das Versions-Kontrollsystem (VCS). In dieser Kategorie prämiert InfoWorld das Open-Source-Programm "Git", ein verteiltes Versions-Kontrollsystem, das ursprünglich von Linus Torvalds entwickelt wurde, um BitKeeper bei der Verwaltung des Linux-Kernels abzulösen. Inzwischen steht Git unter der Aufsicht von Junio Hamano und wird neben der Linux-Kernel-Entwicklung in zahlreichen Open-Source-Projekten eingesetzt, darunter X.org Server, One Laptop per Child (OLPC) und im Web-Framework Ruby on Rails. Das VCS ist auch in großen Projekten sehr schnell und zeichne sich durch eine sehr gute Unterstützung der nicht-linearen Entwicklung aus, also das Erstellen neuer Entwicklungszweige (branching) sowie das Verschmelzen von Entwicklungszweigen (merging).

Web-Client-Bibliotheken

Nicht neu, aber nach wie vor äußerst nützlich für die Entwicklung http-fähiger Client-Applikationen wie Web-Browser oder Web-Service-Clients, so begründet InfoWorld die Award-Vergabe für "HttpClient". Die Komponentenbibliothek ist ein Teilbereich des Apache-Projekts HttpComponents und bietet Java-Programmierern ein reichhaltiges Funktions-Set, um Client-seitig viele der http-Standards und -Empfehlungen zu implementieren. Authentifizierung, http-State-Management und Verbindungs-Management sind Beispiele für solche Funktionen. Das Projekt ist Nachfolger und Ersatz für den Jakarta Commons http-Client. Wer eine komplexe Java-Applikation mit einem http-Client schreibt, spare sich viel Zeit, wenn er sich auf der Apache-Seite von HttpComponents bedient, so die InfoWorld-Empfehlung.

Multi-Core-Programmierung

Eine andere Herausforderung, der sich viele Entwickler inzwischen stellen müssen, ist die Programmierung von Anwendungen für Multi-Core-Prozessoren. Um die in Mehrkern-Systemen verfügbare Leistung nutzen zu können, hat es in den vergangenen Jahren mehrere Vorschläge zur Parallelisierung einer Anwendung gegeben. Als preiswürdig darunter hält InfoWorld die "Threaded Building Blocks" (TBB) von Intel. Dabei handelt es sich um eine Bibliothek von C++-Templates und -Funktionen, über die sich plattformspezifische Threading-Details abstrahieren lassen. Sie erlauben den Einbau von vorgefertigten, getesteten und skalierfähigen Parallelkostruktionen in die Programmierung einer Multi-Core-Anwendung. Interessant in dieser Kategorie seien auch Microsofts "Parallel Extensions" für das .NET-Framework, die eine Task-bezogene Parallelisierung über eine Klassenbibliothek implementieren, allerdings nicht Open Source zur Verfügung stehen.

Business-Rules-Management

Namhafte Vertreter von Werkzeugen, mit denen sich regelgestützte Geschäftsanwendungen erstellen und automatisieren lassen, sind Blaze Advisor und JRules. Doch auch die Open-Source-Welt hat für diese Disziplin etwas zu bieten. Den InfoWorld-Award erhält "JBoss Drools". Die quelloffene Applikation kombiniere eine sehr schnelle Ablaufumgebung mit einem funktionsreichen Regel-Repository und exzellenten, auf Eclipse basierenden Entwicklerwerkzeuge, heißt es zur Begründung. Hinzu komme die Unterstützung für Excel-basierende Entscheidungstabellen, so dass nicht nur Programmierer, sondern auch Fachanwender Regeln in Drools einpflegen können. Die Community des JBoss-Projekts sei groß, die Entwicklung schreite zügig voran. Als Besonderheit hebt InfoWorld hervor, dass Drools im Gegensatz zur kommerziellen Konkurrenz die Regeln vieler anderer Business-Rules-Mangement-Systeme importieren könne.

Rich-Internet-Applications (RIA)

Zu den beliebten Werkzeugen für den Aufbau hochinteraktiver und schneller Web-Anwendungen (Rich-Intenet-Applications) zählt das "Flex Framework" von Adobe. Zwar ist die komplette Entwicklungsumgebung Flex Builder zwar weiterhin ein kommerzielles Produkt, immerhin hat Adobe aber das Software Development Kit (SDK) Open Source gestellt. Das war InoWorld eine Auszeichnung wert. Denn Open Flex öffnet anderen Open-Source-Tools und -Applikationen die Tür, an das Flex-Framework anzudocken. Namhafte Konkurrenten zu den Adobe-Tools sind Curl des gleichnamigen Anbieters und Silverlight von Microsoft, beide Produkte sind aber Closed Source, wenngleich sie für bestimmte Einsätze kostenlos angeboten werden.

JavaScript-Framework

Zum preisgekrönten Framework für JavaScript, das die Entwicklung dynamischer Web-Anwendungen vereinfachen soll, kürt InfoWorld das Projekt "Prototype". Auf ihm basieren diverse quelloffene Ajax-Frameworks wie Scriptaculous und Open Rico. Als Besonderheit hebt die Jury hervor, dass Prototype das objektorientierte Vorgehen in JavaScript erleichtere und flexibilisiere. Hinzu komme eine deutlich vereinfachte Arbeit mit dem Document Object Model (DOM). Schließlich erweitere Prototype JavaScript um präzise und mächtige Methoden, den eigenen Code von Browser-Abhängigkeiten abzuschirmen.

Web-Services Testing

Nur wenige SOAP-Testwerkzeuge sind so mächtig und einfach zu benutzen wie "soapUI", lautet das InfoWorld-Urteil. Das Werkzeug stehe als Stand-alone-Produkt oder als Plug-in für Eclipse, IntelliJ und NetBeans zur Verfügung. Wer zum Beispiel das Eclipse-Plug-in wählt, erweitert damit seine Entwicklungsumgebung um ein ausgefeiltes SOAP-Debugging und Testing. Man müsse lediglich die WSDL-Beschreibung aus dem Ziel-Server importieren und soapUI auffordern, die für den Test benötigten SOAP-Requests zu erstellen. Es sei vergleichsweise einfach, sich in die Ergebnisse der SOAP-Transaktionen einzuarbeiten, Abfragen zu modifizieren und Antworten, die auf Probleme des SOAP-Servers hindeuten, zu isolieren.

Mehr zum Thema

Die CW-Schwesterpublikation InfoWorld hat ihre Open-Source-Awards in mehreren Softwaredisziplinen verliehen. Veröffentlicht haben wir bislang die Preisträger aus den Bereichen: