Schnittstellen und Web-Services

  • View
    371

  • Download
    0

Embed Size (px)

DESCRIPTION

Zwei Software-Komponenten brauchen eine Schnittstelle. Leider ist dieses Szenario in vielen Fällen problembehaftet. Die Gründe sind vielfältig, liegen aber oft nicht an der technischen Umsetzung, sondern an der Konzeption, der Performance, der Verfügbarkeit und anderem. Um das zu vermeiden, müssen konkrete Antworten auf folgende Fragen her: Konzeption der Schnittstelle, Performance-Aspekte, Sicherheits-Aspekte, Transport-Layer, Architektur (SOAP, REST), Datenformat (JSON, XML), Change Management

Text of Schnittstellen und Web-Services

  • 1. 7 goldene Regelnfr den Aufbau eines funktionalen InterfacesIvan Schwab-Germann / Intersim AG

2. Agenda Thema: Schnittstellen im serviceorientierten Umfeld UmsetzungArchitektur / ChangeAufgabe PerformanceSicherheitDatenformatMgt KonzeptionMai 2012 Ivan Schwab-Germann - Intersim AG 3. Agenda Thema: Schnittstellen im serviceorientierten Umfeld UmsetzungArchitektur / ChangeAufgabe PerformanceSicherheitDatenformatMgt KonzeptionMai 2012 Ivan Schwab-Germann - Intersim AG 4. Aufgabenstellung (Problemstellung) Heterogene Netzwerkprotokolle Heterogene Schnittstellen Mangelnde Konnektivitt Heterogene Datenstrukturen Fehlende (ungengende) Dokumentationen Fehlendes Know-HowMai 2012 Ivan Schwab-Germann - Intersim AG 5. Aufgabenstellung (Problemstellung)Format? IDOC IDOCStammdaten Conn. + Produkt- Verfgbarkeit + Rabattierung / Nettopreise + Aussendienst-VerantwortlicheInternet + Gettigte Bestellungen ERP-System E-Shop+ Vorbestellungen + Kundenstatus AuftragsdatenKonnektivitt?Mai 2012 Ivan Schwab-Germann - Intersim AG 6. Agenda Thema: Schnittstellen im serviceorientierten Umfeld UmsetzungArchitektur / ChangeAufgabe PerformanceSicherheitDatenformatMgt KonzeptionMai 2012 Ivan Schwab-Germann - Intersim AG 7. Konzeption der Schnittstelle In die Konzeptionsphase gehren Definition der Zielsetzungen Technische Spezifikationen Regeln fr die Daten-Validierung Mengengerst Definition der Sicherheits-Standards Prototyping (inkl. Datenbermittlung) Performance- und Konsistenz-TestsNur ein Prototyping inkl. Review gibt die Garantie, dassalle 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 fr die Daten-Validierung Definition der Sicherheits-Standards Prototyping Performance-TestsMai 2012 Ivan Schwab-Germann - Intersim AG 9. Konzeption der SchnittstelleIST: Web-Service live, TestingErwartungenResultatSicherheit (https) (Firewall)Dateninhalt All data (partielle bermittlung)Performance(Records einzeln)Datenformate (kein Proxy)Nie mehr ohne PrototypingMai 2012 Ivan Schwab-Germann - Intersim AG 10. Agenda Thema: Schnittstellen im serviceorientierten Umfeld UmsetzungArchitektur / ChangeAufgabe PerformanceSicherheitDatenformatMgt KonzeptionMai 2012 Ivan Schwab-Germann - Intersim AG 11. Performance-Aspekte Was gilt es zu bercksichtigen 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 Anstze gibt es Grosse Datenmengen und kleiner Datendurchsatz feine Granulierung, Binaries auslagern, asynchrone bermittlung Viele Records Array-Untersttzung Real-Time Aufruf: mglichst nur ein Aufruf (0.2-0.4 s initial) ffentliche Daten HTTP anstatt HTTPS Stabilitt gefordert feine GranulierungReal-Time: Wenig Aufrufe i.d.R. besserAsynchron: Hhere GranulierungMai 2012 Ivan Schwab-Germann - Intersim AG 13. Performance-Aspekte Aus der Praxis: Zugriffsgranulierung RequestWSTokenSecurity Token ProxyRequest+TokenWS DataBusiness Object ArrayUntersttzungMai 2012 Ivan Schwab-Germann - Intersim AG 14. Agenda Thema: Schnittstellen im serviceorientierten Umfeld UmsetzungArchitektur / ChangeAufgabe PerformanceSicherheitDatenformatMgt KonzeptionMai 2012 Ivan Schwab-Germann - Intersim AG 15. Intermezzo Architektur Simple Object Access Protocol Representational State Transfer SOAP / XMLREST Grosse Freiheit bei der Client unabhngigUmsetzung keine Anwendungs- Overhead durch XMLfunktionalitt aufRessourcen XML Aufruf URL basierend XML Rckgabedaten einfacher Javascript AufrufMai 2012 Ivan Schwab-Germann - Intersim AG 16. Intermezzo Architektur Simple Object Access ProtocolRepresentational State TransferSOAP Envelope SOAP Header HTTP-Call SOAP Body Content Content (XML) HTTP-CallMai 2012 Ivan Schwab-Germann - Intersim AG 17. Sicherheits-Aspekte NetworkServer (Host) InterfaceApplikation Router Patches Firewall Antivirus Paketverschlsselung Punkt-Punkt Access Mgt(SOAP Security) Verbindung Verbindungs- Authentifizierungverschlsselung Security Token(HTTPS) mit Client ZertifikatMai 2012 Ivan Schwab-Germann - Intersim AG 18. Sicherheitsaspekte Security ganz grossHTTPS mit Client ZertifikatPunkt-Punkt Konsument Service Nur SOAPSOAP Security Authentifizierung SOAP Envelope Security Content ServiceMai 2012 Ivan Schwab-Germann - Intersim AG 19. Sicherheitsaspekte Praxis-Empfehlungen: Security wo ntig Wenn mglich: Punkt-Punkt Verbindung SOAP bietet erhhte Sicherheit SOAP Security nur bei hohen AnforderungenWenn erhhte Sicherheit gefordert wird, ist SOAP mitSecurity-Token Konzept zu empfehlen.Mai 2012 Ivan Schwab-Germann - Intersim AG 20. Agenda Thema: Schnittstellen im serviceorientierten Umfeld UmsetzungArchitektur / ChangeAufgabe PerformanceSicherheitDatenformatMgt KonzeptionMai 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 mglich Erhhte Sicherheit mglichSOAP eignet sich bestens fr WS Schnittstellen mithohen Anforderungen REST fr Ajax.Mai 2012 Ivan Schwab-Germann - Intersim AG 22. Datenformate Gegenberstellung SOAP / XML REST / JSON XML Aufruf Einfachere Strukturen XML Rckgabedaten Einfache Handhabung Fr Browserverarbeitung idealMai 2012 Ivan Schwab-Germann - Intersim AG 23. Datenformate Aus der Praxis: Umsetzungsprobleme (Know-How) Fat-Files nicht ber Services (Security ist meist nicht gleich) Beim Kunden oft Old World FormateJSON liefert Nutzdaten. SOAP dann verwenden, wennValidierung der Daten ntig ist (via XSD)!Mai 2012 Ivan Schwab-Germann - Intersim AG 24. Agenda Thema: Schnittstellen im serviceorientierten Umfeld UmsetzungArchitektur / ChangeAufgabe PerformanceSicherheitDatenformatMgt KonzeptionMai 2012 Ivan Schwab-Germann - Intersim AG 25. Change Management Aufgesetzte Dreistufigkeit leben: - Development, Integration, Live Ticketing-System Fixe Release-Zyklen Rckwrtskompatibilitt (Permanente berwachung)Definieren Sie fr Change Request fix geltende Regelnund Prozesse!Mai 2012 Ivan Schwab-Germann - Intersim AG 26. Dos and Donts 1. Real-Time Warenkorb-Berechnung beim ERPfunktioniert 2. Abbilden von Netto-Preis Kalkulationen beimClient kann funktionieren 3. Wenn HTTPS mit Client-Zertifikat, dann auch aufdem Integration-System 4. Wenn Stabilitt gefragt ist, dann ein WS-Interfacemit SOAP/XML 5. Vertrauen ist gut, Kontrolle ist besserMai 2012 Ivan Schwab-Germann - Intersim AG 27. Die 7 goldenen Regeln 1. Konzeption: Prototyp erstellen 2. Performance: Real-Time - Wenige AufrufeAsynchron - Hhere Granulierung 3. SOAP bei hohen Anforderungen REST fr Ajax 4. Sicherheit: SOAP mit Security-Token 5. Datenformat: SOAP bei Datenvalidierung 6. Change: Fixe Regeln definierenFalls Sie ein Problem vermuten und mich anrufenwollen, super. Rufen Sie whrend der Konzeption an!Mai 2012 Ivan Schwab-Germann - Intersim AG 28. Besten Dank frs Zuhren Kontakt:Ivan Schwab-Germann Mail: ivan.schwab@intersim.ch Telefon:034 424 11 24 Xing: http://www.xing.com/profile/Ivan_SchwabGermann ONE:Stand 101Mai 2012 Ivan Schwab-Germann - Intersim AG