Wir stellen von Anfang an die richtigen Weichen
Eine gute Softwarearchitektur führt nicht nur zu einem stabilen und leistungsfähigen System, sie garantiert auch eine hohe Flexibilität. Dadurch können Erweiterungen einfacher implementiert werden, ohne dass die Kosten ständig mitwachsen. Aus diesem Grund haben die Baumeister der bbv bei der Planung von Digitalisierungsvorhaben stets die Zukunft im Blick.

Marco Ravicini
Senior Software Architect
bbv Schweiz
Sorgfalt bei Architekturentscheiden
Im Vergleich zu Standardlösungen erfüllt massgeschneiderte Software die funktionalen Anforderungen weit besser, weil so eine Vielzahl spezifischer Aspekte berücksichtigt werden kann. Dies betrifft unter anderem die Archivierung, die Datenmigration und das Monitoring.
Weichen die Rahmenbedingungen von den Projektzielen ab oder widersprechen sie sich sogar, müssen Architekturentscheidungen getroffen werden. Ein professioneller Umgang mit diesem Spannungsfeld ist integraler Bestandteil von Softwarelösungen, die von der bbv in enger Zusammenarbeit mit dem Kunden erstellt werden.
Christian Königsdorfer, GF und Mitinhaber proles solutions ag
Wir haben bbv geholt, damit wir zukünftige Innovationen schneller in unserer Software umsetzen können. Die Zusammenarbeit mit bbv war erstklassig – technisch und menschlich.
Unsere Architektur-Lösungen sind clean
Die bbv-Softwarearchitekten kennen sämtliche Methoden, Muster und Werkzeuge, die ein gezieltes Vorgehen ermöglichen. Beispiele dafür sind agile, Cloud, Serverless oder serviceorientierte Architekturen (SOA) und verteilte Systeme wie Microservices und Self-Contained Systems. Dieses umfassende Wissen ist notwendig, um intelligente Lösungen zu entwickeln, die der zunehmenden Komplexität gerecht werden.
Sie interessieren sich für Software-Architektur, die sich durch Leistungsfähigkeit und Flexibilität auszeichnet?
Dann vereinbaren Sie jetzt eine kostenlose Beratung!
FAQ zu Software-Architektur
Software-Architektur ist das konzeptionelle und strukturelle Gerüst einer Softwareanwendung oder eines Softwaresystems. Sie dient als Blaupause und enthält wichtige Entscheidungen über die Auswahl von Technologien, Frameworks und Designmustern. In der Software-Architektur werden die Grundstrukturen und -richtlinien festgelegt, die die Interaktion der verschiedenen Systemkomponenten oder Module steuern. Es ist das Rückgrat, das die Basis für die Entwicklung, Qualität und den langfristigen Erfolg eines Softwareprojekts bildet.
Eine gut durchdachte Software-Architektur ist aus mehreren Gründen von zentraler Bedeutung für jedes Softwaresystem:
- Sie legt das Fundament für Skalierbarkeit und Leistung, indem sie ein robustes Gerüst schafft, das eine einfache Anpassung an wachsende Nutzerzahlen oder sich ändernde Geschäftsanforderungen ermöglicht.
- Die sorgfältige Planung der Architektur fördert die Wartbarkeit und langfristige Erweiterbarkeit der Software.
- Eine solide Software-Architektur gewährleistet die Qualität und Zuverlässigkeit des Endprodukts.
- Sie erleichtert die Implementierung von Sicherheitsrichtlinien und trägt zur Erstellung robuster, fehlerresistenter Anwendungen bei.
- Durch klare Strukturen und die Anwendung bewährter Designmuster kann ein Entwicklerteam effizienter und konsistenter arbeiten, was die Time-to-Market für das Produkt verkürzt.
- Eine durchdachte Software-Architektur fördert zudem die Modularität und Wiederverwendbarkeit von Code, was den Entwicklungsprozess beschleunigt und die Integration neuer Funktionen oder Technologien in der Zukunft erleichtert.
Verteilte Systeme sind Software-Architekturen, in denen unterschiedliche Komponenten oder Dienste über mehrere physische oder virtuelle Maschinen hinweg laufen. Spezialisierte Formen wie Microservices und Self-Contained Systems illustrieren die Flexibilität und Modularität dieser Architekturen.
Microservices sind kleinere, unabhängige Dienste, die jeweils eine spezifische Geschäftsfunktion abdecken und durch Netzwerkprotokolle miteinander kommunizieren. Sie sind für ihre hohe Skalierbarkeit und die Möglichkeit zur unabhängigen Entwicklung bekannt.
Self-Contained Systems sind ähnlich, jedoch in der Regel umfangreicher und decken komplette Subdomänen eines Projekts ab.
Beide Ansätze fördern die Entkopplung von Komponenten, was zu verbesserter Wartbarkeit und einer leichteren Implementierung moderner DevOps-Praktiken führt. Darüber hinaus steigern diese verteilten Systeme die Systemleistung und Zuverlässigkeit, da sie die Last effektiv auf mehrere Server verteilen können. Sie sind daher ideal geeignet, um Softwareanwendungen agil und effizient zu entwickeln und zu betreiben.
Serverless und serviceorientierte Architekturen (SOA) sind fortschrittliche Modelle der Software-Architektur, die jeweils spezifische Vorteile für die Entwicklung skalierbarer und flexibler Anwendungen bieten.
In einer Serverless-Architektur werden Backend-Dienste von einem Drittanbieter gehostet, wodurch sich Entwickler voll und ganz auf die Implementierung des Codes konzentrieren können, ohne sich um Servermanagement und -wartung kümmern zu müssen. Dies fördert eine schnellere Entwicklung und einfache Skalierbarkeit.
Im Gegensatz dazu legt die serviceorientierte Architektur (SOA) den Fokus auf die Erstellung modularer und wiederverwendbarer Dienste, die über Netzwerkprotokolle kommunizieren. Diese Dienste sind unabhängig voneinander und können problemlos in grosse Unternehmenssysteme integriert werden.
Sowohl Serverless als auch SOA sind darauf ausgelegt, die Wartbarkeit und die Agilität in Entwicklungsprozessen zu fördern und eignen sich daher ideal für DevOps-Praktiken und agile Entwicklungsmethoden.
Das könnte Sie auch interessieren
Sichere Software-Architektur
Wenn das Sitzungszimmer zum Sicherheitsrisiko wird
bbv-Sicherheitsexperte Markus Burri erklärt, wie möglichst viele Sicherheitslücken im IT-System eines Unternehmens gefunden werden können. Besser sei es aber, die Implementierung von IT-Sicherheit bereits entwicklungsbegleitend vorzunehmen.
Microfrontends: Microservices weitergedacht
Wie Webentwickler Komplexität reduzieren
Komplexe Webapplikationen sind eine Herausforderung für Entwickler. Weil Front- und Backend eng verzahnt sind, ist die Weiterentwicklung von Microservices aufwendig und zeitintensiv. Microfrontends helfen, diese Abhängigkeit zu reduzieren. Die bbv-Experten Michael Maurer und Ferry Sapei erklären die Vor- und Nachteile von Microfrontends und wann sich ihr Einsatz lohnt.