 |
 | |  |  | | Beschreibung |  | Die Service-orientierte Programmierung (Service-Oriented Programming, SOP) ist ein weiteres neues Paradigma der Softwareentwicklung, das die etablierten Paradigmen (objektorientierte (OOP, siehe Objektorientiertes Programmieren (OOP) - Teil 1) und komponentenorientierte Programmierung (COP, auch CBD)) erweitert.
SOP hebt sich in verschiedenen Gesichtspunkten von diesen Paradigmen ab. Zunächst ist das Ziel des Entwicklungsprozesses zu betrachten, d.h. die Anwendung im Kontext von OOP, COP und SOP. In der OOP setzt sich eine Anwendung aus einer Menge relativ feingranularer Objekte zusammen. Diese sind meist zu Klassenbibliotheken zusammengefasst und somit eng miteinander gekoppelt. COP versucht das Problem der engen Kopplung zu entschärfen, in dem im Wesentlichen nur noch (Komponenten-)Interfaces betrachtet werden. Die tatsächliche Realisierung der Komponente bleibt dabei verborgen (Black-Box). Die Bindung zwischen Komponenten erfolgt nur auf Basis der Schnittstellen. Dennoch befassen sich sowohl OOP als auch COP hauptsächlich mit der Problemstellung, wie bestimmte Problemlösungen "gebaut" sind und zielen somit vorrangig auf Strukturaspekte.
SOP setzt auf diese Paradigmen auf, betrachtet jedoch viel mehr die Frage, wie ein Problem gelöst wird, d.h. welche Funktionalität zur Verfügung steht. Im Gegensatz zur OOP oder COP sind Services vergleichsweise "rücksichtslos", da sie konzeptuell generell als autonom angesehen werden. Einer Anwendung, die aus verschiedenen Diensten aufgebaut wird, liegt somit eine völlig andere Architektur zugrunde. Bei der OOP und auch bei der COP wird eine Anwendung aus einer Menge von meist schon recht spezifischen Klassen und Komponenten zusammengesetzt und ist somit relativ statisch. Bei der SOP wird eine Anwendung aus verschiedenen autonomen Diensten zusammengesetzt und ist somit prinzipiell nur eine Konfiguration von Diensten. Des Weiteren ist eine SOP-Anwendung auch wesentlich dynamischer als herkömmliche OOP- oder COP-Anwendungen, da Dienste noch zur Laufzeit ausgewechselt werden können.
Das Paradigma der SOP basiert auf einigen Elementen und verschiedenen Aspekten, die zum Teil bereits in der OOP oder COP Verwendung finden, jedoch teils stark erweitert wurden.
Die Elemente, die in der SOP betrachtet werden, sind zumeist Architekturelemente, die auch in der Service-orientierte Architekturen - Überblick relevant sind. Hierzu zählen:
- Verträge (Contracts) - Verträge sind üblicherweise Schnittstellen, die einen Dienst beschreiben. Je nach Ausprägung der SOA können dies beispielsweise WSDL-, IDL- oder native Interfaces (z.B. Java oder .NET) sein.
- Komponenten (Components,
Komponenten einer Service-orientierten Architekur) - Konnektoren (Connectors,
Konnektoren einer Service-orientierten Architektur) - Umgebungen (Container, Context) - Umgebungen für Dienste müssen selbst wieder verschiedene Dienste bereitstellen, um eine korrekte Ausführung eines Dienstes zu ermöglichen. Security ist ein Beispiel für einen solchen Dienst. Auch allgemeine Aspekte wie Installation und Management sind Aufgaben, die hier zu beachten sind.
Des Weiteren sind verschiedene Aspekte dienstorientierter Systeme zu berücksichtigen, die spezifische Eigenschaften der einzelnen Elemente einer SOA betreffen. Zu nennen sind beispielsweise:
Verteilbarkeit (Deployability) - Dienste müssen in verschiedenen Umgebungen lauffähig sein. Dabei sind Eigenschaften wie Plattform- und Ortstransparenz zu berücksichtigen.
Verfügbarkeit (Availability) - Dienste sollen stets für ein breites Kundenfeld verfügbar sein. Daher sind Konzepte wie redundante Installation zu berücksichtigen, um Ausfallsicherheit und Verfügbarkeit zu gewährleisten.
Sicherheit (Security) - Für Dienste müssen umfangreiche Sicherheitsvorkehrungen getroffen werden. Zu beachten ist hierbei, ob Sicherheit durch die Umgebung oder den Dienst selbst zur Verfügung gestellt wird.
|  |
 | |  |  | |  | |  | |  |  |  | | Zu dieser Seite wurden noch keine Kommentare oder Bewertungen abgegeben. |
|
|  | |  |  |  |  | Service-orientierte... |  |  |  |  |  | Ansprechpartner |  |  |  | |  |  |  |  |  | Weitere Themen |  |  |  | |  |  | |  |  |  |  |  |  |
|