| 

.NET C# Java Javascript Exception

0
Prozessorientierte Techniken und Technologien werden für mich immer präsenter und bereichern aus unterschiedlichen Richtungen die Softwarewelt. Objektmodelle sind nicht mehr das Synonym für Architektur. Eher im Gegenteil. Woher kommt das? Das Erstellen von wartbaren und daher auch leicht zu verstehenden Anwendungen anhand von Objektmodellen hat sich als schwerer herausgestellt als erwartet. Leicht hingegen scheinen das […]

Prozessorientierte Techniken und Technologien werden für mich immer präsenter und bereichern aus unterschiedlichen Richtungen die Softwarewelt. Objektmodelle sind nicht mehr das Synonym für Architektur. Eher im Gegenteil.

Woher kommt das?

Das Erstellen von wartbaren und daher auch leicht zu verstehenden Anwendungen anhand von Objektmodellen hat sich als schwerer herausgestellt als erwartet. Leicht hingegen scheinen das Erfassen von Aufgaben und das Zerlegen in Teilaufgaben. Mit diesen beiden Arbeitsschritten werden gleichzeitig auch  (Geschäfts-)Prozesse beschrieben – (Geschäfts-)Prozesse die zugleich leicht kommuniziert, verstanden und implementiert werden können.

Architekturen:

Folgende Architekturen zeigen in Richtung und Prozessorientierung:

  • CQRS (Command Query Response Separation)
  • Domänendatenmodel + Application-Services (DDD mit einem anämischen Domainmodell führt praktisch zur Prozessorientierung. Verwendet man konsequent SRP, sollten die Services auch als Arbeitsschritte benannt werden können.)
  • SOA (Jeder Service bietet eine möglichst atomare Funktion. Services werden genutzt (orchestriert) um Anforderungen zu erfüllen. SOA ist eine konkrete Implementierung von Domänendatenmodel + Application-Services und für mich eher ein Sonderfall als eine typische Architektur.)
  • Flow-Design, EBC, Flow Based Programming …

Eine Architektur-Blaupause, die nicht in Richtung Prozessorientierung zeigt, ist DDD nach Eric-Evans. Typische Beispiele aus anderen Büchern mit dem Thema der objektorientierten Analyse zeigen ebenfalls nicht in Richtung Prozessorientierung.

Modellierung/Tooling:

Ein großer Vorteil der Prozessorientierung ist die sehr gute Visualisierbarkeit von Abläufen. Bei OOP sind Klassendiagramme, die dem Code entsprechen, zu vermeiden und es werden eher Diagramme empfohlen, die die wesentlichen Aspekte eines Ausschnitts zeigen. Im Gegensatz dazu macht es für prozessorientierte Diagramme in der Tat Sinn ausführbar zu sein. Was ich also im Diagramm sehe, kann daher tatsächlich ausführbarer Code sein oder entspricht dem Programm.

Diese Techniken und Technologien lassen sich für die Modellierung verwenden und sind toolgestützt und „ausführbar“ (beispielhaft):

  • BPM (Geschäftsprozessmodellierung)
  • Workflow-Engines
  • Flow-Design (EBC)/Flow-Based

Auch wenn ich primär in Abläufen (Prozessen) modelliere und implementiere, spielen grafische Werkzeuge für mich noch eine sehr untergeordnete Rolle. Diagramme dienen nur der Kommunikation und verlieren nach der Implementierung ihre Bedeutung.

entwurf-und-modellierung flussorientierung
Schreibe einen Kommentar:
Themen:
flussorientierung entwurf-und-modellierung
Entweder einloggen... ...oder ohne Wartezeit registrieren
Benutzername
Passwort
Passwort wiederholen
E-Mail