SlideShare ist ein Scribd-Unternehmen logo
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

Weitere ähnliche Inhalte

Andere mochten auch

World Usability Day
World Usability DayWorld Usability Day
World Usability Day
Alinta.Thornton
 
Means of transport
Means of transport Means of transport
Means of transport
Graça Alexandre
 
Tom's TEFL - Transport
Tom's TEFL - TransportTom's TEFL - Transport
Tom's TEFL - Transport
Hong Kong Primary School
 
Online flight booking srs document
Online flight booking srs documentOnline flight booking srs document
Online flight booking srs document
manthankdesai
 
Integrated Public Transport System - Bangalore
Integrated Public Transport System - BangaloreIntegrated Public Transport System - Bangalore
Integrated Public Transport System - Bangalore
Tehsin Kazi
 
Means Of Transport 1st Class
Means Of Transport   1st ClassMeans Of Transport   1st Class
Means Of Transport 1st Class
monodeth
 
ESL: Means of Transport: Video
ESL: Means of Transport: VideoESL: Means of Transport: Video
ESL: Means of Transport: Video
A. Simoes
 
Transports and travelling
Transports and travellingTransports and travelling
Transports and travelling
regueiroleisxunta
 
German Transport
German TransportGerman Transport
German Transport
PGCEMaster
 
Transport and word order jtr 2013
Transport and word order   jtr 2013Transport and word order   jtr 2013
Transport and word order jtr 2013
osamfl
 
Multi model integration of bus and train services mira bhayandar
Multi model integration of bus and train services mira bhayandarMulti model integration of bus and train services mira bhayandar
Multi model integration of bus and train services mira bhayandar
unclecruise
 
Andréa
AndréaAndréa
Andréa
syljl
 
9j2 Lesson 1 Transport
9j2 Lesson 1 Transport9j2 Lesson 1 Transport
9j2 Lesson 1 Transport
PGCEMaster
 
Les Transports
Les TransportsLes Transports
Les Transports
Nina Tanti
 
Carte postale de vacances
Carte postale de vacancesCarte postale de vacances
Carte postale de vacances
annapasilva
 
Moyens de transport
Moyens de transportMoyens de transport
Moyens de transport
gonzalezotero
 
Presentación viaje
Presentación viajePresentación viaje
Presentación viaje
catedra internacional
 
L'ambientalització de la flota. L'experiència de TMB
L'ambientalització de la flota. L'experiència de TMBL'ambientalització de la flota. L'experiència de TMB
L'ambientalització de la flota. L'experiència de TMB
AMTU
 
Ir y transporte.ppt 2009 slideshare
Ir y transporte.ppt 2009 slideshareIr y transporte.ppt 2009 slideshare
Ir y transporte.ppt 2009 slideshare
Gay Cally
 

Andere mochten auch (20)

World Usability Day
World Usability DayWorld Usability Day
World Usability Day
 
Means of transport
Means of transport Means of transport
Means of transport
 
Tom's TEFL - Transport
Tom's TEFL - TransportTom's TEFL - Transport
Tom's TEFL - Transport
 
Online flight booking srs document
Online flight booking srs documentOnline flight booking srs document
Online flight booking srs document
 
Integrated Public Transport System - Bangalore
Integrated Public Transport System - BangaloreIntegrated Public Transport System - Bangalore
Integrated Public Transport System - Bangalore
 
Means Of Transport 1st Class
Means Of Transport   1st ClassMeans Of Transport   1st Class
Means Of Transport 1st Class
 
ESL: Means of Transport: Video
ESL: Means of Transport: VideoESL: Means of Transport: Video
ESL: Means of Transport: Video
 
Transports and travelling
Transports and travellingTransports and travelling
Transports and travelling
 
Was ist Lonbus?
Was ist Lonbus?Was ist Lonbus?
Was ist Lonbus?
 
German Transport
German TransportGerman Transport
German Transport
 
Transport and word order jtr 2013
Transport and word order   jtr 2013Transport and word order   jtr 2013
Transport and word order jtr 2013
 
Multi model integration of bus and train services mira bhayandar
Multi model integration of bus and train services mira bhayandarMulti model integration of bus and train services mira bhayandar
Multi model integration of bus and train services mira bhayandar
 
Andréa
AndréaAndréa
Andréa
 
9j2 Lesson 1 Transport
9j2 Lesson 1 Transport9j2 Lesson 1 Transport
9j2 Lesson 1 Transport
 
Les Transports
Les TransportsLes Transports
Les Transports
 
Carte postale de vacances
Carte postale de vacancesCarte postale de vacances
Carte postale de vacances
 
Moyens de transport
Moyens de transportMoyens de transport
Moyens de transport
 
Presentación viaje
Presentación viajePresentación viaje
Presentación viaje
 
L'ambientalització de la flota. L'experiència de TMB
L'ambientalització de la flota. L'experiència de TMBL'ambientalització de la flota. L'experiència de TMB
L'ambientalització de la flota. L'experiència de TMB
 
Ir y transporte.ppt 2009 slideshare
Ir y transporte.ppt 2009 slideshareIr y transporte.ppt 2009 slideshare
Ir y transporte.ppt 2009 slideshare
 

Ähnlich wie Pragmatic SOA - Beschränken auf das Wesentliche

Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
OPITZ CONSULTING Deutschland
 
07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)
soreco
 
Rails goes SOA
Rails goes SOARails goes SOA
Rails goes SOA
Dirk Breuer
 
Microservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen solltenMicroservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen sollten
Jan Thielscher
 
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
camunda services GmbH
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
Christian Baranowski
 
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSPSoftware Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Christian Guenther
 
SOA - Vom Geschäftsprozess zum Webservice
SOA - Vom Geschäftsprozess zum WebserviceSOA - Vom Geschäftsprozess zum Webservice
SOA - Vom Geschäftsprozess zum Webservice
GFU Cyrus AG
 
Go Salesforce - Swiss eEconomy Forum 2011
Go Salesforce - Swiss eEconomy Forum 2011Go Salesforce - Swiss eEconomy Forum 2011
Go Salesforce - Swiss eEconomy Forum 2011
PARX
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud Plattform
QAware GmbH
 
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivitySaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS-EcoSystem
 
Integrierte BPM Projektmethodik
Integrierte BPM ProjektmethodikIntegrierte BPM Projektmethodik
Integrierte BPM Projektmethodik
Dirk Slama
 
Referat: Architektur und Entwicklung mobiler Anwendungen
Referat: Architektur und Entwicklung mobiler AnwendungenReferat: Architektur und Entwicklung mobiler Anwendungen
Referat: Architektur und Entwicklung mobiler Anwendungen
Digicomp Academy AG
 
Modellieren von Geschäftsprozessabhängigkeiten
Modellieren von GeschäftsprozessabhängigkeitenModellieren von Geschäftsprozessabhängigkeiten
Modellieren von Geschäftsprozessabhängigkeiten
Digicomp Academy AG
 
Creasoft - Windows Azure
Creasoft - Windows AzureCreasoft - Windows Azure
Creasoft - Windows Azure
Creasoft AG
 
Technologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von CitrixTechnologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von Citrix
Digicomp Academy AG
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
Torsten Fink
 
20100624 jug saxony_bpel.slideshare
20100624 jug saxony_bpel.slideshare20100624 jug saxony_bpel.slideshare
20100624 jug saxony_bpel.slideshare
Jens Hündling
 

Ähnlich wie Pragmatic SOA - Beschränken auf das Wesentliche (20)

Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
 
07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)
 
20110223 agiles bpm
20110223 agiles bpm20110223 agiles bpm
20110223 agiles bpm
 
Rails goes SOA
Rails goes SOARails goes SOA
Rails goes SOA
 
Microservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen solltenMicroservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen sollten
 
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSPSoftware Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
 
SOA - Vom Geschäftsprozess zum Webservice
SOA - Vom Geschäftsprozess zum WebserviceSOA - Vom Geschäftsprozess zum Webservice
SOA - Vom Geschäftsprozess zum Webservice
 
Go Salesforce - Swiss eEconomy Forum 2011
Go Salesforce - Swiss eEconomy Forum 2011Go Salesforce - Swiss eEconomy Forum 2011
Go Salesforce - Swiss eEconomy Forum 2011
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud Plattform
 
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivitySaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
 
Integrierte BPM Projektmethodik
Integrierte BPM ProjektmethodikIntegrierte BPM Projektmethodik
Integrierte BPM Projektmethodik
 
Referat: Architektur und Entwicklung mobiler Anwendungen
Referat: Architektur und Entwicklung mobiler AnwendungenReferat: Architektur und Entwicklung mobiler Anwendungen
Referat: Architektur und Entwicklung mobiler Anwendungen
 
Modellieren von Geschäftsprozessabhängigkeiten
Modellieren von GeschäftsprozessabhängigkeitenModellieren von Geschäftsprozessabhängigkeiten
Modellieren von Geschäftsprozessabhängigkeiten
 
Creasoft - Windows Azure
Creasoft - Windows AzureCreasoft - Windows Azure
Creasoft - Windows Azure
 
OSLC in Aktion
OSLC in AktionOSLC in Aktion
OSLC in Aktion
 
Technologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von CitrixTechnologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von Citrix
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
 
20100624 jug saxony_bpel.slideshare
20100624 jug saxony_bpel.slideshare20100624 jug saxony_bpel.slideshare
20100624 jug saxony_bpel.slideshare
 

Mehr von 1&1

1&1 KMU Studie
1&1 KMU Studie 1&1 KMU Studie
1&1 KMU Studie
1&1
 
Inhalte strukturieren für bessere User Experience und Maschinenlesbarkeit
Inhalte strukturieren für bessere User Experience und MaschinenlesbarkeitInhalte strukturieren für bessere User Experience und Maschinenlesbarkeit
Inhalte strukturieren für bessere User Experience und Maschinenlesbarkeit
1&1
 
Erfahrungen aus einem Jahr Content Marketing
Erfahrungen aus einem Jahr Content MarketingErfahrungen aus einem Jahr Content Marketing
Erfahrungen aus einem Jahr Content Marketing
1&1
 
Mehr Sichtbarkeit durch Google News und AMP
Mehr Sichtbarkeit durch Google News und AMPMehr Sichtbarkeit durch Google News und AMP
Mehr Sichtbarkeit durch Google News und AMP
1&1
 
SEO & Content Marketing entlang der Customer Journey
SEO & Content Marketing entlang der Customer JourneySEO & Content Marketing entlang der Customer Journey
SEO & Content Marketing entlang der Customer Journey
1&1
 
SEO Content: Eine Zeitreise
SEO Content: Eine ZeitreiseSEO Content: Eine Zeitreise
SEO Content: Eine Zeitreise
1&1
 
Social Media bei 1&1
Social Media bei 1&1Social Media bei 1&1
Social Media bei 1&1
1&1
 
Secure Software Development Lifecycle
Secure Software Development LifecycleSecure Software Development Lifecycle
Secure Software Development Lifecycle
1&1
 
Camunda@1&1
Camunda@1&1Camunda@1&1
Camunda@1&1
1&1
 
Design Types
Design TypesDesign Types
Design Types
1&1
 
HostingCon Europe: Grow your hosting business by better serving small businesses
HostingCon Europe: Grow your hosting business by better serving small businessesHostingCon Europe: Grow your hosting business by better serving small businesses
HostingCon Europe: Grow your hosting business by better serving small businesses
1&1
 
Prinzipiensprachen
PrinzipiensprachenPrinzipiensprachen
Prinzipiensprachen
1&1
 
1&1 New Hosting Products
1&1 New Hosting Products1&1 New Hosting Products
1&1 New Hosting Products
1&1
 
1&1 Hosting Europe Media Event: Server Update
1&1 Hosting Europe Media Event: Server Update1&1 Hosting Europe Media Event: Server Update
1&1 Hosting Europe Media Event: Server Update
1&1
 
1&1 Hosting Europe Media Event: New Top Level Domains
1&1 Hosting Europe Media Event: New Top Level Domains1&1 Hosting Europe Media Event: New Top Level Domains
1&1 Hosting Europe Media Event: New Top Level Domains
1&1
 
DIY Web Builder: Apps and Social Media
DIY Web Builder: Apps and Social MediaDIY Web Builder: Apps and Social Media
DIY Web Builder: Apps and Social Media
1&1
 
Passwort-Sicherheit - WEB.DE Studie 2012 (Convios Consulting GmbH)
Passwort-Sicherheit - WEB.DE Studie 2012 (Convios Consulting GmbH)Passwort-Sicherheit - WEB.DE Studie 2012 (Convios Consulting GmbH)
Passwort-Sicherheit - WEB.DE Studie 2012 (Convios Consulting GmbH)
1&1
 
Kundenzufriedenheitsoffensive bei 1&1 - mehr als eine Kampagne
Kundenzufriedenheitsoffensive bei 1&1 - mehr als eine KampagneKundenzufriedenheitsoffensive bei 1&1 - mehr als eine Kampagne
Kundenzufriedenheitsoffensive bei 1&1 - mehr als eine Kampagne
1&1
 
Website-Studie 2012
Website-Studie 2012Website-Studie 2012
Website-Studie 2012
1&1
 
Die neuen Features der 1&1 Do-It-Yourself Homepage im Überblick
Die neuen Features der 1&1 Do-It-Yourself Homepage im ÜberblickDie neuen Features der 1&1 Do-It-Yourself Homepage im Überblick
Die neuen Features der 1&1 Do-It-Yourself Homepage im Überblick
1&1
 

Mehr von 1&1 (20)

1&1 KMU Studie
1&1 KMU Studie 1&1 KMU Studie
1&1 KMU Studie
 
Inhalte strukturieren für bessere User Experience und Maschinenlesbarkeit
Inhalte strukturieren für bessere User Experience und MaschinenlesbarkeitInhalte strukturieren für bessere User Experience und Maschinenlesbarkeit
Inhalte strukturieren für bessere User Experience und Maschinenlesbarkeit
 
Erfahrungen aus einem Jahr Content Marketing
Erfahrungen aus einem Jahr Content MarketingErfahrungen aus einem Jahr Content Marketing
Erfahrungen aus einem Jahr Content Marketing
 
Mehr Sichtbarkeit durch Google News und AMP
Mehr Sichtbarkeit durch Google News und AMPMehr Sichtbarkeit durch Google News und AMP
Mehr Sichtbarkeit durch Google News und AMP
 
SEO & Content Marketing entlang der Customer Journey
SEO & Content Marketing entlang der Customer JourneySEO & Content Marketing entlang der Customer Journey
SEO & Content Marketing entlang der Customer Journey
 
SEO Content: Eine Zeitreise
SEO Content: Eine ZeitreiseSEO Content: Eine Zeitreise
SEO Content: Eine Zeitreise
 
Social Media bei 1&1
Social Media bei 1&1Social Media bei 1&1
Social Media bei 1&1
 
Secure Software Development Lifecycle
Secure Software Development LifecycleSecure Software Development Lifecycle
Secure Software Development Lifecycle
 
Camunda@1&1
Camunda@1&1Camunda@1&1
Camunda@1&1
 
Design Types
Design TypesDesign Types
Design Types
 
HostingCon Europe: Grow your hosting business by better serving small businesses
HostingCon Europe: Grow your hosting business by better serving small businessesHostingCon Europe: Grow your hosting business by better serving small businesses
HostingCon Europe: Grow your hosting business by better serving small businesses
 
Prinzipiensprachen
PrinzipiensprachenPrinzipiensprachen
Prinzipiensprachen
 
1&1 New Hosting Products
1&1 New Hosting Products1&1 New Hosting Products
1&1 New Hosting Products
 
1&1 Hosting Europe Media Event: Server Update
1&1 Hosting Europe Media Event: Server Update1&1 Hosting Europe Media Event: Server Update
1&1 Hosting Europe Media Event: Server Update
 
1&1 Hosting Europe Media Event: New Top Level Domains
1&1 Hosting Europe Media Event: New Top Level Domains1&1 Hosting Europe Media Event: New Top Level Domains
1&1 Hosting Europe Media Event: New Top Level Domains
 
DIY Web Builder: Apps and Social Media
DIY Web Builder: Apps and Social MediaDIY Web Builder: Apps and Social Media
DIY Web Builder: Apps and Social Media
 
Passwort-Sicherheit - WEB.DE Studie 2012 (Convios Consulting GmbH)
Passwort-Sicherheit - WEB.DE Studie 2012 (Convios Consulting GmbH)Passwort-Sicherheit - WEB.DE Studie 2012 (Convios Consulting GmbH)
Passwort-Sicherheit - WEB.DE Studie 2012 (Convios Consulting GmbH)
 
Kundenzufriedenheitsoffensive bei 1&1 - mehr als eine Kampagne
Kundenzufriedenheitsoffensive bei 1&1 - mehr als eine KampagneKundenzufriedenheitsoffensive bei 1&1 - mehr als eine Kampagne
Kundenzufriedenheitsoffensive bei 1&1 - mehr als eine Kampagne
 
Website-Studie 2012
Website-Studie 2012Website-Studie 2012
Website-Studie 2012
 
Die neuen Features der 1&1 Do-It-Yourself Homepage im Überblick
Die neuen Features der 1&1 Do-It-Yourself Homepage im ÜberblickDie neuen Features der 1&1 Do-It-Yourself Homepage im Überblick
Die neuen Features der 1&1 Do-It-Yourself Homepage im Überblick
 

Pragmatic SOA - Beschränken auf das Wesentliche

  • 1. M. Wittum | 1& 1 Internet AG D. Schmid | 1& 1 Internet AG Dr. T. Breitkopf | Netviewer AG Pragmatic SOA Beschränken auf das Wesentliche
  • 2. 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
  • 3. 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)
  • 4. 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
  • 5. 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
  • 6. Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • 7. Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • 8. 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
  • 9. 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
  • 10. Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • 12. 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
  • 13. ??? Wie funktioniert das? Deskriptive, lokale Schnittstelle mit Konventionen
  • 14. Konkret sieht das so aus…
  • 15. Am Beispiel eines Antadapters
  • 16. Geppi Stack so far Service = Programm + ServiceDeskriptor + (Adapter)
  • 17. Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • 18. (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
  • 19. (K)ein Enterprise Service Bus Das wurde doch als Waschmaschinen Steuerung erfunden !?
  • 20. (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
  • 21. (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
  • 22. (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
  • 23. 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
  • 24. Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • 25. Business Process Management  Flexible Kombination (Orchestrierung) von Services dank Workflow-Engine  Entscheidung für JBPM, da flexibel erweiterbar (XML-Basis)
  • 26. Business Processes Management  Vertrag zwischen Workflow-Knoten und ServiceDeskriptor  Die Prozesssteuerungsdaten werden über den Workflow ausgetauscht
  • 27. Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • 29. 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.
  • 30. Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • 31. 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
  • 32. 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
  • 33. 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)
  • 34. Service-Kategorienmatrix Geschäftsprozesse Process Service Geschäftsregeln Visible/SOA Business Service Objects Integration Adapter Invisible/Local Systems Software
  • 35. 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
  • 36. Inhalt  Ausgangssituation  Services: Lose Kopplung via Agent  (K)ein Enterprise Service Bus  Business Process Management  Architekturübersicht  Service Kategorien  SOA und Organisation
  • 40. 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
  • 41. 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.
  • 42. Pragmatic SOA Noch Fragen