Helsingin yliopisto, TKTL Tietokantojen perusteet, s 2000 WWW-tietokantasovellukset Harri Laine 1. vapaamuotoiset tiedot

Samankaltaiset tiedostot
WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

Digitaalisen median tekniikat xhtml - jatkuu

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

Digitaalisen median tekniikat xhtml - jatkuu

Taustaa. CGI-ohjelmointi

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä.

Lomakkeet HTML5. Elina Ulpovaara. Testaus: IE9 Firefox7 Opera11 Chrome

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Digitaalisen median tekniikat. JSP ja XML

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Testidatan generointi

ICT1TN004. Lomakkeet. Heikki Hietala

Järjestelmäarkkitehtuuri (TK081702)

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys


Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

Tietokannan webbikytkentä. Janne Petäjä

Action Request System

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Harri Laine 1. Digitaalisen median tekniikat, s2007 HY/TKTL, palvelinohjelmointi_1. Palvelinohjelmointi

ASP ja DHTML Seppo Räsänen

KESKUSTANUORTEN NETTISIVUT- OHJEITA PIIRIYLLÄPITÄJÄLLE 1. KIRJAUTUMINEN

TIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G

KIURU Tietotekniikan sovellusprojekti

TimeEdit opiskelijan ohje TimeEdit-instructions for students from this link

HSMT Web-sovellustekniikoista

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Tietokannan luominen:

VERKKOKÄYTTÄJÄN OPAS. Tulostuslokin tallennus verkkoon. Versio 0 FIN

eassari harjoitteluympäristön yleisrakenne

IHTE-1900 Seittiviestintä

IHTE-1900 Seittiviestintä

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Hirviö. Design Patterns

Käyttöohje. AssariXP. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

PIKAOHJE Web of Science tietokantojen käyttöön

Automaster tai MBS. 2. ODBC - ajurin asennus (jos ei ole jo asennettu)

Paavo Räisänen. WampServer palvelimen asennus ja käyttö Eclipsen kanssa, sekä ensimmäinen FTP yhteys.

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

commerce_paytrail_fi Paytrail maksumoduuli Drupal Commerce - verkkokauppaan

Verkkosivut perinteisesti. Tanja Välisalo

1 Kirjautuminen ja Käyttöliittymä Kirjautuminen Käyttöliittymä Uuden varauksen tekeminen Normaali varaus...

INTINU13A6 Java sovellukset

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

ARVO - verkkomateriaalien arviointiin

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

KÄYTTÖOHJE. Servia. S solutions

Microsoft Visual Studio 2005

CISS Base Excel raporttien määritys Käyttäjän käsikirja. CISS Base Käyttäjän Käsikirja Econocap Engineering Oy 1

RDBMS - Yhteyskäytännöt

TermBase NET versio (Beta)

Projektinhallintaa paikkatiedon avulla

Matematiikan oppifoorumi Käyttöohje

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

HSMT J2EE & EJB & SOAP &...

Visual Basic -sovelluskehitin Juha Vitikka

HOJ J2EE & EJB & SOAP &...

CSS - tyylit Seppo Räsänen

CLOUDBACKUP TSM varmistusohjelmiston asennus

OFFICE 365 OPISKELIJOILLE

Loppuraportti. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Tietokantojen hallinta

Kurssin hallinta -työväline

ISACA Finland OWASP The OWASP Foundation. Timo Meriläinen Antti Laulajainen.

Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript)

FuturaPlan. Järjestelmävaatimukset

Johdatusta selainohjelmointiin

Digitaalisen median tekniikat, k2004 HY/TKTL, palvelinohjelmointi_1 21/04/2004. Harri Laine 1. Palvelinohjelmointi. Staattinen www-sivu

Tyylien käyttö. <LINK href="mystyle.css" rel="stylesheet" type="text/css"> 5 WWW-hypermedian perusta: HTML

Digitaalisen median tekniikat. Palvelinohjelmointi Harri Laine 1

Digitaalisen median tekniikat. Palvelinohjelmointi

Metatiedot organisaatioiden sisällönhallinnassa

Tietokanta (database)

Digitaalisen median tekniikat Harri Laine 1

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

Settings-sivun kautta on mahdollista muokata Kirjastokarttapalveluun liittyviä kirjastokohtaisia asetuksia.

SeaMonkey pikaopas - 1

CMS Made Simple Perusteet

Visma Nova. Visma Nova ASP käyttö ja ohjeet

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Office 365 palvelujen käyttöohje Sisällys

TIEDONHAKU INTERNETISTÄ

Navistools Standard. Navistools

206 Verkkosivun tuottaminen finaalitehtävät

Luento 3. Jouni Ikonen - Jouni.Ikonen lut.fi

Sivuston tiedotmysiteworthcheck.com

Hakukoneoptimoinnin ABC

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Joomla pikaopas. Yksinkertainen opas, jossa neuvotaan esimerkkisivuston teko Joomla julkaisujärjestelmällä vaihe vaiheelta.

RATKI 1.0 Käyttäjän ohje

Webpalvelin muistitikulle - Ohje

Transkriptio:

Relaatiotietokantaan tallennetaan määrämuotoista tietoa Vapaamuotoisen tekstin talletukseen tekstitietokannat hakuindeksejä saattavat käyttää relaatiotietokantaa tekstin tallentamiseen rivipohjainen tai dokumenttipohjainen tallennus Vähemmän vapaamuotoisen materiaalin esitysmuotoja HTML dokumentit tallennettu tiedostojärjestelmään dokumentit kytkettävissä yhteen hyperlinkkien avulla HTML -kieli määrittelee dokumentin teknisen rakenteen (otsakkeet, kappaleet, taulukot, ) ulkoasun pääpiirteet - selain päättää yksityiskohdat HTML on rakenteisten dokumenttien määrittelyyn tarkoitetun SGML-standardin sovellus SGML-on merkkauskielimäärittely Dokumentin elementit merkataan: alkumerkki - loppumerkki <element> elementti </element> HTML:ssä elementit rakenne-elementtejä <h1>tason 1 otsake</h1> <table><td>taulukkoalkio</td> </table> HTML-dokumenttia luetaan selaimella (browser) HTML-dokumentti voi nykyään sisältää tekstiä, kuvia, ääntä, videota, suoritettavia ohjelmia HTML-dokumentti on luettavissa missä tahansa ei sidoksia tiettyyn käyttöympäristöön tallennettavissa minne tahansa Internet/intranet -pääsy Internetin kautta pääsy miljardeihin HTMLdokumentteihin - valtava dokumenttikanta Ongelmana tieton löytäminen valtavasta dokumenttikannasta HTML-dokumenttikantaan ei voi soveltaa SQL-tyyppistä hakua select tieto from dokumenttikanta where asia= haluttu sillä HTML:ssä ei asianmukaista merkintää. HTML-dokumenttikantaan on rakennettu tekstitietokantatyyppisiä hakuindeksejä esim. Altavista, Google, HotBot Hakuindeksien toiminta vastaa lähinnä SQLkyselyä select URL from dokumenttikanta where dokumentti like %hakusana% ; Saatavia dokumentteja on yleensä hyvin paljon ja suurin osa ei ole sitä mitä etsitään Eri hakukoneet järjestävät tuloksen eri tavoin ei järjestystä, uusimmat ensin, eniten viitatut ensin Harri Laine 1

XML on asianperusteiseen merkkauseen perustuvan standardi - SGML:n yksinkertaistus Tietylle dokumenttityypille, vaikkapa rakennussuunnitelmalle, voidaan määritellä oma XML-standardia noudattava esityskielensä. Rakennussuunnitelmakielessä (olkoon se RSXML) voisi olla elementtejä kuten <yleispiirustus>, <sähkösuunnitelma>,<huone>,<katto>, <seinä>, <ikkuna>, jne Perus XML ei määrittele esitysmuotoa kuten HTML, vaan esitysmuotoja voidaan määritellä erillisen esitysmäärittelyn (tyylitiedoston) avulla. Samalle dokumentille tai pikemminkin dokumenttityypille voidaan laatia useita erilaisia esitysmäärittelyitä. XML-selain osaisi esitysmäärittelyjen perusteella näyttää dokumentin. XML mahdollistaa asiapohjaisen haun select URL from RSXML-dokumenttikanta where pelti in rakennesuunnitelma.katto.materiaali Tällaiset haut edellyttävät monipuolisempia hakuindeksejä WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa, jos sama tieto esiintyy usealla sivulla Tiedon löytäminen vaikeaa, jollei sisäistä sivun laatijan käyttämää jäsennysmallia. Jäsentäminen eri tavoin johtaa ylläpito-ongelmiin WWW ja tietokannat WWW sivun generointi Ylläpitoa helpottamaan: generoidut sivut Sivut generoidaan ohjelmallisesti tietokantaan sisältyvän aineiston perusteella ajoittain esimerkiksi aina kun dataa on muutettu kerran viikossa aina pyydettäessä (=kun joku pyytää sivua) Pyydettäessä laadittavat dokumentit rakennetaan erillisten palvelimessa toimivien ohjelmien avulla. CGI (common gateway interface) Asiakas linkki (+ parametrit) Generoitu sivu Palvelin ohjelma Harri Laine 2

CGI CGI:n kautta käynnistettävälle ohjelmalle voi välittää parametreja kirjoittamalla ne URL:iin teos.haku?isbn=0-123456-67-1&kkoodi=fin antamalla ne lomakkeella ohjelma saa parametrit standardisyöttövirrassa tai ympäristömuuttujan kautta palvelimessa toimiva ohjelma voi tehdä mitä tahansa (kirjata tilauksen, tuottaa uuden www-dokumentin, laskuttaa 1Mmk asiakkaan luottokortilta, ) CGI CGI-ohjelmat muodostuvat käynnistyessään aina oman prosessinsa, jonka ympäristö (tilatiedot) katoaa prosessin päättyessä CGI-ohjelma ei voi säilyttää yhteyskohtaista tietoa, joka välittyisi kutsukerrasta toiseen tällöin esimerkiksi CGI-ohjelman luomat tietokantayhteydet katoavat ja ne joudutaan perustamaan uudelleen seuraavan kutsun yhteydessä CGI CGI:lle vaihtoehtona on esitelty Java Servlet - tekniikkaa, jossa palvelinprosessi onkin sitkeä ja jää henkiin ja uudelleentavoitettavaksi suoritettuaan palvelun, mahdollistaa esim. tietokantayhteyksien säilyttämisen, jolloin palvelu nopeutuu. Java Servlet tekniikassa parametrit välittyvät CGItekniikalla Jotkin WWW-palvelimet osaavat myös säilyttää prosessin tilan ja tietokantayhteydet omilla tekniikoillaan <FORM miten ja minne> lomakkeen kenttien määrittely </FORM> <FORM method= POST ACTION= HTTP://www.helsinki.fi/cgi-bin/ohjelma > lähettää lomakkeen tiedot ohjelma -nimiselle ohjelmalle hakemistossa cgi-bin <INPUT TYPE= tyyppi NAME= nimi VALUE= arvo > tyyppi: text - tekstikenttä radio - poissulkeva valintanappi (name kertoo ryhmän, johon nappi kuuluu) checkbox - valintanappi lisää tyyppejä: submit - lähetysnappi reset - tyhjennysnappi password - kuten text, mutta syötettävä teksti ei näy hidden -kokonaan piilossa oleva kenttä (näkyy source-muodossa) Harri Laine 3

Luettelo ryhmään ilmoittautuneista Kurssin nimi: Ryhmän numero: Henkilötunnuksilla: Tee lista Tyhjennä <hr><h2> Luettelo ryhmään ilmoittautuneista</h2> <Form Method= Get Action= ohjelman_url> Kurssin nimi: <input type= text name= kurssi size= 40 maxlength=40> <p> Ryhmän numero: <input type= text name= ryhma value= size=4 maxlength=4> Henkilötunnuksilla: <input type= checkbox name= cb1 value= tunnuksin ><p> <input type= submit value= Tee lista > <input type= reset value= Tyhjennä > </form><hr> Valikot <Select name= valikko size=5> <option selected>ensimmäinen <option>toinen. <option>kahdeskymmenes </select> Lomakkeen elementtejä vastaavat parametrit lähetetään ohjelmalle nimi=arvo -pareina yleensä siinä järjetyksessä kuin kentät on lomakkeella määritelty Lomake voi olla jonkin ohjelman generoima, näin voidaan rakentaa useasta lomakkeesta muodostuva käyttöliittymä lomake A lomake B lomake C ohjelma X ohjelma Y ohjelma Z Tarkistukset tehtävä palvelimessa Tarkistukset voi tehdä myös selaimessa jos käytettävissä on jokin skriptikieli esim. Javascript Sovelluslogiikkaa asiakaskoneeseen Aktiiviset komponentit Java sovelmat (applet) Javascript tarkistukset Active X, yms. Harri Laine 4

Tietokantasovelluksen rakenne, esim. käyttöliittymä sovelluslogiikka tiedot Selaimessa HTML + JavaScript Sovelluspalvelimessa CGI / Java Servlet / jokin muu Tietokantapalvelimessa SQL Palvelimessa suoritettavat CGI Servlet:it JavaScript ASP(Active Server Pages - Microsoft), JSP PHP (Personal Home Pages) Selaimessa suoritettavat JavaScript, VBScript Java sovelmat (Applet) Active X -komponentit Tietokantasovelluksen toteutustapoja Vaihtoehtoja: cgi-skripti ->tkhj ongelma tietokantayhteyden luominen aina uudelleen, jos samaan kantaan useita operaatioita voidaan tietenkin rakentaa erillinen yhteysmanageri, joka pitää yhteydet hengissä java servlet: -> tkhj yhteys voidaan säilyttää erityinen tietokantaa hyödyntävä wwwpalvelin, esim. Oracle Web Server Tietokantasovelluksen toteutustapoja Java-sovelma tai ActiveX-komponentti toimii selaimessa ja kommunikoi suoraan tietokantaohjelmiston kanssa Oracle Web Server pystyy käynnistämään CGI:n ohi suoraan tietokantaproseduureja ja välittämään niille kutsussa saadut parametrit valmiiksi purettuina proseduurin parametreiksi (yleensä CGI-ohjelmassa on erikseen purettava parametrit) tietokantayhteyden kuvauksessa määritellään, millä käyttäjätunnuksella tietokantaproseduuri suoritetaan URL:ssä nimetään käytettävä tietokantayhteys Oracle Web Server Kannankäsittely tietokantaproseduureilla Tietokantaproseduureja laadittaessa on käytettävissä erityiset ohjelmakirjastot html:n tuottamiseen htp-kirjasto sisältää tulostusproseduurin jokaista html-merkintää varten, sekä yleisen tulostus proseduurin print htp.print( Tulostettava teksti ); Harri Laine 5

Java Servlet ratkaisussa servlettiluokat perivät luokan HttpServlet. Tarjoaa palvelut parametrien arvojen purkamiseen tulostuksen ohjaukseen selaimelle Servlettejä ajetaan servlettiympäristössä (java virtualikone + kytkentä wwwpalvelimeen) Servletti toteutetaan luokkana. Servlettiympäristö lataa luokan vain kerran ja luo sille yhden ilmentymän. Palvelupyynnöt hoitavaa metoadia ajetaan säikeinä. palvelupyyntö palvelupyyntö servlettiympäristö servletti Palvelusäie, metodi doget Harjoitusohjelmisto (Java Servlet -ratkaisu) Aloitussivu Henkilötiedot Tilanne Vastauslomake Vanhat sivut HarkkaLogin StudReg TaskPage AnswerForm Lomakekäsittelijät (servletit) apuluokkia Message HarkkaLogin PInfo StudStatus StudReg Henkilötiedot Tilanne Vastauslomake Tinfo TaskPage AnswerForm AInfo Vanhat OInfo Analyzer HarkkaLogin StudReg TaskPage AnswerForm HttpDBServlet Anna yhteys DBConnectionBroker HttpServlet Servletit perustuvat Jserv-kirjaston HttpServlet-luokkaan ja Käyttävät hyväkseen yhteysallasta (jakelee avoimia tietokantayhteyksiä) Harri Laine 6