26
Fit for Mobile: Von REST an SOAP predic8 GmbH Moltkestr. 40 53173 Bonn www.predic8.de [email protected]

Vortrag: Fit for Mobile - Von REST an SOAP fileFit for Mobile: Von REST an SOAP predic8 GmbH Moltkestr. 40 53173 Bonn [email protected]

Embed Size (px)

Citation preview

Fit for Mobile:

Von REST an

SOAP predic8 GmbH

Moltkestr. 40

53173 Bonn

www.predic8.de

[email protected]

© 2008 – 2014 predic8 GmbH Vortrag

Web Service nach REST Service

© 2008 – 2014 predic8 GmbH Vortrag

Web Service nach REST Service

© 2008 – 2014 predic8 GmbH Vortrag

Web Service nach REST Service

© 2008 – 2014 predic8 GmbH Vortrag

© 2008 – 2014 predic8 GmbH Vortrag

?

© 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

Offenbarung 3, 16

© 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

© 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>