Tietoarkkitehtuuri on kehittynyt yksittäisistä sovelluksista selainkäyttöisiin palveluihin. Tässä artikkelissa käsittelemme tietoarkkitehtuurin historiaa aina vuodesta 1978 tähän päivään saakka.
Vuonna 1978 Xerox oli tietojenkäsittelyn huippuosaaja. He keksivät, arkkitehtuuripatternin, joka mullisti sovelluskehityksen: Model-View-Controller. Tieto eristettiin uudelleenkäytettäväksi malliksi. Näkymät ja ohjauslogiikka voitiin räätälöidä kuhunkin tarpeeseen - jatkuvan kehityksen aikana - ilman massiivista refaktorointitarvetta. Yksittäiset sovellukset muodostivat palveluita, joita käyttäjä työpöydällään saattoi yhdistellä.
1990-luvulla elettiin järjestelmäkeskeistä aikaa. Sovelluksista oli kasvanut tuoteperheitä ja niiden vuorovaikutus oli entistä sujuvampaa. Palvelukeskeisyys teki tuloaan. Uusien käyttäjäläheisten palveluiden kehittäminen oli työlästä, koska palvelut olivat hajautettu erillisiin sovelluksiin. Kehitettiin Enterprise Architecture Integration -patterneja (EAI), jotta sovellusten jatkokehitys ja uudelleenkäyttö olisi mahdollista.
2000-luvun alussa Service-Oriented Architecture (SOA) yleistyi keskeiseksi menetelmäksi varmistaa palveluiden uudelleenkäytettävyys - myös palveluiden ohjauslogiikka oli uudelleenkäytettävissä. Sovelluskehittäjät saattoivat yhdistellä useita palveluita ja alustoja, luodakseen käyttäjäläheisiä sovelluksia. XHTML-vakiintuu universaaliksi sovellusnäkymäksi - yksi loppukäyttäjän sovellus: selain.
2010-luvulla palveluiden rinnakkaistus yleistyi. Monikerroksisten integroitujen palveluiden ylläpito, testattavuus ja jakeluvarmuus koettiin haasteeksi - palvelut olivat tiukasti sidoksissa toteutusteknologioiden vaatimiin alustoihin. Palveluiden rinnakkaistus oli keskeinen keino parantaa palveluiden laatua. Palvelualustat virtualisoituivat ja niiden myynti pilvipalveluina alkoi. Kehitysympäristöjen koko ja monimutkaisuus kasvoi - tarvittiin kokonainen rinnakkainen alusta.
Vuonna 2015 loppukäyttäjän selaimet toimivat keskeisinä suoritusalustoina, joihin ladataan HTML5-sovelluksia Internettiä selaamalla. Sovellukset ovat enää löyhästi sidoksissa niiden hyödyntämiin palvelualustoihin - palveluiden integrointi tapahtuu suoraan selaimessa. Palveluita voi siirtää eri alustoille ja päivittää saumattomasti. Niiden testaaminen ja kehittäminen mahdollistaa kevyemmät työkalut - tarvitaan vain staattinen HTML5-toteutus ja mahdollisesti kehitteillä olevan palvelun alusta - jo julkaistut palvelut voidaan integroida suoraan pilvestä. Microservices-arkkitehtuuri lyö itsensä läpi. Oletko valmiina?
Lähteet:
- http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
- http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1358011
- http://www.oracleimg.com/ocom/idcplg? IdcService=GET_FILE&dID=473067&dDocName=495182 (pdf)
- http://martinfowler.com/articles/microservices.html
- http://www.microsofttrends.com/2015/04/07/building-your-own-micro-service-apis-to-wrap-office-365-or-sharepoint-2013-for-javascript-web-developers