Vorlesung:
DI Eduard Hirsch
Labor:
VZ: DI (FH) Albert Kiefel
BB: DI (FH) Simon Back
Serviceorientierte Architektur (SOA)
GET Read Abfragen/Lesen von einer oder mehreren Ressource(n) auf dem Server
PUT Update Eine existierende Ressource mit Name/Identität ändern oder in seltenen Fällen eine neue
anlegen
DELETE Delete Ressource löschen
Es kann mit Request Typ …
virtuelle Adressierung
Client Anwendung Server
indirekte Kommunikation
Stub Skeleton
Kommunikations- Kommunikations-
Basis tatsächliche Übertragung Basis
▪ Marshalling
−Transformation der (meist) objektorientieren Aufrufe, sowie deren Daten in
ein für das Medium geeignetes Übertragungsformat
▪ Un-Marshalling
−Rücktransformation eines Zeichen- oder Bytestroms in Daten, sowie
Objektreferenzen einer konkreten Programmiersprache.
1. Der Server registriert ein Remote Object bei der RMI-Registry unter einem
eindeutigen Namen.
2. Der Client sieht bei der RMI-Registry unter diesem Namen nach und bekommt eine
Objektreferenz, die seinem Remote Interface entsprechen muss.
3. Der Client ruft eine Methode aus der Objektreferenz
auf.
4. Die Server-JVM führt die Methode auf dem
Remote Object aus.
5. Dem Client werden die Rückgabewerte dieses
Aufrufes gesendet, oder der Client bekommt eine
Fehlermeldung (z. B. bei einem
Verbindungsabbruch).
RMI Client
import java.rmi.Naming;
import at.fhsalzburg.its.nos.rmi.server.AdditionInterface;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.RemoteException;
import java.rmi.server.*;
import java.rmi.Naming;
Quelle: https://pixabay.com
… seit Version 5 werden Stubs, sowie
Skeletons beim Kompilieren automatisch erstellt.
▪ Sicherheit (Security),
▪ Transaktionsmanagement,
▪ Namens- und Verzeichnisdienste,
▪ Kommunikation zwischen Java-EE-Komponenten,
▪ Persistenzdienste zum langfristigen Speichern von Java-Objekten,
▪ Management der Komponenten über den gesamten Lebenszyklus (inklusive
Instanziierung),
▪ Unterstützung für die Installation (Deployment)
Servlets
Quelle: https://de.wikipedia.org/wiki/Servlet
Spring Boot - Übersicht
Lende:
Quelle: https://docs.spring.io/spring-boot/docs/current/reference/html/
Build & Automation-Tools für Spring
Ant ist ein fast 20 Jahre altes Tool zum Bauen und
Bereitstellen von Applikationen
Quelle: https://spring.io/guides/gs/rest-service/
Einschub Design Pattern: MVC (Model View Control)
Quelle: https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
Datenstrukturen bzw. die Daten vorgibt.
Verwaltet die Daten und kümmert sich um
die Regel und die Businesslogic.
View: Repräsentation der Daten in jeglicher
Form: Tabellen, Grafiken, Dokumente, …
Controller: holt sich die „Model“-Daten und
bereitet sie für die View aufgrund von
Parametern vor.
Spring Boot REST Beispiel (Model)
@RestController
public class GreetingController {
@RequestMapping("/greeting")
public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {
Maven:
▪ mit ./mvnw spring-boot:run direkt laufen lassen oder
▪ mit ./mvnw clean package bauen und mit
java -jar target/gs-rest-service-0.1.0.jar
starten
Spring (Boot) Initializr