Werkzeuge und Produkte für Entwickler Die folgende Auflistung ist eine Ergänzung zu den in SAGA festgelegten Standards. Sie soll die Anwendung der SAGA-Festlegungen unterstützen, indem bewährte, möglichst frei verfügbare Tools vorgeschlagen werden. Der Einsatz oder Nicht-Einsatz dieser Werkzeuge und Produkte hat keinen Einfluss auf die SAGA-Konformität von Projekten Bereiche Modellierung Werkzeuge und Produkte Poseidon ist ein UML Case-Tool. Es wird als kommerzielle Version und mit weniger Funktionalität als freie Version angeboten. http://www.gentleware.com/ Argo UML ist ebenfalls ein freies UML Case-Tool, welches sich stark an Poseidon orientiert, jedoch auch die kommerziellen Features beinhaltet.Allerdings beherrscht Argo UML lediglich UML v1.4. http://argouml.tigris.org/ Zur Modellierung von Daten kann nach SAGA auch die Sprache Regular Language Description for XML New Generation (Relax NG) eingesetzt werden, die durch das Technical Committee "Relax NG" von OASIS spezifiziert wurde. Auf der Web-Seite http://www.relaxng.org/#software werden eine Reihe von Tools referenziert, mit deren Hilfe Relax NG validiert und konvertiert werden kann. Java-Entwicklung Das Open Source-Projekt Eclipse setzt sich zum Ziel eine sprachübergreifende, modulare IDE (Integrated Development Environment) zu entwickeln. Die JAVA-IDE unterstützt derzeit zahlreiche Features wie Syntax Highlighting, Code Hinting, Object Browser, ANT usw. Eclipse kann auf folgender Webseite heruntergeladen werden. http://www.eclipse.org Netbeans ist wie Eclipse ein Projekt für die Entwicklung einer Open Source-IDE. Netbeans ist zu 100% in JAVA programmiert. Netbeans wartet wie Eclipse mit vielen Features auf. http://www.netbeans.org Die Firma JBoss stellt den gleichnamigen J2EE-Application-Server kostenlos zur Verfügung. Zusätzlich unterstützt JBoss Web Services und BPEL. Das Produkt ist als voll kompatibel zu J2EE von Sun zertifiziert worden. Bereiche Werkzeuge und Produkte http://www.jboss.com/ Geronimo ist ein weiterer, ebenfalls zertifizierter Open Source J2EEApplication-Server der Apache Software Foundation mit zusätzlicher Unterstützung von Web Services und BPEL. http://geronimo.apache.org/ .NET-Entwicklung Die Ausführung von .NET-Anwendungen wird das kostenlose Microsoft .NET Framework Redistributable benötigt. .NET Framework Redistributable unterstützt die Betriebssysteme Windows 2000, Windows 98, Windows ME, Windows Server 2003, Windows XP und Windows Vista. http://www.microsoft.com/downloads/Browse.aspx?displaylang=de Zur Entwicklung von .NET-Anwendungen können die folgenden Werkzeuge eingesetzt werden: Microsoft .NET Framework SDK (kostenlos, Betriebssysteme: Windows 2000, Windows Server 2003, Windows XP, Windows Vista http://www.microsoft.com/downloads/Browse.aspx?displayl ang=de) SharpDevelop (Open Source, http://www.icsharpcode.net/OpenSource/SD/) PHP-Entwicklung PHPEdit ist ein Editor, welcher Syntax Highlighting, Code Hinting und weitere Features unterstützt. http://www.waterproof.fr/products/PHPEdit/ PHPeclipse ist ein Open Source Eclipse Plugin, das die Features einer Entwicklungsumgebung wie Editor, Parser und Debugger bietet. http://www.phpeclipse.de/tiki-view_articles.php Framework Struts ist ein Open Source Framework für die Präsentationsschicht von Java-Web-Anwendungen. Struts beschleunigt die Entwicklung von Web-Anwendungen wesentlich, indem es HTTP-Anfragen in einem standardisierten Prozess verarbeitet. Dabei bedient es sich standardisierter Technologien wie JavaServlets, Java Beans, Resource Bundles und XML sowie verschiedener Jakarta-CommonsPakete. http://struts.apache.org/ 2 Bereiche Werkzeuge und Produkte Das Spring Framework bietet einen Mechanismus zur Verwaltung von komplexen Geschäftsobjekten und Applikationscode in verschiedenen Umgebungen (J2EE, .NET). http://www.springframework.org/ oder http://www.springframework.net/ Shale ist ein Open-Source-Framework zur Entwicklung von WebAnwendungen. Es baut auf den Erfahrungen von Struts auf und basiert auf der neueren Standard-API JavaServer Faces (JSF). Shale ist eine Sammlung lose gekoppelter Dienste, die entsprechend der speziellen Anforderungen der Anwendung kombiniert werden können. http://shale.apache.org/ Datenbank-Anbindung JDO ist eine API für die Persistierung von Java-Objekten. Im Folgenden werden freie Produkte benannt, die den JDO-Standard implementieren: TriActive JDO (TJDO) http://tjdo.sourceforge.net/ ObJectRelationalBridge (OJB) http://db.apache.org/ojb/ Java Object Repository Mapping (JORM) http://jorm.objectweb.org/index.html Hibernate ist ein weiteres freies, nicht auf JDO basierendes Werkzeug zur Persistierung von Java-Objekten und der zusätzlichen Unterstützung von .net mit Hibernate. http://www.hibernate.org/ JSP/Servlets Tomcat ist die Referenzimplementation für JSP/Servlet-Container. Tomcat unterstützt die Verwendung von JSTL und ist frei erhältlich. http://jakarta.apache.org/tomcat/index.html JSTL: Die JSP Standard Tag Library (JSTL) stellt JSP-Tags für Standardprobleme für Entwicklung von JSP-Seiten bereit. Durch die Verwendung dieser Tags wird zum einen der Java-Code innerhalb der JSP-Seiten minimiert und zum anderen die Wartbarkeit erhöht, da es sich um Standardtags handelt, deren Verwendung gemeinhin verstanden wird. http://java.sun.com/products/jsp/jstl 3 Bereiche Präsentation Werkzeuge und Produkte W3C HTML-Validator: Der W3C-Validator prüft online, ob HTMLDateien dem HTML-Standard genügen. http://validator.w3.org/ FOP von Apache ist eine JAVA-API, um XSL-FO-Dokumente zu erstellen und sie in verschiedene Ausgabemedien zu transferieren. FOP wird üblicherweise zur Erzeugung von PDF-Dokumenten verwendet. http://xml.apache.org/fop/index.html iText ist eine API zur objektorientierten Erzeugung von PDF- und HTML-Dokumenten. http://sourceforge.net/projects/itext/ Web-Formulare Die Entwicklung von Web-Formularen auf Basis von XForms wird unter anderem von OpenOffice ab der Version 2.0 unterstützt. Mittels des Moduls "Writer" können die Formulare erstellt werden. http://de.openoffice.org/downloads/quick Bilder JAI: Java Advanced Imaging (JAI) ist eine Java-API für die Bearbeitung von Bildobjekten. Es existieren diverse Import- und Exportfilter. JAI kann durch eine offene Schnittstelle um Filter erweitert werden. http://java.sun.com/products/java-media/jai/ Für die Erstellung von TIFF-Dateien, die die TIFF-Baseline Komprimierungsverfahren "Huffman" und "Packbits" explizit unterstützen, gibt es eine Vielzahl von kommerziellen und freien Werkzeugen, z. B.: Adobe Photoshop (kommerziell, http://www.adobe.com/de/products/photoshop/) GIMP (frei, http://www.gimp.org/) Audio- und Video-Daten Java Media Framework API: Mit dem JMF können Audio- und VideoDateien in Java-Applikationen verwendet werden. Es existieren zahlreiche Encoder und Decoder für die Arbeit mit Medien. http://java.sun.com/products/java-media/jmf/index.html JOrbis ist ein Java-Decoder für das Ogg Format. http://www.jcraft.com/jorbis/index.html 4 Bereiche Werkzeuge und Produkte JRoar ist ein in Java implementierter Streaming-Server für das Ogg Format. http://www.jcraft.com/jroar/ Mobile Clients WapReview ist ein Sourceforgeprojekt, welches eine WAP-Viewer entwickelt. Dieser WAP -Viewer kann während der Entwicklung von WAP-Anwendungen als Preview verwendet werden. http://sourceforge.net/projects/wapreview/ Logging Log4j ist ein Logging-API, welche alle Features moderner Protokollierung unterstützt. Diese API kann sowohl mit JDK 1.4 und höher als auch mit älteren JDKs ohne native Loggingunterstützung eingesetzt werden. Die Webseite enthält zahlreiche Dokumentationen und Beispiele. http://jakarta.apache.org/log4j/docs/index.html Monitoring JMeter ist ein freies, zu 100% in Java entwickeltes Tool für den Performancetest von Anwendungen. Auf der Webseite werden alle Funktionen und die Verwendung von JMeter ausführlich beschrieben. http://jakarta.apache.org/jmeter/index.html Unterstützung von httpunit ist ein Framework zum automatisierten Testen von Web- Testmethoden basierten Anwendungen. Auf der Webseite werden Dokumentationen, Tutorials, Verweise auf externe Tools und Produkte, sowie Links zu verwandten Themen angeboten. http://httpunit.sourceforge.net/ Junit: xUnit-Implementation für automatisierte Unit-Tests von JavaApplikationen. Die Homepage enthält Dokumentationen, Tutorials und Verweise auf verwandte Themen. http://junit.sourceforge.net/ Cactus ist ein Framework um serverseitigen Code wie Java Enterprise Beans Unit Tests zu unterziehen. http://jakarta.apache.org/cactus/index.html Sicherheit Auf der Seite von Java-Security werden alle APIs, die als Erweiterung integriert werden können oder im JDK integriert sind, mit Bezug auf das Thema Sicherheit beschrieben. http://java.sun.com/security/ 5 Bereiche Werkzeuge und Produkte Eclipse XML Security Plug-In ist ein kostenloses und frei verfügbares Plug-In für Eclipse 3.0 und 3.1. Es beinhaltet die folgenden Sicherheitsaspekte: "XML Digitale Signaturen" und "XML Verschlüsselung". http://www.xml-sicherheit.de/ Um die Anwendung des IT-Grundschutzhandbuchs des BSI zu unterstützen, wurde das BSI Tool IT-Grundschutz (GSTOOL) entwickelt. http://www.bsi.bund.de/gstool/index.htm Apache XML Security ist eine Open Source Realisierung von XML Signature, XML Encryption und XKMS Specification. Es liegen Implementierungen in Java und in C++ vor. http://xml.apache.org/security/index.html Apache WSS4J ist eine Open Source Implementierung des Web Services Sicherheitsstandards WS-Security. Mit WSS4J können SOAP-Nachrichten signiert und verifiziert werden. Es basiert auf Apache XML Security. http://ws.apache.org/wss4j/ OpenSAML ist eine Open Source Implementierung der Security Assertion Markup Language (SAML). http://www.opensaml.org/ Infrastruktur Nagios ist ein Tool zur Überwachung von Servern und Diensten. Über zahlreiche Plugins kann Nagios um weitere Funktionalitäten erweitert werden. http://www.nagios.org/ 6