vortrag: fit for mobile - von rest an soap filefit for mobile: von rest an soap predic8 gmbh...
TRANSCRIPT
Fit for Mobile:
Von REST an
SOAP predic8 GmbH
Moltkestr. 40
53173 Bonn
www.predic8.de
© 2008 – 2014 predic8 GmbH Vortrag
7
/soap/router
SOAP Dispatcher
Web Server
warenkorb
getPositionen()
bestellen()
artikel
getDetails()
kunde
getVerträge()
Client
Proxy
artikel
Proxy
warenkorb
Proxy
kunde
Server/Objekte
POST /soap/router
© 2008 – 2014 predic8 GmbH Vortrag
8
/soap/router
SOAP Dispatcher
Web Server
warenkorb
getPositionen()
bestellen()
artikel
getDetails()
kunde
getVerträge()
Client
Proxy
artikel
Proxy
warenkorb
Proxy
kunde
Server/Objekte
POST /soap/router
© 2008 – 2014 predic8 GmbH Vortrag
<warenkorb xmlns:xlink="http://www.w3.org/1999/xlink">
<kunde xlink:href="http://shop.oio.de/kunde/5873">
5873</kunde>
<position nr="1" menge="5">
<artikel xlink:href="http://shop.oio.de/artikel/4501"
nr="4501">
<beschreibung>Dauerlutscher</beschreibung>
</artikel>
</position>
<position nr="2" menge="2">
<artikel xlink:href="http://shop.oio.de/artikel/5860"
nr="5860">
<beschreibung>Earl Grey Tea</beschreibung>
</artikel>
</position>
</warenkorb>
© 2008 – 2014 predic8 GmbH Vortrag
10
Warenkorb
(5873)
Kunde
(5873)
Artikel
(4501)
...
(...)
Hersteller
(143)
Vertrag
(V-2003)
Artikel
(4501)
Artikel
(5860)
GET /kunde/5873
GET /artikel/4501
GET /artikel/5860
GET /vertrag/v-2003
GET /hersteller/143
GET /hersteller/143
GET /.../...
© 2008 – 2014 predic8 GmbH Vortrag
11
Web Server
warenkorb
getPositionen()
bestellen()
artikel
getDetails()
kunde
getVerträge()
Client Server/Objekte
/artikel/*
/warenkorb/*
/kunde/*
HTTP Client,
Mapping Tool
Proxy, ...
HTTP Client,
Mapping Tool
Proxy, ...
HTTP Client,
Mapping Tool
Proxy, ...
GET /warenkorb/6
GET /artikel/86
GET /kunde/17
© 2008 – 2014 predic8 GmbH Vortrag
<ns1:create
xmlns:ns1='http://predic8.com/wsdl/material/ArticleServic
e/1/'>
<article xmlns:ns1='http://predic8.com/material/1/'>
<name>?XXX?</name>
<description>?XXX?</description>
<price xmlns:ns1='http://predic8.com/common/1/'>
<amount>?999.99?</amount>
<!-- possible values: EUR,USD-->
<currency
xmlns:ns1='http://predic8.com/common/1/'>EUR</currency>
</price>
<!-- Pattern: [A-Z]{2}-\d{5}-->
<id
xmlns:ns1='http://predic8.com/material/1/'>?XXX?</id>
</article>
</ns1:create>
© 2008 – 2014 predic8 GmbH Vortrag
<ns1:create
xmlns:ns1='http://predic8.com/wsdl/material/ArticleServic
e/1/'>
<article xmlns:ns1='http://predic8.com/material/1/'>
<name>?XXX?</name>
<description>?XXX?</description>
<price xmlns:ns1='http://predic8.com/common/1/'>
<amount>?999.99?</amount>
<!-- possible values: EUR,USD-->
<currency
xmlns:ns1='http://predic8.com/common/1/'>EUR</currency>
</price>
<!-- Pattern: [A-Z]{2}-\d{5}-->
<id
xmlns:ns1='http://predic8.com/material/1/'>?XXX?</id>
</article>
</ns1:create>
© 2008 – 2014 predic8 GmbH Vortrag
http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=...&format=json&text=Brasilien
© 2008 – 2014 predic8 GmbH Vortrag 16
services.predic8.de
server7.predic8.de
/ArticleService
/axis2 /services/ArticleService
Web Service
Consumer
© 2008 – 2014 predic8 GmbH Vortrag 17
Service Proxy
Consumer Consumer Consumer
Web
Service Web
Service
© 2008 – 2014 predic8 GmbH Vortrag
Template
match=“ort“
adresse
Template
match=“bestellung“
Template
match=“adresse“
datum
ort
bestellung ?
Template
match=“*“
© 2008 – 2014 predic8 GmbH Vortrag
Template
match=“ort“
adresse
Template
match=“bestellung“
Template
match=“adresse“
datum
ort
bestellung
Template
match=“*“
© 2008 – 2014 predic8 GmbH Vortrag
Template
match=“ort“
adresse
Template
match=“bestellung“
Template
match=“adresse“
datum
ort
bestellung
?
Template
match=“*“
© 2008 – 2014 predic8 GmbH Vortrag
Template
match=“ort“
adresse
Template
match=“bestellung“
Template
match=“adresse“
datum
ort
bestellung
Template
match=“*“
© 2008 – 2014 predic8 GmbH Vortrag
Template
match=“ort“
adresse
Template
match=“bestellung“
Template
match=“adresse“
datum
ort
bestellung
Template
match=“*“
© 2008 – 2014 predic8 GmbH Vortrag
Template
match=“ort“
adresse
Template
match=“bestellung“
Template
match=“adresse“
datum
ort
bestellung
?
Template
match=“*“
© 2008 – 2014 predic8 GmbH Vortrag
Template
match=“ort“
adresse
Template
match=“bestellung“
Template
match=“adresse“
datum
ort
bestellung
?
Template
match=“*“
© 2008 – 2014 predic8 GmbH Vortrag
<http:request xmlns:http="http://membrane-soa.org/schemas/http/v1/"
method="POST" http-version="1.1">
<uri value="/articles/">
<path>
<component>articles</component>
</path>
</uri>
<headers>
<header name="User-Agent">curl/7.23.1</header>
<header name="Host">localhost:2000</header>
<header name="Accept">*/*</header>
<header name="Content-Type">application/json</header>
<header name="Content-Length">102</header>
</headers>
<body type="json">
<root type="o">
<article type="o">
<name type="s">Test</name>
<description type="s">?</description>
<price type="o">
<amount type="f">1.00</amount>
<currency type="s">EUR</currency>
</price>
<id type="s">AR-00000</id>
</article>
</root>
</body>
</http:request>