Folien

Transcription

Folien
21.04.16
Stefan Zörner |
embarc GmbH
Steht alles im Wiki?
Eine Softwarearchitektur im Wandel
Stefan Zörner
Steht alles im Wiki?
Eine Softwarearchitektur im Wandel
Abstract: Viele Softwaresysteme blicken auf eine bewegte Vergangenheit zurück.
Änderungen im Umfeld, etwa im Markt oder durch technologische Neuerungen,
setzten sie unter Druck. Mitunter stand am Ende die Neuentwicklung der Lösung oder
zumindest großer Teile davon. Die Geschichte solcher Systeme wird selten erzählt.
Nicht so hier: In diesem Vortrag unternehmen wir eine kleine Zeitreise und bewerten
eine prominente Softwarelösung, die bereits viele Jahre in zahllosen Umgebungen
produktiv ist, zu verschiedenen Zeitpunkten: Atlassian Confluence. Zum Einsatz
kommen dabei Werkzeuge aus qualitativen Evaluierungsmethoden wie ATAM, gezielt
ergänzt um quantitative Techniken. Wir fokussieren auf gravierende Veränderungen im
Softwaresystem – wichtigen Ereignissen in seiner Biografie. Wodurch waren die
Schritte motiviert? Welche Risiken wurden bewusst in Kauf genommen, welche
Kompromisse eingegangen? Haben sie sich rückblickend bewährt? Die Teilnehmer
lernen nebenbei, wie eine Architekturbewertung grundsätzlich funktioniert.
1
21.04.16
Über mich (Stefan Zörner)
Softwareentwickler, -architekt, Coach bei embarc in Hamburg
n  Vorher oose, IBM, Mummert + Partner, Bayer AG, …
n 
Schwerpunkte:
n  Softwarearchitektur (Entwurf,
Bewertung, Dokumentation)
n  Java-Technologien
[email protected]
@StefanZoerner
xing.to/szr
Agenda
1 Einstieg: Historisch gewachsen.
2 Steht alles im Wiki.
3 Ch ... Ch ... Ch ... Changes.
4 In Szene gesetzt.
5 Fazit.
2
21.04.16
Agenda
1 Einstieg: Historisch gewachsen.
2 Steht alles im Wiki.
3 Ch ... Ch ... Ch ... Changes.
4 In Szene gesetzt.
5 Fazit.
2015
(+) Flüchtlinge
(x) Gutmensch
Wörter / Unwörter des Jahres.
2012
2007
(+) Rettungsroutine
(+) Klimakatastrophe
(x) Opfer-Abo
(x) Herdprämie
2006
2010
(+) Fanmeile
(+) Wutbürger
(x) Freiwillige Ausreise
(x) alternativlos
2012
2005
(+) Bundeskanzlerin
(x) Entlassungsproduktivität
2004
(+) Hartz IV
(x) Humankapital
2006
2004
2010
2014
2014
(+) Lichtgrenze
(x) Lügenpresse
2011
(+) Stresstest
(x) Döner-Morde
2008
2009
(+) Abwrackprämie
(x) betriebsratsverseucht
2008
(+) Finanzkrise
(x) Notleidende Banken
2013
(+) GroKo
(x) Sozialtourismus
3
21.04.16
Oft gesehen…
Was ist Architekturbewertung?
Architekturrelevante
Anforderungen
(qualitative)
Architekturbewertung
Architektur / Entwurf
Best Practices
(Entscheidungen, Modelle,
Konzepte, ...)
(Vorgaben, Muster, Stile,
Vorgehen ...)
Umsetzungsprüfung
Umsetzung
(Lauffähiger Code,
laufendes System)
Quantitative
Analyse, Metriken
4
21.04.16
Qualitative Architekturbewertung
ATAM
Architecture tradeoff analysis method
n 
n 
n 
verbreitetste Methode zur
qualitativen Bewertung von
Softwarearchitektur
früh anwendbar
szenarienbasiert
Agenda
1 Einstieg: Historisch gewachsen.
2 Steht alles im Wiki.
3 Ch ... Ch ... Ch ... Changes.
4 In Szene gesetzt.
5 Fazit.
5
21.04.16
Zeitstrahl.
2014
2012
2010
2008
2006
2004
Confluence 1.0
Presse-Mitteilung, Atlassian 25.03.2004
➔  http://www.theserverside.com/news/thread.tss?thread_id=24701
nnon-Brookes
POSTED BY: Mike Ca
25 2004 00:02 EST
POSTED ON: March
is
essional J2EE wiki,
“Confluence, our prof
simply, it enables
released today. Put
rate
to efficiently collabo
development teams
n resources.”
and share informatio
6
21.04.16
Confluence.
„Das professionelle J2EE Wiki“
Confluence ermöglicht es Entwicklungsteams
effizient zusammenzuarbeiten und
Informationen zu teilen.
Wesentliche Features
§  Einfache "Auspacken und Los geht's"-Installation
§  Leicht zu erlernende Wiki-Notation zum Erstellen, Ändern,
Verknüpfen von Seiten
§  Inhalte organisieren mit Bereichen ("Spaces") und Seitenhierarchien
§  Änderungen an Inhalten verfolgen, benachrichtigt werden
§  Volltext-Suche in Inhalten und Anhängen (auch Word, PDF)
§  Export von Seiten und ganze Spaces nach HTML oder PDF
§  flexibles Berechtigungsmanagement
§  umfassende Remote API
7
21.04.16
Was ist Architekturbewertung?
Architekturrelevante
Anforderungen
(qualitative)
Architekturbewertung
Architektur / Entwurf
Best Practices
(Entscheidungen, Modelle,
Konzepte, ...)
(Vorgaben, Muster, Stile,
Vorgehen ...)
Umsetzungsprüfung
Quantitative
Analyse, Metriken
Umsetzung
(Lauffähiger Code,
laufendes System)
Was ist Architekturbewertung?
Architekturrelevante
Anforderungen
(qualitative)
Architekturbewertung
Architektur / Entwurf
Best Practices
(Entscheidungen, Modelle,
Konzepte, ...)
(Vorgaben, Muster, Stile,
Vorgehen ...)
Umsetzungsprüfung
Umsetzung
(Lauffähiger Code,
laufendes System)
Quantitative
Analyse, Metriken
8
21.04.16
Qualitätsziele
Die wichtigsten geforderten
Qualitätsmerkmale für ein Softwaresystem
heißen Qualitätsziele (oder Architekturziele).
Typischerweise werden als Qualitätsziele im Rahmen eines
Architekturüberblicks die Top-3 bis Top-5 genannt.
Qualitätsziele Confluence 1.0
(aka „Architekturziele“ oder „Architekturtreiber“)
Ziel
Beschreibung
1. Leicht zu betreiben
Für ein Team ist es einfach mit Confluence zu
starten.
2. Gute Benutzbarkeit
Confluence ist effizient und intuitiv von allen
Team-Mitgliedern zu verwenden.
3. Hohe Zuverlässigkeit
Das System steht den Anwendern jederzeit zur
Verfügung.
4. Sicherheit der Inhalte
Inhalte sind vor unberechtigtem Zugriff und
Veränderung geschützt.
5. Gute Wartbarkeit
Confluence ist leicht zu ändern und um
Funktionalität zu erweitern.
Die Reihenfolge gibt eine Orientierung bezüglich der Wichtigkeit.
9
21.04.16
Lösungsstrategie
Stellt Qualitätsziele und zugeordnete high-level
Lösungsansätze in Beziehung zueinander dar.
Form: Tabelle ([ Ziele | Lösungsansätze ]).
Architektur-/
Lösungsansätze
Qualitäts-/
Architekturziele
Typische Lösungsansätze
10
21.04.16
Kategorien für Lösungsansätze
Kategorie
Beispiel
(und dazu passendes Qualitätsziel)
Architekturentscheidungen
Verwendung eines Application Server Clusters
(hohe Ausfallsicherheit)
Architekturstile
Microservices
(schnelle Adaption neuer technologischer Trends)
Architekturmuster
Schichtenarchitektur
(leichte Austauschbarkeit des Clients, oder
einfache Portierung der Lösung)
Architekturprinzipien
Bevorzuge Standards vor proprietären Lösungen
(niedrige Wartungsaufwände)
Konzepte
Caching-Konzept
(Effizienz, gute Antwortzeiten)
Vorgehen
User centered design
(intuitive Benutzbarkeit)
Lösungsstrategie Confluence 1.0
Architekturziel
passende Lösungsansätze in Confluence 1.0
Leicht zu betreiben
•  läuft auf J2EE-Servern
•  unterstützt verbreitete Datenbanken
Gute Benutzbarkeit
• 
• 
• 
• 
Hohe Zuverlässigkeit
•  Läuft auf J2EE-Servern (ggf. auch im Cluster)
Sicherheit der Inhalte
•  Sicherheitskonzept
•  eigene Implementierung der Security
Gute Wartbarkeit
•  Modulare Implementierung in Java
•  Einsatz des Spring-Frameworks und Hibernate
Intuitives Web UI
Leistungsfähige, effiziente Suche
Organisation der Seiten in Spaces
Einfaches Wiki-Markup
11
21.04.16
Technologie-Stack Confluence 1.0
Web Browser
J2EE Application Server
RDBMS (Relationale Datenbank)
Technologien unter der Lupe …
Web-Oberfläche
§  MVC-Framework: WebWork
§  Template Engine: Apache Velocity
§  Präsentation: SiteMesh
Applikationsframework
§  Spring Framework
§  Scheduler: Quartz
J2EE Web-Applikation
§  J2EE >= 1.3 (Servlet 2.3, JSP 1.2)
§  JDK >= 1.4
Persistenz
§  O/R-M: Hibernate
§  Suche: Apache Lucene
12
21.04.16
Bausteinsicht, Ebene 1
Fachliche Zerlegung Confluence 1.0
Qualitative Architekturbewertung
ATAM
Architecture tradeoff analysis method
n 
n 
n 
verbreitetste Methode zur
qualitativen Bewertung von
Softwarearchitektur
früh anwendbar
szenarienbasiert
13
21.04.16
ATAM im Überblick
Phase 0: Vorbereitung
§  Bewertungsteam zusammensetzen
§  Zusammenarbeit mit Projektteam abstimmen
§  Zeitplanung und Organisation
Kernphasen der ATAM - Evaluierung
§  Kick-Off-Meeting
Phase 1: Bewertung – Architektur-zentriert
Phase 2: Bewertung – Stakeholder-zentriert
Phase 3: Nachbearbeitung
§  Abschlussbericht
§  Verbesserung des Bewertungsprozesses
§  Artefakte archivieren
ATAM Kernphasen: Evaluierung
14
21.04.16
Versionsgeschichte.
v5.0
2014
v3.0
2012
v4.0
2010
2008
v1.0
2006
2004
v2.0
Wachstum über die Zeit.
Von < 100k zu > 1 Mio LOC
Lines of Code
1200000
1000000
800000
600000
Lines of Code
400000
200000
0
05.05.04
17.11.05
20.08.09
15.09.11
19.02.13
28.08.15
v1.0.3a
v2.0
v3.0.1
v4.0
v5.0
v5.8.10
15
21.04.16
Agenda
1 Einstieg: Historisch gewachsen.
2 Steht alles im Wiki.
3 Ch ... Ch ... Ch ... Changes.
4 In Szene gesetzt.
5 Fazit.
Drei umfassende Änderungen
Confluence war in den letzten 10+ Jahren vielen
Änderungen unterworfen. Wir picken exemplarisch drei
besonders interessante heraus ...
Themen
§  Erweiterung von Confluence durch Plugins
§  Von Confluence unterstützte Application Server
§  Speicherformat für Wiki-Seiten
16
21.04.16
Drei umfassende Änderungen
Confluence war in den letzten 10+ Jahren vielen
Änderungen unterworfen. Wir picken exemplarisch drei
besonders interessante heraus ...
Themen
§  Erweiterung von Confluence durch Plugins
§  Von Confluence unterstützte Application Server
§  Speicherformat für Wiki-Seiten
Erweiterung durch Plugins
„Ein Plug-in [ˈplʌgɪn] (häufig auch Plugin; von engl. to
plug in, „einstöpseln, anschließen“, deutsch etwa
„Erweiterungsmodul“) ist ein Softwaremodul, das von
einer Softwareanwendung während ihrer Laufzeit
entdeckt und eingebunden werden kann, um deren
Funktionalität zu erweitern. Der Begriff wird teilweise
auch als Synonym zu Add-on benutzt. “
(Wikipedia)
17
21.04.16
Zeitliche Einordnung.
v5.0
2014
v3.0
2012
2010
v4.0
2008
v1.0
2004
2006
v2.0
Im Quelltext:
v1.0: Noch kein Plugin-Konzept
v1.3: Erste Abstraktionen für Plugins
v2.1: Plugin Framework 2
Plugin Framework 2
later includes a new
Confluence 2.10 and
ring
sed on OSGi and Sp
plugin framework ba
ork
e new plugin framew
Dynamic Modules. Th
be
ll
es of OSGi, plus it wi
ag
nt
va
ad
e
th
l
al
s
ha
ssian products.
included into all Atla
18
21.04.16
Qualitätsziele Confluence
Ziel
Beschreibung
1. Leicht zu betreiben
Für ein Team ist es einfach mit Confluence zu
starten.
2. Gute Benutzbarkeit
Confluence ist effizient und intuitiv von allen
Team-Mitgliedern zu verwenden.
3. Hohe Zuverlässigkeit
Das System steht den Anwendern jederzeit zur
Verfügung.
4. Sicherheit der Inhalte
Inhalte sind vor unberechtigtem Zugriff und
Veränderung geschützt.
5. Gute Wartbarkeit
Confluence ist leicht zu ändern und um
Funktionalität zu erweitern.
Qualitätsziele Confluence
Ziel
Beschreibung
1. Leicht zu betreiben
Für ein Team ist es einfach mit Confluence zu
starten.
2. Gute Benutzbarkeit
Confluence ist effizient und intuitiv von allen
Team-Mitgliedern zu verwenden.
3. Hohe Zuverlässigkeit
Das System steht den Anwendern jederzeit zur
Verfügung.
4. Sicherheit der Inhalte
Inhalte sind vor unberechtigtem Zugriff und
Veränderung geschützt.
5. Gute Wartbarkeit
Confluence ist leicht zu ändern und um
Funktionalität zu erweitern.
Die Erweiterbarkeit von Confluence durch Dritte gewinnt an
Bedeutung.
19
21.04.16
Kompromiss – Eine Frage der Balance
Wartbarkeit
Erweiterbarkeit
leichte Änderbarkeit
für „mich“ (den
Hersteller)
leichte
Erweiterbarkeit
durch Dritte
Klassische Entwurfsprinzipen entschärfen den
„Schmerz“ (Open Closed Principle, Information Hiding …).
Confluence Marketplace
20
21.04.16
Drei umfassende Änderungen
Confluence war in den letzten 10+ Jahren vielen
Änderungen unterworfen. Wir picken exemplarisch drei
besonders interessante heraus ...
Themen
§  Erweiterung von Confluence durch Plugins
§  Von Confluence unterstützte Application Server
§  Speicherformat für Wiki-Seiten
Technologie-Stack Confluence 1.0
Web Browser
J2EE Application Server
Caucho Resin
IBM WebSphere
Apache Tomcat
BEA Weblogic
SAP Application Server
JBoss
Jetty
…
RDBMS (Relationale Datenbank)
21
21.04.16
Zeitliche Einordnung.
v5.0
2014
v3.0
2012
2010
v4.0
2008
v1.0
2004
2006
v2.0
V3.2/3.3 End of Life Announcement
for Application Server Support
Application Server EOL
22
21.04.16
Qualitätsziele Confluence
Ziel
Beschreibung
1. Leicht zu betreiben
Für ein Team ist es einfach mit Confluence zu
starten.
2. Gute Benutzbarkeit
Confluence ist effizient und intuitiv von allen
Team-Mitgliedern zu verwenden.
3. Hohe Zuverlässigkeit
Das System steht den Anwendern jederzeit zur
Verfügung.
4. Sicherheit der Inhalte
Inhalte sind vor unberechtigtem Zugriff und
Veränderung geschützt.
5. Gute Wartbarkeit
Confluence ist leicht zu ändern und um
Funktionalität zu erweitern.
Qualitätsziele Confluence
Ziel
Beschreibung
1. Leicht zu betreiben
Für ein Team ist es einfach mit Confluence
zu starten.
2. Gute Benutzbarkeit
Confluence ist effizient und intuitiv von allen
Team-Mitgliedern zu verwenden.
3. Hohe Zuverlässigkeit
Das System steht den Anwendern jederzeit zur
Verfügung.
4. Sicherheit der Inhalte
Inhalte sind vor unberechtigtem Zugriff und
Veränderung geschützt.
5. Gute Wartbarkeit
Confluence ist leicht zu ändern und um
Funktionalität zu erweitern.
Das Ziel wird anders ausgelegt oder erreicht.
23
21.04.16
Zum AppServer EOL
Why is Atlassian doing this?
„We have chosen to standardise on Tomcat, because it is the
most widely used application server in our user population. It is fast, robust,
secure, well-documented, easy to operate, open source, and has a huge
community driving improvements. It is the de facto industry standard, with
several companies available that specialise in providing enterprise grade
support contracts for it, ranging from customisations to 24/7 support.“
Hypothesen
§  Hauptmotivation: Kostenersparnis bei Entwicklung
(Test-Aufwände) und Support
§  J2EE-Kompatibiltät als Feature verliert an
Bedeutung
§  Kunden akzeptieren Tomcat als Laufzeitumgebung.
Kompromiss – Eine Frage der Balance
Zuverlässigkeit
Portierbarkeit
Reibungsloser
Betrieb, weniger
Fehler
Überall zu installieren
und (auch langfristig)
zu portieren
Die Motivation hier ist vor allem eine Kosten/NutzenBetrachtung. (geringerer Aufwand im Betrieb)
24
21.04.16
Drei umfassende Änderungen
Confluence war in den letzten 10+ Jahren vielen
Änderungen unterworfen. Wir picken exemplarisch drei
besonders interessante heraus ...
Themen
§  Erweiterung von Confluence durch Plugins
§  Von Confluence unterstützte Application Server
§  Speicherformat für Wiki-Seiten
Brand New Editor?
editor delivers many
The new Confluence
advantages:
§  Just one editor!
user interface.
§  New, streamlined
r with enhanced text
§  Redesigned toolba
ragraphs) and
formatting (indent pa
alignment controls.
25
21.04.16
Zeitliche Einordnung.
v5.0
2014
v3.0
2012
2010
v4.0
2008
v1.0
2004
2006
v2.0
v1.0: Editieren mit Wiki-Markup
v2.0: Zusätzlich Rich Text Editor
v4.0: Neuer Rich Text Editor, kein Wiki-Markup mehr
26
21.04.16
Editoren ab Confluence 2.0
§  Rich Text Editor und Wiki-Markup-Editor zur Auswahl
§  Speicherformat für die Seiten: Wiki-Markup
Änderung des Speicherformates
27
21.04.16
War das was?
Ein Aufschrei
Kommentare auf
„Confluence 4 Editor - Customer Feedback“
“I used to use the old mark-up system. It was fine as long as I didn't
switch modes, as it was quite buggy when switching. So Atlassian can't
figure out how to do it, and goes completely RTF.”
“If you and your users are strong in wiki markup and want to live in that
space, why choose to pay top dollar for Confluence when there are
numerous quality, free, even open source wiki alternatives saturating
that market space?”
28
21.04.16
Qualitätsziele Confluence
Ziel
Beschreibung
1. Leicht zu betreiben
Für ein Team ist es einfach mit Confluence zu
starten.
2. Gute Benutzbarkeit
Confluence ist effizient und intuitiv von allen
Team-Mitgliedern zu verwenden.
3. Hohe Zuverlässigkeit
Das System steht den Anwendern jederzeit zur
Verfügung.
4. Sicherheit der Inhalte
Inhalte sind vor unberechtigtem Zugriff und
Veränderung geschützt.
5. Gute Wartbarkeit
Confluence ist leicht zu ändern und um
Funktionalität zu erweitern.
Qualitätsziele Confluence
Ziel
Beschreibung
1. Leicht zu betreiben
Für ein Team ist es einfach mit Confluence zu
starten.
2. Gute Benutzbarkeit
Confluence ist effizient und intuitiv von
allen Team-Mitgliedern zu verwenden.
3. Hohe Zuverlässigkeit
Das System steht den Anwendern jederzeit zur
Verfügung.
4. Sicherheit der Inhalte
Inhalte sind vor unberechtigtem Zugriff und
Veränderung geschützt.
5. Gute Wartbarkeit
Confluence ist leicht zu ändern und um
Funktionalität zu erweitern.
Das „Team“ besteht nicht mehr nur aus Entwicklern.
Zielmarkt: Knowledge Management
29
21.04.16
Kompromiss – Eine Frage der Balance
Korrektheit
Benutzbarkeit
Konsistenz der
Daten, Sicherung
der Inhalte
sowohl für IT-affine
als auch eher
inhaltlich interessierte.
Der Kompromiss geht klar zu Ungunsten eines
Stakeholders.
Wechselwirkungen
Die Erreichung von Qualitätsmerkmalen ist nicht unabhängig
voneinander ...
Typische Beeinflussungen:
Effizienz çè Wartbarkeit
Sicherheit çè Benutzbarkeit
Portierbarkeit çè Effizienz
Weitreichende Entscheidungen stehen oft im
Zusammenhang mit Zieländerungen in den
Qualitätsmerkmalen ...
30
21.04.16
Agenda
1 Einstieg: Historisch gewachsen.
2 Steht alles im Wiki.
3 Ch ... Ch ... Ch ... Changes.
4 In Szene gesetzt.
5 Fazit.
Qualitative Architekturbewertung
ATAM
Architecture tradeoff analysis method
n 
n 
n 
verbreitetste Methode zur
qualitativen Bewertung von
Softwarearchitektur
früh anwendbar
szenarienbasiert
31
21.04.16
Qualitative Architekturbewertung
ATAM
Architecture tradeoff analysis method
n 
n 
n 
verbreitetste Methode zur
qualitativen Bewertung von
Softwarearchitektur
früh anwendbar
szenarienbasiert
Qualitätsszenarien in arc42
è  http://arc42.de/
32
21.04.16
Was ist ein Szenario?
Ein (Qualitäts-)Szenario ...
n 
... ist ein kurzer Text (1-3 Sätze).
n 
... beschreibt beispielhaft die Verwendung des Systems,
und zwar so dass ein Qualitätsmerkmal die Hauptrolle
spielt.
Qualitätsmerkmale
33
21.04.16
Verwendungsszenarien
(oder auch: Use Case-Szenarien)
n 
„Normale“ Verwendung des Systeme durch
einen Akteur
n 
Beispiel-Quelle: Ein Benutzer im
Systemkontext
Beispiel-Szenario für Confluence
Ein Benutzer benennt eine Wiki-Seite um. Die
Änderung ist nach einer Sekunde vollzogen,
alle Verweise auf die Seite bleiben aktuell.
Änderungsszenarien
(oder auch: Wachstumsszenarien)
n 
Es kommt etwas hinzu oder ändert sich
n  Beispiel-Auslöser:
Mehr Benutzer, neues UI
Beispiel-Szenario für Confluence
Ein versierter Java-Entwickler beabsichtigt
Confluence um ein einfaches Macro zu
erweitern. Das Macro steht dem Team nach
einem Personentag zur Verfügung.
34
21.04.16
Fehlerszenarien
(oder auch: Katastrophen- oder StressSzenarien)
n 
Wie verhält sich das System bei etwas
Unerwartetem?
n 
Beispiel-Auslöser: Verbindungsabbruch
Fremdsystem
Beispiel-Szenario für Confluence
Ein Benutzer schließt während des Editierens
versehentlich den Webbrowser. Sämtliche
Änderungen bleiben erhalten.
Neues Feature in Confluence 2.9
35
21.04.16
ATAM Kernphasen: Evaluierung
Bewertungsworkshop
Quelle: S. Toth,
Vorgehensmuster für
Softwarearchitektur
36
21.04.16
Agenda
1 Einstieg: Historisch gewachsen.
2 Steht alles im Wiki.
3 Ch ... Ch ... Ch ... Changes.
4 In Szene gesetzt.
5 Fazit.
tl;dr
Softwaresysteme sind in ihrem Leben
Änderungen unterworfen. Die Motivation für
gravierende Änderungen sind in vielen Fällen
geänderte Qualitätsziele.
Qualitätsziele sind der maßgebliche Gradmesser für eine
Architekturbewertung. Qualitätsszenarien schärfen diese
und sind zugleich wichtiges Kommunikationsmittel.
Architekturentscheidungen sind oftmals Kompromisse.
Ein zentraler Nutzen von Architekturbewertung: Diese den
unterschiedlichen Stakeholdern klar zu machen.
37
21.04.16
Für die Tonne …?
Werkzeuge aus der qualitativen Architekturbewertung
helfen dabei, richtungsweisende Entscheidungen zu treffen
und abzusichern. (Neuentwicklung wäre ein Extremfall)
embarc – geschichtet und vertikalisiert.
38
21.04.16
Spicken erlaubt!
Unsere Architektur-Spicker
beleuchten die konzeptionelle
Seite der Softwareentwicklung.
ç
Spicker #2:
„Quantitative Analyse“
•  Bei welchen Qualitätsmerkmalen helfen quantitative
Analysen weiter?
•  Welche Tools und Metriken
sind verbreitet und wie helfen
sie Ihnen?
•  Wie gehen Sie sinnvoll mit
Ergebnissen um?
PDF, 6 Seiten
Kostenloser Download.
è  http://embarc.de/spicker
Vielen Dank.
Ich freue mich auf Eure Fragen!
[email protected]
@StefanZoerner
xing.to/szr
DOWNLOAD FOLIEN:
http://www.embarc.de/blog/
39
21.04.16
Book: arc42 by example
Real software architectures,
documented with the arc42 template.
Helps you jumpstart your own
documentation.
Authors:
Gernot Starke
Michael Simons
Stefan Zörner
Language: English
MOBI, EPUB, PDF
https://leanpub.com/arc42byexample
42% discount for JAX participants!
Discount Coupon: “JAX2016”
Softwarearchitektur in gut.
27
embarc.de
Spicken erlaubt!
Unsere Architektur-Spicker
beleuchten die konzeptionelle
Seite der Softwareentwicklung.
ç
Spicker #3:
„Microservices“
In dieser Ausgabe:
•  Was ist bei Microservices
entscheidend?
•  Wie nutzen Sie die Ansätze?
•  Welche Kompromisse gehen
Sie dabei ein?
PDF, 4 Seiten
Kostenloser Download.
Softwarearchitektur in gut.
è  http://architektur-spicker.de
embarc.de
40
21.04.16
Wir teilen unser Wissen gerne mit
Ihnen... und auch bei Ihnen!
Sie haben eine Community of
Practice und suchen inhaltliche
Anregungen oder Abgleich? Sie
planen ein Team-Event und
wollen es neben der sozialen
Komponente auch fachlich
ausrichten?
LASSEN SIE UNS NEUE THEMEN
AUFZEIGEN UND IMPULSE SETZEN!
è  http://www.embarc.de/leistungen/impulsvortraege/
41