Daniel Takai

Daniel Takai
Daniel Takai ist Enterprise-Architekt, arbeitet in der Schweiz und ist auf die digitale Transformation spezialisiert. Er berichtet regelmäßig im Java Magazin über seine Erfahrungen und Erkenntnisse. Im Frühling 2016 erscheint sein Buch über Methoden der Entwicklung von Cloud-basierten und serviceorientierten Websystemen.
Beiträge dieses Autors

Die Architektur der Autorisierung

Die Autorisierung meint in der Softwarearchitektur die Berechtigung zur Nutzung einer Ressource und ist ein elementarer Bestandteil des Informationsschutzes. Sie umfasst sowohl die Vergabe von Rechten als auch die Prüfung derselben, also zwei verschiedene Prozesse. Wir nehmen die Autorisierung unter die Lupe.

Authentifizierung in Websystemen: Nicht nur fürs Protokoll

Nachdem wir im letzten Artikel die grundlegenden Konzepte rund um die Identifizierung besprochen haben, wenden wir uns nun den konkreten Protokollen zu, die die Authentifizierung ermöglichen. Wir beginnen mit dem historischen LDAP und X.509 und wenden uns dann über SCIM den modernen RESTful-Verfahren zu, die ein Architekt heute in jedem Fall kennen sollte.

5 Methoden, wie Sie Websysteme hochverfügbar machen

Websysteme sind komplex und anfällig gegen unterschiedliche Störungen. Dennoch ist Hochverfügbarkeit ein häufig gewünschtes Qualitätsmerkmal, insbesondere im E-Commerce. Eine hohe Verfügbarkeit bedeutet jedoch auch hohe Kosten im Betrieb und der Produktion eines Websystems. In diesem Artikel beschreiben wir, wie sich die Verfügbarkeit definieren und berechnen lässt, und einige Methoden, um sie zu verbessern.

Wenn der Traffic steigt: Methoden für mehr Elastizität in Webanwendungen

Erfolg im Web ist ein zweischneidiges Schwert. Gehen Besucherzahlen plötzlich durch die Decke, sinkt die Performance in den Keller. Leider lässt sich aber nicht jedes System flexibel skalieren, um den wechselnden Anforderungen Rechnung zu tragen. In diesem Artikel präsentieren wir, was Skalierbarkeit für Architektur bedeutet und auf welche Punkte man achten sollte.

Qualität von Webanwendungen: Das Ding mit der Latenz

Die Latenz ist ein häufig unterschätzter Faktor der Performance von Websystemen. Lokal bei der Entwicklung nicht bemerkbar, kumulieren sich die Laufzeiten über die Distanz. Insbesondere bei Websystemen, bei denen die globale Verfügbarkeit oft als Vorteil ins Feld geführt wird, können so lange Laufzeiten entstehen. Wir erläutern die Hintergründe und zeigen Methoden zur Verbesserung auf.

Was die Qualität von Websystemen ausmacht: Kapazität

Von allen Qualitätsmerkmalen erscheint die Systemkapazität oft als die Schwierigste. Sie hat die unangenehme Eigenschaft sich unter Last zu verändern. Kaum ist man der Meinung, nun laufe das System endlich stabil, taucht schon ein neues Szenario auf, das wieder eine Outage verursacht. Es ist zum Haare raufen – aber dafür bleibt es immer interessant!

Speed is a Feature: Wie Sie Performance in Webanwendungen planen

Für den Ingenieur ist das Beste an der Performance ihre leichte Messbarkeit: Kaum ein anderes Qualitätsmerkmal lässt sich so leicht messen, wie die Antwortzeit eines Systems. Diese Messungen kann man auch gut automatisieren und in Form von Histogrammen grafisch aufbereiten. Zudem sind die Maßangaben verständlich, denn jeder kann sich unter einer Ladezeit von zwei Sekunden etwas vorstellen. Leider fällt schnell auf, wenn das System langsam ist – aber dem kann man strukturiert begegnen.

Entwicklung von Websystemen: Nichts ist so beständig wie der Wandel

Schon Heraklit wusste: „Nichts ist so beständig wie der Wandel“. Insbesondere Websysteme haben eine hohe Änderungsrate, da sie sich ständig anpassen müssen. Dabei gilt es, die Wartbarkeit möglichst effizient zu gestalten, damit mehr Geld in Funktionen und Qualität investiert werden kann. Welche Methoden können hier zum Einsatz kommen?

Was die Qualität von Websystemen ausmacht: Prüfbarkeit

Software besteht aus dem reinsten Werkstoff: unseren Gedanken. Aus diesem Grund ist sie unsichtbar, und wir müssen Anstrengungen unternehmen, um sie fassbar zu machen. In der Architektur gibt es hierfür zwei Qualitätsmerkmale: die Analysierbarkeit und die Prüfbarkeit. Die Analyse wird für die Entwicklung und Dokumentation des Systems benötigt. Die Prüfbarkeit hingegen findet zur Laufzeit statt. In diesem Artikel wird die Prüfbarkeit beschrieben, nachdem sich der letzte Artikel bereits mit der Analysierbarkeit beschäftigte.

Was die Qualität von Websystemen ausmacht: Testbarkeit

Der Nachweis, dass ein Websystem fehlerfrei ist, ist unmöglich zu erbringen, weil wir nicht alles testen können. Deswegen konzentrieren wir uns auf die Aspekte des Systems, die uns am wichtigsten erscheinen, und testen nur diese. Dabei ist es wichtig, dass sich diese Aspekte auch tatsächlich testen lassen. Um die Herstellung der Testbarkeit von Websystemen geht es in diesem Artikel.

Qualität von Websystemen fassbar machen: Konzeptionelle Integrität

Schon Altmeister Brooks diskutierte in seinem berühmten Buch „The Mythical Man Month“ [1] die konzeptionelle Integrität. Er nannte sie als maßgeblich für die Einheitlichkeit des Designs und behauptete, dass ohne Integrität keine Bedienbarkeit möglich sei. Freilich galt ein System damals als bedienbar, wenn es ein Handbuch gab, in dem jeder Kommandozeilenbefehl mit allen Parametern verständlich dokumentiert war. Es waren also andere Zeiten, aber wir finden: Brooks hat heute noch Recht.

Qualität von Websites fassbar machen

Schnelle und schöne Websites sind heute die Regel. Auf den Schultern der Riesen moderner Frontend-Technologien lassen sich höchst ergonomische und hübsch anzusehende Oberflächen herstellen. Das Fach hat sich daran gewöhnt: Wird ein neues System bestellt, so soll es selbstverständlich flott, sicher und attraktiv sein, zusätzlich auch auf dem Tablet oder dem Smartphone, das erst kommenden Monat in den Handel kommt.