Pragmatic SOA - Beschränken auf das Wesentliche
Upcoming SlideShare
Loading in...5
×
 

Pragmatic SOA - Beschränken auf das Wesentliche

on

  • 1,702 views

SOA ist mittlerweile ein weit bekanntes Paradigma. Leider bleibt es oftmals zu abstrakt, um greifbar zu sein, oder es wird auf einzelne Technologien reduziert. Darüber geraten leicht die eigentlichen ...

SOA ist mittlerweile ein weit bekanntes Paradigma. Leider bleibt es oftmals zu abstrakt, um greifbar zu sein, oder es wird auf einzelne Technologien reduziert. Darüber geraten leicht die eigentlichen Ziele für den Einsatz einer SOA aus dem Blickfeld. Diese Session stellt eine pragmatische Herangehensweise bei Aufbau und Einführung einer SOA vor und geht dazu auf Theorie und Praxis ein.

Statistics

Views

Total Views
1,702
Views on SlideShare
1,674
Embed Views
28

Actions

Likes
0
Downloads
21
Comments
0

1 Embed 28

http://www.slideshare.net 28

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NoDerivs LicenseCC Attribution-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Pragmatic SOA - Beschränken auf das Wesentliche Pragmatic SOA - Beschränken auf das Wesentliche Presentation Transcript

  • M. Wittum | 1& 1 Internet AG D. Schmid | 1& 1 Internet AG Dr. T. Breitkopf | Netviewer AG Pragmatic SOA Beschränken auf das Wesentliche
  • Service Oriented Architecture ESB - Adapters BPM – Orchestration Registry Repository Business Services Composite Services Technical Services WSDL, SOAP, UDDI, BPEL, XML, Java, … aus www.javaworld.com SOA for the real world
  • Geht’s auch einfach?  Simplicity: Extreme Programming encourages starting with the simplest solution. Extra functionality can then be added later (XP principle related to "you ain't gonna need it" (YAGNI) approach)  In agilen Entwicklungsprozessen werden Einfachheit und Schlichtheit zu einer grundlegenden Maxime erhoben. (Kapitel 6.3.1: Das So-einfach-wie-möglich-Prinzip aus „Effektive Software- Architekturen“ - Gernot Starke)  Es gibt nicht die SOA und es gibt auch nicht das Tool für SOA … sondern nur mögliche Deutungen und mögliche Pfade, wie man eine SOA umsetzen könnte (Einführung in SOA –theserverside.de)
  • SOA - The pragmatic way Was ist Pragmatic SOA? ..... Das Wesentliche zuerst: • Schritt für Schritt vom Wesentlichen zum Add-on • eine konkrete Ausprägung auf Basis von konkreten Anforderungen • SOA-Paradigma an die Umwelt anpassen nicht umgekehrt • notfalls Verzicht auf Funktionsumfang/Flexibilität
  • SOA - The pragmatic way… …am Beispiel GEPPI (General Enterprise Process and Planning Infrastructure) Matthias Dirk Dr. Thomas Wittum Schmid Breitkopf 1&1 Internet AG 1&1 Internet AG Netviewer AG
  • Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • Ausgangssituation  Beschränkte Mittel − wenig Spielraum für Kauf von Fremdprodukten  Was gibt es an Open Source? − kleines Team  Start mit 2 Entwicklern  Metaanforderungen − Schnell muss es gehen  Frühzeitige Produktivität und einfache Nutzung − Es muss in die Organisation passen  Teams müssen ohne ‚Bremse‘ eigenverantwortlich arbeiten können
  • Ausgangssituation  Heterogene IT-Landschaft − Betriebssysteme: Linux, AIX, Solaris, Windows − Unterschiedlichste Technologien:  Eigenentwicklungen und Third-Party-Software  Java, C/C++, .NET, Grails, Python, Perl, Shell, …  Anbindung bestehender Software als Service an die SOA − Mit wenig Technik-/SOA-Knowhow für die Service-Verantwortlichen durchführbar − Einfach, schnell, geringer Aufwand  Einfacher Betrieb − Wenig Detailkenntnisse erforderlich − Jedes Team betreibt die Prozesse seines Verantwortungsbereichs
  • Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • SOA-Service = Webservice?
  • SOA-Service != Webservice  Bestehende Software kennt Webservices (meist) nicht  Jede Software hat eine Laufzeitumgebung  Software ist meist auf das lokale System fokussiert  Lösung: Nicht das Programm zum Service machen, sondern die Umgebung des Programms anreichern  Lokale Schnittstelle (meist CLI)  Service-Deskriptor beschreibt diese (design by contract)  Notfalls wird ein Adapter verwendet  Ein Agent bildet die Brücke ins Netz
  • ??? Wie funktioniert das? Deskriptive, lokale Schnittstelle mit Konventionen
  • Konkret sieht das so aus…
  • Am Beispiel eines Antadapters
  • Geppi Stack so far Service = Programm + ServiceDeskriptor + (Adapter)
  • Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • (K)ein Enterprise Service Bus Aufgabe  Services müssen redundant vorhanden sein  Kompensation von Ausfällen, Wartbarkeit  Installation und Verwaltung eines Services darf nicht kompliziert sein  agiles, marktgetriebenes Anwendungsszenario erzwingt häufige Änderungen  Services sollen „lose“ gekoppelt werden  Änderungen beherrschbar machen Lösung
  • (K)ein Enterprise Service Bus Das wurde doch als Waschmaschinen Steuerung erfunden !?
  • (K)ein Enterprise Service Bus  Jini ist ein Framework und Programmiermodell zum Aufbau von service- orientierten, verteilten Anwendungen  In Jini ist alles ein Services und kann mittels Lookup an der integrierten Registry angesprochen werden  Verfügbarkeit durch Redundanz ist fester Bestandteil des Programmiermodells sucht registriert Interface Interface Implementierung Jini Jini Registry Jini Service Service Provider Consumer benutzt Service via Service-Proxy
  • (K)ein Enterprise Service Bus  Zuverlässigkeit  JINI-Infrastruktur => Ausfallsicherheit eingebaut  Transport  Service Verwaltung  Keine zentrale Konfiguration der Services notwendig  Discovery  Services können anhand ihrer Beschreibung eindeutig zugeordnet werden  lose Kopplung  Überwachung
  • (K)ein Enterprise Service Bus  SOA-Services werden über ihre Eigenschaften adressiert  Der Service Finder nimmt intelligentes Routing vor  Service-Calls werden immer Punkt zu Punkt ausgeführt  Sowohl für den Service- Provider als auch für den Service-Consumer bleiben die technischen Details verborgen
  • Distributed Enterprise Service Bus Aufgaben eines Enterprise Service Bus:  Konnektivität herstellen  Zuverlässigkeit  Daten transformieren  Service Verwaltung  Daten routen  Überwachen, Protokolieren und  Sicherheit Debuggen Kundendaten Bestellprozess Adresscheck Reliability Transport Discovery Routing Mapping Message Bus Anbindung über Web-Services Web-Service EJBs SAP Server
  • Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • Business Process Management  Flexible Kombination (Orchestrierung) von Services dank Workflow-Engine  Entscheidung für JBPM, da flexibel erweiterbar (XML-Basis)
  • Business Processes Management  Vertrag zwischen Workflow-Knoten und ServiceDeskriptor  Die Prozesssteuerungsdaten werden über den Workflow ausgetauscht
  • Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • Architektur-Überblick
  • Architektur-Überblick (Management) JBPM Workflowengine (Arbeitgeber mit Plan) Die Workflowengine arbeitet Prozessablaufpläne ab. Sie kennt die Reihenfolge und Art der Aufgaben, welche nötig sind, um einen Usecase zu bearbeiten. Jini-Registry (Arbeitsamt) Verwaltet die vorhanden ExecutionUnits. Bei ihr kann das GEPPI-System erfragen, „wer“ eine benötigte Dienstleistung erbringen kann. ExecutionUnit (Arbeitsuchender) Die ExecutionUnit (Agent) bietet die Dienstleistungen (Services) an, die sie von den ServiceDeskriptoren angeboten bekommt. Ant-Adapter (Eurostecker mit Mehrwert) Ein Ant-Adapter ist eine Art Vermittler, welcher GEPPI an die Anforderungen und Belange von zu steuernden Softwarekomponenten anpasst.
  • Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • Service-Kategorien  SOA-Services − Deskriptor und Adapter machen SW zum Service  Technische Services / Utility-Services − Teil der SOA-Infrastruktur, keine SOA-Services − für SOA-Services transparent
  • Service-Kategorien  Distributed ESB − verteilte ESB-Funktionalität − Punkt-zu-Punkt-Kommunikation − Protokoll für Services transparent − Service Provider sind ausschließlich Provider − Service Consumer sind ausschließlich Consumer
  • Service-Kategorienmatrix Business Process Business Rule Service Service Decision Geschäftsprozesse Business Activity Business Rule Service Service Validation Geschäftsregeln Business Business Object Service Objects public private Integration Process nach Maier, Normann, Trops, Integration Adapter Adapter Utschig-Utschig, Winterberg (S&S SOA-Spezial Systems System A System B Service A 2009)
  • Service-Kategorienmatrix Geschäftsprozesse Process Service Geschäftsregeln Visible/SOA Business Service Objects Integration Adapter Invisible/Local Systems Software
  • Service-Kategorien  Notwendige Funktionalität − GEPPI Process Management − GEPPI Services  Verzicht auf nicht benötigte Flexibilität − Nur Public Services – private Services sind nicht Teil der SOA − Keine Composite Services möglich – nur eine Service-Hierarchieebene
  • Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • Governance SOA
  • Governance SOA
  • Governance SOA
  • Governance SOA  SOA ausgerichtet an bestehender Organisation des Unternehmensbereichs und nicht umgekehrt  Projektteams verantworten ihre Fachdomäne: − Technik und − Fachlichkeit (Businessprozesse)  SOA/IS-Team als Dienstleister der Projektteams  Übergreifende Geschäftsprozesse werden durch schlanke Superworkflows geklammert
  • Pragmatic SOA GEPPI ist keine SOA passend für alle Anwendungsfälle, sondern die optimale Software für genau diese Anforderungen und genau diese Organisation.
  • Pragmatic SOA Noch Fragen