Software Referenz

Werbung
Software Referenz
Table of contents
1
Überblick über verwendete Software.................................................................................2
2
Integrierte Entwicklungsumgebung: Eclipse..................................................................... 2
3
4
5
2.1
Überblick....................................................................................................................... 2
2.2
Tips und Tricks..............................................................................................................2
2.3
Referenz.........................................................................................................................3
Build-Software: Apache Ant..............................................................................................3
3.1
Überblick....................................................................................................................... 3
3.2
Tips und Tricks..............................................................................................................3
3.3
Referenz.........................................................................................................................3
Datenbank: HSQLDB........................................................................................................ 4
4.1
Überblick....................................................................................................................... 4
4.2
Tips und Tricks..............................................................................................................4
4.3
Referenz.........................................................................................................................4
Versionskontrolle: Subversion...........................................................................................5
5.1
Überblick....................................................................................................................... 5
5.2
Tips und Tricks..............................................................................................................5
5.3
Referenz.........................................................................................................................6
Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved.
Software Referenz
1. Überblick über verwendete Software
Alle für diese Lehrveranstaltungen verwendeten Programme sind OpenSource und für alle
gängigen Betriebssysteme verfügbar. Sie werden aktiv weiterentwickelt und bieten auf ihren
jeweiligen Homepages ausführliche Dokumentation und Tutorials.
2. Integrierte Entwicklungsumgebung: Eclipse
2.1. Überblick
Eclipse ist eine integrierte Entwicklungsumgebung für Java, die durch Plugins um zahlreiche
Funktionen erweitert werden kann.
2.2. Tips und Tricks
2.2.1. Ant Build-Files in Eclipse verwenden
Ant Buildfiles können in Eclipse verwendet werden. Hierfür "Show View, Ant" auswählen
und das entsprechende Antfile in die Liste hinzufügen; die Tasks des Ant-Files können dann
innerhalb von Eclipse gestartet werden.
Achtung: Wird mit Ant kompiliert kann es beim Editieren oder Starten des Projektes
innerhalb von Eclipse zu "eigenartigen" Fehlern kommen; dies hat damit zu tun, dass Eclipse
einen eigenen Compiler mitliefert und der von Ant erzeugte Binärcode mit Eclipse nicht
kompatibel ist. Möchte man also mit Eclipse weiterarbeiten empfiehlt sich folgender Schritt:
Project|Clean...
Dann das Projekt auswählen und "OK" wählen; dann werden die generierten Artefakte
gelöscht und neu kompiliert.
2.2.2. Eclipse und Code Generierung/Manipulation von Files mit externen Tools
Werden Dateien von externen Tools (xdoclet, anderer Editor etc), oder von der Java
Applikation selbst verändert (z.B. die hsqldb Datenbank Files) so bekommt dies Eclipse
meist nicht mit; Das Projekt auswählen und "Refresh" wählen!
2.2.3. Eclipse 3.1
Um mit Java 1.5 zu programmieren, wird mindestens die Version 3.1 von Eclipse benötigt.
Page 2
Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved.
Software Referenz
2.3. Referenz
Eclipse Projekt
3. Build-Software: Apache Ant
3.1. Überblick
Apache Ant ist ein plattformunabhängiges Werkzeug, um den Build-Prozess von Software zu
automatisieren. Es ist in Java geschrieben und besonders auf die Verwendung mit dieser
Programmiersprache ausgelegt.
Das Konzept von Ant ist mit dem des klassischen Unix-make vergleichbar, jedoch werden
die Anweisungen in ein XML-File geschrieben, das normalerweise build.xml heißt. Die
verschiedenen Ziele (z.B. Kompilieren des Projekts, Erstellen der Dokumentation) werden
Targets genannt und können von einander abhängig sein. Sie setzen sich aus einzelnen
Befehlen (Tasks), die meist 1:1 in die Kommandos für die verwendete Plattform umgesetzt
werden (z.B. Kopieren von Dateien, Löschen des Inhalts eines Verzeichnisses). Parameter
des Build-Prozesses werden üblicherweise in die Datei build.properties geschrieben.
3.2. Tips und Tricks
3.2.1. Eclipse
Eclipse besitzt einen eigenen ant-Editor, um das build.xml zu bearbeiten.
3.2.2. Automatisiertes Testen
Ant bietet auch Unterstützung für JUnit, sodass Tests mit Hilfe von Ant automatisch
ausgeführt werden können.
3.2.3. Handbuch
Das Ant Manual bietet eine übersichtliche und vollständige Zusammenfassung der
Möglichkeiten von Ant.
3.3. Referenz
•
•
Apache Ant Projekt
Apache Ant Manual
Page 3
Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved.
Software Referenz
4. Datenbank: HSQLDB
4.1. Überblick
HSQLDB ist eine vollständig in Java geschriebene relationale Datenbank, die unter einer
BSD-Lizenz steht.
Der Voreil dieser Datenbank-Engine besteht darin, dass sie direkt in eine Anwendung
eingebettet werden kann, es ist nicht notwendig, sie im Server-Modus laufen zu lassen.
HSQLDB ist schnell und resourcensparend und unterstützt einen Großteil des SQL-92
Standards, sowie zahlreiche Erweiterungen, die in SQL-99 und SQL:2003 definiert werden.
4.2. Tips und Tricks
4.2.1. Konfiguration: Write Delay
HSQLDB verfügt über einen WRITE_DELAY Parameter. Dieser ermöglicht, das Schreiben
von Daten zu Verzögern; d.h. wird bspw. 100millis angegeben, so werden Daten nach
einer Schreib-Transaktion u.U. erst 100 Millisekunden später geschrieben; Der Default-Wert
liegt sogar bei 20 Sekunden.
Dieses "Poolen" von Schreiboperationen erhöht natürlich die Performance, erhöht aber auch
das Risiko des Datenverlustes. Dazu kommt das weitere Problem, dass seit Version 1.8. auch
Embedded Databases an sich explizit per SHUTDOWD geschlossen werden müssen. Passiert
das nicht, kann es ebenfalls zu Datenverlust kommen.
Sofern man sich nicht genau mit diesem Datenbank-Parameter auseinandergesetzt hat, und
ganz besonders im Test-Betrieb (Embedded), ist es angeraten den Wert auf 0 zu setzen:
SET WRITE_DELAY 0 MILLIS
Dieses Kommando kann entweder per SQL Befehl an die Datenbank gesendet werden, oder
im .properties File editiert werden.
4.2.2. .script
Für jede Datenbank werden alle Veränderungen in einem .script-File protokolliert. Diese
Datei kann sehr gut zur Fehlersuche oder als Backup verwendet werden.
4.3. Referenz
HSQLDB Projekt
Page 4
Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved.
Software Referenz
Benutzerhandbuch
SQL-Referenz
5. Versionskontrolle: Subversion
5.1. Überblick
Subversion(SVN) ist ein Versionskontrollsystem, das auf ähnlichen Konzepten wie das ältere
CVS basiert und das verteilte Arbeiten von Entwicklern ermöglichen soll. SVN basiert auf
einer Client-Server-Architektur: jeder Entwickler hat ein lokales Repository , mit dem er
(offline) arbeitet, auf einem Server gibt es das zentrale Repository, mit dem jeder Entwickler
die Veränderungen abgleicht. Der SVN-Server ist auch dafür verantwortlich, den
Änderungen Versionsnummern zuzuweisen und zu protokollieren.
5.1.1. Wichtigste Befehle
Diese Befehle können entweder direkt mit der Kommandozeilenversion von Subversion
verwendet werden oder indirekt über eine grafische Benutzeroberfläche.
Befehl
Beschreibung
checkout
Kopiert eine Version des zentralen Repositories
in ein lokales Repository.
update
Akualisiert das lokale Repository mit den
Veränderungen im zentralen Repository.
commit
Schreibt die lokalten Veränderungen in das
zentrale Repository.
mkdir
Erzeugt ein neues Verzeichnis, das von SVN
verwaltet wird.
help
Zeigt alle verfügbaren Befehle und ihre
Verwendung an.
5.2. Tips und Tricks
Es ist empfehlenswert, die Repositories regelmäßig zu synchronisieren, um ein zu starkes
Auseinanderdriften der Code-Basis zu verhindern.
Commit-Messages sollten eher kurz, aber aussagekräftig sein, sodass die Veränderungen
einfach nachvollzogen werden können.
Page 5
Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved.
Software Referenz
5.2.1. Eclipse-Plugin
Subversion lässt sich nicht nur mit externen Programmen verwenden, es gibt auch ein Plugin,
das es direkt in Eclipse integriert.
Subclipse
5.3. Referenz
Subversion
Page 6
Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved.
Herunterladen