Softwarezellen - oder: Wie baue ich eine Architektur?

Ralf Westphal

... berichtet schon seit längerem über Architektur und seine Gedanken dazu. 2005 hat er mit einem neuen Model für sich angefangen, da ihm die bisher übliche Schichtenarchitektur nicht ausreichend war. In der dotnetpro finden wir auch immer wieder Artikel von ihm, die mit diesem System angereichert sind.

Und ich?

Persönlich habe ich auch schon Programmarchitekturen damit zerlegt und erstellt und muss sagen das dieses System - hat man es einmal verstanden - sehr eingängig ist und schon bei der ersten Anwendung einen großen "Benefit" bringt. In jedem Fall findet - so bisher meine Erfahrung - eine win-win Situation statt. Ich kann meinem Vorgesetzten oder dem Stakeholder meine reflektiven Fähigkeiten beweisen und mein Gegenüber bekommt im Gegenzug ein einfaches und selbsterklärendes Diagramm der jeweiligen Architektur.

Zurück zum Thema.

Des öfteren berichtet er in seinem deutschen, sowie englischen Blog über die Evolution seines Systems. Nun widmet er sich in einem neuen, dedizierten Blog (The Architect's Napkin) zu diesem Thema. Als eine Art Journal wird er es zum Sammeln seiner Ideen für ein Buch nutzen und uns seine Gedanken damit näher bringen. Grundgedanke und Medium für die Konstruktion der Ideen sind Servietten. Alles was nicht auf eine passt, ist nicht wertvoll und zu überladen und in der Endkonsequenz damit unbrauchbar. Wie bekomme ich dann eine Architektur auf eine Serviette? Das Abstraktionslevel wird von Serviette zu Serviette gesteigert. Aber lest selber nach. Es lohnt sich für alle Architekturinteressierten. Er listet in einem Beitrag die Fragen auf, die sich der Architekt stellen sollten, wenn es darum geht eine Softwarezelle zu erstellen. Nun finde ich, ist dieser kleine Fragenkatalog abgesehen davon auch für Softwareentwickler sinnvoll. Darum einmal hier die Auflistung von ihm:

  • How is the software cell started and stopped?
  • Can the software cell be paused or interrupted?
  • How are processing failures reported to the environment of the software cell?
  • How should data be passed into and out of the software cell?
  • How is shared data protected from inconsistencies through concurrent access by several software cells?
  • How can I be informed of certain states during a process executed by a software cell?
  • How can I know if a software cell is still alive and progressing?
  • How fast, reliable, secure etc. is a software cell and a connection to it?
  • Does it matter to a client of a software cell, where and if the software cell is running?
Published Montag, 7. Juli 2008 13:45 von Rainer Schuster
Abgelegt unter:

Kommentare

Keine Kommentare

Kommentar abgeben

(verpflichtend) 
(verpflichtend) 
(optional)
(verpflichtend)