Komponentenbasierter Taschenrechner mit CORBA



Ähnliche Dokumente
Komponentenbasierter

CORBA. Systemprogrammierung WS

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

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Übungen zu Softwaretechnik

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

Integrierte und automatisierte GUI-Tests in Java

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Konfigurationsanleitung Tobit David Fax Server mit Remote CAPI Graphical User Interface (GUI) Seite - 1 -

white sheep GmbH Unternehmensberatung Schnittstellen Framework

Übung: Verwendung von Java-Threads

Pflichtenheft. CDIX-Roles. Erweiterung des CDIX Berechtigungssystems. Autor : CD Software GmbH. Copyright CD Software GmbH Version:

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

Design Patterns 2. Model-View-Controller in der Praxis

Lizenzen auschecken. Was ist zu tun?

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

ORACLE Business Components for Java (BC4J) Marco Grawunder

Anforderungen an die HIS

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in der Software 6.0

Paragon Online WinPE Builder Service

Step by Step Webserver unter Windows Server von Christian Bartl

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal

Office in Java. 2. Info-Point Urs Frei

BlueEvidence Services in Elexis

How-to: HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server. Securepoint Security System Version 2007nx

Factory Method (Virtual Constructor)

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

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Horstbox VoIP. Stefan Dahler. 1. HorstBox Konfiguration. 1.1 Einleitung

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April Zielbestimmungen 2. 2 Produkteinsatz 2

Verwendung von USB-Datenträger in der VDI unter Mac OSX

Vorlesung Donnerstags, bis Uhr, HS12 Übung Dienstags, bis Uhr 4-5 ÜbungsbläMer (Programmieraufgaben)

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Powermanager Server- Client- Installation

8 Design Patterns. Events

Keine Disketteneinreichung ab 1. Februar 2014

Einrichten eines POP-Mailkontos unter Thunderbird Mail DE:

Anpassung einer freien SSL/TLS Implementierung an die Kertasarie VM

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Installation eblvd (Fernwartung)

Der lokale und verteilte Fall

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

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

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

SDD System Design Document

Eine Anwendung mit InstantRails 1.7

Fehlermonitor. Software zur seriellen Verbindung PC-Airdos Visualdatensignale und Fehlermeldungen-Ausagabe per SMS / Drucker

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Programmieren I. Übersicht. Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

BMW TREUE SERVICE. SRP MARKETING MODUL. ANLEITUNG ZUM EINSPIELEN DER LEUCHTTURMKAMPAGNEN IN DIE KSD.

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

Einrichtung Secure-FTP

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse

License Management SDK

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

FastViewer Remote Edition 2.X

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Operationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version:

Der Voxtron Konferenz-Server

Neue Funktionen im GUI für PC-DMIS V3.x 4.x Seite 1 von 8

ATHOS Benutzertreffen

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

ONET: FT-NIR-Netzwerke mit zentraler Administration & Datenspeicherung. ONET Server

Dokumentation PuSCH App. windows-phone

Rechnung Angebot Zeiterfassung

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Themen Aktueller Stand der Entwicklung Geplante Entwicklungen ASAM ODS Aktivitäten Verteilte Systeme mit ASAM ODS

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung

Installation/Einrichtung einer Datenbank für smalldms

Carolo Knowledge Base

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

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

Bauteilattribute als Sachdaten anzeigen

Online bezahlen mit e-rechnung

Automatisierte GUI Tests in fachlichen Teststufen Patrick Möller

Download unter:

Wenn Sie das T-Online WebBanking das erste Mal nutzen, müssen Sie sich zunächst für den Dienst Mobiles Banking frei schalten lassen.

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Kurzanweisung für Google Analytics

Lernprogramm. EDS Anpassung für Administratoren. support.ebsco.com

ADNP/9200 mit E2U/ESL1: Web Interface Beispiele

Formular»Fragenkatalog BIM-Server«

U08 Entwurfsmuster (II)

Transkript:

Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert

Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten Entwurfsmuster Erweiterungsmöglichkeiten Vergleich mit anderen Komponentenframeworks Live Implementierung einer neuen Komponente

Demonstration Taschenrechner

Motivation Grundfunktionen Hinzufügen / Entfernen von Komponenten Mehrfachfaden (Multi-Threading) Verteilungstransparenz Einfache Bedienbarkeit Einfache Erweiterbarkeit

Anforderungsspezifikation Taschenrechner mit Grundfunktionen Hinzufügen von Funktionseinheiten zur Laufzeit Client / Server Architektur Taschenrechner als Client Jede Komponente als Server

Architektur Client (View und Controller) Model + Parser Manager Worker CORBA ORB Komponente Komponente Komponente

Client Arithmetische Ausrücke Eingabe einer Sequenz von Token Umwandlung in einen Ableitungsbaum Auswerten des Ableitungsbaumes

Client : Auswertung lokal GUI Model Manager Worker 1 Worker 2 addtoken(3) addtoken(+) addtoken(4) evaluate() evaluate() evaluate(3) setresult() evaluate(+) evaluate(4) setresult() result setresult() notify()

Client : Auswertung remote GUI Model Manager Worker 1 Komponente A Komponente B addtoken(sin) addtoken(pi) evaluate() evaluate() evaluate(pi) setresult() evaluate(sin) getvalue0() result getvalue1() result notify() result setresult()

Ableitungsbaum Beispiel : ((3 * 4) + (7 / 2)) + * / 3 4 7 2

Client : Parallelität Entwurfsmuster : Master Worker 10 Worker Threads Unabhängige Auswertung einer Expression 1 Manager Thread Verteilt die auszuwertenden Expression auf die Worker Threads

Client : Parallelität 2 Master Worker Worker Worker Worker Worker Worker Manager

Monitor Konzept Manager und Worker sind als Monitor implementiert Gegenseitig ausschließender Zugriff (mutual exclusion) Kapselt Status Zugriff nur über veröffentlichte Methoden

Komponenten Komponenten stellen neue Funktionen zur Verfügung. 0 Stellige (Konstanten) 1 Stellige (z.b. sin) 2 Stellige (z.b. x ^ y)

Komponenten : IDL module Calculator { interface Component { readonly attribute string description; readonly attribute unsigned long countfun0; readonly attribute unsigned long countfun1; readonly attribute unsigned long countfun2; string getnamefun0(in unsigned long index); string getnamefun1(in unsigned long index); string getnamefun2(in unsigned long index); double getvalue0(in unsigned long index); double getvalue1(in unsigned long index, in double p1); double getvalue2(in unsigned long index, in double p1, in double p2); Component create(); }; };

Einschränkungen Funktionen mit mehr als 2 Parameter Einstellungen für Komponenten (z.b. rad -> deg bei Trigonometrischen Funktionen) Erweiterungen außerhalb des Funktionsparadigmas

Entwurfsmuster : Singleton NameServer Client Komponente A list Referenzen getdescription() Beschreibung create() Referenz auf A countfun0().....

Nicht -Singleton NameServer Client Komponente A Komponente B list Referenzen getdescription() Beschreibung create() Referenz auf B new Component()..... countfun0()

Verwendete Entwurfsmuster Beobachtermuster Model View Controller Singleton Factory Proxy Monitor Manager - Worker

Tests Modultests einzelne Module mit JUnit testen Integrationstests gesamte Anwendung mit einem GUI-Tester testen, z.b. Abbot Pounder Jemmy Module

Modultests mit JUnit Für jede zu testende Java Klasse eine Testklasse schreiben In jeder Testklasse mehrere Testfälle implementieren Tests regelmäßig automatisch ablaufen lassen

Integrationstests Wenn einzelne Module funktionieren, dann die gesamte Anwendung testen Dazu wird ein GUI Testtool benötigt Aus Zeitgründen noch nicht implementiert

Frameworkvergleich Von CORBA verwenden wir lediglich den transparenten, entfernten Objektaufruf und den Nameserver. DCOM,.NET etc bieten diese Funktionalität auch an fi Eine Entwicklung mit diesen anderen Frameworks ist also auch denkbar.

Erweiterungen Parser Einschränkungen : Parameter 2 Flyweight Muster bei großen Formeln Verwendung von POAs um u.a. folgende Dinge zu erreichen : Persistenz Automatisches starten von Komponenten

Literatur Gerald Brose et al : Java Programming with CORBA Gamma et al Entwurfsmuster Jeff Magee, Jeff Kramer : Concurrency Schmidt et al : Pattern Oriented Software Architecture www.jacorb.org www.junit.org

Demonstration Programmierung einer Komponente

Grammatik E _ E + T E _ T T _ T * F T _ F F _ (E) F _ i