Wanderpfad Idee der Plattform Zeitraum und Organisation Anforderungen Gestaltungs- und Informationsdesign Plattformarchitektur Design Patterns (=PHP)

Slides:



Advertisements
Ähnliche Präsentationen
Cadastre for the 21st Century – The German Way
Advertisements

Vernetzung von Repositorien : DRIVER Guidelines Dr Dale Peters, SUB Goettingen 4. Helmholtz Open Access Workshop Potsdam, 17 Juni 2008.
E-Solutions mySchoeller.com for Felix Schoeller Imaging
Transaction Synchronization for XML Data in Client Server Web Applications Stefan Böttcher & Adelhard Türling Universität Paderborn.
Forschungsdatenzentrum der Bundesagentur für Arbeit im Institut für Arbeitsmarkt- und Berufsforschung Two Issues on Remote Data Access.
R. Zankl – Ch. Oelschlegel – M. Schüler – M. Karg – H. Obermayer R. Gottanka – F. Rösch – P. Keidler – A. Spangler th Expert Meeting Business.
Windows Vista für Entwickler
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
© 2006 Open Grid Forum OGF26 - Chapel Hill, May 2009 Addressing Metadata Challenges OGF Digital Repositories RG.
BuR – Business Research Das neue Open Access Online Journal des VHB
Steinbeis Forschungsinstitut für solare und zukunftsfähige thermische Energiesysteme Nobelstr. 15 D Stuttgart WP 4 Developing SEC.
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Peter Marwedel TU Dortmund, Informatik 12
Eberhard R. Hilf, Kerstin Zimmermann Institute for Science Networking Fachbereich Physik Carl-von-Ossietzky Universität Oldenburg
DissOnline / Digitale Dissertationen Dr. P. Schirmbacher Offene Standards und internationale / nationale Abstimmung Gliederung: 1.Open Archive.
Was ist eine digitale Arbeitsumgebung für die Geisteswissenschaftliche Arbeit? Manfred Thaller, Universität zu Köln Köln, 27. Juli 2009.
Ausblick Release Q2 - laufende Aktivitäten Pilotentreffen Publication Management Berlin, 19. April 2007 Harnack-Haus IP:
Installation des Add-In SOLVERSTAT
Projektübung Klimamodellierung André Paul. Vorbesprechung Projektübung Klimamodellierung ( ) – A. Paul.
Architektur von Renardus Göttingen State and University Library, Germany (SUB) Frank Klaproth The Academic Subject.
F açade P attern By Nicolas Lanquetin. Façade Pattern Structural Pattern Bietet ein gemeinsames Interface, anstatt vieler Interfaces eines Subsystems.
.NET – Quo Vadis? Dariusz Parys Developer Group Microsoft GmbH.
Visual Extend Features für Entwickler deutschsprachige FoxPro User Group Uwe Habermann VFX 05 D.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
FH-Hof Singleton Pattern Richard Göbel. FH-Hof Motivation Bestimmte Klassen sollen nur ein Objekt haben Nur ein Fabrikobjekt für eine Fabrikklasse Zentraler.
CTS2 based Terminology Server – Overview – Project eBPG
USE2ANT Die Umstellung von Use Makefiles zu Ant & Junit Von Isaac, Maleen und Marc.
Status eSciDoc Malte Dreyer eSciDoc Hauptaktivitäten in 2006 Abstimmung mit den Zielgruppen Funktionale Anforderungserhebung mit.
Die Persistenzschicht
Laurie Clarcq The purpose of language, used in communication, is to create a picture in the mind and/or the heart of another.
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | Bildquellen : [1]
Automated Software Testing
Sanjay Patil Standards Architect – SAP AG April 2008
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
Centre for Public Administration Research E-Government for European Cities Thomas Prorok
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
© All rights reserved. Zend Technologies, Inc. Jan Burkl System Engineer, Zend Technologies Zend Server im Cluster.
Neuer Zugang zu vorhandenen Daten - Serviceorientierung und BizTalk an der Universität St. Gallen - Tobias Müller, Chief Architect & CEO, progile GmbH.
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
MVVM in Windows 8 und Windows Phone 8
Department of Computer Science Homepage HTML Preprocessor Perl Database Revision Control System © 1998, Leonhard Jaschke, Institut für Wissenschaftliches.
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
XML IV: Cocoon 2.
DEUTSCHLAND UND DIE MEDIEN
Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Web Application Engineering & Content Management.
SharePoint FIS HandsOn – out of the Box.
Staatsballett Berlin Ein Verbesserungskonzept für den Social- Media Auftritt Your picture here.
Making people work together! Folie 1 NEXPLORE AG Stefan von Niederhäusern Einfache Anwendung der SuisseID durch das Software Development KIT
Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | Bildquellen : [1]
Design Patterns Ein Muster (pattern) ist eine Idee, die sich in einem praktischen Kontext als nützlich erwiesen hat und dies auch in anderen sein wird.
Demonstration of Performance of CASCOT 5.0
External Labels – The rules For all external labels the following rules apply (external labels are all labels which are not inside of a shape) - all labels.
Torque in Turbine Team 3 Alexander Mittermair Michael Wesinger.
SQLite und XML in PHP 5.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
RZPD Deutsches Ressourcenzentrum für Genomforschung GmbH DESPRAD-Meeting 02/09/2003 Steffen Schulze-Kremer (until 7/2003) Bernd Drescher (since 8/2003)
Ciiema CITEM - Dr. Siegl VU Dr. Manfred Siegl ENTWURF, ERRICHTUNG, BETRIEB VON DATENNETZEN VU Dr. Manfred Siegl
Agile ALM for Plex/2E CM MatchPoint ALM. Themen Agenda CM MatchPoint ALM Übersicht CM MatchPoint 5.2 Web und Mobile Entwicklung Agile ALM / DevOps CM.
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
Lehrstuhl für Waldbau, Technische Universität MünchenBudapest, 10./11. December 2006 WP 1 Status (TUM) Bernhard Felbermeier.
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
TUM in CrossGrid Role and Contribution Fakultät für Informatik der Technischen Universität München Informatik X: Rechnertechnik und Rechnerorganisation.
 Präsentation transkript:

Wanderpfad Idee der Plattform Zeitraum und Organisation Anforderungen Gestaltungs- und Informationsdesign Plattformarchitektur Design Patterns (=PHP) Sicherheitskonzept (=pear::LiveUser) Datenbankmodell (=MySQL) Features (=WebServices) Weiterentwicklungen

Wanderpfad Idee der Plattform Zeitraum und Organisation Anforderungen Gestaltungs- und Informationsdesign Plattformarchitektur Design Patterns (=PHP) Sicherheitskonzept (=pear::LiveUser) Datenbankmodell (=MySQL) Features (=WebServices) Weiterentwicklungen

Idee Elektronische Kommunikation wissenschaftlicher Ergebnisse schneller, kostengünstig und transparent Zugang zu wissenschaftlichen Produkten Profile Publikationen Projekte Verbesserung und Optimierung Wissenstransfer Zentraler Zugangspunkt ?Wettbewerbssteigerung

Zeitraum und Organisation Start Januar 2004 Anforderungsaufnahme und Konzeptionsphase von Januar bis Juni 2004 unter Einbeziehung und monatlichen Treffs mit Verantwortlichen der Institute Implementation von Juni 2005 bis April 2005 Datenvorerfassung parallel noch während Implementation im November 2004 Leitungsausschuss mit Einbindung unterschiedlicher Institutionen wie Rektorat, Forschungskommission und Bibliothek Mehr als 30 Institute mit ca. 400 aktuellen Forschern Durchführung: 2 wissenschaftliche Mitarbeiter 1 Mitarbeiter für Projektkoordination und Betreuung 1 Mitarbeiter für Implemtierung

Anforderung Integration relevanter bereits bestehender Datenbanken auf Lotus Notes Basis Import aus unterschiedlichen Quellen (Word, Lotus Notes, Exel usw.) Export Funktion zurück in Lotus Notes basiertes Content Management Framework Integration in bestehende Webseiten Darstellungsunabhängige Bereitstellung Export in Bibliothekssysteme Anbindung an bestehendes Lotus Notes Authentifizierungssystem auf Basis eines LDAP Baums Distribution in weitere Systeme (Sidos usw.)

Anforderung Funktions- bzw. Datenumfang Forscherprofile Publikationsdatenbank Projektdatenbank Unterschiedliche Auswertungsmechanismen Schnelle Variationen und Veränderungen der Formularfelder und Datenbankstruktur aufgrund der Organistationstruktur des Projektes

Anforderung Verknüpfung der Forscherprofile, Projekte und Publikationen (Relationen erstellen) Gruppierung von Personen (virtuelle Zusammenarbeit an Publikationen oder Projekten) Rechteproblematik (Urheberrechtsaspekte usw.) Sehr detaillierte und spezifische Suchmöglichkeiten über die Metadaten (Bibliographische Daten) Volltextsuche über Dokumente wurde nicht als dringend notwendig erachtet Mehrsprachigkeit

Gestaltungs- und Informationsdesign Informationsreduzierung Design in Zusammenarbeit mit Universität der Künste entstanden Dreifache Clusterung der Navigation Bedardsbezogen Kontextuell […]

Wanderpfad Idee der Plattform Zeitraum und Organisation Anforderungen Gestaltungs- und Informationsdesign Plattformarchitektur Design Patterns (=PHP) Sicherheitskonzept (=pear::LiveUser) Datenbankmodell (=MySQL) Features (=WebServices) Weiterentwicklungen

Wanderpfad Idee der Plattform Zeitraum und Organisation Anforderungen Gestaltungs- und Informationsdesign Plattformarchitektur Design Patterns (=PHP) Sicherheitskonzept (=pear::LiveUser) Datenbankmodell (=MySQL) Features (=WebServices) Weiterentwicklungen

Plattformarchitektur // Komponenten PHP5 Start mit Aktuell MySQL als Datenbank Start mit 4.1.x Aktuell 5.0.5dev mit XPath Patch Gettext (Mehrsprachigkeit) Pear::Translation2 mit Gettext Erweiterung Smarty als Template Engine LiveUser als Security Framework Noch auf Liveuser (ausgekoppelt aus Pear Tree wegen Anpassungen)

Wanderpfad Idee der Plattform Zeitraum und Organisation Anforderungen Gestaltungs- und Informationsdesign Plattformarchitektur Design Patterns (=PHP) Sicherheitskonzept (=pear::LiveUser) Datenbankmodell (=MySQL) Features (=WebServices) Weiterentwicklungen

Design Patterns // Code Structure geplant als Open Source Projekt Veröffentlichung als LGPL Code in den nächsten Wochen Wichtig Code Struktur und Dokumentation PEAR Klassen als Richtlinie + PHPDOC (+) (+) pecialSearch.php?view=markup (-) < NO GO! pecialSearch.php?view=markup

Design Patterns // DESIGN Horde Framework DESIGN: What does designing NOT mean? [2] Making everything a class. Using UML. Having a complete API before starting to code. Using classes at all. DESIGN: What DOES it mean? [2] Having a plan for an API, and considering everything that it affects, before starting to code each component of an application. Writing organized, consistent code. Being aware of code duplication, and being willing to refactor as you go. Being wary of the easy path.

Design Patterns // Factory & Singleton // Call Factory $instance = ClassName::factory(mysql); /** * Create a new DB connection object for the specified database * type * string $type database type, for example "mysql" * mixed a newly created DB object, or a DB error code on * error * * access public */ static function factory($type) { include_once("DB/${type}.php"); $classname = "DB_${type}"; if (!class_exists($classname)) { return PEAR::raiseError(null, DB_ERROR_NOT_FOUND, null, null, null, 'DB_Error', true); } $obj = new $classname; return $obj; }

Design Patterns // Whats new about PHP5? Neues Object Modell [3] kein & mehr notwendig um Referenz auf Objekten zu erzeugen (nun Default) explicit object cloning (clone $object) public, private & protected access modifiers Unified constructor name __construct() Object destructor support by defining a __destructor() Interfaces Final methods and classes Static members and functions (Singleton & Factory) Exception handling (try - catch)

Design Patterns // Whats new about PHP5? Neue Funktionen e.g. http_build_query() SimpleXML LIBXML2 + UTF8 jetzt als Default vorher EXPAT Siehe Thread: SOAP Neue Zend Engine (schnelle & stabiler) Wikipedia Erweiterung (!)

Wanderpfad Idee der Plattform Zeitraum und Organisation Anforderungen Gestaltungs- und Informationsdesign Plattformarchitektur Design Patterns (=PHP) Sicherheitskonzept (=pear::LiveUser) Datenbankmodell (=MySQL) Features (=WebServices) Weiterentwicklungen

Sicherheitskonzept (=pear::liveuser) Umsetzung mit Pear::LiveUser [1] Authentifizierung gegen multiple Quelle (auch zusammen verwendbar) LDAP IMAP / POP3 XML DB Permission Layer – Zugriffsteuerung auf einzelne Module der Plattform Simple Permissions (e.g. Rights To User) Medium Permissions (e.g. +Groups & +Area Admins) Complex Permissions (e.g. +Subgroups, Rights Level & Inheritance)

Sicherheitskonzept (=pear::liveuser) Anbindung an Lotus Notes LDAP Baum mit mehr als 4000 Accounts O=UNISG, C=CH OU=MCMOU=IWI CN = Max Muster2 CN = Max Muster1 CN = Max Muster3 CN = Max Muster4 Attr BAttr AAttr BAttr A

Sicherheitskonzept (=pear::liveuser) Stufenmodell für Authentifizierung Anmeldung Publikationen Projekte Profile LiveUserDB / LDAPBACKEND Versuch der AnmeldungPrüfen gegen DB Interface Erfolgreiche Anmeldung Gescheitert gegen DB Prüfen gegen LDAP Erfolgreiche Anmeldung ggf. Update Passwort Gescheitert gegen LDAP

Sicherheitskonzept (=pear::liveuser) Vierstufiges Sichermodel (KISS!!!) LDAP UniversitätInstitutPerson Content Object PEAR::LiveUser Publikationen Projekte Profile Module

Sicherheitskonzept // ContentObjects Owner-Status Edit Rights View Rights Content Objects vergibt sehen ändern sehenändernlöschen v e r g i b t

Wanderpfad Idee der Plattform Zeitraum und Organisation Anforderungen Gestaltungs- und Informationsdesign Plattformarchitektur Design Patterns (=PHP) Sicherheitskonzept (=pear::LiveUser) Datenbankmodell (=MySQL) Features (=WebServices) Weiterentwicklungen

Datenbankmodell // Basisstruktur MySQL Content Object PublikationenProjekte Profile Parser XML Document XML Document XML Document Pear::Quickform Transforming XML Elements to Quickform Elements Creating Formulare Smarty Display Formular Daten eingabe Parser Matching Input Data against XML File and Cleanup e.g. hidden or not used Fields

Datenbankmodell // XML Dokument type select article book publication-details hidden submit language …..

Datenbankmodell // XML in Datenbank book de Erfolgreiches Benchmarking in Forschung und Entwicklung Verlag Carl Hanser München, Wein none 1 0 ….

Datenbankmodell // Dublin Core Dublin Core noch nicht implementiert Web Services sollen jedoch Dublin Core XML Format liefern <metadata xmlns=" xmlns:xsi=" xsi:schemaLocation=" xmlns:dc=" UKOLN UKOLN is a national focus of expertise in digital information management. It provides policy, research and awareness services to the UK library, information and cultural heritage communities. UKOLN is based at the University of Bath. UKOLN, University of Bath …

Datenbankmodell // Datenbankstruktur Normales Text Feld (z.B. Longtext) XML Data Field (Fulltext)

Datenbankmodell // XPath Queries Einfache Datenabfrage mittels extractValue(xml, xpath) [5] mysql> SELECT co_object_data FROM cO_publications; | co_object_data | | |<conte... | mysql> SELECT extractValue(co_object_data,/contentObject/title) FROM cO_publications; | extractValue(co_object_data,/contentObject/title) | |Erfolgreiches Benchmarking in Forschung und Entwicklung|

Datenbankmodell // XPath Queries Schnelle Datenabfrage mittels Nutzung des Match Operators [and match (xml) against (Benchmarking')] Auch komplexere Abfrage möglich nach Index, Attribut, Value oder Boolean Match mysql> SELECT extractValue(co_object_data,/contentObject/title) as title FROM cO_publications and match (co_object_data) against (Benchmarking'); | title | |Erfolgreiches Benchmarking in Forschung und Entwicklung|

Datenbankmodell // XPath Queries Update von XML Teilen im Dokument möglich mit updateXML(xml, xpath, value) mysql> select updateXML(co_object_data,'/contentObject/title', ' Neuer titel ') as title; | title | | ein neuer titel … |

Datenbankmodell // Towards MySQL % XPath Standard Implementierung [5] ExistsNode() -> Boolean Check Fulltext Optimized für XML Special XML data type (Data Integrity!!!) + Compression (!) Automatic invocation of FULLTEXT searches from inside ExtractValue() and ExistsNode() without having to use explicit MATCH operator Stored Procedures + XPath = :-O Performance Einfacheres Handling – Wrapper auf Datenbankbasis und nicht als Middleware?

Wanderpfad Idee der Plattform Zeitraum und Organisation Anforderungen Gestaltungs- und Informationsdesign Plattformarchitektur Design Patterns (=PHP) Sicherheitskonzept (=pear::LiveUser) Datenbankmodell (=MySQL) Features (=WebServices) Weiterentwicklungen

Features // WS - ImageMagick Wikipedia Integration via PHP5 Webservices Schnittstelle Wikipedia Amazon Integration bei Büchern mit ISBN Nummer Amazon Google Suggestion Check Google Image Rendering der Photos für einheitliches Design mittels ImageMagick Farbverschiebung + Skalierung (Zuschneiden) in Graustufendesign

Wanderpfad Idee der Plattform Zeitraum und Organisation Anforderungen Gestaltungs- und Informationsdesign Plattformarchitektur Design Patterns (=PHP) Sicherheitskonzept (=pear::LiveUser) Datenbankmodell (=MySQL) Features (=WebServices) Weiterentwicklungen

Integration Dublin Core Meta Data Standard [4] Amazon nutzen um fehlende Bücherdaten zu replizieren Web Services Schnittstelle mit Dublin Core Freier Zugang für Öffentlichkeit an Schnittstelle (Google & Amazon Modell) Automatisch PDF Generierung von Forscherprofil + Publikationsverzeichnis + Projektverzeichnis mit Verlinkung auf Alexandria Diverse Exports und Statistische Auswertung Search Engine Friendly Optimization (mod_rewrite): // Danke Hannes ;-) Integration XPath Update Befehl

Thomas Nicolai {thomas dot nicolai} at {unisg dot ch} Institut für Medien und Kommunikationsmanagement Universität St.Gallen Blumenbergplatz St.Gallen Switzerland Kontakt

Referenzen [1] Pear::Liveuser [2] Horde Framework [3] PHP5 Zend News [4] Dublin Core Meta Data Standard [5] Alexander XPath Patch

Referenzen [6] MySQL XPath Installationsanleitung [7] Gadgetopia Diskussion über MySQL + XPath