Deutsch (DE-CH-AT)English (EN)Francais (Fr)

SchichtenarchitekturDieser Abschnitt zeigt, wie SCORE Adaptive Bridges die Funktionen Ihrer adaptiven Services in eine Reihe von Schichten generiert, die auf die Client- und Server-Plattformen verteilt werden. Der generierte Code wird erklärt und Sie erhalten eine allgemeine Übersicht darüber, „was wohin kommt“.

Der Sinn und Zweck einer klar in Schichten gegliederten Architektur ist eine klare Trennung der Verantwortlichkeiten (Separation of Concerns). Jede Schicht ist für bestimmte, klar definierte Funktionen zuständig. Das sorgt für mehr Einfachheit, Flexibilität und eine verbesserte Stabilität der gesamten Anwendung. Änderungen beziehen sich meist nur auf eine einzige Schicht und ziehen sich nicht durch die gesamte Anwendung.

Die logischen Schichten der Laufzeit-Architektur sind:

  • Application Adapter – Wird für die Server-Seite generiert und sorgt für das Mapping zwischen den Paradigmen des auf Prozeduren und Funktionen ausgerichteten Ansatzes der bestehenden Anwendungen und der Service-basierten Architektur, wie sie sich dem Client gegenüber darstellt. Der Application-Adapter ist sprachspezifisch, aber er hat keine Kenntnis darüber, wie Client und Server miteinander kommunizieren.
  • Technology Adapter – Wird sowohl für Client- als auch für die Server-Seite generiert und sorgt für die Kommunikation mit der gewählten Middleware (falls vorhanden). Der Technology-Adapter ist sehr plattformspezifisch.
  • Adaptive Proxy – Wird auf der Client-Seite generiert und macht die externe Schnittstelle des adaptiven Services für die Client-Anwendung sichtbar. Das adaptive Proxy hat keine Kenntnis darüber, wie Client und Server kommunizieren. Es ist so optimiert, dass es sich nahtlos in die Entwicklungsumgebung des Clients einfügt, sowohl auf technischer als auch auf der Ebene der jeweiligen Entwicklungskultur.

Integration der Entwicklungsplattformen

Ein großer Vorteil von SCORE Adaptive Bridges liegt darin, dass die generierten Client- und Serverschichten direkt von Standard-Entwicklungswerkzeugen und -Plattformen verwendet werden können. So wird zum Beispiel Client-seitiger Code zusammen mit den entsprechenden Projektdateien generiert, so dass der Client-Entwickler mit dem adaptiven Proxy arbeiten kann. Entwickler für Client und Server können so ihre jeweiligen Fähigkeiten beim Aufbau und der Benutzung adaptiver Services optimal einsetzen.

Deployment-Informationen

Abhängig von der gewünschten Deployment-Plattform müssen in bestimmten Fällen zusätzliche Informationen zur Verfügung gestellt werden, um die generierten Schichten in die Laufzeitumgebung einbinden zu können. SCORE Adaptive Bridges hat das vollständige Wissen über die Services und Ihre Schnittstellen aus dem PIM im Composition Model und kann deshalb Deployment-Informationen nach Bedarf generieren (wie z.B. die Deployment-Deskriptoren für Enterprise Java Beans).

Abbildung der Schichten auf Module

Die Schichten, von denen wir hier sprechen, sind logische Schichten in der Laufzeit-Architektur der generierten adaptiven Services. Die Art und Weise, wie diese Schichten auf kompilierte und gelinkte Komponenten abgebildet werden, hängt stark von der jeweiligen Zielplattform ab.

Für jede Plattform und besonders bei der Middleware gelten bestimmte Einschränkungen. SCORE Adaptive Bridges befolgt diese Regeln und Einschränkungen bei der Generierung des plattformspezifischen Codes für die einzelnen Schichten.

Unabhängige Generierung der Schichten

Ein weiterer Vorteil der Schichtenarchitektur besteht darin, dass die Schichten separat und unabhängig voneinander generiert werden. Deshalb hat z.B. ein Wechsel der Client-Plattform keinerlei Auswirkungen auf den Application Adapter.

Abhängig von den Einschränkungen der gewählten Plattform können unter Umständen sogar eine oder mehrere der Schichten dynamisch während der Laufzeit ausgetauscht werden. Diese Trennung sorgt für eine hohe Flexibilität bei der Unterstützung zusätzlicher Plattformen oder Deployment-Technologien.

Plattform-Optimierung

Weil die Schichten aus dem Composition Model heraus generiert werden, kann der Code äußerst spezialisiert, aber trotzdem flexibel generiert werden. Die Generatoren von SCORE Adaptive Bridges nutzen bei der Generierung des optimierten Codes für die einzelnen Schichten moderne Konzepte wie Code Weaving und Aspect-Oriented Programming.

Die Schichten werden als nativer Code generiert und können deshalb mit den Standard-Werkzeugen und –Utilities der Client- und Server-Plattform verwaltet werden.

Kein zentraler Broker

Adaptive Services stellen ein logisches Konzept dar, das innerhalb des Composition Models definiert wird. Wenn SCORE Adaptive Bridges den Client-, Server- und Middleware-Code für Ihre adaptiven Services generiert, gibt es in der generierten Architektur keinen „zentralen Knoten“ oder „Broker“.

Client und Server kommunizieren über die gewählte Kommunikationstechnologie und/oder Middleware direkt miteinander. Ohne einen zentralen Knoten oder Broker ist der generierte Code effizienter, und die bei anderen Ansätzen so häufigen Engpässe und Probleme bei der Systemverwaltung können nicht auftreten.

Dank des direkten Kommunikationsmodells ist die Unterstützung eines multi-granularen Schnittstellenansatz viel einfacher. Jeder Service-Benutzer kann die Schnittstelle verwenden, die am besten zu seinen Bedürfnissen passt. Diese Service-Schnittstelle wird nur in wenigen Fällen die der bestehenden Anwendungen und/oder Datenhaltungssysteme sein. Der adaptive Sevice gleicht die Unterschiede in den Schnittstellen-Spezifikationen aus.

Was kommt wohin?

Die Laufzeit-Implementierung des adaptiven Services wird hauptsächlich für die Serverseite in den Application Adapter generiert und nur zum kleinen Teil in die Technology Adapter und das adaptiven Proxy. Die genaue Zuordnung der logischen Funktionen zu physikalischem Code und Source-Komponenten hängt von den gewählten Deployment-Plattformen und/oder Middleware-Produkten ab. Weitere Informationen über die Verteilung auf den einzelnen Deployment-Plattformen finden Sie in den Deployment Scenarios.

Und wohin jetzt?

Jetzt haben Sie einen Überblick über die allgemeine Laufzeit-Schichtenarchitektur erhalten. Im nächsten Abschnitt, Application Adapter, finden Sie Details zum für die Serverseite generierten Code für die Schnittstelle zur Legacy-Anwendung.

 
Weitere Infos
Newsletter
Quotes
„Es hat sich wieder einmal gezeigt, wie wertvoll Generatoren sind: Nun sind wir mit unseren BS2000-UTM-Anwendungen sogar Multi-Channel-fähig.“
Dr. Eckhard Otto
CIO
Schorch, Deutschland

SCHORCH Fallstudie

Bookmark and Share