Katselin tänään pitkästä aikaa missä eri portaalitoteutukset menevät ja millaisia kehitysaskeleita portaaliteknologiat ovat ottaneet eteenpäin sitten Alma-projektin aloituksen. Ja ennen kuin lopetat tämän postauksen lukemisen sen takia, että ajattelet että portaalit ovat mennyttä kauraa – eikä niillä ole mitään tarjottavaa yliopistolle, pyydän sinua odottamaan vielä hetken ja palaamaan ajassa taaksepäin.
Mikä olikaan – ja on edelleen – portaalien viehätys?
Portaalit tulivat ihmisten tietoisuuteen ja maailmalle esiin tilanteessa, jossa ihmiset yrityksissä ja muissa organisaatioissa joutuivat kamppailemaan kymmenien erilaisten tietojärjestelmien, tietokantojen ja tietolähteiden kanssa. Jokaisessa niistä oli luonnollisesti erilaiset käyttöliittymät, käyttölogiikka ja monesti myös eri käyttäjätunnukset. Portaaleista tarjottiin ratkaisua tilanteeseen, portaalin yhdistäessä sovellukset ja tietolähteet yhteiseen ympäristöön ja yhtenäisiin käyttöliittymiin. Ylläpitäjille, kehittäjille ja IT-johtajille portaalit tarjosivat helpotusta ympäristön parempana hallittavuutena ja erilaisten käyttöympäristöjen sekä tunnusten vähenemisenä.
Unelma ja tavoitteet eivät kadonneet minnekään, mutta toisaalta portaalit eivät myöskään lunastaneet lupauksia kaikkien mielessä. Portaaleista tuli möhköfantteja ja monimutkaisia kokonaisuuksia, joita käyttäjät eivät tykänneet käyttää.
Google ja muut kehittyvät verkkopalvelut muuttivat maailmaa – ja toisaalta myös nostivat tasoa jota verkkosovelluksilta voidaan vaatia. Verkkosovelluksista tuli entistä responsiivisempia käyttäjien operaatioille, kiitos Ajax-teknologioiden. Mashup-teknologiat aina RSS-feedeistä lähtien todistivat että portaalien ideat voidaan kuin voidaankin toteuttaa, ja oikein tehtyinä käyttäjät rakastavat käyttää niitä.
Omalla kohdallani käytän melkein päivittäin paria eri portaalisovellusta, joista tärkeimpänä on Netvibes-niminen eri uutisfeedejä yhdistävä portaali. Netvibesin läpi luen kaikki tärkeimmät uutiset useista kymmensitä eri lähteistä – miltä tahansa internettiin yhdistetyltä tietokoneelta. Käyttöliittymä toimii näpsäkästi, voin helposti drag & droppailla portletteja paikasta toiseen, esimerkiksi sen mukaan mitkä asiat kiinnostavat minua minäkin hetkenä enemmän.
Netvibesin ympärillä on oma pieni ekosysteeminsä, jossa sovelluskehittäjät voivat toteuttaa Netvibes-portaalissa ajettavia portaaleja, tai vastaavasti jakaa halutun sisällön ATOM tai RSS-feedinä, jotta käyttäjät saavat tiedon käyttöön portaalissa. Ei mitään uutta, mutta se toimii – vaikka se onkin portaali.
Portaalien vastaisku – toimivia Java-teknologioita oikeaan tarpeeseen
Portaaleita ei siis olekaan tarve kuopata, vaan kannattaa katsoa uusin silmin miten portaalien ajatukset olisi parasta toteuttaa nykyaikana. Java-ekosysteemissa rakastetaan standardeja, yhteisiä sopimuksia, sillä ne mahdollistavat yhteistoiminnan yli toimittajarajojen ja teknologiapinojen, yhdistämään parhaita paloja eri toimittajilta ja toiaalsta täydentämään tai korvaamaan paloja avoimilla ratkaisuilla silloin, kun ne ovat parhaita vaihtoehtoja.
Portaalimaailmaan liittyy muutama oleellinen standardi, joista on hyvä olla tietoisia.
JSR-168 ja JSR-286 ovat Java-maailman tärkeimmät portaalispeksit, sillä ne määrittelevät miten portaali – eli se ympäristö joka ottaa sovellukset sisäänsä – toimii ja keskustelee yhdessä portlettien – portaaliin tulevien sovelluksien – kanssa. JSR-168 on vanhempi speksi, mutta tarjoaa pohjan siihen mikä on portletin ja portaalin suhde. JSR-168:n on kuitenkin syntynyt aikana, jolloin www-sovelluksien uusia ominaisuuksia — tärkeimpänä ajax:in hyödyntäminen – ei vielä tunnettu, joten uudempi speksi JSR-286 täydentää sitä muutamalla merkittävällä laajennuksella.
Portaalissa joka tukee JSR-286 -speksin mukaisia portletteja, on mahdollista tehdä todella näpsäkästi toimivia portletteja, jotka päivittävät dynaamisesti omaa sisältöään java-scriptin avulla – ja osaavat kommunikoida toisten portlettien kanssa. Samalla sivulla olevat portletit voivat esimerkiksi reagoida siihen, että valitset toisessa portletissa organisaatiorekisteristä tietyn yksikön – ja näyttää sinulle automaattisesti esimerkiksi puhelinluettelossa ko. yksikön tiedot ja kolmannessa vaikkapa kaikki serverit, jotka on konehuoneessa rekisteröitä ko. yksikön käyttöön.
Pretty neat.
Alma ja sähköinen työpöytä
Portaaliajatukset tulevat jollain tasolla olemaan varmasti mukana myös sähköisessä työpöydässä, joten niiden teknologioiden ja periaatteiden opiskeleminen ei mene missään tapauksessa hukkaan. Alman kanssa epäonnistuimme siinä, että Alman merkitystä, tarkoitusta ja hyödyntämismahdollisuuksia ei koskaan käyty kunnolla läpi yliopiston eri ohjelmistokehittäjien tai toimittajien kanssa. Toisinsanoen vaikka Almaa ajateltiin integraatiopisteeksi sisällölle ja sovelluksille, on se jäänyt monessakin mielessä yksinäiseksi saarekkeeksi.
Tätä virhettä ei ole varaa tehdä enää uudestaan, ja yksi tapa lähteä liikkeelle siinä onkin parantaa Alman tilannetta – eli tehostaa sitä kuinka Almaan tuotetaan uusia sovelluksia. Alma toteuttaa tällä hetkellä suurimman osan JSR-168 – speksistä ja suunnitelmissa olisi toteuttaa ennen pitkää speksi kokonaan sekä samalla myös JSR-286-speksi. Vaatii kuitenkin aikaa, kunnes muutokset on tehty ja toiminnassa – mutta jo ennen sitä itse portlettien tekemistä on helppo harjoitella ja tehdä uusiin sovelluksiin valmiiksi myös portlet, jonka kautta ainakin päätoiminnot voidaan suoraan Almassa.
Sunin OpenPortalin portlet container täytttää sekä JSR-168 ja JSR-286 speksit, ja sisältää www-sovelluksen jonka avulla portletteja voidaan testata aivan kuin ne olisivat portaalissa. Allaolevasta linkistä löytyy esimerkki uusista ominaisuuksista portlet-speksissä – sekä linkit eteenpäin kuinka asentaa portlet container Glassfishiin ja kokeilla portletteja.
http://java.sun.com/developer/technicalArticles/J2EE/sdk_portletcontainer2/
Jossain vaiheessa kevättä tai muuten tämän vuoden aikana olisi tarkoituksena pitää vielä ohjelmistotuottajien kesken workshoppia, jossa voimme kokeilla ja harjoitella asioita yhdessä – sekä tietenkin keskustella siitä että mitä sähköisen työpöydän pitäisi tarkoittaa ohjelmistotuotannolle yliopistolla tulevaisuudessa.
Sitä ennen käsittelen asioita myös tulevissa blogipostauksissa.
Ehkä jopa esimerkein, jos sellaisille olisi kiinnostusta.
