Schnittstellen und Web-Services

28
7 goldene Regeln für den Aufbau eines funktionalen Interfaces Ivan Schwab-Germann / Intersim AG

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

Transcript of Schnittstellen und Web-Services

Page 1: Schnittstellen und Web-Services

7 goldene Regeln für den Aufbau eines funktionalen Interfaces

Ivan Schwab-Germann / Intersim AG

Page 2: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Agenda

Konzeption

Umsetzung

Performance Sicherheit Architektur / Datenformat Aufgabe

Change Mgt

Thema: Schnittstellen im serviceorientierten Umfeld

Page 3: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Agenda

Konzeption

Umsetzung

Performance Sicherheit Architektur / Datenformat Aufgabe

Change Mgt

Thema: Schnittstellen im serviceorientierten Umfeld

Page 4: Schnittstellen und Web-Services

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

Page 5: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Aufgabenstellung (Problemstellung)

ERP-System E-Shop

Internet

Stammdaten

Auftragsdaten

IDOC IDOC Conn.

Format?

Konnektivität?

+ Produkt- Verfügbarkeit + Rabattierung / Nettopreise + Aussendienst-Verantwortliche + Getätigte Bestellungen + Vorbestellungen + Kundenstatus

Page 6: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Agenda

Konzeption

Umsetzung

Performance Sicherheit Architektur / Datenformat Aufgabe

Change Mgt

Thema: Schnittstellen im serviceorientierten Umfeld

Page 7: Schnittstellen und Web-Services

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.

Page 8: Schnittstellen und Web-Services

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

Page 9: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

(Firewall)

(partielle Übermittlung)

(Records einzeln)

(kein Proxy)

IST: Web-Service live, Testing

Erwartungen Resultat Sicherheit (https)

Dateninhalt All data

Performance

Datenformate

Konzeption der Schnittstelle

Nie mehr ohne Prototyping

Page 10: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Agenda

Konzeption

Umsetzung

Performance Sicherheit Architektur / Datenformat Aufgabe

Change Mgt

Thema: Schnittstellen im serviceorientierten Umfeld

Page 11: Schnittstellen und Web-Services

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?

Page 12: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Performance-Aspekte

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

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

Page 13: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Performance-Aspekte

Aus der Praxis:

Zugriffsgranulierung

WS Business Object

WS Security Token

Proxy

Request

Request+Token

Token

Data

Array Unterstützung

Page 14: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Agenda

Konzeption

Umsetzung

Performance Sicherheit Architektur / Datenformat Aufgabe

Change Mgt

Thema: Schnittstellen im serviceorientierten Umfeld

Page 15: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Intermezzo Architektur

SOAP / XML REST

Grosse Freiheit bei der Umsetzung

Overhead durch XML

XML Aufruf

XML Rückgabedaten

Client unabhängig

keine Anwendungs-funktionalität auf Ressourcen

URL basierend

einfacher Javascript Aufruf

Simple Object Access Protocol Representational State Transfer

Page 16: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Intermezzo Architektur

Simple Object Access Protocol Representational State Transfer

SOAP Envelope

SOAP Header

SOAP Body

Content (XML)

Content

HTTP-Call

HTTP-Call

Page 17: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Sicherheits-Aspekte

Network Router Firewall Punkt-Punkt

Verbindung

Server (Host) Patches Antivirus Access Mgt Verbindungs-

verschlüsselung (HTTPS)

… mit Client Zertifikat

Interface Applikation Paketverschlüsselung

(SOAP – Security) Authentifizierung Security Token

Page 18: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Nur SOAP Authentifizierung SOAP Security

SOAP Envelope

Sicherheitsaspekte

Content

HTTPS mit Client Zertifikat Punkt-Punkt

Security ganz gross

Service Konsument

Security Service

Page 19: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Praxis-Empfehlungen: Security wo nötig

Wenn möglich: Punkt-Punkt Verbindung

SOAP bietet erhöhte Sicherheit

SOAP Security nur bei hohen Anforderungen

Sicherheitsaspekte

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

Page 20: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Agenda

Konzeption

Umsetzung

Performance Sicherheit Architektur / Datenformat Aufgabe

Change Mgt

Thema: Schnittstellen im serviceorientierten Umfeld

Page 21: Schnittstellen und Web-Services

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.

Page 22: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Datenformate

Gegenüberstellung

SOAP / XML REST / JSON

XML Aufruf

XML Rückgabedaten

Einfachere Strukturen

Einfache Handhabung

Für Browserverarbeitung ideal

Page 23: Schnittstellen und Web-Services

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)!

Page 24: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Agenda

Konzeption

Umsetzung

Performance Sicherheit Architektur / Datenformat Aufgabe

Change Mgt

Thema: Schnittstellen im serviceorientierten Umfeld

Page 25: Schnittstellen und Web-Services

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!

Page 26: Schnittstellen und Web-Services

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

Page 27: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Die 7 goldenen Regeln

Falls Sie ein Problem vermuten und mich anrufen wollen, super. Rufen Sie während der Konzeption an!

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

Page 28: Schnittstellen und Web-Services

Mai 2012 © Ivan Schwab-Germann - Intersim AG

Besten Dank fürs Zuhören

Kontakt: Ivan Schwab-Germann

Mail: [email protected]

Telefon: 034 424 11 24

Xing: http://www.xing.com/profile/Ivan_SchwabGermann

ONE: Stand 101