Historisches

Das Entity-Control-Boundary-(ECB)-Muster geht auf Ivar Jacobsons “ObjectOry“ zurück, wo es in erster Linie als Architekturmuster definiert ist. ECB beschreibt das Schema, nachdem Use Cases in Objekte umgesetzt werden.

Struktur

Die Grundstruktur des Musters baut auf der Unterscheidung dreier verschiedener Objekttypen auf:

  • Entity – Objekte, die persistentes Wissen (= Daten) repräsentieren;
  • Control – Objekte, die Prozesswissen (= Funktionen) repräsentieren;
  • Boundary – Objekte, die Schnittstellen zwischen UseCase und [Actor] repräsentieren.

Die Abbildung vom UseCase auf die einzelnen Objekttypen folgt einem einfachen Schema:

  • Ein zentrales Control pro Use Case
  • Ein Boundary pro Use Case-Actor-Beziehung…
  • Entities für alle persistenten Objekte, die im Use Case bearbeitet werden…

ecb1.jpg

ECB und MVC

Auf den ersten Blick sehen ECB und MVC sehr ähnlich aus:

  • Entities = Models
  • Boundaries = Views
  • Controls = Controller

Allerdings unterscheiden sie sich bei näherer Betrachtung erheblich hinsichtlich der Rolle der Controls/Controller: Der MVC-Controller hat rein technische Steuerungsfunktion, wohingegen das ECB-Control der designierte Ort für Geschäftsprozessfunktionalität ist (die in MVC den Model-Klassen zugewiesen wird)!

MVC trägt damit Peter Coads Erkenntnis Rechnung, dass das Daten-Layout erheblich stabiler ist, als das Geschäftsprozessmodell, wohin gegen ECB eben dieser Volatilität des Geschäftsprozessmodells Rechnung trägt, indem es die Funktionalität eines Geschäftsprozesses (= – cum grano salis – Use Case) pflegefreundlich in einem Control-Objekt kapselt.

ECB sieht auf diesem Hintergrund fast wie eine 1:1-Abbildung des guten alten 3-Schichten-Modells in Objekte aus!

ECB als Analysemuster

Was mich an diesem Muster am meisten reizt, ist allerdings nicht dieser pragmatische Aspekt der Prozessorientierung, als vielmehr die tatsache, dass sich ECB auch als Analysemuster lesen lässt, welches einen extrem einfachen Weg von der Geschäftsprozessmodellierung in das IT-System eröffnet:

  • Der Geschäftsprozess wird zum Use Case (Für Web-Projekte oftmals 1:1!)
  • Die bearbeiteten und abgelegten Akten werden zu (dummen) Entities…
  • Die Kundenschnittstelle (oftmals der Außendienstler) „gerinnt“ in entsprechenden Boundaries…
  • Das interne Prozesswissen des Sachbearbeiters findet sich im Control wieder…

ecb2.jpg

…und schon weiß man, wie jemand „weg-rationalisiert“ wird!

Christian Mann 2010/10/24 14:17

 
entity-control-boundary.txt · Zuletzt geändert: 2010/10/24 14:23 von Christian Mann
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki