Bullshit-Bingo Gruppe 4



Ähnliche Dokumente
Dokumentation Bullshit-Bingo

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

Themen. Web Service - Clients. Kommunikation zw. Web Services

AJAX Implementierung mit Joomla!

WEB-Dienste in GIS Umgebung

Wiederholung: Beginn

Technische Beschreibung: EPOD Server

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Java RMI Remote Method Invocation

Securing SOAP e-services

Angewandte Softwareentwicklung Serialisierung

DataSpace 2.0 Die sichere Kommunikations-Plattform für Unternehmen und Organisationen. Your Data. Your Control

MESSI DIE HDM MESSENGER DIENSTE. MI-Präsentationstag

Objektorientierte Programmierung

PL/SQL Web-Services mit Oracle 11g

Moderne Benutzeroberflächen für SAP Anwendungen

Referent: Robert Hörr

ObjectBridge Java Edition

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

3-schichtige Informationssystem-Architektur

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) stoyan@informatik.uni-erlangen.

Szenario 3: Service mit erweiterter Schnittstelle

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

Institut für Programmierung und Reaktive Systeme 25. August Programmier-Labor Übungsblatt. int binarysearch(int[] a, int x),

Information über die WebServices der Parlamentsdienste

0. Inhaltsverzeichnis

Vorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann

Java und XML 2. Java und XML

Programmieren 2 Selbststudium Semesterwoche 6

Appery.io Mobile Apps schnell und einfach entwickeln

Lösungsvorschlag für Übungsblatt 4 Software Engineering 1 (WS 2012/13)

Neues aus dem 52 North WPS Projekt. Benjamin Proß, FOSSGIS,

GATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics )

Mobile Erfassung von Verkaufsvorgängen auf Basis einer BlackBerry-Infrastruktur mit Anbindung an ein Warenwirtschaftssystem

RAP vs. GWT vs. GAE/J + jquery. Web Technologien im Verlgeich

EndTermTest PROGALGO WS1516 A

Inhalt. Vorbemerkungen... 1

Verteiltes Programmieren mit Space Based Computing

Quelltextähnlichkeit

Zur Definition von Web-Services

Berufsakademie Stuttgart, Außenstelle Horb, MI2002

OSGi-basierte Webapplikationen Ein Erfahrungsbericht

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Freelancer-Profil F R A N K D R E W E S. IT-Beratung / Projektleitung / Projektmanagement. Konzeption, Gestaltung und Entwicklung von Webauftritten

Anforderungsgetriebene Webentwicklung mit Grails:

Ausgangslage. Mobile Kommunikation im SBB Rangierbetrieb Fallstudie einer dezentralen Applikation. Peter K. Brandt / Adrian Berger 10.

Verteilte Systeme Hochschule Mannheim

Testframework für Eckelmann SFT

PRICEBOT WHITEPAPER FACTS

Programmieren in Haskell Einführung

Grundlagen von Python

Software Entwicklung II (SS12)

Informatik, Mathematik und Naturwissenschaften

b2boptic / SF7 Freiburg

Architektur des agimatec-validation Frameworks

Weblogic Server: Administration für Umsteiger

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Robert Seibt. Jahrgang: System- und Anwendungsentwicklung im OO- Bereich (OOA, OOD, UML, C++, Java) Schwerpunkt:

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Microsoft.NET und SunONE

OTMAR-DIETER WATOLA. Master of Science (M.Sc.) Informationssysteme. Professional Scrum Master I. Geburtsjahr 1990 Profil-Stand Januar 2016

Client-Server mit Socket und API von Berkeley

APEX und Workflows: Spaghetticode oder Integration. Sven Böttcher. Consultant, Apps Associates GmbH

Technik der SAP-Anbindung Christian Aigner Team Entwicklung, Kranzberg

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

GUI-Entwicklung 2: Windows Presentation Foundation

Aufgabenblatt Nr. 5 Generizität und TicTacToe

HTML Formulare. Benutzerschnittstelle für interaktive Webseiten

Komponentenbasierter Taschenrechner mit CORBA

Norm 230 Übertragung von Dateien

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG

drupal + nodejs erste - fl@flink-solutions.de

Running R. Windows Aus Menü. Lese R Code ein führt den Code auch gleich aus, eventuell muss vorher das Verzeichnis gewechselt werden.

Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider

Spring Dynamic Modules for OSGi Service Platforms

FACHHOCHSCHULE MANNHEIM

JavaScript in Drupal

Version 4.0. service.monitor. Systemanforderungen

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Von Turbo Pascal zu Object Pascal

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Inhalt. Fragestellungen. ...we make the invisible visible... Analysen und deren Anwendung Erfahrungen

Microsoft.NET & IBM System i - Webanwendungen und Webservices II Christian Neißl,

Softwaremanufaktur AW-SYSTEMS Kompetenzprofil Boreas

Das Interceptor Muster

CARSTEN EMRATH. Abschluss Diplom (FH) Fach Angewandte Informatik. Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

Jini-Beispiel. für Übung zu Verteilter System. Yiyu Ma, Liying Wang, Rui Dong, Fang Shen

Etablierung serviceorientierter Architekturen mit Web Services

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick

Webbasierte Leittechnik vom Gerät zum System Dr. Michael Unkelbach, Energy Sector, PG LDE1

Transkript:

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 1/15 Bullshit-Bingo Gruppe 4 Faraz Ahmed Felix Bruckner Dennis Cisowski Michael Stapelberg Thorsten Töpper Fakultät für Informatik Hochschule Mannheim 8.4.2011

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 2/15 Agenda Architektur & Kommunikationskonzept Server Qt-Client Java-Client Android-Client AJAX-basierte Web-Anwendung

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 3/15 Architektur Klassisches Client/Server-Modell Leicht zu implementieren Im Bingo-Kontext sinniger als z.b. Peer-2-Peer

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 4/15 Spiel-Architektur, Persistenz Jeder Spieler erhält ein Token (24h gültig), jedes Spiel eine ID Wortlisten auf dem Server, werden pro Spiel und pro Spieler gemischt Spielzüge werden gespeichert und ausgewertet Clients holen sich wiederholt die Spielerliste und fragen nach Gewinner

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 5/15 Kommunikation: HTTP & JSON Protokoll: HTTP ASCII - leicht zu parsen Implementierungen für (fast) jede Programmiersprache Load-Balancing/Proxies möglich Serialisierung: JSON JavaScript Object Notation Leichtgewichtiger, textbasierter Datenaustausch Elementare Datenstrukturen: Arrays, Hashes/Objects, Strings,... Selbstdefiniertes Bingo-Protokoll:

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 6/15 Server Geschrieben in modernem Perl, objekt-orientiert Test-Driven Development Verwendete Module: Moose (Objektsystem für OOP) Tatsumaki (Asynchrones Web-Framework) JSON::XS (JSON En-/Decode) Test::More (Test-Framework)

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 7/15 Code-Beispiel (Server) package P l a y e r ; use Moose ; use D i g e s t : : SHA1 qw( s h a 1 h e x ) ; has nickname => ( i s => ro, i s a => Str, r e q u i r e d => 1 ) ; has token => ( i s => ro, i s a => Str, b u i l d e r => b u i l d t o k e n ) ; sub b u i l d t o k e n { my @random values ; push @random values, rand (255) f o r ( 1.. 1 0 ) ; r e t u r n s h a 1 h e x ( j o i n (, @random values ) ) ; } 1

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 8/15 Qt-Client - Eingesetzte Software Qt GUI-Bibliothek für C++ Für alle gängigen Plattformen verfügbar Viele Zusatzbibliotheken (z.b. QNetwork) CMake = Cross-Platform Make Eine Art Meta-Makefile Ein Makefile für alle Plattformen QJson JSON-Erweiterung für Qt Serialisiert Klassen in Request-Daten Liefert Antworten als abstrakten QVariant Datentyp

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 9/15 Qt-Client - Architektur

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 10/15 Java-Client GUI in Swing JSON.org Java Implementierung POST/GET via HTTPClient-Bibliothek der Apache Foundation

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 11/15 Java-Client - Architektur

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 12/15 Android-Client Geschrieben in Mirah Ruby-ähnliche Sprache für die JVM

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 13/15 Code-Beispiel import a n d r o i d. p r e f e r e n c e. P r e f e r e n c e A c t i v i t y c l a s s P r e f e r e n c e s < P r e f e r e n c e A c t i v i t y d e f oncreate ( saved : Bundle ) s u p e r ( saved ) a d d P r e f e r e n c e s F r o m R e s o u r c e R. xml. p r e f e r e n c e s end end

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 14/15 Android-Client - Großes Geheimnis Lüften des großen Geheimnisses

Gruppe 4 Verteilte Systeme Hochschule Mannheim SS2011 15/15 AJAX-basierte Web-Anwendung Variante Nummer 4 :) Basierend auf jquery JSON-Support durch jquery gegeben bbq-plugin für Zustände (Token/Spiel-ID) Quick & Dirty, mal schauen was so geht (in < 2 Stunden implementiert)