1 / 20

Hypertekstijärjestelmien arkkitehtuurit ja mallit

Hypertekstijärjestelmien arkkitehtuurit ja mallit. 8.4.1999. Geneeriset mallit. Yleisesti hypertekstijärjestelmässä voidaan erottaa kolme eri kerrosta (layer): Esityskerros, käyttöliittymä (presentation layer) Hypertext Abstract Machine HAM: solmut ja linkit

Download Presentation

Hypertekstijärjestelmien arkkitehtuurit ja mallit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hypertekstijärjestelmien arkkitehtuurit ja mallit 8.4.1999 Porin korkeakouluyksikkö

  2. Geneeriset mallit • Yleisesti hypertekstijärjestelmässä voidaan erottaa kolme eri kerrosta (layer): • Esityskerros, käyttöliittymä (presentation layer) • Hypertext Abstract Machine HAM: solmut ja linkit • Tietokantataso: tallennus, tietoliikenne (verkkoyhteys) • Yksityiskohtaisempi hypermedian abstraktio on Dexter Hypertext Reference Model Porin korkeakouluyksikkö

  3. Tietokantakerros • Perinteinen tiedon varastointi levylle, optiselle tallennusmedialle, verkkoon etc. • Tietokannan hallinta, käyttöoikeudet, varmistukset • Tällä tasolla linkit ja solmut ovat tieto-objekteja, joiden sisällöllä ei ole merkitystä. Porin korkeakouluyksikkö

  4. HAM kerros • Tässä kerroksessa tietokannassa olevat tietoalkiot (data) saavat (abstraktin) merkityksen solmuiksi ja linkeiksi. • HAM-kerros sisältää konseptit, joiden avulla voidaan solmujen välille rakentaa linkki ja seurata linkkejä. • HAM-kerros tunnistaa solmujen ja linkkien attribuutit. • HAM = hypermedian abstraktio, laitteistoriippumaton kuvaus hypermedian rakenteesta Porin korkeakouluyksikkö

  5. Esityskerros • Kerroksen tehtävänä on toimia käyttöliittymänä hypermediajärjestelmälle - HAM:n tarjoamien palvelujen avulla esityskerros näyttää solmujen sisällön ja linkit käyttäjälle mielekkäällä tavalla. • Esityskerrokseen kuuluu mm. navigointityökalut Porin korkeakouluyksikkö

  6. Dexter Hypertext ReferenceModel • Abstrakti synteesi eri hypermediaohjelmistoista • Pohja hypermediasovellusten suunnitteluun • Ensimmäinen versio Dexterin majatalossa New Hampshiressä 1988 • Tehtiin formaalisella määrittelykielellä (Z) • Kts. esim. Communications of the ACM, February 1994, Volume 37, Number 2. Porin korkeakouluyksikkö

  7. Dexter Hypertext Reference Model Ajo-aikainen kerros (hypertekstin esittäminen) Esittämiseen liittyvät spesifikaatiot Tietokantakerros (solmu- ja linkkitietokannat) Ankkurointi Komponentti kerros (komponenttien sisäinen rakenne) Porin korkeakouluyksikkö

  8. Dexter Hypertext... • Dexter keskittyy tietokantakerroksen abstraktioon ja sen rajapintoihin- esityskerros ja komponettikerros ei kuulu mallin piiriin. • Komponettikerroksessa esitettävän datan rakenne voidaan toteuttaa muilla malleilla (esim. SGML:n tai XML:n avulla) • Tietokantakerros muodostuu komponenteista (solmut, linkit ja komposiitit), ankkuroinnista ja komponentin esittämiseen liittyvistä spesifikaatioista. Porin korkeakouluyksikkö

  9. Dexter hypertext... • Komponentin esitystapa voi olla komponentin ominaisuus (attribuutti) - esitystavan ai tarvitse riippua vain esittävästä ohjelmasta (selailijasta) • Esimerkiksi opettajalle ja oppilaalle voidaan sama komponentti näyttää/esittää eri tavoin. Porin korkeakouluyksikkö

  10. Tietokantakerroksen malli • Tietokannassa äärellinen joukko komponentteja • Kaksi funktiota resolver ja accessor, jotka huolektivat komponentin “hakemisesta” tietokannasta. • Komponentti = atomi, linkki, tai komposiitti (joukko komponentteja) • Jokaisella komponentilla on globaali yksikäsitteinen tunniste UID. • Component_Data := Accessor(UID) palauttaa UID:ssa määritellyn komponentin. Porin korkeakouluyksikkö

  11. Tietokantakerroksen malli jatk. • Aina ei voida hakea komponenttia UID:n perusteella. • Tehdään linkki kaikkiin matriisi-sanoihin. • Tällöin linkki pitää dynaamisesti luoda resolver-funktion avulla. • UID := Resolver(component specification) • Component specification voi olla esim. hakusana, yleisemmin komponentin attribuutti • Resolver ei aina palauta mitään UID:tä • Resolver on identiteettifuntio, jos komponentti spesifioidaan UID:n avulla. Porin korkeakouluyksikkö

  12. Rajapinnat • Ankkuri muodostuu ankkurin tunnisteesta ja ankkurin arvosta (anchor id, anchor value) • Ankkurin arvo määrittelee sijainnin (merkki-data), alueen (kuva-data), tai elementin komponentin sisäisessä rakenteessa. • Ankkurin arvo on merkityksellinen vain komponettikerroksen sovelluksille • Dokumenttia editoitaessa ja ankkurin sijainnin muuttuessa (value) tunniste (id) pysyy kuitenkin samana Porin korkeakouluyksikkö

  13. Specifier • Specifier koostuu komponenttispesifikaatiosta, ankkuri id:stä, linkun suunnan määräävästä kentästä ja esitysspesifikaatioista. • Se määrittelee komponentin sisällä linkin paikan. • Linkki muodostuu nyt kahdesta tai useammasta speciefier-elementistä. • Mahdollistaa moninkertaiset linkit • Linkin suunta: TO, FROM, BIDIRECTIONAL, NONE Porin korkeakouluyksikkö

  14. Component_Info Attributes Presentation_Specifications Anchors Value ID #1 Content Tämän komponentin sisältö ja tässä on linkkiankkuri. Specifier Component_Spec #3346 Anchor_ID #1 Direction: FROM Presentation_Specifications Specifier Component_Spec #4112 Anchor_ID #1 Direction: TO Presentation_Specifications Component_Info Attributes Presentation_Specifications Anchors Value ID #1 Content Tässä on sisältöä ja tässä. Atomi #332 Atomi #409 tekstiä Linkin abstraktio Dexterin mallissa Atom #3346 Composite #4112 ‘resolves to’ Link #9981 ‘resolves to’ Porin korkeakouluyksikkö

  15. Edellisen esimerkin abstraktio <hypertext> <component> <type>text</type> <uid>3346</uid> <data>Tämän komponentin sisältö ja linkkiankkuri</data> <anchor> <id>#1</id> <location>d13</location> </anchor> </component> Porin korkeakouluyksikkö

  16. Esim. jatkuu <component> <type>text</type> <uid>4112</uid> <data>Tämän komponentin sisältö ja linkkiankkuri</data> <anchor> <id>#1</id> <location>d13-19</location> </anchor> </component> Porin korkeakouluyksikkö

  17. Esim. jatkuu <component> <type>link</type> <uid>9981</uid> <specifier> <component_uid>3346</component_uid> <anchor_id>#1</anchor_id> <direction>FROM</direction> </specifier> <specifier> <component_uid>4112</component_uid> <anchor_id>#1</anchor_id> <direction>TO</direction> </specifier></component></hypertext> Porin korkeakouluyksikkö

  18. Tietokantatason operaatiot • CreateComponent, CreateAtomicComponent, CreateLinkComponent, CreateNewComponent • DeleteComponent, ModifyComponent • GetComponent kutsuu accessor-funktiota ja palauttaa komponentin (saa parametrikseen komponentin UID:n) • AttributeValue, SetAttributeValue, AllAttributes • LinksToAnchor: Palauttaa joukon linkkejä, jotka viittaavat ankkuriin • LinksTo: Palauttaa niiden linkkikomponenttien UID:t, jotka osoittavat parametrina saatuun komponenttiin Porin korkeakouluyksikkö

  19. Ajoaikaisen kerroksen operaatiot • openSession, openComponents, closeSession • presentComponent, deleteComponent, newComponent • followLink • unPresent, editInstantiation, realizeEdits Porin korkeakouluyksikkö

  20. Mihin malleja tarvitaan • Uusien hypermediasovellusten suunnitteluun • Vanhojen hypermediasovellusten arviointiin • Hypermedian standardointiin • Standardoidaan data (solmut, linkit) • Standardoidaan HAM-kerros • Esimerkki: HyTime Porin korkeakouluyksikkö

More Related