SINT Rest App Documentation



Ähnliche Dokumente
SINT Rest App Documentation

Anleitung über den Umgang mit Schildern

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Artikel Schnittstelle über CSV

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Objektorientierte Programmierung für Anfänger am Beispiel PHP

! " # $ " % & Nicki Wruck worldwidewruck

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Virtual Channel installieren

Import und Export von Übergängern

Backup der Progress Datenbank

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

ICS-Addin. Benutzerhandbuch. Version: 1.0

Kurzeinführung Excel2App. Version 1.0.0

POP -Konto auf iphone mit ios 6 einrichten

QTrade GmbH Landshuter Allee München Seite 1

DOKUMENTATION VOGELZUCHT 2015 PLUS

Was meinen die Leute eigentlich mit: Grexit?

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

Was bedeutet Inklusion für Geschwisterkinder? Ein Meinungsbild. Irene von Drigalski Geschäftsführerin Novartis Stiftung FamilienBande.

Menü auf zwei Module verteilt (Joomla 3.4.0)

CodeSaver. Vorwort. Seite 1 von 6

Inkrementelles Backup

Mehrere PDF-Dokumente zu einem zusammenfügen

icloud nicht neu, aber doch irgendwie anders

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

GRUNDLEGENDES ZUM EINRICHTEN DES LAPTOP-ABGLEICHS

Arbeiten mit UMLed und Delphi

Anleitung zur Installation des EPSON TM-m30 WLAN Moduls

Adminer: Installationsanleitung

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Arbeiten mit dem Outlook Add-In

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Prodanet ProductManager WinEdition

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Professionelle Seminare im Bereich MS-Office

Typo3 - Schulung: Fortgeschrittene I an der Hochschule Emden/Leer

Jeunesse Autopiloten

Anleitung zur Installation des AP-Manager-II

Barcodedatei importieren

Outlook-Daten komplett sichern

euro-bis Import von Bestellungen aus Buch- und Aboauskunft Stand

Betriebshandbuch. MyInTouch Import Tool

Howto. Einrichten des TREX Monitoring mit SAP Solution Manager Diagnostics

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Dokumentation IBIS Monitor

Internet online Update (Mozilla Firefox)

Die Rückgabe kann über folgende, von uns getestete Programme / Apps vorgenommen werden: Adobe Digital Editions Sony Reader for PC Bluefire Reader

Tragen Sie bitte im Anmeldefeld die Daten ein, die Sie von uns erhalten haben.

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Eine Einführung in die Installation und Nutzung von cygwin

teamsync Kurzanleitung

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Datensicherung EBV für Mehrplatz Installationen

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Kurzeinstieg in VR-Ident personal

EMU Bill & Report 1/33

ANLEITUNG NETZEWERK INSTALATION

Anleitung zur Lizenzaktualisierung. Plancal nova 7.x

Support-Tipp Mai Release Management in Altium Designer

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Statuten in leichter Sprache

Die Bundes-Zentrale für politische Bildung stellt sich vor

Netzwerkversion PVG.view

ltlasten in der Registrierdatenbank löschen

Datensicherung und Wiederherstellung

Repetitionsaufgaben Wurzelgleichungen

Der Kalender im ipad

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version:

Blogbeitrag: Installation eines SAP CRM-Systems

Tutorial Speichern. Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, jroos@hispeed.ch -

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Einführung in TexMaker

Leichte-Sprache-Bilder

Reporting Services und SharePoint 2010 Teil 1

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

SEMINAR Modifikation für die Nutzung des Community Builders

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

Oracle APEX Installer

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Anwendungsbeispiele Buchhaltung

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Eine Anwendung mit InstantRails 1.7

Windows 7 Winbuilder USB Stick

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Anleitung zur Nutzung des SharePort Utility

-Virtuelle Jagdfliegerschule- Teamspeak Seite 1 von 6

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Internationales Altkatholisches Laienforum

Transkript:

SINT Rest App Documentation Release 1.0 Florian Sachs 08.04.2014

Inhaltsverzeichnis 1 REST Service 3 1.1 Application................................................ 3 1.2 Konfiguration............................................... 4 1.3 Database (Helper)............................................ 4 1.4 Models.................................................. 4 1.5 SOAP Client............................................... 5 2 Indices and tables 7 Python-Modulindex 9 i

ii

SINT Rest App Documentation, Release 1.0 Hier ist die technische Dokumentation für den REST Part des Projektes. Die App selbst samt Übersicht über die verwendeten Technologien ist unter XXX zu finden. Inhaltsverzeichnis 1

SINT Rest App Documentation, Release 1.0 2 Inhaltsverzeichnis

KAPITEL 1 REST Service Das Service ist unter http://sintrest-sumpfgottheit.rhcloud.com zu finden. Es wird von einer Openshift Instance gehostet. (AWS, Region US). Die Daten werden in einer, auf derselben Instanz befindlichen, Postgresql gehostet. Contents: 1.1 Application Neben der in wsgi.models via Flask-Restless definierten REST Apit ist der Currency Converter ebenfalls durch wsgi.flaskapp.convert_currency() exposed. # Alles OK curl --write-out "\ncode :%{http_code}\n" http://sintrest-sumpfgottheit.rhcloud.com/api/convertcurre { "value": "3065.0" } code :200 # Währung nicht gefunden. Returns -1, aber Status-Code 200 curl --write-out "\ncode :%{http_code}\n" http://sintrest-sumpfgottheit.rhcloud.com/api/convertcurre { "value": "-1.0" } code :200 # Fehlerhafter Aufruf, Status-Code 400 curl --write-out "\ncode :%{http_code}\n" http://sintrest-sumpfgottheit.rhcloud.com/api/convertcurre { "content": "Parameter value, von und nach m\u00fcssen gesetzt sein", "message": "Parameter value, von und nach m\u00fcssen gesetzt sein" } code :400 wsgi.flaskapp.convert_currency() REST Service, dass den Currency Converter in wsgi.soapclient.convert_currency_via_wsdl() für die Umrechnung selbst nutzt. wsgi.flaskapp.create_db() Call models.initialize_database() and recreate the database. Zeige die Daten an wsgi.flaskapp.index() Zeige alle vorhandenen Routen in der Applikation 3

SINT Rest App Documentation, Release 1.0 1.2 Konfiguration Ein from config import * werden die korrekte Konfiguration importiert. Da diese sinnvollerweise - es befinden sich secrets drin - in git gespeichert wird, wird sie in../../../data/config/rhc-sint/ als config_rhc.py und config_local.py abgelegt. Diese Verzeichnisstruktur kann 1:1 in OpenShift verwendet werden, da dieses data/ Verzeichnis bei einem Neustart der App vorhanden bleibt. Anhand der Umgebungsvariable OPENSHIFT_APP_UUID wird entschieden, welche der Configs geladen werden soll. 1.3 Database (Helper) Um Circular import zu verhindern wird db in einem eigenen Modul definiert. Diesen Trick hab ich mir in http://piotr.banaszkiewicz.org/blog/2012/06/29/flask-sqlalchemy-init_app/ abgeschaut. flask.ext.sqlalchemy greift auf die Variable SQLALCHEMY_DATABASE_URI zu. Diese wird in den Dateien config_rhc.py, respektive config_local gesetzt. Die Entscheidung, ob rhc oder local geladen wird, wird anhand der Environment Variable OPENSHIFT_APP_UUID getroffen. database.db ist somit die gemeinsame DB-Instanz für diese App. Jedes Modul kann somit gefahrlos ein from database import db machen und es gibt keine Ungereimtheiten, welche Session nun genutzt wird. 1.4 Models Die Datenmodelle für SQLAlchemy Definition der SQLALchemy Modelle. Flask-Restless generiert daraus eine REST Api mit CRUD Operationen, wobei die in SQLALchemy definierten Relationships berücksichtigt werden. Interessant ist primär die Methode Leihe.kosten(), die das Webservice für die Währungsumrechnung nutzt. class wsgi.models.car(**kwargs) Ein Automobil. station Zeigt an, bei welcher Station das Auto steht, kann auch None sein class wsgi.models.kunde(**kwargs) Die Kundin oder der Kunde, der oder die sichs ausborgt class wsgi.models.leihe(**kwargs) Speichert wer welches Auto von wann bis wann ausgeliehen hat oder ausleihen wird. Die Verknüpfungen zu den anderen Modellen ist als relationship modelliert. kosten() Gib die Kosten für die Leihe in der Währung des Kunden zurück. Wenn keine spezielle Währung für den Kunden gefunden wird oder die Berechnung fehlschlägt, gib den Betrag in Euro zurück. Für die Berechnung wir wsgi.soapclient.convert_currency_via_wsdl() verwendet. Rückgabe (string) - Wert und Währungskürzel. zb: 1.12 EUR, 3.9 CHF returned wurde das Auto wieder zurückgegeben? station_abhol Von welcher Station wird das Auto abgeholt 4 Kapitel 1. REST Service

SINT Rest App Documentation, Release 1.0 station_return Wo wird das Auto zurückgegeben, resepektive wo wurde es zurückgegeben class wsgi.models.station(**kwargs) Eine Leihstation hat einen Namen und eine Adresse. Diese wird bei der Distanzberechunung genutzt. wsgi.models.initialize_database() Initialisiere die Datenbank mit Testdaten. Alle vorhandenen Daten werden gelöscht. 1.5 SOAP Client The SoapClient für die CurrencyConversion. Mit suds kann man einfacher herausfinden, was sich hinter einem WSDL versteckt. Leider wirft suds eine Fehler bei der Abfrage selbst. Es kann jedoch sehr gut verwendet werden, um herauszufinden welche Methoden das Webservice anbietet: In [1]: from suds.client import Client In [2]: WSDL_URL="http://lnurn3.schlof.net:8080/SOAP_CurrencyConverter/wsdl/CurrencyConverter.wsdl" In [3]: client = Client(WSDL_URL) In [4]: print client Suds ( https://fedorahosted.org/suds/ ) version: 0.6 Service ( CurrencyConverterService ) tns="http://project.sint.mic2.fhtw" Prefixes (0) Ports (1): (CurrencyConverter) Methods (2): getconversionrate(xs:double _val, xs:string _fromcur, xs:string _tocur) getcurrencylist() Types (0): Für die tatsächliche Abfrage habe ich dann SOAPpy verwendet. Der tatsächliche Aufruf sieht dann so aus: server = WSDL.Proxy(WSDL_URL) return server.getconversionrate(value, von, nach) von und nach sind Währungskürzel wie EUR, CHF, HUF... Das Webservice wsgi.soapclient.convert_currency_via_wsdl() wird von wsgi.models.leihe.kosten() aufgerufen. wsgi.soapclient.convert_currency_via_wsdl(value, von, nach) Rufe den Currencyconverter auf und gib den Wert zurück 1.5. SOAP Client 5

SINT Rest App Documentation, Release 1.0 6 Kapitel 1. REST Service

KAPITEL 2 Indices and tables genindex modindex search 7

SINT Rest App Documentation, Release 1.0 8 Kapitel 2. Indices and tables

Python-Modulindex w wsgi.config, 4 wsgi.database, 4 wsgi.flaskapp, 3 wsgi.models, 4 wsgi.soapclient, 5 9