computerwoche.de
Newsletter  |   CW-TV  |   Bilder-Galerien  |   Blogs & Forum  |   CW mobil  |   RSS  |   Aboshop


Open Source

CW-Leser testen: Open-Source-Tool Ant hilft Java-, PHP- und .NET-Entwicklern

06.09.2007
Autor(en): Frank Pientka, ist Senior Berater bei der IMPAQ AG aus Dortmund..
Ursprünglich wurde die Open-Source-Software Ant als Ersatz für das Werkzeug "make" entwickelt, um die Entwicklung des Web-Servers Apache Tomcat zu vereinfachen. Mittlerweile ist Ant ein Klassiker und hat eine Reihe von Java-Entwicklungs-Tools hinter sich gelassen.

Das Tool Ant ("Another Neat Tool") bildet in vielen Java-Projekten die Basis für den Build-Vorgang. Zu den Stärken der in Java implementierten Software zählt, Anwender bei wiederkehrenden Entwicklungsaufgaben zu unterstützen. Ergänzt werden die Basisfunktionen durch zahlreiche Erweiterungen. Zudem wurde das Programm in Entwicklungsumgebungen wie Eclipse und Netbeans integriert. Darüber hinaus lässt sich Ant mit anderen Programmiersprachen wie Perl und Python nutzen, und zwar über Wrapper-Skripte. Mit "Nant" existiert ein Ableger für Microsoft .NET. Und "Phing" ist eine auf Ant basierende Project Build Software für PHP.

Arbeitsweise

Das zentrale Element ist die Datei build.xml, in der die Umgebungsvariablen (Properties, Pfade) und die einzelnen Aufgaben (Tasks) definiert sind. Eine Build-Datei besteht aus einem Projekt und mindestens einer Aufgabe, die in einem Ziel (Target) zusammengefasst ist. Zwischen Zielen lassen sich Abhängigkeiten definieren, wodurch die Aufrufreihenfolge festgelegt wird. Tasks sind als Java-Klassen implementiert. Targets werden in XML definiert und rufen Tasks auf. Es können auch eigene Tasks in Form von Java-Klassen erstellt werden. Sollte man bei den über 100 mit Ant vorhandenen Tasks nicht fündig werden, so gibt es entweder die Möglichkeit, eine eigene Task zu schreiben, oder sich einer externen Task aus dem Internet zu bedienen.

Im empfehlenswerten Ant-Handbuch sind die einzelnen Tasks zu Themengruppen (Archivierung, Übersetzung, Deployment, Dateiverarbeitung, Versionskontrolle, Testen etc.) zusammengefasst und beschrieben. Hier kommen auch reguläre Ausdrücke wie Fileset und Filelist zur Sprache, die dabei helfen, Dateien und Verzeichnisse zu bearbeiten.

Ant verarbeitet Dateiformate wie Ascii, Unicode, HTML, XML, XSL und Archive. Besonders fällt hier auf, dass zahlreiche Archivformate unterstützt werden: G/ZIP, TAR, W/E/JAR, CAB und RPM. Ein verteiltes und plattformunabhängiges Arbeiten erlauben zudem die von Ant nutzbaren Kommunikationsprotokolle wie JDBC, FTP, SCP, Telnet, http und SMTP.

Neben den einfachen Entwicklungsschritten wie Übersetzen, Aufrufen und Testen geht Ant dem Nutzer auch dabei zur Hand, Software zu installieren und zu dokumentieren. Schon seit einiger Zeit verwenden Firmen das Tool deshalb bei der Test-getriebenen Entwicklung mit JUnit und setzen es zur Qualitätssicherung ein.

Automatisiert werden können mit Ant administrative Aufgaben, beispielsweise das Software Deployment auf Applikations-Server. Um Anfängerfehler zu vermeiden, empfiehlt es sich, die Tipps und Tricks aus dem mit Ant ausgeliefertem Dokument "Ant in Anger" zu berücksichtigen.

Der folgende Ausschnitt aus einer Build-Datei für das Projekt MyProject zeigt zwei Targets: Das Target compile erzeugt ein Verzeichnis und kompiliert eine Menge von Java-Klassen dort hinein. Es hängt von einem anderen Target clean ab, das zuvor ein Verzeichnis und die darin enthaltenen Dateien löscht, um Überbleibsel früherer Aufrufe zu beseitigen.

Skriptbeispiel für Ant.
Skriptbeispiel für Ant.

Um Ant zu verwenden, müssen eine Java-Entwicklungsumgebung installiert und folgende Umgebungsvariablen für Windows gesetzt sein:

set ANT_HOME=c:\ant

set JAVA_HOME=c:\jdk-1.6.0

set PATH=%PATH%;%ANT_HOME%\bin

Dann kann Ant auf der Kommandozeile mit ant -f build.xml aufgerufen werden. Liegt die Build-Datei mit dem Namen build.xml im Aufrufverzeichnis, so reicht auch der Aufruf von Ant. Um sich alle Aufrufoptionen oder Informationen zur Build-Datei anzeigen zu lassen, kann der Benutzer Ant mit -h oder -p aufrufen.

Möchte man gezielt ein Target (zum Beispiel compile) aufrufen, lässt sich das für unser Beispiel auch direkt angeben mit ant compile.

Dokumentation der Ant-Dateien

Wer Ant nutzt, sollte Wert auf die Dokumentation legen. Es empfiehlt sich, von XML-Kommentaren und dem Description-Element regen Gebrauch zu machen. Diese Informationen liefern Hinweise für die Verwendung des Projekts.

Da trotz Modularisierung große Ant-Projekte recht unübersichtlich werden können, gibt es mehrere kostenlose Zusatzwerkzeuge, die helfen, die Arbeit zu dokumentieren. Besonders nützlich ist Grand (Graphical Representation of Ant Dependencies), das eine Ant-Projektdatei mit seinen Targets und Abhängigkeiten

grafisch anzeigt. Dabei verwendet es die Graphviz-Bibliothek von AT & T. Es kann mit grafischer Oberfläche oder auch als Ant-Task aufgerufen werden. In der Abbildung ist die Build-Datei von Tomcat grafisch dargestellt. Über deren rund 700 Zeilen umfassende Struktur bietet eine grafische Darstellung einen schnellen Überblick.

Licht und Schatten

Zu den weniger positiven Eigenschaften zählt die Fehlersuche, denn die gestaltet sich mit Ant mühsam. Da Standards fehlen, kann es schwierig werden, Ant-Projekte zu warten sowie anzupassen. Für die Erstellung eines einheitlichen und stabilen Build-Prozesses ist Ant mit "Maven" eine starke Konkurrenz innerhalb der Apache-Community entstanden. Um die Abhängigkeiten der Bibliotheken zu verwalten, bietet sich die Ant-Erweiterung Ivy an, die mit mehreren Software-Repositories, darunter auch das von Maven, zusammenarbeiten kann. Dennoch dürfte es Ant noch lange geben, da die Software weiterentwickelt wird und sie auch alte Java-Versionen unterstützt.

Fazit

Ant ist ein plattformunabhängiges und flexibles Open-Source-Tool für Entwicklungs- oder Administrationsaufgaben. Es lässt sich leicht erweitern. In der Java-Entwicklung mit Open-Source-Produkten kommt keiner an "der fleißigen Ameise" vorbei, da viele Projekte darauf basieren. Im Bereich Enterprise-Build-Management gibt es jedoch inzwischen spezialisierte Alternativen. (fn)



Seite: 1


Leserkommentare 
(0 Beiträge), 
Kommentieren

Beitrag schreiben

Noch kein Forums-Mitglied?
Dann gleich hier anmelden.

INHALT DIESES ARTIKELS Mehr zum Thema
Energieeffizienz in der IT
Best of IT-Solutions - Energieeffizienz in der IT
Der Einsatz von stromsparenden Technologien ist en Vogue. Im neuen Best of IT-Solutions-Blogs diskutieren Experten über die wahren Werte und Zielsetzungen grüner IT-Technologien und ihr Einsparpotential für die Unternehmens-IT.

Zum Best of IT-Solutions-Blog
OPEN SOURCE: CW-REDAKTEURE EMPFEHLEN
Best of Open Source: Productivity-Anwendungen Best of Open Source: Productivity-Anwendungen Office, Browser, Multimedia - die COMPUTERWOCHE stellt die besten Productivity-Werkzeuge aus der Open-Source-Community vor. weiter
Die Zukunft von Open Source Die Zukunft von Open Source Quelloffene Software dringt in alle Bereiche der Unternehmens-IT vor, prognostizieren US-Marktforscher weiter
Best of Open Source: Enterprise-Anwendungen Best of Open Source: Enterprise-Anwendungen ERP, CRM, Business Intelligence - die COMPUTERWOCHE stellt die besten Open-Source-Produkte für Collaboration-Aufgaben vor. weiter
Best of Open Source: Collaboration Best of Open Source: Collaboration Wikis, Blogs, Social Software - die COMPUTERWOCHE stellt die besten Open-Source-Produkte für Collaboration-Aufgaben vor. weiter
OpenSUSE 11.0 im Test OpenSUSE 11.0 im Test Das neue Major Release der Linux-Distribution bringt eine Reihe von Verbesserungen für professionelle und private Nutzer. weiter
Best of Open Source: Productivity-Anwendungen Die Zukunft von Open Source Best of Open Source: Enterprise-Anwendungen Best of Open Source: Collaboration OpenSUSE 11.0 im Test
  • Top geklickt
  • Top verlinkt
Aktuelle Umfrage

Wie verändert sich Ihr IT-Budget 2009 gegenüber 2008?

  • Whitepaper
FEATURED LINKS

Virtual Data Center
Virtual Data Center
Welchen Einfluss hat die Software auf den Energiebedarf eines Computersystems? Anhand von Programmen aus dem Bereich Linux und Open Source lassen sich Spareffekte besonders gut nachvollziehen.

Offene Software ist grüner
KOSTENLOSE NEWSLETTER VON COMPUTERWOCHE
Nachrichten morgens
Whitepaper
Nachrichten mittags
CW-Mittelstand
Highlights der Woche
Hardware
Neu: SAP-Newsletter
Software
Job + Karriere
Open-Source
Stellenmarkt
Produkte + Techn.
Freiberufler
Security