der in der LV präsentierten Präsentation

Werbung
Systemintegration ILV, FL / MIC2 (SS2014)
Projekt Systemintegration
Datler, Kroiß, Sachs
Aufgabenstellung
Im Rahmen dieses Projektes sollen verschiedene Arten von Web Services
entwickelt
und in einer Applikation integriert werden.
© 2013/14 FH Technikum Wien
2
Architekturüberblick - Angabe
© 2013/14 FH Technikum Wien
3
Architekturüberblick - Umsetzung
Autoverleih
Python
http://sintrest-sumpfgottheit.rhcloud.com
OpenShift - Red Hats Cloud Angebot, AWS, US Region
SOAP
REST
Währungsrechner
Java
http://lnurn3.schlof.net:8080/SOAP_CurrencyConverter/wsdl/CurrencyConverter.wsdl
Netcup Serverhousing, Nürnberg, DE
Verleihnix
REST
Python
http://sintapp.herokuapp.com/leihen/
Heroku, AWS, EU Region
Google Maps
Google Distance Matrix
© 2013/14 FH Technikum Wien
GoogleAPI-Cache
RedisLabs, AWS, US Region
4
Google Maps
Google Distance Matrix
© 2013/14 FH Technikum Wien
5
Google Distance Matrix
 Ermittlung von Reise-Distanzen zwischen zwei Positionen
 Users of the free API:
– 100 elements per query.
– 100 elements per 10 seconds.
– 2 500 elements per 24 hour period.
 Aufruf:
http://maps.googleapis.com/maps/api/distancematrix/output?parameters
– Parameter: origins, destinations, key (optional)
 Return Value:
– JSON oder XML  JSON
© 2013/14 FH Technikum Wien
6
Google Distance Matrix
 Aufruf:
 Return Value:
http://maps.googleapis.com/maps/api/
distancematrix/json?origins=Vienna&d
estinations=Graz&mode=bicycling&lang
uage=en-DE&sensor=false
– JSON oder XML  JSON
{
"destination_addresses" : [ "Graz, Austria"
],
 Parameter:





"origin_addresses" : [ "Vienna, Austria" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "210 km",
"value" : 210314
},
"duration" : {
"text" : "12 hours 14 mins",
"value" : 44054
},
"status" : "OK"
}
]
}
],
"status" : "OK"
Origins
Destinations
Mode (optional)
Language (optional
key (optional)
}
© 2013/14 FH Technikum Wien
7
Währungsumrechner
JAVA & SOAP
© 2013/14 FH Technikum Wien
8
Currency Converter
 Technologoie: Java
 IDE: Eclipse JEE Kepler
 SOAP / WSDL basiert
 WSDL auf:
– http://lnurn3.schlof.net:8080/SOAP_CurrencyConverter/wsdl/
CurrencyConverter.wsdl
 Nützliches Tool: http://wsdlbrowser.com/
© 2013/14 FH Technikum Wien
9
Currency Converter – getCurrencyList()
 String[
] getCurrencyList()
© 2013/14 FH Technikum Wien
10
Currency Converter – getConversionRate()

Double
getConversionRate(double
_val, String _fromCur,
String _toCur)
© 2013/14 FH Technikum Wien
11
Currency Converter –
Überprüfung des Algorithmus
© 2013/14 FH Technikum Wien
12
Lessons Learned
 Deployment auf public hosting services war eine
Herausforderung
 Ausgangsdatei vom Aufbau „unkonventionell“
© 2013/14 FH Technikum Wien
13
Autoverleih
Python & REST
© 2013/14 FH Technikum Wien
14
REST API - GET
REST_URL=“http://sintrest-sumpfgottheit.rhcloud.com/api”
curl $REST_URL/kunden/2
{
"city": "Tamsweg",
"country": "\u00d6sterreich",
"id": 2,
"leihen": [],
"name": "Bob Builder",
"plz": "5589",
"street": "Lederwaschstrasse 2"
}
© 2013/14 FH Technikum Wien
15
REST API - PUT
REST_URL=“http://sintrest-sumpfgottheit.rhcloud.com/api”
curl -X PUT
-H "Content-Type: application/json"
-d '{"street": "Erlenweg 1" }'
$REST_URL/kunden/2
{
"city": "Tamsweg",
"country": "\u00d6sterreich",
"id": 2,
"leihen": [],
"name": "Bob Builder",
"plz": "5589",
"street": "Erlenweg 1"
}
© 2013/14 FH Technikum Wien
16
REST API - POST
REST_URL=“http://sintrest-sumpfgottheit.rhcloud.com/api”
curl -X POST
-H "Content-Type: application/json"
–d ’{“name": "Lana Horvat",
"street" : "Murve ulica 66",
"city" : "Novigrad",
"plz" : "52466" ,
"country" : "Kroatien" }’
$REST_URL/kunden
© 2013/14 FH Technikum Wien
17
REST API - DELETE
REST_URL=“http://sintrest-sumpfgottheit.rhcloud.com/api”
curl -X DELETE $REST_URL/kunden/6
© 2013/14 FH Technikum Wien
18
Lessons Learned, Difficulty Easy
 REST
– curl
– Python: requests Library
 SOAP
– Wenn man eine funktioniernde LIB
gefunden hat
© 2013/14 FH Technikum Wien
19
Lessons Learned, Difficulty There be Dragons
 Deployment
– „In der Eclipse geht’s“
 Gr⅞bere Encodingprobleme
 Different Configs for Different Cloudproviders
 Did I mention Deployment
© 2013/14 FH Technikum Wien
20
Herunterladen