diff --git a/docs/dezentraleSysteme_/sem07_middlewareEngineering_warehouse-rest/README.md b/docs/dezentraleSysteme_/sem07_middlewareEngineering_warehouse-rest/README.md new file mode 100644 index 000000000..2fe145400 --- /dev/null +++ b/docs/dezentraleSysteme_/sem07_middlewareEngineering_warehouse-rest/README.md @@ -0,0 +1,8 @@ +# Middleware Engineering "Distributed Architecture and Document Formats" + +## Aufgabenstellung +Die detaillierte [Aufgabenstellung](TASK.md) beschreibt die notwendigen Schritte zur Realisierung. + +## Implementierung + +## Quellen diff --git a/docs/dezentraleSysteme_/sem07_middlewareEngineering_warehouse-rest/TASK.md b/docs/dezentraleSysteme_/sem07_middlewareEngineering_warehouse-rest/TASK.md new file mode 100644 index 000000000..be1095065 --- /dev/null +++ b/docs/dezentraleSysteme_/sem07_middlewareEngineering_warehouse-rest/TASK.md @@ -0,0 +1,122 @@ +# DEZSYS_GK771_WAREHOUSE_REST + +## Einfuehrung + +Der Lagerstandort Linz der grossen Handelskette KONSUM lagert alle Lebensmittel, Haushaltswaren und Hygieneartikel fuer die Filialen in Wien, Niederoesterreich und Burgenland. Das Lagerprogramm vor Ort soll um eine Schnittstelle erweitert werden, damit die Konzernzentrale alle Lagerdaten tagesaktuell abrufen kann. +Um die Moeglichkeiten der Anbindung moeglichsts flexibel zu gestalten, sollen die Datenformate JSON und XML unterstuetzt werden. + +## Voraussetzungen + +* Java Programmierkenntnisse +* Verwendung von Gradle und Git +* Grundlagen Dezentrale Systeme +* Grundlagen XML (siehe [T7.3.4 Dokumentformat XML](https://elearning.tgm.ac.at/mod/resource/view.php?id=75247&redirect=1)) +* Grundlagen JSON & REST (siehe [T7.3.5 Dokumentformat JSON / REST Architektur](https://elearning.tgm.ac.at/mod/resource/view.php?id=75246&redirect=1)) + +## Daten des Lagerstandorts Linz (Beispiel) + +``` + + 001 + Linz Bahnhof + Bahnhofsstrasse 27/9 + Linz + Linz + Austria + 2021-09-12 08:52:39.077 + + + 00-443175 + Bio Orangensaft Sonne + Getraenk + 2500 + Packung 1L + + + 00-871895 + Bio Apfelsaft Gold + Getraenk + 3420 + Packung 1L + + + 01-926885 + Ariel Waschmittel Color + Waschmittel + 478 + Packung 3KG + + + 00-316253 + Persil Discs Color + Waschmittel + 1430 + Packung 700G + + + +``` + + +## Aufgabenstellung + +Entwickeln Sie einen Simulator, der die Daten eines Lagerstandortes (WHx) generiert. Es ist dabei zu achten, dass die Daten realistisch sind und im Zusammenhang mit entsprechenden Einheiten erzeugt werden. + +Diese Daten sollen gemeinsam mit einigen Details zum dem Standort ueber eine REST Schnittstelle veroeffentlicht werden. Die Schnittstelle verwendet standardmaessig das JSON Format und kann optional auf XML umgestellt werden. + +## Aufbau der Applikation + +* Daten-Generierung beim Lagerstandort (inkl. Standortdaten) +* Entwicklung einer REST Schnittstelle +* Empfangen der Daten bei einem Controller mittels HTTP Request +* Controller veroeffentlich Daten (Wareninformation, Standortdaten) per Client Request + +## Technologien + +* Springboot +* Gradle +* REST/XML Datenformat +* JSON +* jQuery + +## Dokumente und Links + +* XML Daten - Warehouse (Example) +[warehouse.xml](warehouse.xml) + +* Spring Boot +[https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) + +* Building an Application with Spring Boot +[https://spring.io/guides/gs/spring-boot/](https://spring.io/guides/gs/spring-boot/) + +* Spring Initializr +[https://start.spring.io/](https://start.spring.io/) + +* Building a RESTful Web Service +[https://spring.io/guides/gs/rest-service/](https://spring.io/guides/gs/rest-service/) + +* Consuming a RESTful Web Service +[https://spring.io/guides/gs/consuming-rest/](https://spring.io/guides/gs/consuming-rest/) + +* Consuming a RESTful Web Service with jQuery +[https://spring.io/guides/gs/consuming-rest-jquery/](https://spring.io/guides/gs/consuming-rest-jquery/) + +## Bewertung + +Gruppengroesse: 1 Person + +* Anforderungen "ueberwiegend erfuellt" + + - Implementierung eines Generator zur Erzeugung der Standort- und Warendaten + + - Implementierung der REST Schnittstelle + + - Daten im JSON und XML Format zur Verfuegung stellen + +* Anforderungen "zur Gaenze erfüllt" + + - Implementation eines "Consumer" und Darstellung der Daten in einer Tabelle (HTML) + + - Daten koennen nach folgenden Kriterien gefiltert werden: + diff --git a/docs/dezentraleSysteme_/sem07_middlewareEngineering_warehouse-rest/warehouse.xml b/docs/dezentraleSysteme_/sem07_middlewareEngineering_warehouse-rest/warehouse.xml new file mode 100644 index 000000000..39e5ad6a2 --- /dev/null +++ b/docs/dezentraleSysteme_/sem07_middlewareEngineering_warehouse-rest/warehouse.xml @@ -0,0 +1,39 @@ + + 001 + Linz Bahnhof + Bahnhofsstrasse 27/9 + Linz + Linz + Austria + 2021-09-12 08:52:39.077 + + + 00-443175 + Bio Orangensaft Sonne + Getraenk + 2500 + Packung 1L + + + 00-871895 + Bio Apfelsaft Gold + Getraenk + 3420 + Packung 1L + + + 01-926885 + Ariel Waschmittel Color + Waschmittel + 478 + Packung 3KG + + + 00-316253 + Persil Discs Color + Waschmittel + 1430 + Packung 700G + + + \ No newline at end of file