CST Query Builder
Internes Tool für einen Online-Händler

Der CST Query Builder erleichtert die Erstellung von SQL Anfragen an eine Datenbank.

Mit Hilfe einer webbasierten Oberfläche sollen einfache, wie auch verschachtelte Anfragen an eine Datenbank gestellt werden können. Als Ergebnis erhält man eine Kunden- bzw. Emailliste. Die Emailliste kann über spezielle API-Aufrufe im Kundenbackend an einen Newsletter-Dienstleister übermittelt werden.

Die einzelnen Filterkriterien sind vorgegeben und werden aufgrund ihrere teilweise speziellen Natur im Java Backend gesondert behandelt. Die Übermittlung der Suchanfrage erfolgt nach vorheriger Optimierung der Suchanfrage an das Backend in JSON. Das Backend generiert daraus mehrere optimierte SQL-Anweisungen und führt diese innerhalb einer Transaktion aus.

Eckdaten:
Software: Java (Spring Framework & Thymeleaf), SQL (mySQL), HTML, CSS, JavaScript


My Business Backer
White Label Crowd Services

Die My Business Backer GmbH bietet Dienstleistungen rund um das Thema Crowd Investing an und muss daher eine stabile und ausfallsichere Plattform für seine Kunden bieten.

Bei der myBB-Plattform lassen sich drei Kernpunkte hervorheben: Erweiterbarkeit, Skalierbarkeit und Ausfallsicherheit.

Ausfallsicherheit haben wir durch den Aufbau eines Pacemaker-Clusters erreicht, der im Falle eines Serverausfalls automatisch auf einen bereitstehenden Server umschaltet. Das gesamte Portalsystem ist darüber hinaus clusterfähig programmiert. Selbst Sessioninformationen können schnell von einem Server zu einem anderen Server übertragen werden, ein Serverausfall wird somit vom Benutzer nicht bemerkt. Der Vorteil der Clusterfähigkeit ist auch, dass die Last auf entsprechende Server verteilt werden kann. Weiter wurden verschiedene "Worker-Services" implementiert, welche Aufgaben im Backoffice abarbeiten, z.B. generieren und versenden des Vertrags.

Eckdaten:
Software: PHP5 (OO), SQL (PostgreSQL), HTML, CSS, JavaScript, Latex
Cluster: Linux, Corosync, Pacemaker mit diversen Internetdiensten: Apache, nginx, dovecot, postfix, ...

Webseite: www.mybusinessbacker.com (offline)/p>


DWine System
Die plattformübergreifende Weinbausoftware

DWine ist eine branchenspezifische Softwarelösung, die speziell auf die Bedürfnisse eines Weinbaubetriebs eingeht.

Das Ziel der Software ist es, den Weinbautrieb in der täglichen Arbeit zu unterstützen. Dabei kommt es den gesetzlichen Forderungen und den Vorgaben der amtlichen Weinbuchführung nach. Die Programmoberfläche ist klar strukturiert und spiegelt die wesentlichen Aufgaben wieder: Kundenverwaltung, Flaschenbuch, Rechnungswesen und Preisgestaltung. Eine zentrale Kundenforderung, die Daten lokal und nicht im Internet zu speichern, wird ebenfalls erfüllt.

Zusätzlich werden auch verschiedenen Onlinedienste angeboten, wie z.B. die Datensicherung in der Cloud.

Darüber hinaus gibt es verschiedene Apps für Smartphones und Tablets, die die Daten somit auch mobil verfügbar machen.

Eckdaten:
Client: C++, Qt4, Boost, STL, SQL (PostgreSQL)
Serverdienste: PHP5, PostgreSQL, SQLite, Apache, Perl
Apps: Java, C++, Qt5, QML, SQLite, PostgreSQL

Webseite: www.dwine.de


Presence/Messenger Lösung

Realisierung eines Messengers für eine plattformübergreifende Kommunikation.

Die Herausforderung bei der Umsetzung dieses Projekts bestand zum einen in der Entwicklung eines plattformunabhängigen Clients und in der performanten Implementierung eines entsprechenden Servers. Der Funktionsumfang deckt sich in etwa mit dem heutiger Messenger (z.B. Facebook Messenger) und erlaubt auch den Transfer von Dateien. Das zum Einsatz gebrachte binäre Protokoll erlaubt selbst über schmalbandige Verbindungen eine gute Erreichbarkeit.

Der Server wurde systemnah programmiert um einen entsprechend hohen Durchsatz zu garantieren. Um dies zu erreichen wurde die asynchrone ereignisorientierte Socketprogrammierung mit einem Worker-Ansatz kombiniert. Der dritte Teil des Server stellt die generische Implementierung des Protokolls dar, welche eine einfache Erweiterbarkeit unterstützt.

Der Client setzt sich aus zwei Teilen zusammen einem Kernel und der graphischen Bedienoberfläche. Dies gewährleistet eine klare Trennung von Funktion und Anzeige der Daten. Die Protokollimplementierung konnte hier leider nicht so generisch erfolgen wie im Kernel, da hier die entsprechende Sprachunterstützung nicht gegeben war.

Eckdaten:
Server für Linux: C/C++, Socketprogrammierung, SQL
Client: Java (Swing und eigene Komponenten), Socketprogrammierung


Occlusal Fingerprint Analyser
kurz: OFA

Im Rahmen eines Forschungsprojekts wurde der OFA für die Analyse und Rekunstruktion von Kaubewegungen entwickelt.

Die Software unterstützt die DFG Forschungsgruppe 771 bei ihrer Arbeit und wurde im Rahmen des Forschungsprojekts zusammen mit den Forscherinnen und Forschern entwickelt. Die Software war von Anfang an als OpenSource-Projekt spezifiziert und wird nach Abschluss der Arbeit entsprechend unter der GPL veröffentlicht.

Die Software wurde in mehrere Module aufgeteilt, entsprechend geplant und realisiert. Sie konnte somit direkt mit Erscheinen des ersten Moduls von der Forschergruppe genutzt werden und Schritt für Schritt ausgebaut werden. Rückmeldungen und Verbesserungen konnten so stetig erfasst und im Rahmen der Entwicklung berücksichtigt werden. Da es sich um Grundlagenforschung handelt, war das Ziel der Programmentwicklung nur in etwa bekannt. Die Herausforderung für das Entwicklerteam bestand deshalb im regelmässigen Gedankenaustausch mit den Forscherinnen und Forschern Schritt für Schritt die Software zu spezialisieren.

Eckdaten:
C++, Qt4, Boost, STL, OpenGL, Paralleldatenverarbeitung, Socketprogrammierung, Bonjour/Avahi

Webseite: rel="noopener"www.for771.uni-bonn.de


SIP Framework

Mitentwicklung eines .net Frameworks zur einfachen Benutzung des Session Initiation Protocol (SIP).

Das Framework kommt im Siemens HiPath Umfeld zum Einsatz. Es unterstützt allgemeine SIP-Features, aber auch Siemens HiPath spezifische Protokollerweiterungen.

Eckdaten:
C++, CLI, C#, .Net, M5T, SIP & RTP

Webapplikation für Silotransporte

Realisierung eines Webportals zur Koordination von Silotransporten

Eckdaten:
PHP5 (Yii-Framework), SQL (mySQL), JavaScript (jQuery) mit AJAX


Weitere Referenzen können wir Ihnen auf Anfrage gerne zukommen lassen.