Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 1 Seminar Component and Aspect Engineering im WS03/04 FlexiBeans / FreEvolve von.

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

Be.as WEB Technologie
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
Cloud42 Dominik Muhler Seminar StuPro cims cims.
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
JDataSet & Persistenz Layer
B-Bäume.
DI Christian Donner cd (at) donners.com
© 2003 Patrick Brunner Spontane Vernetzung – Jini 9. Januar 2004 Spontane Vernetzung Patrick Brunner.
der Universität Oldenburg
Datenbankzugriff im WWW (Kommerzielle Systeme)
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Sicherheit und Personalisierung Internet Portal der Universität München.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Referenzen und Zeichenketten
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
JAVA RMI.
Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 1 Java Beans A Java Bean is a reusable software component that can be visually.
SWT J AVA B EANS und Komposition Oliver Stiemerling Universität Bonn J AVA B EANS –Events –Properties –Reflection Komposition –Alternative Ansätze.
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Remote Methode Invocation (RMI)
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Grundschutztools
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Internet: Funktionsweise und Dienste
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Systemaufbau / Komponenten
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
1. Verhalten der Objekte: Operationen Werden in den Klassen definiert Werden (i.d.R.) auf einem Objekt aufgerufen Wird das Empfängerobjekt genannt Weitere.
Generalisierung/Spezialisierung Subtypisierung/Vererbung
Institut für Informatik III, Universität Bonn, c/o 2001, Präsentation Agenten, Objekte, Komponenten - Agenten, Objekte, Komponenten - ein Paradigma-Vergleich.
Auslegung eines Vorschubantriebes
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
Beschreiben Sie das Szenario wenn ein ORB einen Server aktiviert und eine Objektimplementation aufruft. Activate Server impl_is_ready Activate Object (GetID.
Management- und Web Services- Architekturen
Tutorium PG Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben.
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
Unterprogramme in JAVA
EPROG Tutorium #6 Philipp Effenberger
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Untersuchungen zur Erstellung eines
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
1 Karim El Jed TECHNISCHE UNIVERSITÄT ZU BRAUNSCHWEIG CAROLO-WILHELMINA Institut für Betriebssysteme und Rechnerverbund
© Fink/Spengler/AINF-Lehrgang 2003 – Folie 1 AINF/3. Jahrgang Netzwerke Anwendungen (Clientseitig) Karl Brenner, Andreas Fink, Gerhard Jüngling, Albert.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Jeder Benutzer definiert seine eigenen Privatgespräche Aufwandreduzierung für die zentrale Erstellung von Auswertungen Wahlweiser Zugang über Intranet.
Vortrag - Diplomarbeiten (HS I)
Java-Kurs Übung Besprechung der Hausaufgabe
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
MD 4/02 CORBA Static/Dynamic Invocation Interface (SII/DII), Interface Repository.
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Objektorientierte Datenbanken
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
Verteilte Anwendungen: J2EE
Einführung in die Programmierung mit Java
 Präsentation transkript:

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 1 Seminar Component and Aspect Engineering im WS03/04 FlexiBeans / FreEvolve von Alexander Höck

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 2 Inhalt l Flexi Beans l FreEvolve

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 3 JavaBeans - Schwächen l Kommunikation nur via Events l Unterscheidung Absender l Keine integrierte Remote-Unterstützung

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 4 FlexiBeans: Überblick l Anpassung von JavaBeans l Ziel: Benötigte Änderungen bzgl. FreEvolve l Schnittstellen werden Ports genannt l Erweiterung um die Punkte: uShared Variable Interaction uPort Names ( Absenderunterscheidung) uRemote Interaction

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 5 FlexiBeans: Shared Variable Interaction (1) l Realisiert als Objekte l Zugriff über Interface l Methoden für Datenzugriff (z.B. getValue/setValue) Component AComponent B Interface Component AComponent B Shared Object Interface l Möglich: Implementation des Interface durch eine Komponente

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 6 FlexiBeans: Shared Variable Interaction (2) l Eine Komponente muss uShared Object instanzieren ubietet Port zum Holen des Objekts uKonvention: l Andere Komponenten ubietet Port zum Setzen und Vergessen des Objekts uKonvention: public getShared _ (); public setShared _ ( o); public forgetShared ( o);

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 7 FlexiBeans: Shared Variable Interaction (3) l Problem: Multithreading Komponente A Komponente B Shared Object Zeit 23 read set(24) 24 (statt 25)

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 8 FlexiBeans: Java Events l ähnlich wie bei JavaBeans l Kontrollfluss wird an Empfänger übergeben l zusätzlich zu JavaBeans: Benannte Ports umehrere Envent-Listener vom selben Typ

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 9 FlexiBeans: Remote Interaction l Realisation via Java RMI l Folgen: uEvent-Quelle muss RemoteException abfangen uEmpfänger muss die Klasse UnicastRemoteObject erweitern

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 10 FreEvolve: Eigenschaften l Komponentenbasiert l Anpassungen zur Laufzeit möglich l Client- / Server-Architektur

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 11 FreEvolve: Anwendungen l Anwendungen bestehen aus: uFlexiBeans Komponenten l Anwendungen werden definiert durch: uClient-CAT uServer-CAT uRemote bind Dateien uDCAT Dateien uBenutzertabelle

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 12 FreEvolve: CAT i_component Package.ComboBox{ required Werteliste RemoteList sharedObject; provided ValueChanged RemoteActionListener event; config_parameter Pos int; config_parameter Width int; } l Atomare Komponente i_component: a_component Auswahl{ required Werteliste RemoteList sharedObject; provided ExitEvent RemoteActionListener event; subcomponent feld Package.ComboBox{ Pos := 100; Width := 200; } bind Werteliste - feld.Werteliste; bind ExitEvent – feld.CalueChanged; } l Komplexe Komponente a_component / s_component:

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 13 FreEvolve: CAT Komponente 1Komponente 2 X required provided

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 14 FreEvolve: Client-/Server-CAT(1) l Strukturbeschreibung Client-Seite der Anwendung l Listet die verwendeten FlexiBeans (als i_component) l Definiert (mindestens eine) komplexe Komponente l Bei Server-CAT: keine sichtbaren Komponenten

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 15 FreEvolve: Client-/Server-CAT(2) i_component Package.ComboBox{ required Werteliste RemoteList sharedObject; provided ValueChanged RemoteActionListener event; config_parameter Pos int; config_parameter Width int; } l FlexiBean als i_component: a_component Auswahl{ required Werteliste RemoteList sharedObject; provided ExitEvent RemoteActionListener event; subcomponent feld Package.ComboBox{ Pos := 100; Width := 200; } bind Werteliste - feld.Werteliste; bind ExitEvent – feld.CalueChanged; } l Komposition als a_component:

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 16 FreEvolve: Remote Binds l Spezifikation, wie zwei CATs verbunden sind. l Normalerweise: Verbindung von Client- & Server-CAT l Notwendig weil: umehrere Ports von einem Typ möglich uunverbundene Ports möglich l Format: rbind PortXYZVonTypABC – PortZYXVonTypABC;

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 17 FreEvolve: DCAT l die genannten Definitionen zusammenfügen s_component Anwendung{ subcomponent anwendungsClient ClientCAT LOCAL; subcomponent anwendungsServer ServerCAT SERVER; bind anwendungsClient anwendungsServer remoteBindDatei; }; l hier: Client / Server l andere Konstellationen auch beschreibbar

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 18 FreEvolve: Benutzerverwaltung l Berechtigungen uje DCAT-Datei uje Beutzer l Menüstruktur von FreEvolve Plattform erstellt

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 19 FreEvolve: Zusammenspiel Benutzer A DCAT1 B DCAT1 A DCAT2 C DCAT3 DCAT CAT1 CAT2 CATA Server CAT FelxiBean1 Remote Bind... Client CAT FlexiBean1 FlexiBean2 Class Files FlexiBean1 FlexiBean2

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 20 FreEvolve: Anpassungs-API l zur Laufzeit möglich l von jeder Stelle im Netzwerk/Internet l Verschiedene Möglichkeiten: udirekt über API uaus der Anwendung uüber 3D-User-Interface uüber Agenten

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 21 FreeVolve: Anpassung zur Laufzeit l Durch Proxy-Objekte vereinfacht Komponente 1 Komponente 2 Proxy Komponente 3 l Problematisch: Feste Objektreferenzen

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 22 FreEvolve: Struktur

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 23 Zusammenfassung l FlexiBeans: uErweiterung von JavaBeans uShared Objects uRMI l FreEvolve: uClient- / Server-Architektur uKomponentenbasiert (FlexiBeans) uAnpassungen zur Laufzeit uElegante Möglichkeiten zur Anpassung (3D, Agenten, 2D,...)

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 24 Quellen l Stiemerling, Oliver: Component-Based Tailorability (Dissertation) l Hinken, Ralph: Verteilte komponentenbasierte Anpassbarkeit für Groupware (Diplomarbeit) l O. Stiemerling, P. Constanza, A.B. Cremers: Object Identity and Dynamic Recomposition of Components l