Versuch einer Entscheidungshilfe für die richtige Linux-Unternehmenssoftware

Business mit Linux: Na klar, aber womit?

STIBS' Biz-Kick: Worauf Firmen wetten können

2

Business-Software unter Linux hat gute Aussichten dank offener Quellen und damit verbundener Zukunftssicherheit. Die Auswahl ist groß. Der IT-Entscheider fragt sich jetzt nach der besten Plattform. STIBS wagt sich an eine Analyse der Kandidaten für kleine Unternehmen.

Klein, mittel, groß

Es gibt ganz sicher einen gewichtigen Unterschied zwischen dem freiberuflichen Journalisten, dem Autohaus mit dreißig Angestellten, einem lokalen Produzenten, der zweihundert Arbeiter beschäftigt, oder einem Weltkonzern wie Siemens: unterschiedliche Anforderungen an die Unternehmenssoftware. Während die Großen nach der Cloud schielen und greifen, frage ich mich persönlich nach Sinn und Unsinn, die Rechnungslegung des Autohauses oder des Journalisten in die Wolken zu pusten. Auch in den nächsten zwanzig Jahren werden mit ziemlicher Sicherheit lokale EDV-Anlagen nicht ihre Bedeutung für unternehmenskritische Anwendungen verlieren – besonders nicht für die kleinen Firmen um die Ecke. Und für die IT-Leiter dieser Unternehmen soll mein Beitrag eine Entscheidungshilfe sein, auf welches Software-Pferd sie unter Linux in ihrem Unternehmen setzen können.

OpenYABS arbeitet hervorragend für kleine Handelsunternehmen als Warenwirtschaft mit intergiertem Mahnwesen und Onlineshop-Anbindung
OpenYABS arbeitet hervorragend für kleine Handelsunternehmen als Warenwirtschaft mit intergiertem Mahnwesen und Onlineshop-Anbindung
Komponentenauswahl

Solch eine Unternehmenssoftware konstruieren die Programmierer immer in mehreren Schichten. Als Basisschicht dient irgendeine Art der Speicherung der Daten. Das kann ein Dateisystem oder viel besser eine Datenbank – für Netzwerkfähigkeit ein Datenbankserver – sein. Darüber liegt eine Anwendungslogik, die Abläufe in der richtigen Reihenfolge auf den Monitor bringt oder etwa für die Buchhaltung regelt, dass Aufwandskonten für die Buchung einer Eingangsrechnung als Gegenkonto angezeigt werden. Die dritte Schicht sieht der Anwender des Programms. Masken, Formulare, Wertelisten, Tabellen – eben die üblichen Komponenten einer grafischen Oberfläche erwarten die Eingabe logischer Werte zur Produktion des gewünschten Ergebnisses. In vielen Fällen begnügen sich die Entwickler mit zwei Schichten. Sie kombinieren Anwendungslogik und User-Interface zu einer Einheit, einem lokalen Programm. Nur die Datenspeicherung erfolgt bei Netzwerkfähigkeit auf einem zentralen DB-Server. Im Falle einer Einzelplatz-Lösung kommt eine Desktop-Datenbank zum Einsatz. Der Planer einer Unternehmenslösung denkt also über drei Fragen nach: Welche Datenbank verwende ich, welche Lösungen bieten eine gute und stabile Anwendungslogik mit geringem Administrationsaufwand und welches Frontend setze ich für die Benutzer ein?

Nicht nur orakeln

Gute Datenbank-Server gibt’s wie Sand am Meer. Kandidaten sind neben Oracle, DB2, Informix, Firebird/Interbase oder dem frisch von SAP eingekauften Sybase die Urgesteine der Open-Source-Szene PostgreSQL und MySQL. Abhängig ist das meist nur noch vom Budget des Unternehmens, der Vorliebe des IT-Chefs und den vorhandenen Kenntnissen der Administratoren. In seltenen Fällen unterstützen Programme weniger als drei verschiedene Lösungen. Im einem eigenen Fall der Ausstattung von mehreren Trainingsrechnern mit Touchscreen-Kassensystemen fiel meine Wahl auf MySQL, eben bedingt durch meine Vorliebe dafür und meine guten Erfahrungen damit. [Die Experten mögen mir meinen nächsten Satz verzeihen, da es in diesem Beitrag weniger um Features einzelner Datenbank-Managementsysteme geht.] Warum es nahezu egal ist, welchen Datenbankserver Sie einsetzen, werden Sie im nächsten Abschnitt sehen, wenn es um die Auswahl der richtigen Methode zur Versorgung des Systems mit Applikationslogik geht.

An die Leine nehmen

Kümmern wir uns zuerst um die Verbindung zwischen Datenspeicher und Applikationslogik. In den meisten Fällen wird das mit Hilfe einer Datenbank-Abstraktionsschicht geregelt. Die Vorteile erkennen Sie, wenn Sie sich die Funktionsweise vor Augen halten. Das bekannte ODBC ist ein gutes Beispiel dafür. Die zur Datenbank zeigende Seite der Abstraktionsschicht wird mit entsprechenden Treibern an die jeweilige Datenbank angepasst. Nahezu jeder Hersteller liefert Passendes, etwa MyODBC für die MySQL Datenbank. Auf der anderen Seite hat der Programmierer einen einheitlichen Befehlssatz zur Verfügung, unabhängig vom verwendeten Datenbanksystem. Vorteile dieser Verfahrensweise sind zum Beispiel der geringe Programmieraufwand und die damit verbundene schnellere Fertigstellung des Programms oder Implementierung neuer Features. Auf der Gegenseite fällt es leicht, den Datenbankserver auszutauschen, erweist er sich nicht als den Aufgaben gewachsen. Der Nachteil dieser eingezogenen Zwischenschicht könnte eine verzögerte Bearbeitung der Daten sein. Ist die Laufzeit für die Anwendung kritisch, etwa bei der parallelen Erfassung tausender Messwerte einer Produktionsanlage, empfiehlt sich eher die direkte Anbindung an die Datenbank. In unserem Beispiel Autohaus wird das wohl selten der Fall sein, deshalb ist der Database Abstraction Layer vorteilhaft.

POSper arbeitet sowohl in Handelsunternehmen als auch in der Gastronomie als PC-Kasse. Am Bildungsinstitut trainieren wir damit angehende Verkäufer.
POSper arbeitet sowohl in Handelsunternehmen als auch in der Gastronomie als PC-Kasse. Am Bildungsinstitut trainieren wir damit angehende Verkäufer.
Logisch, oder?

Steht die Verbindung zur Datenbank, kommt die Anwendungslogik ins Spiel. Neben der erwähnten Integration in ein lokales Anwendungsprogramm bieten sich Applikationsserver oder Webserver dafür an. Bekannte Namen sind JBoss, Glassfish, oder Zope. Vorteil dieser Lösungen gegenüber der lokalen Programme ist der verringerte Administrationsaufwand. An zentraler Stelle spielt der Administrator die Updates ein, nicht auf jedem Client-Rechner einzeln. Stürzt mal etwas ab, weiß er genau wo der betroffene Server steht. Er spart sich die Analyse der einzelnen PC’s. Zeit ist eben Geld. Nachteil dieser Methode ist der damit verbundene Schulungsaufwand. Die Zahl der Admins, die den JBoss aus dem Effeff beherrschen ist weitaus geringer als die Zahl derer, die ein Update auf dem lokalen PC aufspielen können. Ein besonders interessantes Beipiel für die Verwendung des JBoss-Servers liefert ab Ende Juni 2010 die Firma Novabit. Ihr System Nuclos basiert darauf. Der Clou: Jedes Unternehmen wird damit in die Lage versetzt, sich seine eigene individuelle Software zusammenzustellen. Zum genannten Zeitpunkt plant Novabit, frei verfügbare Downloads der Open-Source-Software im Netz stehen zu haben. Auf der Anwenderseite bleibt dann nur noch der „dumme“ Client, der sich um die Anzeige der Formulare und Bedienoberfläche kümmert.

Web 2.0 im Unternehmen

Die Alternative zum Anwendungsserver ist der Webserver. Dank der Kombination von Apache/PHP/Perl oder unter Windows IIS/ASP und weiterer serverseitiger Scriptsprachen, kann ein webbasiertes Programm locker die Applikationslogik umsetzen. Und mit Hilfe von Web 2.0 stimmt auch die Optik der Oberfläche. Auf diese Technik setzen Lösungen wie NolaPro oder OpenBravo. Als Anzeigeprogramm der Benutzeroberfläche dient der Browser, der heute auf keinem PC mehr fehlen darf. Auch webbasierte Dienstleister sehen ihre Chance. Gesetzeskonforme und leicht verständliche Buchhaltung gibt es zum Beispiel völlig kostenlos bei FreeFibu. Wer den langen und unsicheren Weg ins Internet scheut, stellt den Webserver ins eigene Intranet und installiert die Anwendung dort. Bekanntestes Beispiel aus dem deutschen Raum für diese Verfahrensweise ist LxOffice. LXOffice basiert auf dem Apache in Verbindung mit der Programmiersprache Perl. Sowohl der Applikationsserver als auch der Webserver setzen die Applikationslogik an zentraler Stelle um. Beide haben ihren Reiz. Meine Meinung dazu: Gegen den Einsatz eines Webservers spricht das Verständnis des Programms Browser. Im Kopf eines Benutzers dient er als Unterhaltungsmedium. Mit diesem Programm liest er Webseiten, chattet in StudiVZ, sieht Filme und spielt Flash-Games. Zum Schreiben einer Rechnung erwartet er ein graues Formularsystem mit Buttons. Dieses Muss zum Umdenken könnte sich für wenig Technik-affine Mitarbeiter als Problem erweisen und zur Ablehnung der Software nebst Produktivitätseinbußen führen.

Und nun lokal

Steht der Applikationsserver im Netz, benötigen Sie einen lokalen Client für die Umsetzung der Bedienoberfläche. Ist die Applikationslogik nebst der Oberfläche in einer einzigen Schicht umgesetzt, benötigen Sie das lokale Programm. Auch für dieses Problem existieren wieder diverse Lösungen. Mein wichtigster Hinweis an dieser Stelle ist der Fakt, dass die Umstellung eines Unternehmens auf Linux nie zu 100% auf einen Schlag gelingen wird. Es wird immer noch einige PC’s mit anderem Betriebssystem geben. Also sollten Sie möglichst darauf achten, dass die eingesetzten Programme auf vielen Betriebssystemen arbeiten. Cross-/X-Plattform nennt sich das. Für den Fall Applikationslogik auf dem Webserver hat sich dieses Problem erledigt. Gute Browser sind für jedes Betriebssystem verfügbar. Die anderen Lösungsansätze verlangen nach dem Wissen um die Möglichkeiten der Anzeige von grafischen Oberflächen. Dazu dienen Toolkits, aus deren Einzelteilen der Programmierer Oberflächen konstruiert. Die bekanntesten und am weitesten verbreiteten Toolkits aus der Open-Source-Welt sind GTK und QT. Beide sind Cross Platform und damit unabhängig vom Betriebssystem. Interessant ist an dieser Stelle die Frage nach der Akzeptanz und Unterstützung seitens der Linux-Hersteller. Ohne hier die alten Flamewars zwischen KDE- und Gnome-Fans anfeuern zu wollen: GTK hat wohl in Sachen Unterstützung durch Hersteller und Distributoren gewonnen. Die großen kommerziellen Linux Distros nutzen lieber Gnome und GTK als Standard-Desktop (Ubuntu, RedHat). Nur Suse kommt dank Druck aus der Community nicht um KDE herum.

Schmankerl in EBINeutrino: Das Programm erlaubt mit Hilfe des Editors das Anlegen eigener Formulare mit den Geschäftsdaten aus der Datenbank
Schmankerl in EBINeutrino: Das Programm erlaubt mit Hilfe des Editors das Anlegen eigener Formulare mit den Geschäftsdaten aus der Datenbank
Sandkastenspiele

Programme, die Toolkits zur Anzeige nutzen, schreiben Programmierer meist in C/C++. Das wohl bekannteste OpenSource-Programm ist die Einzelplatzlösung GnuCash (GTK-Oberfläche). Recht frisch auf dem Markt ist ERPel von Günther Bölter, das QT nutzt. Die Portierung solcher Programme auf ein anderes Betriebssystem erfordert das Neukompilieren der Software und damit Zeit und Ressourcen. Ohne diesen recht aufwändigen Prozess kommen Programme aus, die in virtuellen Maschinen oder Laufzeitumgebungen ausgeführt werden. Das von Microsoft erfundene .NET und dessen Pendant Mono unter Linux besitzen unter Anhängern von Open Source geringere Akzeptanz als Java. Beide Systeme haben ihre Vor- und Nachteile. Fakt ist aber, dass weitaus mehr Unternehmensanwendungen in Java existieren als in Mono. Für meine Kassenlösung in unserem Bildungsinstitut nutze ich zum Beispiel das freie Kassensystem POSper, das in Kürze in Version 1.0 erscheinen wird. Auch Novabit setzt bei Nuclos auf das Produkt von Sun/Oracle. Als besonders gelungene Programme betrachte ich auch EBI Neutrino oder OpenYABS.

Empfehlungsversuch

Nun zu meinen eigenen Erfahrungen und dem Versuch, aus dem kleinen Wirrwarr ein Fazit abzuleiten. Java-Programme funktionieren überall. Mit ihnen hatte ich persönlich die wenigsten Schwierigkeiten. Sowohl unter Windows als auch unter Linux verrichten sie ihren Dienst meist klaglos. Ich tendiere also in Richtung Java, zumal auch Oracle nach der Sun-Übernahme die Verfügbarkeit der Plattform gewährleisten will. Zudem existieren bereits einige freie Implementierungen der Laufzeitumgebung. Ob Sie einen Applikationsserver einsetzen, hängt von der Unternehmensgröße ab. Unser Autohaus mit zwanzig Computer-Arbeitsplätzen kommt gut ohne JBoss aus. Bei mehr als fünfzig Clients sollten Sie ihn wegen der zentralen Administration benutzen. Was außerdem für Java spricht, ist die große Anzahl an ausgebildeten Programmierern und Experten, die diese Programmiersprache beherrschen. Für Java existieren neben JDBC auch weitere komfortable Datenbank-Abstraktionsschichten und mächtige Reportingwerkzeuge, die die Druckvorbereitung der Daten übernehmen. Als Backend zum Speichern der Daten lautet meine subjektive Empfehlung MySQL.

Zum Schluss

Ich bin gespannt, welche Erfahrungen andere Community-Mitglieder bei Unternehmenssoftware gemacht haben. Ich bitte Euch um rege Diskussionen. In den nächsten Wochen und Monaten werde ich versuchen, an dieser Stelle weitere Artikel über Geschäftsprogramme zu veröffentlichen. Die Vorabversion von Nuclos habe ich bereits als virtuelle Maschine und am nächsten Wochenende hoffentlich Zeit für einen ersten Test. Wenn POSper 1.0 erscheint, berichte ich, da ich es selbst einsetze. Daneben brennen noch EBINeutrino und ERPel unter meinen Nägeln und für Nachschub sorgt die Open-Source-Szene ständig.

Hinterlasse einen Kommentar

2 Kommentare auf "Versuch einer Entscheidungshilfe für die richtige Linux-Unternehmenssoftware"

  E-Mail Benachrichtigung  
Neuste Älteste Beste Bewertung
Benachrichtige mich zu:

Vielen Dank für diesen Artikel!
Ich wusste garnicht das der Markt dort so groß ist. Freue mich schon auf die genaueren Präsentationen der einzelnen Systeme.

Klasse Beitrag! Bin selbst in der Branche tätig und finde Sie bringen es gut auf den Punkt.

Wir bieten webbasierende Lösungen für kleine und mittelständische Unternehmen mit zentralem Server und allem was dazu gehört: Schulungen, Implementierung, Hardware etc.

Dank modularem Aufbau ist eine Anpassung an die indivduellen Bedürfnisse möglich und in Verbindung mit opensource Software sorgen wir so für ein unschlagbares Preis-Leistungs Verhältnis.

http://opendynamic.de/

Beste Grüße