Entwicklung

<< Klicken Sie, um das Inhaltsverzeichnis anzuzeigen >>

Navigation:  Technisches >

Entwicklung

Softwareentwickler und Autor der Dokumentation ist itc-ms.de, das freundliche Ingenieurbüro aus Marburg.

Die Entwicklung von RheMIT erfolgt mit dem hochmodernen Entwicklungssystem Idera Delphi 10.4 Enterprise, das die Programmiersprache Object Pascal verwendet.

Zur Qualitätssicherung wurde für Grundfunktionen, die an vielen Stellen im System zum Einsatz kommen, der Test Driven Development Ansatz gewählt, der mit dem DUnitX Testframework umgesetzt ist.

Als Quellcodeverwaltung kommt GIT zum Einsatz, als System für Issue Tracking und Continous Integration wird das System Gitlab verwendet, das verschiedene virtuelle Server für Unit Tests und Tests der Kompilate und Updates anspricht (CI/CD).

Eine Vielzahl selbst entwickelter und zugekaufter langjährig erprobter Bibliotheken kommt zum Einsatz. Dazu gehören die bekannten WPTools (Dokumente/PDF Generierung und Anzeige), und eine Reihe TMS Komponenten (Formelberechnungen, Remote Database über HTTPS). Als Setup-System wird das bekannte und sehr flexible Produkt INNO Setup (auch in Delphi entwickelt) verwendet.

Für die in RheMIT scriptgesteuerten Bereiche (Berichte, Plausibilitätsprüfungen, ITC-Connect etc.) verwenden wir das Open Source System Pascal Script von RemObjects, das es uns ermöglicht, einen großen Teil der Mächtigkeit unserer Entwicklungssprache nahtlos in den für kundenspezifische Anpassungen verwendeten Scripts zu verwenden. Pascal Script wird auch in INNO-Setup intensiv genutzt.

Die RheMIT zugrunde liegende EMIL® Technologie, das unterbrechungsfreie Aktualisierungssystem und die skalierbaren, augenfreundlichen Benutzeroberflächenkomponenten sind eine Eigenentwicklung von itc-ms.de, die seit vielen Jahren in den Systemen EMIL® und EMILie sowie verschiedenen Spezialentwicklungen für Pharma- und andere Industriebetriebe im Einsatz ist.

ITC entwickelt Arbeitsplatzsysteme auf Windows und passt diese für die Verwendung der WINE Kompatibilitätsschicht an, damit diese auch unter Linux und OSX ausgeführt werden können. Diese Vorgehensweise ist weniger aufwändig, als spezielle Versionen für drei Betriebssysteme zu entwickeln, da die für den Betrieb in WINE erforderlichen Anpassungen auch unter Windows getestet werden könnnen. Zudem steht mit Crossover ein preiswertes Produkt zur Verfügung, mit dem auch Laien RheMIT-Arbeitsplätze auf OSX und Linux-Maschinen installieren können.

Für die optionale Datenbankvollverschlüsselung mit AES wurde eine Company License des Firebird Encryption Frameworks von der auf Firebird spezialisierten Firma IBSurgeon mit Quellcode erworben.

Für Ende zu Ende verschlüsselte Datenübertragung in Modellversuchen und DMP kommen das Kryptomodul der KBV oder GPG (die Kernkomponente von GPG4WIN) mit den öffentlichen Schlüsseln der Datenempfänger zum Einsatz.

Zur Pflege und Bereitstellung der Dokumentation als Kontexthilfe, Handbuch und Webversion wird das geniale Standardsystem Help & Manual von EC Software aus Österreich (die übrigens auch in Delphi entwickeln) eingesetzt.

Für ein durchgängiges grafisches Design wurden Grafische Elemente/Symbole über ein Icons8 Abo erworben. Abbildungen wurden - soweit nicht selbst erstellt - von Fotolia/Adobe Stock erworben (z.B. die Männchen).

Warum entwickelt itc-ms.de eigentlich in Delphi?

itc-ms.de hat in der langjährigen Tätigkeit für viele Auftraggeber auf Kundenwunsch mit nahezu allen Entwicklungsumgebungen gearbeitet, darunter Visual Studio (BASIC, C#, C++), Java,  Javascript Frameworks und PHP. Im Vergleich zu all diesen Frameworks und Entwicklungsumgebungen war Delphi immer die mit Abstand produktivste und die jenige mit den besten, für mittelgroße Anwendungen benötigten Komponentensets und hat sich auf ganzer Strecke über viele Jahre bewährt.

Da Delphi Anwendungen Betriebssystem-Nativ sind und keine Laufzeitumgebungen benötigen wie z.B.  Java Anwendungen, sind diese auch recht immun gegen Betriebssystemänderungen und Updates. Außerdem sind Delphi Anwendungen im Vergleich zu z.B. Java Anwendungen in vielen Beklangen erheblich schneller. Das ist  bei hochkomplexen Systemen wie RheMIT relevant, wo viele Dinge hinter der Bühne ablaufen.

Ansonsten sind Programmiersprachen Werkzeuge. Ebensowenig, wie sich der Kunde des Tischlers dafür interessiert, mit welcher Säge etwas zugeschnitten wurde, sondern nur die Beschaffenheit der Holzkante eine Rolle spielt, achten nach unserer Erfahrungen Kunden darauf, was die Software kann und wie gut und flott sie das tut.