7 goldene Regeln
für den Aufbau eines funktionalen Interfaces



Ivan Schwab-Germann / Intersim AG
Agenda

 Thema: Schnittstellen im serviceorientierten Umfeld


                                               Umsetzung


                                                            Architektur /   Change
    Aufgabe                 Performance        Sicherheit
                                                            Datenformat      Mgt


                                               Konzeption




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Agenda

 Thema: Schnittstellen im serviceorientierten Umfeld


                                               Umsetzung


                                                            Architektur /   Change
    Aufgabe                 Performance        Sicherheit
                                                            Datenformat      Mgt


                                               Konzeption




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Aufgabenstellung (Problemstellung)

     Heterogene Netzwerkprotokolle
     Heterogene Schnittstellen
     Mangelnde Konnektivität
     Heterogene Datenstrukturen
     Fehlende (ungenügende) Dokumentationen
     Fehlendes Know-How




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Aufgabenstellung (Problemstellung)

                                  Format?                               IDOC
                                                               IDOC
                                                  Stammdaten   Conn.

                                 + Produkt- Verfügbarkeit
                                 + Rabattierung / Nettopreise
                                 + Aussendienst-Verantwortliche
                                              Internet
                                 + Getätigte Bestellungen
                                                                       ERP-System
 E-Shop                          + Vorbestellungen
                                 + Kundenstatus

                                               Auftragsdaten
                                                                Konnektivität?

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Agenda

 Thema: Schnittstellen im serviceorientierten Umfeld


                                               Umsetzung


                                                            Architektur /   Change
    Aufgabe                 Performance        Sicherheit
                                                            Datenformat      Mgt


                                               Konzeption




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Konzeption der Schnittstelle

 In die Konzeptionsphase gehören
     Definition der Zielsetzungen
     Technische Spezifikationen
     Regeln für die Daten-Validierung
     Mengengerüst
     Definition der Sicherheits-Standards
     Prototyping (inkl. Datenübermittlung)
     Performance- und Konsistenz-Tests

            Nur ein Prototyping inkl. Review gibt die Garantie, dass
            alle dasselbe unter den Definitionen verstanden haben.

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Konzeption der Schnittstelle


 Aus der Praxis:
 SOAP/XML Web-Service (.NET)
     Definition der Zielsetzungen             
     Technische Spezifikationen               
     Regeln für die Daten-Validierung         
     Definition der Sicherheits-Standards     
     Prototyping                              
     Performance-Tests                        




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Konzeption der Schnittstelle



  IST: Web-Service live, Testing
  Erwartungen                    Resultat
  Sicherheit (https)                                    (Firewall)
  Dateninhalt                             All data      (partielle Übermittlung)
  Performance                                            (Records einzeln)
  Datenformate                                         (kein Proxy)

                                Nie mehr ohne Prototyping

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Agenda

 Thema: Schnittstellen im serviceorientierten Umfeld


                                               Umsetzung


                                                            Architektur /   Change
    Aufgabe                 Performance        Sicherheit
                                                            Datenformat      Mgt


                                               Konzeption




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Performance-Aspekte


 Was gilt es zu berücksichtigen
     Datenmenge (Bytes)
     Datendurchsatz
     Daten-Granulierung (Arrays)
     Aufruf: 0.2-0.4 Sekunden (Footprint ca. gleich wie HTTP-Aufruf)
     HTTPS vs. HTTP?




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Performance-Aspekte


 Welche Ansätze gibt es
  Grosse Datenmengen und kleiner Datendurchsatz  feine
   Granulierung, Binaries auslagern, asynchrone Übermittlung
  Viele Records  Array-Unterstützung
  Real-Time Aufruf: möglichst nur ein Aufruf (0.2-0.4 s initial)
  Öffentliche Daten  HTTP anstatt HTTPS
  Stabilität gefordert  feine Granulierung


            Real-Time: Wenig Aufrufe i.d.R. besser
            Asynchron: Höhere Granulierung

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Performance-Aspekte


 Aus der Praxis:
 Zugriffsgranulierung
                                       Request            WS
                                          Token      Security Token
           Proxy
                                  Request+Token            WS
                                           Data      Business Object


                                                   Array
                                                    Unterstützung

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Agenda

 Thema: Schnittstellen im serviceorientierten Umfeld


                                               Umsetzung


                                                            Architektur /   Change
    Aufgabe                 Performance        Sicherheit
                                                            Datenformat      Mgt


                                               Konzeption




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Intermezzo Architektur


       Simple Object Access Protocol           Representational State Transfer



         SOAP / XML                                    REST

   Grosse Freiheit bei der                      Client unabhängig
    Umsetzung                                    keine Anwendungs-
   Overhead durch XML                            funktionalität auf
                                                  Ressourcen
   XML Aufruf
                                                 URL basierend
   XML Rückgabedaten                            einfacher Javascript Aufruf

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Intermezzo Architektur

       Simple Object Access Protocol            Representational State Transfer

            SOAP Envelope

               SOAP Header
                                               HTTP-Call

               SOAP Body                                         Content
                 Content (XML)


         HTTP-Call



Mai 2012 © Ivan Schwab-Germann - Intersim AG
Sicherheits-Aspekte


 Network                                  Server (Host)               Interface
                                                                      Applikation
  Router                                  Patches
  Firewall                                Antivirus                  Paketverschlüsselung
  Punkt-Punkt                             Access Mgt                  (SOAP – Security)
   Verbindung                              Verbindungs-               Authentifizierung
                                            verschlüsselung            Security Token
                                            (HTTPS)
                                           … mit Client Zertifikat




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Sicherheitsaspekte

 Security ganz gross

                    HTTPS mit Client Zertifikat          Punkt-Punkt



   Konsument                                                           Service
                 Nur SOAP
                                      SOAP Security             Authentifizierung
                                         SOAP Envelope             Security
                                             Content               Service




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Sicherheitsaspekte


 Praxis-Empfehlungen:
     Security wo nötig
     Wenn möglich: Punkt-Punkt Verbindung
     SOAP bietet erhöhte Sicherheit
     SOAP Security nur bei hohen Anforderungen



            Wenn erhöhte Sicherheit gefordert wird, ist SOAP mit
            Security-Token Konzept zu empfehlen.

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Agenda

 Thema: Schnittstellen im serviceorientierten Umfeld


                                               Umsetzung


                                                            Architektur /   Change
    Aufgabe                 Performance        Sicherheit
                                                            Datenformat      Mgt


                                               Konzeption




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Transport-Layer / Architektur

 Im Zweifelsfall SOAP/XML weil
  system- und plattform-neutral (Basis-Datentypen +
   Arrays verwenden)
  programmiersprachen-neutral (keine spezifischen
   Datenkonstrukte)
  http Transport-Protokoll
  Datenvalidierung möglich
  Erhöhte Sicherheit möglich

            SOAP eignet sich bestens für WS Schnittstellen mit
            hohen Anforderungen – REST für Ajax.

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Datenformate


 Gegenüberstellung

         SOAP / XML                             REST / JSON


   XML Aufruf                                  Einfachere Strukturen
   XML Rückgabedaten                           Einfache Handhabung
                                                Für Browserverarbeitung
                                                 ideal


Mai 2012 © Ivan Schwab-Germann - Intersim AG
Datenformate


 Aus der Praxis:
  Umsetzungsprobleme (Know-How)
  Fat-Files nicht über Services
   (Security ist meist nicht gleich)
  Beim Kunden oft «Old World» Formate



            JSON liefert Nutzdaten. SOAP dann verwenden, wenn
            Validierung der Daten nötig ist (via XSD)!

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Agenda

 Thema: Schnittstellen im serviceorientierten Umfeld


                                               Umsetzung


                                                            Architektur /   Change
    Aufgabe                 Performance        Sicherheit
                                                            Datenformat      Mgt


                                               Konzeption




Mai 2012 © Ivan Schwab-Germann - Intersim AG
Change Management

  Aufgesetzte Dreistufigkeit leben:
   - Development, Integration, Live
  Ticketing-System
  Fixe Release-Zyklen
  Rückwärtskompatibilität
  (Permanente Überwachung)
            Definieren Sie für Change Request fix geltende Regeln
            und Prozesse!

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Do’s and Dont’s

 1. Real-Time Warenkorb-Berechnung beim ERP
    funktioniert
 2. Abbilden von Netto-Preis Kalkulationen beim
    Client kann funktionieren
 3. Wenn HTTPS mit Client-Zertifikat, dann auch auf
    dem Integration-System
 4. Wenn Stabilität gefragt ist, dann ein WS-Interface
    mit SOAP/XML
 5. Vertrauen ist gut, Kontrolle ist besser

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Die 7 goldenen Regeln

 1. Konzeption: Prototyp erstellen
 2. Performance: Real-Time - Wenige Aufrufe
    Asynchron - Höhere Granulierung
 3. SOAP bei hohen Anforderungen – REST für Ajax
 4. Sicherheit: SOAP mit Security-Token
 5. Datenformat: SOAP bei Datenvalidierung
 6. Change: Fixe Regeln definieren
            Falls Sie ein Problem vermuten und mich anrufen
            wollen, super. Rufen Sie während der Konzeption an!

Mai 2012 © Ivan Schwab-Germann - Intersim AG
Besten Dank fürs Zuhören


     Kontakt:                  Ivan Schwab-Germann
     Mail:                     ivan.schwab@intersim.ch
     Telefon:                  034 424 11 24
     Xing:                     http://www.xing.com/profile/Ivan_SchwabGermann
     ONE:                      Stand 101


Mai 2012 © Ivan Schwab-Germann - Intersim AG

Schnittstellen

  • 1.
    7 goldene Regeln fürden Aufbau eines funktionalen Interfaces Ivan Schwab-Germann / Intersim AG
  • 2.
    Agenda Thema: Schnittstellenim serviceorientierten Umfeld Umsetzung Architektur / Change Aufgabe Performance Sicherheit Datenformat Mgt Konzeption Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 3.
    Agenda Thema: Schnittstellenim serviceorientierten Umfeld Umsetzung Architektur / Change Aufgabe Performance Sicherheit Datenformat Mgt Konzeption Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 4.
    Aufgabenstellung (Problemstellung)  Heterogene Netzwerkprotokolle  Heterogene Schnittstellen  Mangelnde Konnektivität  Heterogene Datenstrukturen  Fehlende (ungenügende) Dokumentationen  Fehlendes Know-How Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 5.
    Aufgabenstellung (Problemstellung) Format? IDOC IDOC Stammdaten Conn. + Produkt- Verfügbarkeit + Rabattierung / Nettopreise + Aussendienst-Verantwortliche Internet + Getätigte Bestellungen ERP-System E-Shop + Vorbestellungen + Kundenstatus Auftragsdaten Konnektivität? Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 6.
    Agenda Thema: Schnittstellenim serviceorientierten Umfeld Umsetzung Architektur / Change Aufgabe Performance Sicherheit Datenformat Mgt Konzeption Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 7.
    Konzeption der Schnittstelle In die Konzeptionsphase gehören  Definition der Zielsetzungen  Technische Spezifikationen  Regeln für die Daten-Validierung  Mengengerüst  Definition der Sicherheits-Standards  Prototyping (inkl. Datenübermittlung)  Performance- und Konsistenz-Tests Nur ein Prototyping inkl. Review gibt die Garantie, dass alle dasselbe unter den Definitionen verstanden haben. Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 8.
    Konzeption der Schnittstelle Aus der Praxis: SOAP/XML Web-Service (.NET)  Definition der Zielsetzungen   Technische Spezifikationen   Regeln für die Daten-Validierung   Definition der Sicherheits-Standards   Prototyping   Performance-Tests  Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 9.
    Konzeption der Schnittstelle IST: Web-Service live, Testing Erwartungen Resultat Sicherheit (https)  (Firewall) Dateninhalt All data  (partielle Übermittlung) Performance (Records einzeln) Datenformate   (kein Proxy) Nie mehr ohne Prototyping Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 10.
    Agenda Thema: Schnittstellenim serviceorientierten Umfeld Umsetzung Architektur / Change Aufgabe Performance Sicherheit Datenformat Mgt Konzeption Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 11.
    Performance-Aspekte Was giltes zu berücksichtigen  Datenmenge (Bytes)  Datendurchsatz  Daten-Granulierung (Arrays)  Aufruf: 0.2-0.4 Sekunden (Footprint ca. gleich wie HTTP-Aufruf)  HTTPS vs. HTTP? Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 12.
    Performance-Aspekte Welche Ansätzegibt es  Grosse Datenmengen und kleiner Datendurchsatz  feine Granulierung, Binaries auslagern, asynchrone Übermittlung  Viele Records  Array-Unterstützung  Real-Time Aufruf: möglichst nur ein Aufruf (0.2-0.4 s initial)  Öffentliche Daten  HTTP anstatt HTTPS  Stabilität gefordert  feine Granulierung Real-Time: Wenig Aufrufe i.d.R. besser Asynchron: Höhere Granulierung Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 13.
    Performance-Aspekte Aus derPraxis: Zugriffsgranulierung Request WS Token Security Token Proxy Request+Token WS Data Business Object  Array Unterstützung Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 14.
    Agenda Thema: Schnittstellenim serviceorientierten Umfeld Umsetzung Architektur / Change Aufgabe Performance Sicherheit Datenformat Mgt Konzeption Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 15.
    Intermezzo Architektur Simple Object Access Protocol Representational State Transfer SOAP / XML REST  Grosse Freiheit bei der  Client unabhängig Umsetzung  keine Anwendungs-  Overhead durch XML funktionalität auf Ressourcen  XML Aufruf  URL basierend  XML Rückgabedaten  einfacher Javascript Aufruf Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 16.
    Intermezzo Architektur Simple Object Access Protocol Representational State Transfer SOAP Envelope SOAP Header HTTP-Call SOAP Body Content Content (XML) HTTP-Call Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 17.
    Sicherheits-Aspekte Network Server (Host) Interface Applikation  Router  Patches  Firewall  Antivirus  Paketverschlüsselung  Punkt-Punkt  Access Mgt (SOAP – Security) Verbindung  Verbindungs-  Authentifizierung verschlüsselung  Security Token (HTTPS)  … mit Client Zertifikat Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 18.
    Sicherheitsaspekte Security ganzgross HTTPS mit Client Zertifikat Punkt-Punkt Konsument Service Nur SOAP SOAP Security Authentifizierung SOAP Envelope Security Content Service Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 19.
    Sicherheitsaspekte Praxis-Empfehlungen:  Security wo nötig  Wenn möglich: Punkt-Punkt Verbindung  SOAP bietet erhöhte Sicherheit  SOAP Security nur bei hohen Anforderungen Wenn erhöhte Sicherheit gefordert wird, ist SOAP mit Security-Token Konzept zu empfehlen. Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 20.
    Agenda Thema: Schnittstellenim serviceorientierten Umfeld Umsetzung Architektur / Change Aufgabe Performance Sicherheit Datenformat Mgt Konzeption Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 21.
    Transport-Layer / Architektur Im Zweifelsfall SOAP/XML weil  system- und plattform-neutral (Basis-Datentypen + Arrays verwenden)  programmiersprachen-neutral (keine spezifischen Datenkonstrukte)  http Transport-Protokoll  Datenvalidierung möglich  Erhöhte Sicherheit möglich SOAP eignet sich bestens für WS Schnittstellen mit hohen Anforderungen – REST für Ajax. Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 22.
    Datenformate Gegenüberstellung SOAP / XML REST / JSON  XML Aufruf  Einfachere Strukturen  XML Rückgabedaten  Einfache Handhabung  Für Browserverarbeitung ideal Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 23.
    Datenformate Aus derPraxis:  Umsetzungsprobleme (Know-How)  Fat-Files nicht über Services (Security ist meist nicht gleich)  Beim Kunden oft «Old World» Formate JSON liefert Nutzdaten. SOAP dann verwenden, wenn Validierung der Daten nötig ist (via XSD)! Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 24.
    Agenda Thema: Schnittstellenim serviceorientierten Umfeld Umsetzung Architektur / Change Aufgabe Performance Sicherheit Datenformat Mgt Konzeption Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 25.
    Change Management Aufgesetzte Dreistufigkeit leben: - Development, Integration, Live  Ticketing-System  Fixe Release-Zyklen  Rückwärtskompatibilität  (Permanente Überwachung) Definieren Sie für Change Request fix geltende Regeln und Prozesse! Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 26.
    Do’s and Dont’s 1. Real-Time Warenkorb-Berechnung beim ERP funktioniert 2. Abbilden von Netto-Preis Kalkulationen beim Client kann funktionieren 3. Wenn HTTPS mit Client-Zertifikat, dann auch auf dem Integration-System 4. Wenn Stabilität gefragt ist, dann ein WS-Interface mit SOAP/XML 5. Vertrauen ist gut, Kontrolle ist besser Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 27.
    Die 7 goldenenRegeln 1. Konzeption: Prototyp erstellen 2. Performance: Real-Time - Wenige Aufrufe Asynchron - Höhere Granulierung 3. SOAP bei hohen Anforderungen – REST für Ajax 4. Sicherheit: SOAP mit Security-Token 5. Datenformat: SOAP bei Datenvalidierung 6. Change: Fixe Regeln definieren Falls Sie ein Problem vermuten und mich anrufen wollen, super. Rufen Sie während der Konzeption an! Mai 2012 © Ivan Schwab-Germann - Intersim AG
  • 28.
    Besten Dank fürsZuhören Kontakt: Ivan Schwab-Germann Mail: ivan.schwab@intersim.ch Telefon: 034 424 11 24 Xing: http://www.xing.com/profile/Ivan_SchwabGermann ONE: Stand 101 Mai 2012 © Ivan Schwab-Germann - Intersim AG