BIF/SWE 1 - Übungsbeispiel

Ähnliche Dokumente
BIF/SWE 1 - Übungsbeispiel. Arthur Zaczek

BIF/SWE 1 - Übungsbeispiel

BIF/SWE - Übungsbeispiel

BIF/SWE - Übungsbeispiel

Daniela Reiner. Stuttgart,

Dokumentationskonzept

Eine Untersuchung der Funktionen des Apache Wicket Webframeworks

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Testen von sicherheitskritischer Embedded Software mit frei verfügbaren Tools. - ein Erfahrungsbericht

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

Oracle SOA Suite: Total Quality T-Systems

Entwicklungstand der GUI

Installation und Benutzung. LangCorr ApS Erritsoegaardsvej 11 DK 7000 Fredericia Denmark

NetMan Desktop Manager Quick-Start-Guide

CitStorm. TU Berlin - Fachbereich CIT Kay Fleischmann Fridtjof Sander Gert Geidel Michael Thomas Constantin Gaul Thomas Misch. April, 09.

VAADIN, SPRING BOOT & REST

Quick Cluster Overview

soquflex Benutzerhandbuch

2018/08/12 07:36 1/2 CoDaBix - Die universelle Communication Data Bridge für Industrie 4.0

Web 2.0 Software-Architekturen

Temperaturmessung und Bereitstellung der Werte über einen Webserver

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();

Eclipse, Spring und OSGi 1

Node.js Einführung Manuel Hart

SWARCO TRAFFIC SYSTEMS GMBH. PRIMOS SMART Zentrale Software Systembeschreibung. PRIMOS_Smart_BD_00

Softwareentwicklungspraktikum Android-Programmierung

Datenbanken und Netzanbindung

Web-Anwendungsentwicklung mit dem Delivery Server

Appery.io Mobile Apps schnell und einfach entwickeln

EPROG 2.Teilprüfung. Aufgabe 1:

Web-basierte Anwendungssysteme PHP-Einführung

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung

Erstellen von PDF-Dokumenten für Business-Anwendungen mit XSL-FO

Willkommen. Projektidee. Informationsablage Docs Softwarelizenzen Meetingprotokolle

Prototypische Integration automatisierter Programmbewertung in das LMS Moodle

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS XML Programmierung - Grundlagen PHP Programmierung - Grundlagen...

Anwendungsfall: Gerichtstermin

Nutzung von REST Clients für Allyouneed Marktplatz

Webtechnologien Teil 1: Entwicklungsumgebung(en)

Redmine, das Projekt Management Werkzeug

Softwarequalität sicherstellen mit Sonar

Oracle & Java HOW TO

Helmut Dittrich Jürgen Mellenthin PHP 4-Workshop

datenfabrik.phone Telefonnummern mit den SQL Server Integration Services validieren

Anwendertreffen SWBcontent WLB Stuttgart. Renate Hannemann, Dr. Barbara Löhle, Stefan Wolf

Apache JMeter

Maintenance von Formsmodulen mit dem Entwicklungswerkzeug UniForms Überblick über UniForms Live Demo

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Die Warenkorbfunktion (workbasket)


5. Programmierschnittstellen für XML

Anleitung Command Line Client Demo Client

Fragen Arthur Zaczek. Dez 2015

Konfiguration. Arthur Zaczek. Mar 2015

PHP eine Einführung. Dipl.-Inf. Frank Hofmann. 18. November Potsdam

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Inhalt. Vorwort 13. Einleitung 15. Für wen ist dieses Buch gedacht? 15 Zum Aufbau des Buchs Installation und erste Schritte 17

Technische Beschreibung: EPOD Server

5. Programmierschnittstellen für XML

Einsatz von APEX 2.2 / 3.0. codework Software GmbH. Sabine Drescher-Gude. bei der DOAG. DOAG SIG Development Kassel

Reporting Lösungen für APEX wähle Deine Waffen weise

Docusnap X Discovery Service. Installation und Konfiguration

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel

Benutzerhandbuch TABLE OF CONTENTS 1. Benutzerhandbuch Bedienung

Kurzanleitung zu XML2DB

Moderne Datenbankentwicklung Tools & Konzepte

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Softwareentwicklungspraktikum Android-Programmierung

1 Was ist XML? Hallo XML! Kommentare in XML 52

Linux-Camp: Linux als Server am Beispiel LAMP

Rapid Java wie mit Forms

Domino und PHP EC 2013 Track 2 Session 7

APEX Office Print - Einfach Druck machen! Daniel Hochleitner Freelance APEX Developer, FOEX GmbH

Trivadis-Gadgets im Dienste ihrer Qualität: FAAT und PL/SQL Cop

In diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was

Anleitung zur Integration der /data.mill API in SAP Java Applikationen

Multimedia im Netz Wintersemester 2012/13. Übung 02

Dirk Reinemann Working Student Sales Consulting

Ein Standalone-Server für das SAROS-System. Denis Washington

Invoca Systems. Application Development Framework. Systemdokumentation. Vers / copyright (c) by Invoca Systems, 4304 Giebenach

JEAF Cloud Plattform Der Workspace aus der Cloud

Literatur und Links. Webtechnologien WS 2017/18 Teil 1/Entwicklung

APIC-EM Software Engineering Insight

JPC Visualisierung in Java

MMI2 Übung 6: Prof. Dr. Michael Rohs, Dipl.-Inform. Sven Kratz MHCI Lab, LMU München

Development auf der Plattform SAP HANA

FRANZIS PROFESSIONAL SERIES. Herbert Burbiel. SOA & Webservices. ~ in der Praxis. 197 Abbildungen

NetMan Desktop Manager Quickstart-Guide

Forms 12c und der Oracle SB

Deployment. Arthur Zaczek

Transcend StoreJet Cloud

Praktikum. SEP: Java-Programmierung WS 2018/19. Aufgabe 4: Rummikub. Thomas Lemberger und Martin Spießl

Continuous Integration mit TravisCI u.a. Jan Steemann

OPENService Dokumentation. Oracle 10.2 Client Installation (Benutzerdefiniert ohne Patch)

PHP, Ajax und JavaScript

Automatisiertes UI Testing. Mark Allibone, , #2

Best of Oracle Weblogic Diagnostic Framework

Projektantrag. 1 Projektbezeichnung. 1.1 Kurzform der Aufgabenstellung. 1.2 Ist-Analyse. AO-Beitragsportal

Eine Kommando-Oberfläche für.net

Transkript:

Arthur Zaczek Sep 2015

1 Übungsbeispiel embedded sensor cloud 1.1 Aufgabenstellung Auf einem [[tragen Sie bitte hier Ihr Embedded System Ihrer Wahl ein]] soll ein Messdaten Erfassungssystem implementiert werden. Seine Aufgabe ist es, mittels Plugins Messdaten zu erfassen und zu speichern. Die Messdaten können dann mittels einer REST Schnittstellt von der Sensor Cloud ausgelesen werden. Die Konfiguration des Systems erfolgt über ein Web Interface. Aus dieser kurzen Angabe ergeben sich folgende konkrete Aufgabenstellungen: Implementierung eines WebServer Annahme: Auf einem Embedded System sind die Resourcen begrenzt, daher kann kein Windows bzw. LAMP Server ausgeführt werden Annahme: Jedoch ist das System in der Lage, ein Linuxsystem mit Java bzw. dem Mono-Framework auszuführen Für die Übung: Der WebServer ist selbst zu implementieren, einzig die Methoden URLEncode/URLDecode dürfen aus der BCL verwendet werden. Der WebServer kann über den Port 8080 erreicht werden Der WebServer muss multiuserfähig sein Der WebServer muss über ein Plugin System verfügen. Diese Plugins führen den konkreten Request aus. Welche Plugins vom Webserver genutzt werden, muss konfigurierbar sein. Weitere, Dritthersteller Plugins, müssen ohne neue Kompilierung des Web-Servers hinzugefügt werden können. Die Messdaten müssen in einer Datenbank Ihrer Wahl gespeichert werden. Um die Übung zu vereinfachen müssen die Plugins NICHT die Datenbank verwalten können. Sie dürfen sich auf ein korrektes Schema verlassen. 1.2 Plugins Temperatur Messung Ein eigener Thread liest laufend einen Sensor aus Für die Übung: Es werden Zufallszahlen oder ein Sinus, etc. berechnet Diese Messwerte werden in der Datenbank ihrer Wahl gespeichert Implementieren Sie den DAL selbst, es sind keine OR-Mapper erlaubt. Auf der WebOberfläche können die Messdaten dargestellt werden Für die Übung: Erzeugen Sie mindestens 10.000 Messwerte verteilt über die letzten 10 Jahre. Bei 10.000 Messwerten muss die Oberfläche zwangsläufig eine Suche bzw. Blättern unterstützen Eine REST Abfrage http://localhost:8080/gettemperature/2012/09/20 soll alle Temeraturdaten des angegebenen Tages als XML zurück geben. Das XML Format ist frei wählbar. Statische Dateien 1

Figure 1: Architektur Navi Dieses Plugin soll einfach nur Dateien aus dem Filesystem an den Browser zurück senden. Diese Dateien sollen dazu genutzt werden, um im HTML Bilder, stylesheets, scripte, etc. einbinden zu können Es soll explizit kein Downloadmanager oder Filemanager sein. Als extra Feature, weil das Embedded System Speicherkarten aufnehmen kann In einem Textfeld wird ein Straßenname eingegeben Das Plugin gibt anschließend eine Liste aller Orte aus, in denen die Straße existiert. Arbeiter Strandbad Straße -> In Wien. Eine Karte mit allen Straßen sowie Orten kann von OpenStreetmap bezogen werden. Die Datei müsste ein ca. 4 GB großes XML Dokument sein http://download.geofabrik.de/osm/europe/ Es genügt, wenn einer/eine die Datei organisiert und allen anderen weitergibt. Eine eigene Seite im Navi Plugin kann den Befehl: Staßenkarte neu aufbereiten auslösen ToLower Dieser Befehlt liest die OpenStreetmap Karte (neu) ein und erstellt eine interne Straßen <-> Ort Zuordnung im Hauptspeicher (z.b. in einem Dictionary oder HashTable). Wer möchte, kann das auch in der Datenbank speichern, ist aber nicht Pflicht. Dies ist mittels SAX Parsers zu realisieren Es genügen die POI Tags! Keine geografischen Zuordnungen durchführen! XPath: //node way/tag[@k,@v] Während dieser Aufbereitung darf das Plugin keine anderen Abfragen annehmen dürfen. Es muss stattdessen eine Warnmeldung ausgeben (Multiuserfähigkeit) In einer textarea kann beliebig langer Text eingegeben werden Ein Submit-Button sendet den Text mittels POST Request an den Server Am Server wird der Text in Kleinbuchstaben konvertiert (.tolower()) Das Ergebnis wird in einem PRE Tag unterhalb der textarea dargestellt 1.3 Architekturübersicht 1.4 20 Unit Tests Implementieren Sie 20 eigene Unit Tests. Testen Sie z.b. Ihre Plugins genauer. 2

1.5 JavaDoc/Doxygen/XML Documentation Comments Versehen Sie alle public Klassen/Methoden/Eigenschaften mit Kommentaren, aus denen mittels Tools eine API Dokumentation erstellt werden kann. Führen Sie das Tool Ihrer Wahl aus und zeigen Sie uns das Ergebnis. Wenn Sie unsicher sind bzgl. des Tools dann fragen Sie uns. Mögliche Tools: Doxygen Sandcastle Falls Sie ein anderes Tool nutzen möchten, können Sie dies sehr gerne tun. Evtl. sprechen Sie sich mit uns ab. 1.6 Nicht Dokumentierte Anforderungen Anforderungen, welche nicht explizit dokumentiert oder durch Unit-Test festgelegt sind, dürfen Sie selbst bestimmen, wie sie diese umsetzen. Wenn Sie uns fragen, werden Sie Antworten erhalten. 1.7 Dokumentation Ausgedruckt 1 ca. A4 Seite lang. Inhalt 1. Benutzerhandbuch Wie wird die Applikation verwendet 2. Lösungsbeschreibung Wie wurde die Aufgabe gelöst 3. Worauf bin ich stolz 4. Was würde ich das nächste mal anders machen 1.8 Technologien Bereich Java.net Sprachen Java C# Datenbank JDBC ADO.NET 3

2 Bewertung 2.1 Automatisierte Tests Die Übung wird automatisiert getestet und bewertet. Näheres finden Sie im Moodle-Kurs. Die Unit-Tests geben Ihnen eine Struktur vor, wie sie die Anforderungen zu implementieren haben. 2.2 Codereview In der letzten Übung findet ein Code-Review statt welches gesondert bewertet wird. Benötigt wird: Ein lauffähiges Programm (.exe,.jar) SourceCode 4

2.3 Notenrechner 5

Figure 2: Notenrechner Codereview 6