PowerPoint Presentation - Information Systems/is/doku.php?id=start

advertisement
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 specialpurpose 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
Volledig RMDM Schema
Toekomst van het Web
1. 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
2. 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>[email protected]</CARD:Email>
<CARD:Affiliation>Home, Inc.</CARD:Affiliation>
</RDF:Description>
</RDF:RDF>
Toekomst van het Web
3. 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
4. Logica: om conclusies te trekken
•
nodig bijv. in electronic commerce
(wat betekenen berichten die klant en
leverancier uitwisselen?)
5. 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)
Voorbeeld EPG (Philips)
Voorbeeld EPG (Philips)
Hera architectuur
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)
Download