Anwendungsentwicklung

Ein Schwerpunkt von uns liegt in der Entwicklung von Enterprise Web Applications. Aufbauend auf unsere Beratungskompetenz sind wir im Zusammenspiel mit unseren selbst gehosteten DevOps Lösungen in der Lage, die Entwicklungsarbeiten unter hohen Sicherheitsstandards durchzuführen und, falls gewünscht, die fertigen Produkte auf unseren Systemen bereitzustellen.

Dieses Ziel unterstützen wir mit dem Einsatz von etablierten Open-Source Frameworks und Werkzeugen, die einem fortlaufenden offenen Reviewprozess unterliegen und aufgrund dessen besonders geeignet sind sicherheitsrelevante Software zu erstellen. Wir stellen uns gerne auf die Schultern von Riesen.

Selbstverständlich können von uns erstellte Anwendungen auch auf Ihren Servern oder in einer Cloud-Lösung betrieben werden.

Neben der Neuentwicklung von Anwendungen haben wir auch umfangreiche Erfahrung im Review von Software und der Migration von Legacy Anwendungen auf moderne Architekturen.

Im folgenden stellen wir einige unserer bevorzugten Werkzeuge und Methoden vor

Business Logic

Der wesentliche Teil der Geschäftslogik und Sicherheitsfeatures liegt in Server-Anwendungen, die wir in Java, Kotlin, C# oder Go programmieren. Wir verwenden hierzu die Frameworks Spring und .NET Core, um JAVA EE bzw. .NET Anwendungen zu entwickeln. Wir haben die Erfahrung komplexe und umfangreiche Geschäftsanwendungen entsprechend der Framework Blueprints strukturiert und wartbar umzusetzen. Die Integration von umfangreichen Reporting/Business Intelligence Funktionalitäten in die Anwendungen ist fester Bestandteil unseres Leistungsspektrums.

Anwendungssicherheit

Als Identitity und Access Management Lösung setzen wir in größeren Projekten seit Jahren erfolgreich Keycloak ein, um die Anwendungen auf allen Schichten OpenID Connect abzusichern. Dies erlaubt insbesondere auch den sicheren Einsatz von Microservices. Für besondere Anforderungen entwickeln wir Keycloak-Plugins, um zum Beispiel den Einsatz von speziellen Hard-Token für das Multifaktor-Login zu ermöglichen. Besonders datenschutzrelevante Lösungen sichern wir zusätzlich über Zertifikate ab. So lässt sich z.B. die Möglichkeit des Zugriffs auf eine Webanwendung auf zertifizierte Geräte oder Nutzer*innen, die ein Zertifikat als Soft- oder Hardtoken besitzen, beschränken. Als Public Key Infrastruktur (PKI) setzen wir in unserer Landschaft Primekey EJBCA ein.

Frontend

Bei der Frontend-Entwicklung setzen wir auf typisierte Sprachen, insbesondere Type Script, um schon in der Entwicklungsumgebung einen möglichst sicheren Code zu schreiben. Type Angular benutzen wir als Framework zur Entwicklung der Anwendungen. Aus unserer Sicht ist Angular besonders geeignet komplexe Single Page Application zu erstellen, wie in Business-Applications gefordert. Als Layout-Framework setzen wir auf Bootstrap bzw. NG Bootstrap und ergänzen es gegebenenfalls mit Devextreme-Komponenten, um komplexe Steuerelemente wie Data-Grids zu realisieren. Diese Auswahl an Werkzeugen erlaubt es uns mit Design-Expert*innen zusammenzuarbeiten, um das Endprodukt, falls gewünscht, exakt nach Ihren Vorstellungen gestalten zu lassen. Webfrontends gestalten wir so weit wie möglich barrierefrei, wozu diese standardmäßig nach WCAG 2.1 getestet werden.

Datenbankserver

PostgreSQL ist aufgrund der herausragenden Standardkonformität und Leistungsfähigkeit unsere erste Wahl als Datenbankserver. Zusätzlich besteht durch die Einbindung von PostGIS die Möglichkeit Geoinformationssysteme aufzubauen. Dieses Feature setzen wir in fast allen unseren Produkten ein. Falls gewünscht, verwenden wir auch Microsoft SQLServer. Auch mit diesem Produkt haben wir jahrelange Erfahrung gesammelt und besonders im Bereich Business Intelligence hervorragende Ergebnisse erzielt.

In unseren Java Enterprise Projekten verwenden wir JPA/Hibernate als objektrelationalen Mapper, insbesondere mit Envers als Auditing-Lösung kann so effizient aus der Java-Anwendung auf Datenbanken zugegriffen und zugleich ein hohes Maß an Sicherheit auch in Bezug auf die DSGVO umgesetzt werden. Im .NET Bereich setzen wir auf Entity Framework Core.

DevOps

Unsers Sourcecode-Versionsverwaltung betreiben wir mit git mit selbst gehosteten Gitea Instanzen. Mit dem Gitflow-Workflow sind wir in der Lage die Systemlandschaft Test, Staging und Produktiv optimal zu bedienen und stabile Releases sicherzustellen. Im Continuous Integration/Continious Delivery Prozess verwenden wir DRONE als Build- und Test-Werkzeug für die Unit-, Integrations-, UI/Acceptance Tests. Neben den üblichen Werkzeugen sind wir bei der Testautomatisierung insbesondere von Testcontainers und Cypress überzeugt. Das Ergebnis der Buildprozesse, die Artefakte, wird auf unser Nexus OSS Repository verbracht und von dort auf die Zielsysteme deployed. Selbstverständlich haben unsere Kund*innen von Beginn der Anwendungsentwicklung an Zugriff auf die Staging-Systeme.

Agile Entwicklung mit Scrum

Wir arbeiten nach dem Scrum Paradigma. Jedes Projekt wird von eine*r festen Ansprechpartner*in aus unserem Beratungsteam betreut. Diese Person erarbeitet mit Ihnen User-Stories, priorisiert diese, kommuniziert sie mit dem Entwicklungsteam und betreut die Reviews. Das feste Entwicklungsteam stellt die Sprints zusammen und arbeitet sie ab. Nach jedem Sprint stellen wir Ihnen ein neues Produktinkrement auf dem Staging-System für Reviews bzw. UI/Acceptance Tests zur Verfügung. Als Produkt für das Projektmanagement verwenden wir Youtrack, das für agile Methoden besonders geeignet ist und unsere Agile-Teams hervorragend in ihrer täglichen Arbeit unterstützt.