14
16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH www.analytical-software.de 1 Martin Haffner, Andreas Mangold, Bernhard Braun © 2012 HMS Analytical Software GmbH PROC SOAP, PROC HTTP und der ganze REST Webservices und SAS KSFE – 08. März 2012 Martin Haffner, Andreas Mangold, Bernhard Braun © 2012 HMS Analytical Software GmbH 2 Agenda I. Kurze Einführung zu Webservices II. Webservices und SAS 1. Webservices mit SAS konsumieren 2. Webservices mit SAS anbieten

PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

Embed Size (px)

Citation preview

Page 1: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 1

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

PROC SOAP,PROC HTTP

und der ganze REST

Webservices und SAS

KSFE – 08. März 2012

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH 2

Agenda

I. Kurze Einführung zu Webservices

II. Webservices und SAS

1. Webservices mit SAS konsumieren

2. Webservices mit SAS anbieten

Page 2: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 2

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH 3

… ist IT‐Dienstleister für Business Intelligence und Datenanalyse

… gibt es seit über 20 Jahren

… ist einer von vier  in Deutschland

… hat 45 Mitarbeiter, davon 20 von SAS zertifizierte IT‐Spezialisten und sieben Mitglieder von 

… bietet umfassende Services für SAS‐Software an, von der Beratung über die Programmierung bis hin zu Schulung und Support

… ist Mitglied im KSFE    ‐ Verein

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Kurze Einführung zu Webservices

4

Page 3: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 3

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Webservice: Mehrere Versuche einer Definition

• "There are many things that might be called ‘Web services’ in the world at large" (W3C) 

• "eine Software‐Anwendung, die mit einem Uniform ResourceIdentifier (URI) eindeutig identifizierbar ist und deren Schnittstelle als XML‐Artefakt definiert, beschrieben und gefunden werden kann" (Wikipedia)

• "a software system designed to support interoperable machine‐to‐machine interaction over a network" (W3C)

• "Da stellen wir uns mal ganz dumm und sagen: Ein Webservice, das ist ein großer, runder, schwarzer Raum – also eine Blackbox ‐ , die hat zwei Löcher, also Schnittstellen. In das eine geben wir die Anfragen rein, und aus dem anderen – das kommt später ‐ kommen die Ergebnisse wieder raus. Es steht alles bei Wikipedia was ich sage, nur nicht so schön!"(frei nach der Feuerzangenbowle)

5

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Transportprotokoll:

HTTP + …

Webservices: Das Grundprinzip

6

Client („Konsument“)

Server(„Anbieter“)

Internet / Intranet

Sendet Anfrage („Request“)

VerarbeitetAnfrage

Erzeugt Ergebnis („Response“)

Empfängt Ergebnis (und verarbeitet es

weiter)

… REST… SOAP

Page 4: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 4

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Request unter der Lupe

7

SOAP

POSThttp://api.geonames.org/findNearbyPlaceName

<soapenv:Envelope><soapenv:Header /><soapenv:Body>

</soapenv:Body></soapenv:Envelope>

REST

GEThttp://api.geonames.org/findNearbyPlaceName?username=demo&lat=42&lng=42

<Coordinates><Lat>42</Lat><Lng>42</Lng><Username>Demo</Username>

</Coordinates>

Beispiel: Webservice geonames.org: Ermittle den Ort, der möglichst nahe an einer bestimmten geographischen Position (42°N, 42°E) liegt.*

* Hinweis: geonames.org bietet diesen Service nur auf Basis von REST an. Das Beispiel für SOAP

ist eine fiktive Übertragung dieses Webservices in ein SOAP-Szenario.

Parameter

URL

HTTP-Methode

HTTP-Methode

URL

SOAP-Message(XML)

SOAP-Envelope

und optionaler

Header

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Response unter der Lupe

8

SOAPContent-Type: text/xml

<soapenv:Envelope><soapenv:Header /><soapenv:Body>

</soapenv:Body></soapenv:Envelope>

RESTContent-Type: text/jsonoderContent-Type: text/xml

<geonames><geoname><name>Silauri

</name><countryName>Georgia

</countryName></geoname>

</geonames>

{"geonames" :["geoname" : {"name" : "Silauri","countryName" :

"Georgia"}

]}

Beispiel: Webservice geonames.org: Ermittle den Ort, der möglichst nahe an einer bestimmten geographischen Position (42°N, 42°E) liegt.*

* Hinweis: geonames.org bietet diesen Service nur auf Basis von REST an. Das Beispiel für SOAP

ist eine fiktive Übertragung dieses Webservices in ein SOAP-Szenario.

HTTP-Header

SOAP-Response(XML)

SOAP-Envelope

und optionaler

Header

HTTP-Header

Response:XMLoder

JSON

Page 5: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 5

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Woher kennt man den Aufbau von Request und Response?

9

SOAP• Jeder SOAP-Webservice stellt eine Beschreibung seiner

angebotenen Services in Form einer WSDL-Datei (XML) bereit

• Es gibt Tools, die WSDL-Dateien parsen und daraus beispielhafte Requests und Responses erzeugen, die man als Vorlage nehmen kann (z.B. soapUI: http://www.soapui.org/)

REST• Ansätze zur standardisierten Beschreibung mit WADL

sind vorhanden, aber nicht durchgängig verbreitet• In der Regel muss man sich auf die Dokumentation

verlassen, die der Anbieter des Webservices bereitstellt

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Webservices: Die "Lingua Franca" (oder der "Babelfisch") der IT

• Universelle Einsetzbarkeit: Jedes System, das HTTP beherrscht, kann Webservices nutzen oder anbieten

• Entkopplung: Weder Client noch Server müssen Details (Betriebssystem, Datenbank, Middleware…) ihres Kommunikationspartners kennen

• Solange die Schnittstelle gleich bleibt, kann die Implementierung des Webservice jederzeit geändert werden, ohne dass der Konsument davon etwas merkt

• Für SAS: Universelle Zugriffsmöglichkeit auf jede andere Art von System, auch wenn SAS dafür noch keine eigene Schnittstelle anbietet

10

Page 6: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 6

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Webservices und SAS

11

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Was haben Webservices mit SAS zu tun…? Ein kleiner Vorgriff.

SAS als Webservice‐Konsument: wenn im Rahmen eines SAS‐Programms Informationen benötigt werden, die woanders als Webservice angeboten werden.SOAP‐Schnittstellen: PROC SOAP, Data Step‐Funktionen, WSDL‐LibnameREST‐Schnittstelle: PROC HTTP

SAS als Webservice‐Anbieter:Wenn ein eigenes SAS‐Programm im Intranet (oder Internet) zur Verfügung gestellt werden sollSchnittstelle (SOAP/REST): Stored Processes

12

Page 7: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 7

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

PROC SOAP – Funktionsweise

13

PROCSOAP

Request-Body (XML)

Response-Body (XML)

Request mit SOAP-Envelope

Response mit SOAP-Envelope

Webservice-Anbieter(SOAP)

XML‐Vorverarbeitung

Ausgangspunkt:SAS-Daten

XML‐Nachverarbeitung

Ziel: SAS-Daten

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

PROC SOAP ‐ Aufruf

FILENAME Request "C:\KSFE12\Request1.xml";FILENAME Response "C:\KSFE12\Response1.xml";

PROC SOAP IN = RequestOUT = ResponseURL = "http://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl"SOAPACTION = "http://ws.cdyne.com/ResolveIP";

RUN;

14

• Zusätzlich können Benutzername und Passwort übergeben werden (auch aus Metadaten-Server)

• PROC SOAP basiert auf Java-Frameworks für Webservices (SAS 9.2: Apache Axis2; SAS 9.3: Spring); in SAS 9.3 deutlicher Performance-Gewinn

• Beispiel: Webservice zum Zuordnen von IP-Adressen zu einem geographischen Ort

Page 8: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 8

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

PROC SOAP – XML‐Verarbeitung

Wie kommt man von seinen Daten zum XML‐Request, und wie zieht man aus der XML‐Response Ergebnisse?• SAS bietet eine Vielzahl von Tools für den XML‐Zugriff

– XML Libname‐Engine– XML‐Maps– PROC XSL– …

• Siehe Tutorial "XML mit SAS leicht gemacht" von Andreas Adlichhammer, KSFE 2011– http://www.analytical‐

software.de/de/wissensbibliothek/tutorials/xml‐sas/

• Welches dieser Tools ist nun gerade für Webservices zu empfehlen?

15

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Empfehlungen zum Verarbeiten von XML‐Responses

• Klare Antwort: Es kommt drauf an • Mit einer XML‐Map kommt man eigentlich fast immer ans 

Ziel.• Bei einfachen XML‐Strukturen genügt evtl. auch ein XML‐

Libname ohne Angabe einer Map.– Hier gilt: einfach probieren!

• Wenn einem tatsächlich eine XML‐Struktur über den Weg läuft, die man mit einer Map nicht abdecken kann, kann man immer noch XSL verwenden– Bei Webservice‐Ergebnissen aber eher unwahrscheinlich

• Man kann natürlich auch immer noch die XML‐Response im Data Step parsen. Damit kann man garantiert jede XML‐Response verarbeiten– Viel Spaß 

16

Page 9: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 9

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Empfehlung zum Erzeugen von XML‐Requests:XML‐"Vorlagen" mit Macrovariablen und resolve‐Funktion

17

<ws:ResolveIP xmlns:ws='http://ws.cdyne.com/'><ws:ipAddress>&IP</ws:ipAddress>

</ws:ResolveIP>

<ws:ResolveIP xmlns:ws='http://ws.cdyne.com/'><ws:ipAddress>15.179.0.138</ws:ipAddress>

</ws:ResolveIP>

%LET IP = 15.179.0.138;FILENAME Template "..."FILENAME Request "..."

DATA _null_;INFILE Template;FILE Request;INPUT;Zeile = resolve( _Infile_ );PUT Zeile;

RUN;

XML-Vorlage

XML-Request

Data Step

Alternative: XML-Map; bei komplexen Requests manchmal sinnvoller

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Was gibt's noch außer PROC SOAP:Data Step‐Funktionen (SAS 9.3)

• Vor‐ und Nachverarbeitung der XML‐Dateien wie bei PROC SOAP

18

FILENAME Request1 "C:\KSFE12\Request1.xml";FILENAME Response1 "C:\KSFE12\Response1.xml";

DATA _NULL_;InFileRef = "Request1";OutFileRef = "Response1";URL = "http://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl";SOAPAction = "http://ws.cdyne.com/ResolveIP";/* Aufruf */rc = SOAPWeb( InfileRef, URL, OutFileRef, SOAPAction );

RUN;

Page 10: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 10

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Was gibt's noch außer PROC SOAP:WSDL‐Libnames

• "Preproduction" in SAS 9.2 – aber nicht wirklich brauchbar, da alles andere als stabil

• In SAS 9.3 nicht mehr unterstützt (laut SAS Online‐Doku)

19

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

PROC HTTP – Funktionsweise

20

PROCHTTP

Webservice-Anbieter(REST)

HTTP-Request

HTTP-Response

URL(Macro-Variable(n))

Ausgangspunkt:SAS-Daten

XML‐Nachverarbeitung

Aufbereitung Parameter

Response(XML) * * Anmerkung: Response kann

theoretisch auch andere Formate haben (HTML, JSON) – die Weiterverarbeitung von XML ist aber am besten in Base SAS integriert.

Ziel: SAS-Daten

Page 11: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 11

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

PROC HTTP ‐ Aufruf

FILENAME Response "C:\KSFE12\Response1.xml";

PROC HTTP URL = 'http://api.geonames.org/findNearbyPlaceName?lat=42&lng=42&username=demo'

OUT = ResponseMETHOD = 'GET'

;RUN;

21

• Zusätzlich können Benutzername und Passwort übergeben werden (auch aus Metadaten-Server)

• Für POST-Anfragen kann mit dem Request auch eine komplette Datei mitgeschickt werden (über einen zweiten Fileref). Wichtig: In diesem Fall Content-Type über Option CT= angeben!

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Performance – PROC SOAP, PROC HTTP, Data Step

• Performance hängt von sehr vielen Faktoren ab: Netzwerk‐Geschwindigkeit, Performance des aufgerufenen Webservice und der von ihm angesprochenen Komponenten (Datenbank…)

• Einige Tendenzen sind aber dennoch feststellbar:– PROC SOAP ist in SAS 9.3 deutlich schneller als in SAS 9.2 (nach unseren Messergebnissen bis zu ca. 30 Prozent)

– PROC SOAP oder Data Step‐Funktionen machen keinen großen Unterschied

– Ein Aufruf eines REST‐Webservice ist wegen des schlankeren Protokolls in der Regel performanter als der Aufruf eines gleichwertigen SOAP‐Service.

22

Page 12: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 12

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Webservices mit SAS 9.3 anbieten: SOAP

• Der Webservice hat die gleichen Eingabe‐Parameter wie der Stored Process

• Die Response des Webservice enthält die für den Stored Process definierten Ausgabeparameter – und nicht das, was der Stored Process ggf. nach _WEBOUT schreibt!

• Das Umsetzen der Stored Process‐Parameter von oder nach XML übernimmt SAS – es muss nicht selbst programmiert werden

23

SAS-Programm

StoredProcess

mitParametern

Deployment Deployment(Management

Console)SOAP-

Webservicemit Parametern

(/System/Services)

SASMetadatenServer

Client

http://<host>:<port>/SASBIWS/services/<Meta-Pfad>

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Webservices mit SAS 9.3 anbieten: REST

• Es ist nicht notwendig, den Stored Process explizit als Webservice zu deployen!• Ein einziger Stored Process unterstützt automatisch beide Schnittstellenformate, 

XML und JSON• Wie bei SOAP enthält die Response des Webservice die für den Stored Process

definierten Ausgabeparameter – und nicht das, was der Stored Process ggf. nach _WEBOUT schreibt!

• Die Umsetzung der Parameter nach XML oder JSON erledigt SAS automatisch

24

SAS-Programm

StoredProcess

mitParametern

Deployment

Client 1:Benötigt

XMLhttp://<host>:<port>/SASBIWS//rest/storedProcesses/<Meta-Pfad>

SASMetadaten

Server

Client 2:Benötigt JSON

http://<host>:<port>/SASBIWS//json/storedProcesses/<Meta-Pfad>

Achtung: Meta-Pfad darf keine Leerzeichen enthalten!

Page 13: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 13

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Fazit: Unendliche Weiten…

• Mit den SAS‐Prozeduren PROC SOAP und PROC HTTP (bzw. den entsprechenden Data Step‐Funktionen) ist es möglich, auf jeden SOAP‐ oder REST‐basierten Webservice zuzugreifen. Der Webservice muss nichts davon wissen, dass er gerade mit SAS kommuniziert.

• Somit sind Datenaustausch, Aufruf von Funktionen, ganz allgemein die Kommunikation mit jedem System, das Webservices unterstützt, möglich, ohne dass erst aufwändige Schnittstellen programmiert werden müssen

• Über die Webservice‐Anbindung des Stored Process Server kann auch umgekehrt jedes SAS‐Programm als Webservice bereitgestellt werden. So kann SAS‐Funktionalität in andere Systeme eingebunden werden, ohne erst neue Schnittstellen entwerfen zu müssen.

• Gerade die neue JSON/REST‐Schnittstelle zu Stored Processeseröffnet auch sehr komfortable Möglichkeiten des Datenaustausch zwischen SAS und Webfrontends

25

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH

Wenn Sie mehr wissen wollen…

• Word Wide Web Consortium: Web Services Architecture

• SAS Institute Inc.: SAS(R) 9.3 Functions and CALL Routines: Reference – SOAPWEB Function

• SAS Institute Inc.: Base SAS(R) 9.3 Procedures Guide – SOAP Procedure

• SAS Institute Inc.: Base SAS(R) 9.3 Procedures Guide – HTTP Procedure

• SAS Institute Inc.: SAS 9.3 BI Web Services Developer's Guide

• Andreas Adlichhammer: Vortrag auf der KSFE 2011 in Heidelberg – XML mit SAS leicht gemacht

26

Page 14: PROC SOAP, PROC HTTP und der ganze REST · 16. KSFE in Leipzig, 8. und 9. März 2012 Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST 08.03.2012 HMS Analytical Software GmbH

16. KSFE in Leipzig, 8. und 9. März 2012Martin Haffner: PROC SOAP, PROC HTTP und der ganze REST

08.03.2012

HMS Analytical Software GmbHwww.analytical-software.de 14

Martin Haffner, Andreas Mangold, Bernhard Braun© 2012 HMS Analytical Software GmbH 27

Vielen Dank! Haben Sie Fragen?

Martin Haffner Andreas Mangold Bernhard Braun

Software‐Architekt Gründer und StudentGeschäftsführer (Duale Hochschule)

HMS Analytical Software GmbHRohrbacher Str. 26 • 69115 HeidelbergTelefon +49 6221 6051‐0

Martin.Haffner@analytical‐software.dewww.analytical‐software.de

Martin Haffner Andreas Mangold Bernhard Braun

Software‐Architekt Gründer und StudentGeschäftsführer (Duale Hochschule)

HMS Analytical Software GmbHRohrbacher Str. 26 • 69115 HeidelbergTelefon +49 6221 6051‐0

Martin.Haffner@analytical‐software.dewww.analytical‐software.de

Besuchen Sie uns auch auf unserem Messestand! Dort … … können Sie im Anschluss mit dem Referenten diskutieren… finden Sie Demos zu diesem Vortrag … können Sie sich über das Angebot von HMS informieren… gibt es Jobangebote … gibt es Informationen für Studenten zu Praktika und Abschlussarbeiten bei 

HMS