RESTful Web. Representational State Transfer



Ähnliche Dokumente
Flash, Network und Facebook. Steven Mohr

e-books aus der EBL-Datenbank

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

GeoServer in action Fortgeschrittene Möglichkeiten beim Einsatz des Geoservers

WebService in Java SE und EE

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Avira Server Security Produktupdates. Best Practice

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

MailUtilities: Remote Deployment - Einführung

Datenbank-basierte Webserver

SAP NetWeaver Gateway. 2013

LabTech RMM. Integration von Teamviewer. Vertraulich nur für den internen Gebrauch

Man liest sich: POP3/IMAP

Technical Note ewon über DSL & VPN mit einander verbinden

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

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

Preisvergleich ProfitBricks - Amazon Web Services M3 Instanz

Anforderungen an die HIS

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Das eigene Kandidatenfrontend

MESONIC WINLine Jahreswechsel. Umstellung des Wirtschaftsjahres SMC IT AG

Kurzanweisung für Google Analytics

SANDBOXIE konfigurieren

Business Application Framework für SharePoint Der Kern aller PSC-Lösungen

Guide DynDNS und Portforwarding

Mobilkommunikation. REST-basierte Dienste für verteilte, mobile Anwendungen. A. Gillert, A. Grebe, M. Hüffmeyer, C. Vogt

NEWpixi* API und die Umstellung auf REST. Freitag, 3. Mai 13

Geschrieben von: Stefan Sonntag, den 26. Juni 2011 um 09:45 Uhr - Aktualisiert Sonntag, den 26. Juni 2011 um 10:12 Uhr

Java Entwicklung für Embedded Devices Best & Worst Practices!

Wie richten Sie Ihr Web Paket bei Netpage24 ein

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

AlwinPro Care Modul Schnittstelle TV-Steuerung

Task: Nmap Skripte ausführen

Tevalo Handbuch v 1.1 vom

Neuer Releasestand Finanzbuchhaltung DAM-EDV E Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

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

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Beschreibung Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller

Modul 2.2: Zugang zu Ihren Teilnehmer-Ordnern via ftp (zum Dateientransfer):

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

teamsync Kurzanleitung

Konfiguration von Outlook 2010

ERSTELLEN VON INCENTIVES IM ZANOX NETZWERK

Programmers Manual Geodaten Ver. 2.0

Umstieg auf Microsoft Exchange in der Fakultät 02

Session Management und Cookies

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Java Script für die Nutzung unseres Online-Bestellsystems

2. Installation der minitek-app auf einem Smartphone. 3. Verbindung zwischen minitek-app und minitek herstellen

Netzwerkeinstellungen unter Mac OS X

Sophos Anti-Virus. ITSC Handbuch. Version Datum Status... ( ) In Arbeit ( ) Bereit zum Review (x) Freigegeben ( ) Abgenommen

ACCOUNTINFO 1.01 VERWENDEN DER ACCOUNTINFO-SCHNITTSTELLE ABFARGE VON ACCOUNT-INFORMATIONEN IN ECHTZEIT 02. MÄRZ 2010

Datenspuren. Doris Aschenbrenner, Joachim Baumeister, Aleksander Paravac. Nerd2Nerd e.v.

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Anleitung zum Erstellen einer Google+-Firmenseite

Wissenswertes über LiveUpdate

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

GE Capital Equipment Financing. GE Capital Leasing-Tool Schulungsunterlagen

Die Wasser App.

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Reporting Services und SharePoint 2010 Teil 1

Anleitung. So erstellen Sie eine Familienkarte für Ihre Gemeinde. 1. Google-Konto eröffnen

Online Newsletter III

Web Grundlagen zum Spidering

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Anlegen eines virtuellen http Server unter Exchange 2003 mittels HOSTNAME

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Social Media Monitoring Was wird über Sie und Ihre Wettbewerber gesagt?

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Edulu-Mail im Mail-Client einrichten (MS Outlook, Apple Mail, iphone)

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

BSV Ludwigsburg Erstellung einer neuen Internetseite

START - SYSTEMSTEUERUNG - SYSTEM - REMOTE

NetVoip Installationsanleitung für Grandstream GXP2000

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

DNS-325/-320 und FXP

Hinweise zur Nutzung des E-Learning System 'Blackboard' (Teil 1): Die Anmeldung in Blackboard bzw. einem Kurs

OP-LOG

-Konto Einrichtung. Webmail. Outlook Express. Outlook

Adobe Reader X Plug-in von Mozilla Firefox verwenden

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

Avira Browser-Schutz (Erkennungen) Kurzanleitung

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

IINFO Storyboard

Updatehinweise für die Version forma 5.5.5

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Transkript:

RESTful Web Representational State Transfer 1

Warum REST? REST ist die Lingua Franca des Webs Heterogene (verschiedenartige) Systeme können mit REST kommunizieren, unabhängig von Technologie der beteiligten Systeme REST Resourcen werden im Web angeboten: zb Google Maps, Twitter, Youtube, Facebook http://www.programmableweb.com/apis/directory 2

Funktionsweise 1 Sämtliche Informationen im Web sind Ressourcen, auf die mittels HTTP zugegriffen werden kann. GET Request Server zb Java Application Server Response POST Request Response Client zb HTML + JavaScript 3

Anforderungen Adressierbarkeit: Jede Ressource muss über einen eindeutigen Unique Resource Identifier (kurz URI) identifiziert werden können. Ein Kunde mit der Kundennummer 123456 könnte also zum Beispiel über die URI http://localhost/customers/123456 adressiert werden. Zustandslosigkeit: Die Kommunikation der Teilnehmer untereinander ist zustandslos. Dies bedeutet, dass keine Benutzersitzungen (etwa in Form von Sessions und Cookies) existieren, sondern bei jeder Anfrage alle notwendigen Informationen wieder neu mitgeschickt werden müssen. Einheitliche Schnittstelle: Jede Ressource muss über einen einheitlichen Satz von Standardmethoden zugegriffen werden können. Beispiele für solche Methoden sind die Standard-HTTP-Methoden wie GET, POST, PUT, und mehr. Entkopplung von Ressourcen und Repräsentation: Das bedeutet, dass verschiedene Repräsentationen einer Ressource existieren können. Ein Client kann somit etwa eine Ressource explizit beispielsweise im XML- oder JSON-Format anfordern. https://www.mittwald.de/blog/webentwicklung-webdesign/webentwicklung/restful-webservices-1-was-ist-das-uberhaupt 4

HTTP Methoden GET READ: Lesen einer bestimmten Ressource POST CREATE und UPDATE: Erstellen oder Ändern ohne einer ID PUT CREATE und UPDATE: Erstellen oder Ändern mit einer bekannten ID DELETE DELETE: Löschen einer Ressource 5

Beispiele 6

Beispiel POST 7

Begriffe Safety (Sicherheit): Daten werden nicht verändert Idempotence (Idempotenz): Die Ressource behält auch bei mehrmaligen Aufruf den gleichen Zustand. 8

Weitere Informationen Beginning Java EE 7 1 st Ed., 2013 Antonio Goncalves 9

10

Ein erstes Beispiel 1 2 3 5 4 11

pom.xml <scope>provided</scope> 12

REST-Konfiguration BEACHTE: Wir verwenden javax.ws.rs!!! Das ist die komplette Konfiguration, um REST-Ressourcen verwenden zu können. Ev. könnte man noch CORS konfigurieren. Warum wohl? 13

REST Ressource 14

Testlauf Nicht vergessen: Vor dem ersten Start den Application Server ( Run/Debug ) konfigurieren 15

Verbesserung der Ausgabe Wie muss hier die Rückgabe aussehen? 16

Mögliche Clients Web-Browser REST Client in IDE Plugins in WebBrowser oder Standalone REST-Clients 17

Hier sieht man sehr gut die Header-Informationen wie Status Code und Content-Type 18

Eigener Java-Client Der Nachteil der vorher genannten Clients besteht darin, dass die REST-Abfragen i.n. nicht wiederholbar sind. D.h. bei jeder Änderung im Code, sind die Tests manuell durchzuführen Abhilfe: Die Erstellung eines eigenen Java-Clients (mit der Jersey API) 19

Exkurs: Java Community Process (JCP) Die Sprache Java wird durch den Java Community Process weiterentwickelt. Mitglieder des JCP (Firmen und Einzelpersonen) können Vorschläge zur Änderung der Sprache Java einbringen Java Specification Request (JSR) Wird ein JSR angenommen, erstellt eine Expertengruppe eine Referenzimplementierung Für JAX-RS (Java API for RESTful Web Services) ist dies Jersey. Weitere Implementierungen sind zb RESTEasy, CXF, Restlet, https://de.wikipedia.org/wiki/java_community_process 20

Jersey-Testclient mit JUnit st Systemtest https://maven.apache.org/guides/mini/guide-naming-conventions.html 21

pom.xml editieren Ergebnis: 22

pom.xml dependencies 23

2 3 1 1 Code schreiben 2 Run/Debug Konfiguration 3 Test starten 4 Test schlägt fehl. Warum? IT IntegrationTest 4 24

2. Versuch 25