Architekturakademie: Softwarearchitektur Hands-on - am eigenen Projekt
Softwareentwicklung Software Architektur
Komplexe Softwareprojekte konzipieren und beherrschen
Eine gute Softwarearchitektur ist oft der entscheidende Faktor für den Erfolg von großen Software-Projekten. Die Software-Architektur definiert die Struktur ihres Software-Systems. Software-Architekten liefert den Bauplan. Sie planen, entwerfen und koordinieren die gesamte Entwicklung von Anwendungen innerhalb von Unternehmen. Zudem stellen stellen sie Kommunikation zwischen verschiedenen Teams sicher. Eine Rolle die viel Erfahrung, Expertise, Kommunikation und Verantwortung voraussetzt. Anforderungen müssen übersetzt werden und das Gesamtsystem über die Zeit im Blick gehalten werden.
Mit über 20 Jahren Erfahrung in der Planung und Umsetzung von komplexen Softwarelösungen und Softwarelandschaften und einer Vielzahl von erfolgreich abgeschlossener Projekte geben Ihnen die Sicherheit für Ihr erfolgreiches Software-Projekt mit TEAM23.
Heute gehören wir zu den erfahrensten Entwicklungshäusern in der modernen Software-Entwicklung. Wir behalten den Überblick zu behalten und helfen die Herausforderung eines ganzheitlichen und funktionierenden Systems in eine Chance umzuwandeln. So entsteht ein realer Wettbewerbsvorteil gegenüber der Konkurrenz.
Softwarearchitektur für Webanwendungen WEB
Dieses Seminar ist Teil der Advanced Module der iSAQB-Zertifizierung für Software-Architekten (CPSA-A).
Sie lernen die Grundlagen des Webs und die grundlegenden Techniken kennen. Anhand einfacher Beispiele lernen Sie zunächst die sprachenunabhängige Kommunikation mit HTTP-Requests kennen, mit Aspekten von Caching und Sicherheit.
Danach beschäftigen Sie sich mit den Architekturstilen von Web-Anwendungen. Die verschiedenen Möglichkeiten, Server und vor allem die Clients zu gestalten, werden erläutert.
Als Architekt sind Sie für den Entwurf großer Systeme verantwortlich. Dazu gehört die Kenntnis von Infrastruktur wie Proxies, CDNs und Lastverteilung. Auch die Optimierungen auf Server- und Clientseite sind Thema.
Es folgt die Vermittlung von Mustern und Best-Practice-Lösungen für gängige Probleme. Dazu gehört auch die Einschätzung von Risiken und Sicherheit, sowie die Qualitätssicherung.
Anhand von Beispielanwendungen wird Architektur in praktischen Übungen erstellt und analysiert.
Als Vorbereitung für den iSAQB Certified Professional for Software Architecture, Advanced Level (CPSA-A)
Das Seminar deckt einen Baustein des Bereichs „Technische Kompetenz“ des CPSA-Advanced Curriculums ab und ist entsprechend beim iSAQB lizensiert. Wenn Sie die Zertifizierung anstreben, können Sie sich mit der Teilnahme 30 Credit Points anrechnen lassen. Informationen zur CPSA-Zertifizierung finden Sie hier.
Das Seminar „Softwarearchitektur für Webanwendungen (SWA-web)“ entspricht dem iSAQB Advanced Modul „WEB“ (Web-Architekturen)
Inhalt
Grundlagen
Technologische Grundlagen des Webs: Browser, Client-Server, Proxy, HTML, etc.
Protokolle und Standards
TCP, HTTP, TLS und andere Standards der Low-Level-Kommunikation im Web
Authentisierungsmechanismen und Absicherung
Zustandspersistenz (Cookies)
Architekturstile
REST und Single-URI-/Stateful-BackEnd
ROCA & Single Page Apps
Randbedingungen erkennen und für die Auswahl berücksichtigen
Technologie und Infrastruktur
Vorstellung einiger wichtiger Frameworks
Beispielprojekte mit Spring MVC und node.js
Proxys, CDNs, Lastverteilung
Entwurf von Web-Architekturen
Strukturelle Probleme lösen: CAP-Theorem in verteilten Systemen, Netzwerkfehler, Sicherheit, ACID
Model-View-Controller in verschiedenen Frameworks
Einsatzgebiete der einzelnen Sprachen (HTML, CSS, Javascript)
CQRS
Qualität in Web-Architekturen
Sicherheit, Skalierbarkeit, Verfügbarkeit, Bedienbarkeit, Barrierefreiheit
Risikoanalyse und Bedrohungsmodellierung
Voraussetzungen
Teilnehmer sollten folgende Kenntnisse und/oder Erfahrung mitbringen:
Architekturakademie: Softwarearchitektur Hands-on - am eigenen Projekt
Softwarearchitekturen zu entwerfen ist eine Herausforderung. Sie sollen anforderungsgerecht und zukunftssicher gestaltet sein und nach Möglichkeit auf modernen Technologien aufsetzen. Sie sind agil zu entwickeln und müssen von einem Entwicklunsgteam leicht verstanden und umgesetzt werden können. Gleich, ob es sich um ein eingebettetes System handelt oder um ein Enterprise IT System.
Im Zeitalter der Digitalisierung müssen viele Softwarearchitekturen zudem DevOps-tauglich sein: neue Features werden kontinuierlich in laufende Systeme deployed; Daten aus dem operativen Betrieb dieser Systeme führen zu ständigen Architekuranpassungen. Allerdings können Softwarearchitekturen nur in den seltensten Fällen frei gestaltet werden - in den meisten Fällen gilt es ein Bestandssystem zu modernisieren, oft eines mit einer veralteten oder erodierten Architektur.
Entwicklungsteams und Softwarearchitekten stehen somit in Ihrer täglichen Arbeit vor einer Aufgabe, die ein hohes Maß an technischem und methodischem Wissen erfordert. Eine "Silver-Bullet" gibt es nicht.
Das Seminar
In dieser 5-tägigen Schulung erhalten die Teilnehmer einen umfassenden „state-of-practice“-Blick auf das Thema Softwarearchitektur: Von Praktiken der agilen und schlanken Architekturerstellung angefangen, weiter über moderne Entwurfskonzepte und Technologien zur anforderungsgerechten Architekturgestaltung, bis hin zu Ansätzen, Architekturen kontinuierlich zu evolvieren und an veränderte Anforderungen anzupassen. Ein besonderer Schwerpunkt der Schulung liegt auf dem Zusammenspiel aller dieser Methoden und Techniken im
Lebenszyklus einer Architektur. Die Lerninhalte der Schulung greifen zudem die Kernthemen des iSAQB Advanced Level Kurrikulums kompakt und ganzheitlich im Kontext einer agilen Softwareentwicklung auf.
Alle Themen werden in praktischen Übungen mit realen Fallbeispielen vertieft: Den eigenen Projekten der Teilnehmer. Teilnehmer können so am besten verstehen, welche Methoden, Techniken und Entwurfskonzepte am tragfähigsten für ihre Architekturen sind und wie diese bei deren Erstellung und Weiterentwicklung zusammenspielen. Teilnehmer des iSAQB Advanced Level Programms können so die Kernthemen des Kurrikulums gezielt vertiefen und bezüglich ihrer Anwendbarkeit im eigenen Umfeld reflektieren. Durch die Verknüpfung der Lerninhalte mit den eigenen Projekten erhalten alle Teilnehmer wertvolle Anregungen für ihre weitere konkrete Architekturarbeit.
Der Seminarinhalt
Folgende Themengebiete werden behandelt: