Architekturebene (in der Unternehmensentwicklung). Konzept, Definition, Präsentation

Heutzutage ist es schwierig, eine kurze und klare Definition von Konzepten wie "Anwendungsschicht" und "Abstraktionsschicht" zu finden. Dies führt zu Unterschieden im Verständnis desselben oder zu Missverständnissen dieses Konzepts unter den Entwicklern. Und Missverständnisse führen zu Meinungsverschiedenheiten.



Ziel dieses Artikels ist es , zusammenzuarbeiten, um Sicherheit zu schaffen, eine gemeinsame Vision für alle zu schaffen und eine kurze, klare und praktische Definition für die Architekturebene im Bereich der Unternehmensanwendungen zu erstellen. Sie können alles, was in dem Artikel in den Kommentaren angegeben ist, diskutieren und ergänzen, und ich aktualisiere das Material im Artikel gemäß den Kommentaren.



Die Aufteilung der Architektur einer Unternehmensanwendung in Ebenen ermöglicht
  • - , ,
  • ,
  • , ,


, .





Was ist die aktuelle Verwirrung beim Umgang mit Schichtarchitektur:
  • , 3: , -, —
  • , , , , ,
  • (layer), (tier), . , ,


« » « » « ».





Eine Architekturebene (Unternehmensanwendung) ist eine bestimmte (vom Zweck begrenzte, geschlossene) Menge von Ressourcen (Werkzeuge zum Arbeiten mit Ressourcen, Teilen, Komponenten), mit deren Hilfe eine (durch Kriterien begrenzte) Menge von angewandten Aufgaben implementiert wird, die für diese Schicht charakteristisch sind. Die höhere Schicht implementiert ihre Komponenten (Ressourcen) basierend auf den Ressourcen der unteren Schicht. Die Ressourcen einer bestimmten Schicht sind miteinander kompatibel und werden (idealerweise) nur innerhalb dieser Schicht verwendet. Die übergeordnete Ebene kann ihre eigenen Ressourcen unter Verwendung der Ressourcen mehrerer Ebenen erstellen. Es kann sich auf ein abstraktes, idealisiertes System beziehen, das in Form von Schemata existiert, oder es bezieht sich eher auf die Implementierung - dies bestimmt die Komponenten der Schicht.



Schichtkomponenten:



  • Wenn die Ebene implementierungsbezogen ist: Klassen, Objekte, Kontext, Dienste, Controller, Proxys, Assemblys ...
  • Wenn es in der Ebene um Abstraktion geht: Datenmodelle (idealisiert), Aktionen ...


Was ist die architektonische Schicht, die gekennzeichnet ist durch:



  • Der angewandte Zweck, spezifisch, logisch, definiert eine Vielzahl von Aufgaben, die einer bestimmten Ebene zugeordnet werden können
  • eine bestimmte Reihe von Aufgaben, die auf einer bestimmten Ebene implementiert sind
  • Ressourcen und Tools, mit denen Aufgaben implementiert werden: Daten, Objekte und Aktionen, die für Daten und Objekte ausgeführt werden können
  • Daten und Logik innerhalb einer bestimmten Schicht sind in sich konsistent
  • Konsistenz bestimmt Vorhersagbarkeit und Vorbestimmung im Zusammenspiel von Ressourcen einer bestimmten Schicht, mit anderen Worten, die Details, aus denen die Schicht gebildet wird, sind miteinander kompatibel
  • Eine separate Schicht kann als ein einziges autarkes Ganzes wahrgenommen werden
  • Die Abhängigkeit zwischen Schichten kann minimiert werden
  • Die erstellte Ebene kann die Basis für mehrere verschiedene übergeordnete Ebenen sein
  • Beim Übergang von einer Ebene zur anderen werden modellierte Objekte normalerweise von einer Darstellung in eine andere transformiert


Kurz zur Reihenfolge der Gestaltung von Architekturebenen:



  1. Alle Geschäftsanforderungen werden hervorgehoben und in Kategorien strukturiert.
  2. Die Anforderungen sind in Aufgaben unterteilt, die von der Anwendung gelöst werden müssen.
  3. Aufgaben werden anhand der Ähnlichkeit ihres Fachzwecks kategorisiert und in Gruppen zusammengefasst.
  4. Anhand dieser Kategorien wird der allgemeine Zweck der Architekturebene hervorgehoben, in der die Aufgaben gelöst werden.
  5. Das Lösen von Problemen kann als Algorithmus oder Prozess betrachtet werden, der das gewünschte Ergebnis liefert. Von allen Aufgaben werden gemeinsame Komponenten (Details) unterschieden, von denen sie implementiert werden. (Modelle und Aktionen auf ihnen). Es wird einen zusätzlichen Artikel darüber geben, wie dies gemacht wird.
  6. Basierend auf den ausgewählten Komponenten werden die Klassen der entsprechenden Schicht implementiert und in der Regel zu einer separaten Baugruppe zusammengefasst.




Beispiele von
1.



ISO/OSI



2.



,



  • : , ,
  • (, , )


image



3.







1 — , , , ,

2 — , — , …

3 — , , — : , ,



() , (, , ) (, ).



, . 3 (, , ), . , , , .




All Articles