190 likes | 320 Views
Service Orchestrierung mit .NET. eXtensible Service Orchestration Platform .Net Usergroup Karlsruhe Aydin Mir Mohammadi Ali Moinzadeh. 1. 2. 3. 4. 5. 6. 7. 8. 9. Qualitätsmerkmale von Software (IEEE Std. 1061). Effizienz Zeiteffizienz Ressourceneffizienz Funktionalität
E N D
Service Orchestrierung mit .NET eXtensible Service Orchestration Platform .Net Usergroup Karlsruhe Aydin Mir MohammadiAli Moinzadeh 1 2 3 4 5 6 7 8 9
Qualitätsmerkmale von Software (IEEE Std. 1061) • Effizienz • Zeiteffizienz • Ressourceneffizienz • Funktionalität • Vollständigkeit • Korrektheit • Sicherheit • Kompatibilität • Interoperabilität • Wartbarkeit • Korrigierbarkeit • Erweiterbarkeit • Testbarkeit • Portabilität • Hardwareunabhängigkeit • Softwareunabhängigkeit • Installierbarkeit • Wiederverwendbarkeit • Verlässlichkeit • Ausfallsicherheit • Fehlertoleranz • Verfügbarkeit • Usability • Verständlichkeit • Erlernbarkeit • Bedienbarkeit • Aussagefähigkeit 1 2 3 4 5 6 7 8 9
Ich hatte einen Dienst… Service Service Service 1 2 3 4 5 6 7 8 9
und es kamen viele weitere Hinzu… Service Service Service Service Service Service Service 1 2 3 4 5 6 7 8 9
Problem • Konfigurationshölle • Erstellung eines Config-Servers bringt es nicht • Über Konfiguration wird Logik implementiert • Es fehlt der Controller 1 2 3 4 5 6 7 8 9
Orchestrieren statt Choreographieren Orchestrierung Service Service Service Service Service Service Service 1 2 3 4 5 6 7 8 9
Hintergrund • Suche nach einer einfachen aber flexiblen Lösung • Glück gehabt: Ali kommt 1 2 3 4 5 6 7 8 9
Hintergrund • Studienarbeit: Erste Ideen werden entwickelt • Diplomarbeit: „Proofofconcept“ • Theoretische Vertiefung und Konkretisierung der Idee • Vorstellung der Plattform (XSOP) 1 2 3 4 5 6 7 8 9
Agenda • Hintergrund • Architektur • Demo • „Points of Interest“ • Vorteile und Nachteile 1 2 3 4 5 6 7 8 9
Trennung der Schnittstelle von der Logik Adapter Service Stub Orchestrierungs-logik Service Proxy Binding Routing Service Service Workflow Aktivity Aktivity Aktivity 1 2 3 4 5 6 7 8 9
Architektur 1 2 3 4 5 6 7 8 9
Architektur • Die Plattform bietet Basisfunktionalität an • Im Rahmen eines Projektes werden diese Funktionalität von Entwicklern erweitert • Alle Aufrufe und Implementierungsdetails können gekapselt werden • Ein Business-Architekt kann Prozesse modellieren 1 2 3 4 5 6 7 8 9
Runtime 1 2 3 4 5 6 7 8 9
Routing Stub Adapter Service Binding Context Message Router Service Context Workflow Aktivity Aktivity Aktivity 1 2 3 4 5 6 7 8 9
Verteilter Taschenrechner • Szenario: Anwendung fragt Dienst (RPC) Request/Responce Service Anwendung 1 2 3 4 5 6 7 8 9
Verteilter Taschenrechner • Szenario: Anwendung schickt Job ab und erhält das Ergebnis (Messaging) Anwendung Message Message Service 1 2 3 4 5 6 7 8 9
Demo 1 2 3 4 5 6 7 8 9
Konsequenzen • Ein Business-Architekt kann aus Diensten eine Anwendung machen • Andere Art zu programmieren • Sehr Agil • Zwingt zu einem „Sauberen“ Design eines Dienstes • Mehr Overhead (2 x Call + WF) 1 2 3 4 5 6 7 8 9
Fragen? 1 2 3 4 5 6 7 8 9