Anwendungen aus Modellen Michael Löwe Forschungskolloquium der FHDW,Hannover Hannover, 21. Februar 2005.

Slides:



Advertisements
Ähnliche Präsentationen
Objektorientierter Entwurf
Advertisements

Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
Objektorientierter Entwurf (OOD) Übersicht
Java 2 Enterprise Edition (J2EE)
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Threads Richard Göbel.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Grundlagen der Objektorientierung
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Programmieren mit JAVA
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.
Seminar Internet Technologien
JDBC -Java Database Connectivity-. 15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API.
Command Pattern Karola Schäuble,
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
Zukunft des Webs? Dennis Beer Christian Blinde
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Aufbau einer Verbindung zur Datenbank import java.net.URL; import java.sql.*; class JDBCExample.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
OO Analyse und Entwurf für Anwender XIII. Objektorientierte Benutzeroberfäche Dr. Michael Löwe.
UML Begleitdokumentation des Projekts
JDBC: JAVA Database Connectivity
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
FH-Hof Adapter & Facade Pattern Richard Göbel. FH-Hof Motivation Gegeben ist eine Klasse mit vorhandenen Methoden Gefordert ist eine Klasse, die ein bestimmtes.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
YouTube5 .0 Projektpräsentation
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Generalisierung/Spezialisierung Subtypisierung/Vererbung
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
LV-Programm der BBWL „Wirtschaftsinformatik“
Esprit Database Suite Eine leistungsfähige Java-Persistzenzschicht zur einfachen Programmierung von Datenbankapplikation.
XML und Datenbanken © 2006 Markus Röder
EPROG Tutorium #6 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
Untersuchungen zur Erstellung eines
Objektorientierte Modellierung mit UML
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
SQL - Structured Query Language  AIFB SS (1|3) 2.1 Allgemeines zu SQL (1|3) Benennung: SQL: „structured query language" ursprünglich: SEQUEL –
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
ArcView als SDE - Client SDE Client inklusive! ArcViewGIS: ArcView GIS: Michael Jacobi ESRI GmbH ESRI EUROPEAN USER CONFERENCE.
OO Analyse und Entwurf für Anwender XII. Entwurfsmuster Dr. Michael Löwe.
Vs Replizierte Objekte Vollständige Replikationsabstraktion ist attraktiv und machbar. 2 Beispiele: Orca(H. Bal, VU Amsterdam, ) = klassenbasierte,
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
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.
EJB Architektur für große Web - Applikationen Gerald Weber
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
Distributed Database Systems Parallele Datenbanksysteme von Stefan Schneider.
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
Dr. Wolfram Amme, Virtuelle Vererbung, Informatik II, FSU Jena, SS Auflösung von Konflikten bei Mehrfachvererbung Umbenennung mehrdeutiger Methoden.
Oracle ADF FacesSeite 1 Oracle ADF Faces OPITZ CONSULTING Oracles Implementierung der JavaServer Faces Spezifikation.
 Präsentation transkript:

Anwendungen aus Modellen Michael Löwe Forschungskolloquium der FHDW,Hannover Hannover, 21. Februar 2005

21. Februar 2005FHDW-MDA2 Inhalt Modell basierte Anwendungsentwicklung (MbA) Die Standardarchitektur (Persistenzgenerator) – Die Datenbank – Der Applikationsserver – Der View Das Modell – Einfache, Mengen-wertige, indizierte und transiente Attribute – Server und Connections – Observer – Active Objects – Singletons – Exceptions – Visitoren Entwicklungsmöglichkeiten

21. Februar 2005FHDW-MDA3 MbA Ein zentrales fachliches Modell Ableitung der Architektur aus dem Modell Konsistente Umsetzung des Modells – in alle beteiligten Komponenten – über alle beteiligte Schnittstellen Aber: Details in den speziellen Komponenten und Sprachen – Adäquate Benutzeroberflächen – Nutzung vorhandener Entwicklungswerkzeuge – Performanzverbesserung in der Datenbank Kein Round-Trip aber ein iterativer Wasserfall

21. Februar 2005FHDW-MDA4 Die Standardarchitektur Klient Anwendungs- Server Datenbank Relationale Datenbank: Oracle Single-User-Anwendung: Java Multi-User-Anwendung: Java Offene Schnittstelle: XML-RPC Geschlossene Schnittstelle: JDBC

21. Februar 2005FHDW-MDA5 Die Datenbank Eine Tabelle pro Vererbungshierarchie Meta-Tabellen für Klassen und Vererbung Prozedurale Schnittstelle für jede Klasse (PL/SQL) } Konsistenz der Tabelleninhalte zum Modell

21. Februar 2005FHDW-MDA6 Der Anwendungsserver Java-Anwendung JDBC-Facaden Web-Server (XML-RPC) Oracle-Thin-Client Derzeit eine Verbindung Mehrbenutzerfähigkeit durch Multi-Threading Objekt-weises Nachladen aus der Datenbank nach Bedarf Cache Management Zweifache Indirektion

21. Februar 2005FHDW-MDA7 Der View Standardoberfläche (Swing, SWT, etc.) Server Stubs ohne Cache Server Connections (Refresh Threads) Objekt-weises Nachladen vom Server nach Bedarf Dynamische Verbindung (Garbage Collector beim Server)

21. Februar 2005FHDW-MDA8 Das Modell Klassen, abstrakte Klassen und Interfaces Spezielle Server- und Exception-Klassen Einfach-Vererbung und Mehrfach-Implementierung Basistypen: Integer und String Einfache, mengen-wertige, indizierte und transiente Attribute (Abstrakte) Operationen mit – Deklaration von Exceptions – Einfachen und Mengen-wertigen Rückgabetypen

21. Februar 2005FHDW-MDA9 Klassen und Attribute model model1 { class MyClass { Integer integer; String string; indexed Integer iIndex; indexed String sIndex; transient Integer tInteger; MyClass myClass; MyClass ** myClasses; } } Attribute zu Basistypen. Indizierte Attribute nur zu Basistypen. Erzeugt statische Suchfunktionen Transiente Attribute. Werden nicht in Datenbank abgelegt Mengen-wertige Attribute. In speziellen Collections verwaltet: add, iterator und remove über Iterator Bzgl. Spezialisierung maximale Klasse. Erzeugt statische Suche nach Objektidentität Konkrete Klasse. Erzeugt statische Factory- Methode mit allen Basisattributen

21. Februar 2005FHDW-MDA10 Server und Connections model model1 { class MyClass { Integer integer;..... model model1 { server MyClass { Integer integer;..... model model1 { server Server {...} server MyClass { Integer integer;..... Server Klasse. Alle Objekte dieser Klassen können mit ihren Operationen Schnittstellen- objekte zum Klient sein. Erhalten zwei Methoden hasChanged für das Refresh des Klienten und initialize zur Initialisierung nach der Erzeugung. Server Klasse Server. Die Objekte sind mit ihren Operationen die primäre Schnittstelle zum Anwendungsserver. Erhalten implizit die Attribute user und password.

21. Februar 2005FHDW-MDA11 Observer class Observer { observe Observee observee; } Class Observee { Integer contents; } SubjInterface register(ObsInterface obs) deregister(ObsInterface obs) update() ObsInterface update() Subj * ObserverObserverObservee Observee observee_update() Automatische Registrierung durch setter bzw. add und remove bei **

21. Februar 2005FHDW-MDA12 Active Objects model model4 { server Server{ MyClass myClass; } active interface MyInter{ void myOp1(); void myOp2(); } class MyClass implements MyInter{ } } MyInter myOp1() myOp1(Invoker invoker) myOp2() myOp2(Invoker invoker) MyOp1CMD execute() CMD MyClassMyInterCMD MyOp2CMD * Server Invoker handleResult(CMD cmd) handleException(CMD cmd, Exception exc) receiver asynchron

21. Februar 2005FHDW-MDA13 Singletons model model5 { server Server{ MyClass myClass; } active interface MyInter{ void myOp1(); void myOp2(); } singleton class MyClass implements MyInter{ } } Singleton Klasse MyClass. Keine Suche nach Objektidentität mehr. Keine Factory-Methode mehr. Dafür: Beschaffung des Singleton-Objekts mit Aufruf einer Initialisierungsoperation bei der Instantiierung.

21. Februar 2005FHDW-MDA14 Exceptions Operationen können beliebige Exceptions schmeißen (ggf. Kennzeichnung mit extern). Operationen in Servern können nur interne Exceptions schmeißen. Interne Exceptions werden in der Datenbank abgelegt. Interne Exceptions werden zum View übertragen. Syntax: exception myException {...} statt class myException {...}

21. Februar 2005FHDW-MDA15 Visitoren model model7 { server Server{} class MyClass1{} class MyClass2 extends MyClass1 {} class MyClass3 extends MyClass1 {} class MyClass4 extends MyClass2 {} class MyClass5 extends MyClass2 {} interface MyInt1{} interface MyInt2 extends MyInt1{} class MyClass6 implements MyInt1 {} class MyClass7 implements MyInt2 {} class MyClass8 implements MyInt2 {} } MyClass2Visitor (3 x handle) MyClass1Visitor (3 x handle) MyInt2Visitor (2 x handle) MyInt1Visitor (1 x handle) Standard-accept-Methoden

21. Februar 2005FHDW-MDA16 Entwicklungsmöglichkeiten Anschluss von Stored-Procedures – Generierung der Java-Methoden und Oracle-Pakete – Paketrümpfe mit geschütztem Bereich – Behandlung von Seiteneffekten aufwändig (zweifache Indirektion über Proxis) Mehrere Datenbankverbindungen Mehrere Modelle Mehrere Server