Technologie

Infrastruktur und Software

Die Technologie hinter SilverERP

Infrastruktur

Mit der UBL Informationssysteme GmbH haben wir einen starken IBM-Vertragspartner an unserer Seite, der SilverERP im Internet bereitstellt (Hosting-Partner). Im Rechenzentrum wird seitens der UBL vorzugsweise IBM-Hardware eingesetzt, wie z.B IBM i Power Systems (System i / iSeries) mit der Datenbank IBM DB2 for i (Version 6.1) und dem AIX 6.1 Betriebssystem.

Mit diesem Backend wird SilverERP extrem sicher, hoch performant und nahezu ausfallsicher bereitgestellt (zugesichert sind mehr als 99% Verfügbarkeit pro Jahr).

Software

SilverERP wurde "from scratch" d.h. komplett neu entwickelt! Dem ganzen Projekt ging zunächst der Wunsch voraus, dass die spätere Anwendung "so sicher und so schnell wie möglich" im Internet ausführbar sein sollte.

Der Lehrstuhl für Informatik an der Technischen Universität Darmstadt bietet Unternehmen die Möglichkeit zu gemeinsamen Projekten, an denen sich Teams von vier bis sechs Studenten für die Dauer von einem Jahr beteiligen. Diese Projektarbeiten werden vom Lehrstuhl betreut und in Kooperation mit den Unternehmen durchgeführt. Im Rahmen dieser Zusammenarbeit haben wir einen Prototypen für eine internetfähige, schnelle Datenbankanwendung entwickelt. Fast alle Studenten dieses Teams sind heute Teil der yQ-it GmbH.

Das Resultat des Projektes mit der Technischen Universität Darmstadt ist die PHP-Objekt- und Funktionsbibliothek "CAWA", die den Kern für die Realisierung von SilverERP darstellt und Entwicklungen nach dem Konzept der Ajax-Programmierung erlaubt. Beim Einbinden fremder Bibliotheken haben wir darauf geachtet, dass sie gängigen, offenen Standards genügen und auch bei Marktführern wie Google, facebook und IBM Verwendung finden.

Das eigentliche Programm ist, wie bei einer Multitier-Anwendung üblich, in drei Bereiche geteilt: das User-Interface (GUI), die Datenbankanbindung und die Funktionalität (PHP- und Javascript Code). Die Benutzerdialoge des GUI sind in XML-Dateien definiert und werden zur Laufzeit von CAWA interpretiert und angezeigt. Bei der Anbindung von Datenbanken wurde von Anfang an, mittels eines eigens dazu entwickelten Abstraction-Layers, darauf geachtet, dass die Anwendung ohne Änderungen im Source-Code auf unterschiedlichen Datenbank-Servern laufen kann (z.B. DB2, MySQL, MS-SQL, Oracle usw.).

Der Source-Code des Projektes wird selbstverständlich mit einer Versionsverwaltung (SVN) gepflegt. Mit Hinblick auf die Tatsache, dass gerade ERP-Systeme häufig angepasst werden müssen, wurde die gesamte Anwendungsarchitektur so gestaltet, dass durch einfache Vererbung eine neue Instanz der Anwendung gebildet werden kann und darin lediglich die geänderten Dateien abgelegt werden. So bleibt die Basis, von der geerbt wurde, komplett updatefähig, darüber hinaus sind die Änderungen auch nach Jahren noch leicht zu erkennen und zu verwalten.