TECHNOLOGIESTACK
GUPPYWARE SETZT FÜR SOFTWARELÖSUNGEN VORRANGIG AUF MICROSOFT-TECHNOLOGIEN BASIEREND AUF DEM .NET-FRAMEWORK.
Die von Guppyware umgesetzten Softwarelösungen basieren allesamt auf dem .NET-Framework von Microsoft und werden mit der Programmiersprache C# (C Sharp) implementiert. Hier wurde in den letzten Jahren der Umstieg vom klassischen .NET-Framework zu .NET Core vollzogen, das neben Plattformunabhängigkeit auch viele Verbesserungen in puncto Performance und Zuverlässigkeit mit sich bringt. Mit dem .NET-Framework 5 werden diese beiden Schienen wieder zusammengeführt und das Beste aus beiden Welten vereint. Das .NET-Framework ist somit das Mittel der Wahl für moderne und qualitativ hochwertige Software. In Verbindung mit dem Entity Framework Core und Microsofts SQL-Server lassen sich datengetriebene Anwendungen schnell und einfach implementieren.
Die nachfolgende Grafik gibt einen groben Überblick über den von uns eingesetzten Technologie-Stack. Diese hilft uns bei der Abklärung von technischen Details mit ihrer IT-Abteilung.
FRONTEND
ANGULAR 11+ FÜR MODERNE FRONTENDS
Für die Implementierung des Frontends, also der Darstellung der Software im Browser, findet das sehr populäre und weit verbreitete Client-Framework „Angular“ von Google Verwendung.
SERVICEORIENTIERTE ANWENDUNGEN
ASP.NET CORE HOSTED SERVICES UND .NET CORE WORKER SERVICES
Serviceorientierte Anwendungen, das sind Dienste, welche meist zeitgesteuert im Hintergrund ausgeführt werden, um beispielsweise Synchronisationen oder andere Aufgaben zu erledigen, werden ebenfalls mit dem .NET-Framework implementiert.
STABILES FUNDAMENT ALS UNTERBAU
EINE STABILE SOFTWARE-ARCHITEKTUR BIETET DIE GRUNDLAGE FÜR LANGLEBIGKEIT UND ERWEITERBARKEIT
Neben der eingesetzten Programmiersprache und dem dazugehörigen Framework sind aber noch weitere Dinge wichtig, um langlebige und qualitativ hochwertige Softwaresysteme zu entwickeln: Denn je nach Anwendungsgröße muss auch die jeweils dazu passende Software-Architektur gewählt werden, die ein stabiles Fundament für die Anwendung bietet, jederzeit erweiterbar ist und mit den sich ändernden Anforderungen über viele Jahre mitwachsen kann.
Hierbei setzt Guppyware zum einen auf moderne Paradigmen aus der Softwareentwicklung, wie z.B. Agile Softwareentwicklung und Entwurfsmuster (Design Patterns). Weiters wird bei der Implementierung auf die Grundsätze von DDD (Domain Driven Design) gesetzt. Hierbei liegt der Schwerpunkt des Softwaredesigns auf der Fachlichkeit der Anwendungsdomäne. Dies bedeutet vereinfacht, dass man hier versucht, komplexe fachliche Zusammenhänge möglichst nahe an der Realität und unter Verwendung des realen Sprachgebrauchs in der Software nachzubilden. Dies erleichtert die Kommunikation zwischen Entwicklern und Entscheidungsträgern im Unternehmen erheblich.
HOHE SOFTWAREQUALITÄT DURCH TESTSZENARIEN
SINNVOLLER EINSATZ VON UNIT- UND INTEGRATION-TESTS ZUR SICHERSTELLUNG DER QUALITÄT UND WARTBARKEIT
Zur Sicherstellung der Qualität und Wartbarkeit der Software werden weiters je nach Anwendungsfall und Komplexität entsprechende Testszenarien (Unit- sowie Integration Tests) direkt bei der Entwicklung der Software miterstellt, welche das korrekte Funktionieren kritischer Bereiche im Code sicherstellen. Gut durch Tests abgedeckte Codebereiche erleichtern auch das Refactoring von Code, was einen wesentlichen Beitrag zur Wartbarkeit beiträgt und es den Entwicklern ermöglicht, die Software über viele Jahre hinweg an sich ändernde Bedingungen (z.B. neue adaptierte Prozesse) anzupassen.