Järjestelmäarkkitehtuuri (TK081702) Ajax 2000-luvun alkuvuosina selainsotien rauhoituttua ohjelmistotalot alkoivat kehittää selainten luoman uuden ohjelmointiympäristön käyttötapoja. Syntyi AJAX (Asynchronous Javascript And XML) eli kokoelma ohjelmointimenetelmiä, joilla tehostettiin tiedonsiirtoa selaimen ja palvelimen välillä ottaen huomioon selaimessa tapahtuvan paikallisen vuorovaikutteisen käsittelyn tarpeet. AJAX on saavuttanut laajan suosion, mutta tarkkaan määriteltyä AJAX-standardia ei vieläkään ole. Jokainen AJAX-kehityspakettien kymmenistä toimittajista on koodannut oman tuotteensa omalla tavallaan. Erot eivät ole suuria, mutta niitä on riittävästi, jotta ne estävät AJAX-pakettien ristiintoimivuuden. 1
Ristiintoimivuudella on merkitystä sovelluskehittäjälle, jonka on vaikea vaihtaa kehitysvälineitään. Kehityspakettien erilaiset vahvuudet ja heikkoudet voivat tehdä valinnasta vaikean. Korostuu etenkin monitoimittajaympäristöissä, joiden palvelimissa ajetaan useiden eri sovellusvalmistajien sovelluksia. Käyttäjän kannalta ei suurtakaan merkitystä, koska AJAXilla tehdyt sovellukset kyllä toimivat uusimmilla selainversioilla moitteettomasti. Itse asiassa pitäytymällä AJAXissa sovelluskehittäjä vapautuu monista selainriippuvuuksista, jotka aiheuttaisivat muuten ongelmia. AJAXin kohdallakin on tapahtumassa selvää standardoitumista. Open AJAX Alliance (www.openajax.org) on AJAXin käyttöä edistävä valmistajien yhteenliittymä, johon kuuluvat (lähes) kaikki merkittävät. 2
Konsortion tavoitteena ei ole määritellä tai standardoida mitään tiettyä kehityspakettia. Kiinnostus AJAX tekniikkaan on herännyt myös yhä useammassa loppukäyttäjä-yrityksessä. AJAX on tapa ohjelmoida AJAX ei ole uusi ohjelmointikieli AJAX on uusi tapa hyödyntää olemassa olevia standardeja AJAX perustuu JavaScriptiin ja HTTP-pyyntöihin AJAX mahdollistaa suoran yhteyden palvelimelle, XMLHttpRequest AJAX-teknologia yhdistää seuraavat olemassa olevat Web-tekniikat: HTML-kieli ja CSS-tyylit: tiedon esittäminen selaimessa, Document Object Model (DOM): näkymän muokkaaminen dynaamisesti selaimessa. 3
AJAX-teknologia yhdistää seuraavat olemassa olevat Web-tekniikat: XML-kieli ja XMLHttpRequest-rajapinta: tiedon välittäminen selaimen ja palvelimen välillä JavaScript (tai ECMAScript): toimintalogiikan toteuttaminen selaimeen. AJAX on selainpään tekniikkaa, joka riippumaton web-palvelimen toteutuksesta AJAX perustuu web-standardeille JavaScript XML HTML CSS Standardit ovat olleet käytössä vuosia AJAX mahdollistaa perinteisiä web-sovelluksia monipuolisempien ja käyttäjäystävällisempien sovellusten toteuttamisen Perinteisesti tiedon saamiseen palvelimelta käytetään GET/POST. Käyttäjän tulee valita Submit Odotetaan palvelimen vastauksena uuden tulokset sisältävän sivun latautumista 4
Kokosivun latautumisen myötä perinteiset web-sovellukset ovat hitaita ja eivät ole käyttäjäystävällisiä. AJAX toteutuksissa JavaScript muodostaa yhteyden suoraan palvelimelle JavaScriptin XMLHttpRequest-olion avulla. XMLHttpRequest-olio mahdollistaa tiedon siirtämisen selaimen ja palvelimen välillä lähettämättä sivua uudelleen Web-sivun käyttäjä ei havaitse taustalla tapahtuvaa tiedon vaihtoa selaimen ja palvelimen välillä. Samalla mahdollistuu sivun päivittäminen sivun lataamisen jälkeen. 5