Die Wahl der zu verwendenden Softwarekomponenten bildet das Grundgerüst für die softwareseitige Lösung eines Problems. Im Mittelpunkt stehen dabei die fünf Punkte: Funktionalität, Benutzbarkeit, Zuverlässigkeit, Effizienz und Änderbarkeit.
Unsere Softwarearchitekturen richten sich nach diesen Punkten und werden nach aktuellsten und erprobten Standards umgesetzt. Erforderliche Softwarearchitekturen werden der Problemstellung nach entwickelt, und nach Ansätzen der Service-orientierten Architekturen zur höchst möglichen Modularität getrieben. Alle entwickelten Komponenten zeichnen sich stets durch die fünf Hauptpunkte aus und werden durch Standards wie Service Component Architectures (SCA), Model-driven Architectures oder OSGi Architekturen erweiter- und anpassbar entwickelt, so dass wieder Verwendbarkeit einzelner Komponenten dem Neuentwickeln überwiegt.
Um diesen Standard zu gewährleisten folgt unsere Softwareentwicklung modernen und erprobten Entwurfsmustern zur Implementation und Umsetzung der Softwarelösungen. Nach objekt-orientierten Gesichtpunkten programmiert ATB spezifische Softwareentwicklungen ebenfalls nach den fünf Hauptpunkten und sorgt so für eine hohe wieder Verwendbarkeit und Anpassungsfähigkeit einzelner Module in den Systemlösungen. Dazu nutzt ATB klassische wie State-of-the-Art Programmiersprachen, -paradigmen und Software Tools wie
- Virtualisierungstechnologien: Docker, Virtualbox, Xen, KVM
- Orchestrierung: Kubernetes
- Programmiersprachen: Java, JavaScript, TypeScript, Python, C#, Go, C++
- Frontend-Entwicklung: Angular, Ionic
- Agile Arbeitsabläufe: Agile Projektplanung, Testgetriebene Entwicklung (TDD), Kontinuierliche Integration
- DevOps-Praktiken: Kontinuierliche Bereitstellung, Überwachung des Produktionssystems
- Test-Techniken: Einheitstests, Komponententests, Integrationstests, Abnahmetests (Selenium, Cypress)