Persistenzschicht in Collaborative Workspace Mykhaylo Kabalkin 20.11.2018
Überblick Persistenz im Allgemeinen Collaborative Workspace Szenario Anforderungen Systemarchitektur Persistenzschicht Metadaten Ausblick 20.11.2018 Mykhaylo Kabalkin
Persistenz im Allgemeinen Persistenz bezeichnet die Fähigkeit, Datenstrukturen (oder Objekte) in nicht-flüchtigen Speichermedien wie Dateisysteme oder Datenbanken zu speichern und aus solchen wieder zu laden 20.11.2018 Mykhaylo Kabalkin
Collaborative Workspace Human-Computer Interaction (HCI) Es handelt sich um User interface und Interaktionstechnik Ubiquitous computing (UbiComp) Computer-Supported Cooperative Work (CSCW) [Tandler 2004] 20.11.2018 Mykhaylo Kabalkin
Collaborative Workspace [Terry Winograd] 20.11.2018 Mykhaylo Kabalkin
Szenario Meetings auf einer Schiffswerft Es wird entschieden, ob die Produktion eines Teiles des Schiffes an einen Unterauftraggeber übergeben wird Während der Meetings wird an vielen unterschiedlichen Dokumenten gearbeitet 20.11.2018 Mykhaylo Kabalkin
Szenario 20.11.2018 Mykhaylo Kabalkin Dokumente: Kommerzielle Bestellung Terminplan Technische Spezifikation Bauzeichnungen Stahlplan/Stahlfundament Prüfvorschriften User manual / Ersatzteilliste Projektplan Projektspezifikation 20.11.2018 Mykhaylo Kabalkin
Anforderungen Verwaltung der Zugriffe der Anwendungen auf Datenobjekte Hohe Auffindbarkeit von Daten Unterstützung von Transaktionen Bearbeitung mehrerer Objekten auf einmal Mehrere Verbindungen parallel Versionskontrolle Ortsunabhängige Zugriffe auf Daten Verknüpfungen zwischen Objekten Ortstransparenter Zugriff Nach dem Treffen werden die erstellten Dokumente auch in der täglichen Arbeit genutzt. Um das zu gewährleisten, muss ein ortstransparenter Zugriffs, unter Beachtung des Sicherheitsmodells, möglich sein. Die Inhalte des Systems sollen für die Benutzer überall verfügbar sein, ohne Informationen über den logischen Pfad oder den physischen Aufenthaltsort der Daten zu haben. Sie sollen an ihren privaten Arbeitsplätzen und in den Gemeinschaftsräumen eine gewohnte Struktur vorfinden. Versionskontrolle Die Gemeinschaftsarbeit kann dazu führen, daß sich Dokumente häufig ändern. Um Vergleiche zu früheren Diskussionsergebnissen ziehen zu können, müssen alte Versionen gespeichert und verfügbar bleiben. Sollte sich herausstellen, daß ein vorhergehendes Ergebnis besser mit den Zielen der Teilnehmer übereinstimmt, können erarbeitete Ergebnisse verworfen und zu einer früheren Version zurückgekehrt werden. 20.11.2018 Mykhaylo Kabalkin
Systemarchitektur Ein System muss in verschiedene Schichten unterteilt werden Z.B. Benutzerinterface-, Anwendungslogik-, Persistenz- und Datenschicht. Jede Schicht kümmert sich nur um ihre eigene Aufgaben und bietet eine Kommunikations-schnittstelle 20.11.2018 Mykhaylo Kabalkin
Persistenzschicht Die Persistenzschicht ist zur Speicherung und zum Laden (Bereitstellung) der Daten zuständig Suche nach Daten 20.11.2018 Mykhaylo Kabalkin
O/R - Mapping Abbildung von objektorientierten auf relationale Daten und umgekehrt Ist nötig, da zur Datenhaltung meistens relationale Datenbanken verwendet werden 20.11.2018 Mykhaylo Kabalkin
Persistence Frameworks Java Data Object (JDO) http://java.sun.com/products/jdo/ Hibernet http://www.hibernate.org/ JPox http://www.jpox.org ObJectRelationBridge (OJB) http://db.apache.org/ojb/ Torque http://db.apache.org/torque/ TriActive (TJDO) http://tjdo.sourceforge.net/ ADO.NET – Bibliothek aus .NET Framework von Microsoft 20.11.2018 Mykhaylo Kabalkin
Metadaten „Metadata is machine understandable information about web resources or other things“ [Tim Berners-Lee, 1997] Information über Inhalt, Qualität, Verfügbarkeit und andere Charakteristiken von Daten 20.11.2018 Mykhaylo Kabalkin
Metadaten ISO 11179 – Definition Aufgaben Prinzipien Klassifizierungsrichtlinien Basisattribute Namenskonventionen Registrieren von neuen Datenitems 20.11.2018 Mykhaylo Kabalkin
Metadaten Unterstützung bei der Suche nach Daten Bewertung der Nützlichkeit für einen bestimmten Zweck Zugriffsbeschreibung Auflisten von Anwendungen zur Darstellung und/oder Bearbeitung 20.11.2018 Mykhaylo Kabalkin
Dublin Core Metadatenschema von der Dublin Core Metadata Initiative (DSMI) Veröffentlicht 1995 in Dublin/Ohio, seitdem definiert 15 Elemente als Dublin Core Element Set: Dublin Core Metadaten können als RDF/XML dargestellt werden 1. Title 6. Contributor 11. Source 2. Creator 7. Date 12. Language 3. Subject 8. Type 13. Relation 4. Description 9. Format 14. Coverage 5. Publisher 10. Identifier 15. Rights Dublin Core ist Metadateschema zür Beschreibung von Dokumenten und anderen Objekten im Internet. Resource Description Framework (RDF, „System zur Beschreibung von Ressourcen“) ist eine formale Sprache zur Bereitstellung von Metadaten im World Wide Web. 20.11.2018 Mykhaylo Kabalkin
Metadaten Beispiel Metadaten mittels Dublin Core <meta name="DC.Description" content="Präsentation in Rahmen der Vorlesung Anwendungen I"> <meta name="DC.Creator" content="Mykhaylo Kabalkin, mykhaylo.kabalkin@gmail.com"> <meta name="DC.Type" content="application/ppt"> <meta name="DC.Rights" content="Copyrights by Mykhaylo Kabalkin, 2006"> <meta name="DC.Subject" content="Persistenzschicht in Collaborative Workspace, Metadaten"> 20.11.2018 Mykhaylo Kabalkin
Metadaten - Überlegungen Eine Liste von notwendigen Metadaten automatische Erfassung Erzeugen von Benutzern Eine Liste von optionalen Metadaten Weitere Metadaten können definiert werden 20.11.2018 Mykhaylo Kabalkin
Ausblick Sicherheitsaspekte Verschiedene Persistenz- und Metadaten-Frameworks müssen untersucht werden 20.11.2018 Mykhaylo Kabalkin
Literaturverzeichnis und Links Richard Sperko, Java Persistence for Relational Databases, APress, 2003 Arne Heyna, Marc Briede, Ulrich Schmidt, Datenformate im Medienbereich, Fachbuchverlag Leipzig, 2003 Fachgruppe CSCW der Gesellschaft für Informatik http://wwwfgcscw.in.tum.de Tim Berners-Lee, Metadata Architecture, 1997, http://www.w3.org/DesignIssues/Metadata.html Metadata Standards ISO/IES JTC1 SC32 WG2 http://metadata-standards.org/ Dublin Core Metadata Initiative http://dublincore.org/ Java Persistence Developer‘s Community http://www.javapersistence.com/ Peter Tandler, Synchronous Collaboration in Ubiquitous Computing Environments, Conceptual Model and Software Infrastructure for Roomware Components, 2004, http://elib.tu-darmstadt.de/diss/000506/Tandler-Thesis-BEACH.pdf 20.11.2018 Mykhaylo Kabalkin
Vielen Dank für Ihre Aufmerksamkeit! Fragen und Diskussion 20.11.2018 Mykhaylo Kabalkin