310 likes | 406 Views
Web Information Systems. Geert-Jan Houben. Hypermedia. hypertext + multimedia informatie-objecten (tekst, plaatjes, animaties, audio, video) alles in één keer tonen gaat niet: layout timing navigatie presentatie ontwerpen of genereren , voor Web, Wap, PDAs, etc.
E N D
Web Information Systems Geert-Jan Houben
Hypermedia hypertext + multimedia • informatie-objecten (tekst, plaatjes, animaties, audio, video) • alles in één keer tonen gaat niet: • layout • timing • navigatie • presentatie ontwerpen of genereren, voor Web, Wap, PDAs, etc.
Evolutie in Hypermedia • vroeger: stand-alone special-purpose systemen • nu: alles is Web-based • van authoring naar designing en dan naar generating • van statisch naar dynamisch • van single site naar portals • van read-only naar interactief en vaak ook collaboratief
Drie Generaties Web • 1: door auteur geschreven HTML • eenvoudig, eenvormig interface • grote onderhoudsinspanning • niet geschikt voor veranderende info • 2: automatisch genereren van info • eerst met templates (en databases) • later met XML en XSLT transformaties • 3: automatische verwerking van info • expliciete meta-data (RDF) • afspraken over betekenis (ontologieën)
Web-based IS • Web-browser als front-end • Database als back-end • Ontwerp van: • datastructuren (vgl. ER-modelleren) • presentatie (layout) • navigatie • Implementatie: • on-line (directe database toegang) • off-line (uit database gegenereerd)
RMM Relationship Management Methodology • basis: entity-relationship modellering • transformatie van datamodel naar een data+navigatiemodel • RMDM: Relationship Management Data Model geeft objecten en navigationele verbanden weer
RMDM • (applicatie)domein model primitieven • entiteiten • attributen • verbanden • slices om grote objecten (met vele attributen) op te splitsen in kleinere eenheden met (samenhangende) attributen
Toekomst van het Web • gemeenschappelijke syntax • HTML: een vaste set tags maakt het moeilijk om informatie-elementen te benoemen • XML: laat toe datastructuren te definiëren: • tags met vrij te kiezen namen • vrij te kiezen attributen • eenvoudige definitie: DTD • uitgebreide definitie: XML-Schema
<skills> <people> <person> <name>Bob</name> <know-how>Quilt</know-how> </person> <person> <name>Peter</name> <know-how>Quilt</know-how> <know-how>XML-GL</know-how> </person> </people> <seminars> <seminar> <topic>Quilt</topic> <participant> <name>Karin</name> <name>Alice</name> </participant> </seminar> </seminars> </skills>
Toekomst van het Web • beschrijving van betekenis:RDF • resource: verwijst naar een informatie-item, vb. via een URL • property type: naam van een eigenschap van de resource • value: waarde voor die eigenschap • voorbeeld: resource=URL van webpage, property type=“author”, value=“John Smith”
<?xml:namespace ns = "http://www.w3.org/RDF/RDF/" prefix = "RDF" ?> <?xml:namespace ns = "http://purl.oclc.org/DC/" prefix = "DC" ?> <?xml:namespace ns = "http://person.org/BusinessCard/" prefix = "CARD" ?> <RDF:RDF> <RDF:Description RDF:HREF = "http://uri-of-Document-1"> <DC:Creator RDF:HREF = "#Creator_001"/> </RDF:Description> <RDF:Description ID="Creator_001"> <CARD:Name>John Smith</CARD:Name> <CARD:Email>smith@home.net</CARD:Email> <CARD:Affiliation>Home, Inc.</CARD:Affiliation> </RDF:Description> </RDF:RDF>
Toekomst van het Web • betekenis: ontologieën • ontologie = een woordenschat met daaraan verbonden betekenis • mogelijkheid om synoniemen, specialisaties en andere verbanden te definiëren • gebruik van dezelfde ontologie = overeenkomst over wat de woorden (tags, attributen) betekenen
Toekomst van het Web • Logica: om conclusies te trekken • nodig bijv. in electronic commerce (wat betekenen berichten die klant en leverancier uitwisselen?) • Einddoel: vertrouwen in de betekenis van communicatie tussen Web-systemen, en daardoor mogelijkheid tot automatisering met agents
XML Querying (in XQL): //person/name[../know-how="Quilt"] $union$ //seminar[topic="Quilt"]/participant/name
Hera project • doel: ondersteun ontwerp (specificatie) van WIS met “hypermedia access” • data afkomstig uit heterogene legacy informatiesystemen of het WWW • multimedia-data • customization + personalization • nadruk op navigatie en relaties partners: CWI en Philips
Hera applicaties • onroerend-goed verkoop • medewerkers-databases • museum-databases • post-order-catalogi • veilingen • EPG (elektronische TV-gids)
XML querytaal • XML voor data-uitwisseling op het Web • W3C probeert standaard te ontwikkelen: XML Query Working Group • XML Query Data Model
XML data <dbgroup> <member> <name>Smith</name> <age>28</age> <office><building>A</building> <room>6</room></office> </member> .. <member> <name>Clark</name> <age>35</age> <office><building>A</building> <room>7</room></office> </member> </dbgroup>
XML-QL • Graph-based • SELECT-WHERE like SQL • Features from semistructured data • Regular path expressions WHERE <member> <name> $n </name> <age> $a </age> <office><building> $b </building><room> $r </room></office> </member> ELEMENT_AS $m IN “www.a.b.c./dbgroup.xml” a < 30 CONSTRUCT $m
Lorel • Literal trees • Extension of OQL SELECT db.member FROM dbgroup db WHERE db.member.age < 30
XQL • Extension of XSL pattern language (now XPath) • Origin in document processing community • Result always preserves document ordering and hierarchy member [age < 30]
Quilt • Small implementable language for W3C • For data from various sources • XML-QL, XQL, SQL, OQL • Tree-like data model FOR $m IN document (“www.a.b.c/dbgroup.xml”)//member WHERE $m/age < 30 RETURN $m
Other XML query languages • XML-GL • XQuery • XPointer • XML Algebras
XPath • Path expressions in OO databases /Students/Student/Status • Semistructured: • missing parts /Students//Status • conditions /Students/Student[Status=“U4”] • Indexing, wildcards • Selection, string manipulation, aggregation, attribute existence, union
XQuery • http://www.w3.org/XML/Query • “the” standard for XML querying
RDF Query Language • Querying RDF metadata • SQL/XQL style approach, viewing RDF metadata as relational or XML database [RDF Query Specification (IBM)] • viewing Web descr. by RDF metadata as knowledge base, applying knowledge representation and reasoning techniques [W3C related]
Web programming • Fixed (HTML) pages • Style sheets • Client-side programming (javascript, applets) • Server-side programming: • CGI • JAVA servlets • HTML++ / XML++ (SSI: php, asp, jsp, xsp)