Liferay ja portletit

Me Faberconin sepät luotamme Java-tekniikkaan. Olemme tutkineet portaaliteknologiaa, sillä tarve laajoihin websovelluksiin tulee kasvamaan tulevaisuudessa. Vaatimustaso portaaliratkaisuille on todella korkea. Websovelluksien tulee toimia luotettavasti, ja Ajax-toiminnallisuus tarjoaa ratkaisun suorituskykyvaatimuksiin. Sovellusten tulee kestää suurta yhtäaikaista käyttäjäjoukkoa ja raskasta verkkokuormaa.

Portaalitekniikassa Java on edelläkävijä ja ehdottomasti tunnetuin portaaliratkaisu on Liferay, josta on tarjolla ilmainen CE-versio (Community) tai maksullinen EE-versio (Enterprise). Miksi portaaliteknologia on merkittävä webteknologia ja mitä etuja sen käyttö tuo?

Portaaliratkaisu sisältää paljon valmista. Esim. Liferayssa on mm. käyttäjien, ryhmien ja organisaatioiden hallinta käyttöoikeuksineen jo tehty. Takana on web-tai sovelluspalvelin, joka on yleisimmin Tomcat. Portaaliin kuuluu myös oma relaatiotietokanta, johon Liferayn tarvitsemat tiedot talletetaan. Liferay tarjoaa niin paljon ominaisuuksia, että monet käytännön sovellusratkaisut voidaan toteuttaa pelkästään Liferayta konfiguroimalla. Lisäksi Liferay toimii muiden valmisratkaisujen kanssa hyvin, liittymiä on mm. hakukoneisiin ja NoSQL-alustoihin. Liferaystä on kohtuullisen helppoa tehdä integraatioita olemassaoleviin järjestelmiin.

Portaalialusta on kehittäjälle vaikea, sillä monipuolisuus tuo auttamatta mukanaan monimutkaisuuden. Tästä johtuen Liferayssa on myös bugeja ja ominaisuudet vaihtuvat yllättävän paljon eri versioiden välillä. Oppimiskynnys on korkea ja korkealaatuinen sovellusten toteutus vaatii korkeaa osaamistasoa. Liferay on ikäänkuin Javan webtekniikan huipulla, jonne pääsemiseksi on hallittava paljon erilaisia tekniikoita, mitä käytetään yksinkertaisimmissa websovelluksissa. Osattava teknologiapino on hyvin korkea, aina webkäyttöliittymistä tietokannan hallintaan. Mutta kun nämä kaikki tekniikat hallitaan, on työn tuottavuus ja laatu korkeaa luokkaa. Samalla voidaan käyttää tehokasta välinettä, Liferayn IDEa.

Me Faberconissa olemme miettineet, miten käyttää vanhahkoa portaaliteknologiaa uusien, entistä korkeampien laatu- ja suorituskykyvaatimusten paineessa. Tällaisia vaatimuksia ovat mm. Ajax, Javascript-kirjastojen käyttö (jQuery sekä AngularJS) sekä SPA-sovellukset (Single Page Applications). Olemme kehittäneet ratkaisuja, joissa olemme pyrkineet erityisesti yksinkertaisuuteen ja käyttökelpoisuuteen. Vain luotettavia tekniikoita kannattaa käytännön työssä käyttää. Liferay ei suoraan tue näitä tekniikoita erityisen hyvin, joten ratkaisuja on mietittävä tarkoin. Edes toteutettavuus ei ole aina itsestäänselvää. Liferay portaalin kehittäjät ovat tiedostaneet näitä ongelmia ja seuraava versio, Liferay 7, lupaileekin jo SPA tukea, mutta valitettavasti sen julkaisu on viivästynyt.

Näitä ongelmia ja niiden ratkaisuja tulemme käsittelemään alkavassa blogisarjassa.