Open source

Sie befinden sich hier: Themen > Open Source > Open Source Stack

Open Source Stack

Warum gibt es heute immer noch Firmen, deren Geschäft in der Entwicklung und dem Vertrieb von Software besteht? Für nahezu jede Aufgabe gibt es doch freie Alternativen, die sich nicht hinter kommerziellen Anwendungen verstecken müssen. Sehen wir uns doch einmal die verschiedenen Bestandteile einer E-Business Lösung sowie die dafür notwendigen Entwicklungswerkzeuge an.

Betriebssysteme

Das Betriebssystem bildet dabei die unterste Schicht. Neben Linux, das aufgrund seiner Qualität seit Jahren deutliche Marktanteile gewinnt, stehen mit FreeBSD, NetBSD, OpenBSD und OpenSolaris noch vergleichbare Lösungen zur Verfügung. Insbesondere für sicherheitskritische Aufgaben stellen sie eine hochwertige Alternative dar.

Applikationsserver

Die Grundlage für die meisten Anwendungen bildet heute ein JEE basierter Applikationsserver. JBoss ist dabei die bekannteste freie Implementierung. Qualitativ ebenbürtig und nicht nur für frankophile Anwender interessant ist JOnAS. Dessen Entwicklung wird u.a. von France Telecom und INRIA unterstützt. Herausforderer in diesem Segment ist Geronimo von der Apache Foundation. Ein vollständiger Applikationsserver ist nicht für alle Anwendungen notwendig. Hier existieren mit Tomcat und Jetty zwei Servlet-Engines, die allen Anforderungen an kommerzielle Produkte gerecht werden.

Webserver und LDAP

Diskussionen über Open Source Webserver dürfte es nicht geben. Mit einem Marktanteil von über 60% ist der Apache Webserver eindeutiger Sieger. Auf der anderen Seite des Applikationsservers findet sich die Benutzerverwaltung. Erste Wahl unter den freien Tools ist hier OpenLDAP.

Datenbanken

Im Datenbankbereich fällt die Auswahl schon schwerer. Mit MySQL, PostgreSQL, Firebird und MaxDB dürften kaum Wünsche offen bleiben. Für kleinere Aufgaben könnten aber auch die Berkeley DB oder HSQLDB ausreichen.

Messaging

Beim Messaging greift man am Besten auf die Angebote der Hersteller von Applikationsservern zurück. JBossMQ und JORAM sind die Lösungen, die sich am einfachsten integrieren lassen.

Betrieb

Zusätzliche Software wird aber auch für den Betrieb der Anwendung benötigt. Da wäre zum einen die Systemüberwachung. Diese lässt sich einfach und komfortabel mit Nagios, ehemals NetSaint, realisieren. Ausfallsicherheit und Lastverteilung lassen sich auf verschiedenen Ebenen mit dem Linux Virtual Server Project, Backhand und C-JDBC realisieren.

Frameworks

Bei der Implementierung der eigentlichen Anwendung wird man auf Frameworks zurückgreifen, die einem einen Teil der Arbeit abnehmen. Diese Frameworks existieren für alle Schichten der Anwendung. Für die Präsentationsschicht bieten sich beispielsweise Struts, Tapestry, Cocoon, Webwork oder Java Server Faces an. Auf der Persistenzschicht ist Hibernate eine echte Alternativen zu Entity Beans. Die Realisierung von Businesslogik könnte durch Spring unterstützt werden.

Entwicklungsumgebungen

Aber auch für Entwickler gibt es eine Vielzahl von freien Werkzeugen. Da wären in erster Linie die IDEs Eclipse, NetBeans oder IntelliJ zu nennen, auch wenn erfahrene Entwickler gerne auf emacs und vi zurückgreifen.

Versionsverwaltung

Unverzichtbar bei der Softwareentwicklung ist die Versionsverwaltung. CVS, Subversion und GIT sind einige von diesen. Fehler in der Software treten leider immer wieder auf. Wichtig ist dann, dass sie in einem nachvollziehbaren Prozeß beseitigt werden. Tools wie Bugzilla, Mantis, GNATS oder Request Tracker unterstützen dies.

Testen

Noch größer ist die Anzahl an hilfreichen Werkzeugen im Testumfeld. Da ist in erster Linie die JUnit-Familie zu nennen. Mit dieser lassen sich nicht nur alle Entwicklertests abgedeckt sondern darüber hinaus auch fachliche Tests und Lasttests.

Dokumentation

Auch bei der Dokumentation sind kommerzielle Produkte nicht unbedingt notwendig. Mit OpenOffice, LaTeX und DocBook ist auch ein problemloser Datenaustausch mit der Umwelt möglich.

Weitere Informationen

Im Rahmen dieses kurzen Überblicks kann leider nur an der Oberfläche gekratzt werden. Darüber hinaus gibt es noch eine Vielzahl von freien Tools, die sie in Ihrem Geschäft unterstützen können. Haben wir Ihr Interesse an einem Einsatz von Open Source Software geweckt? Gerne geben wir Ihnen weitere Informationen und unterstützen Sie auch bei Auswahl und Einführung der für Sie geeignetsten Anwendungen.