Vidinapõhiste veebirakenduste interaktiivne andmevahetusmehhanism.
Abstract
Tänasel veebimaastikul on kasvavaks trendiks veebilehtede vaheline sisu jagamine.
Staatilise sisu asemel kasutatakse üha enam vidinaid. Vidinad on taaskasutatavad
veebikomponendid, mis sisaldavad mingit konkreetset funktsionaalsust. Lihtsamad vidinad
on enamasti olekuta. Keerukamad vidinad oskavad veebirakenduses omavahel suhelda,
näiteks saates üksteisele sõnumeid. Nii saavad vidinad üksteist mõjutada ja seeläbi olla
mashup’i laadse veebirakenduse ehitusklotsideks, määratledes selle oleku. Kuna vidinad
on nõrgalt sidestunud komponendid, ei ole nad võimelised veebirakenduse olekut
salvestama.
Antud magistritöö pakub välja lahenduse veebirakenduse sees olevate vidinate vahetatud
sõnumite jäädvustamiseks ja taasesitamiseks, võimaldades seeläbi veebirakenduse olekut
salvestada ja sõpradega jagada. Lahendus baseerub jaoturipõhisel sõnumivahetusel,
kasutades tehnoloogiana OpenAjax Hub raamistikku. See tähendab, et kõik ühes
veebirakenduses olevad vidinad on jaoturiga ühenduses. Sõnumite salvestamiseks
kasutatakse Wookie nimelist vidinamootorit, mis võimaldab luua olekuga vidinaid ja seda
olekut ka salvestada.
Magistritöö raames realiseeritakse iseseisev vidin, mis „sillana“ ühendab neid kaht
tehnoloogiat. Sellest tulenevalt on realiseeritud vidina nimeks Wookie-OpenAjax Hub
Bridge. Loodud vidin kuulab kõiki jaoturisse saadetud sõnumeid ja salvestab need
andmebaasi. Kui sama vidina isend hiljem taaselustada, siis see vidin taasesitab kõik
andmebaasi salvestatud sõnumid jaoturisse. 39
Realiseeritud vidina kasutamiseks luuakse väike näidisportaal, mille sees olevad vidinad
omavahel sõnumeid vahetavad. Näidisportaal demonstreerib saadetud sõnumite
salvestamist ja taasesitamist, ning ka oleku jagamist suhtlusvõrgustikuga Facebook. Nowadays it is very common that modern web sites exchange content between each other
by means of syndication and aggregation. This is enabled through APIs, protocols, tools
and platforms. The recent trend in content processing is advancing towards more extensive
use of widgets along with static content. Although web sites usually use widgets to provide
added value to their users, simpler web sites like microsites can be built entirely from
widgets. Such kinds of widgets are usually stateless, but not necessarily autonomous. In
particular they may also be able to communicate with other components in the same web
application, including microsites, which are the key focus of this thesis. Because of the
loose coupling, the widgets themselves are not able to capture the state of the microsite,
whereas the microsite itself usually does not have a mechanism for storing its state.
However, messages exchanged during communication, determine the state of the
microsite.
This thesis describes a solution for storing and sharing the state of a microsite by record-
and-replay mechanism for messages exchanged by widgets of microsites. Furthermore, the
mechanism also allows sharing the stored state of a microsite between friends via social
networks. The latter enables user-initiated inter-application content delivery and state
exchange, which has been possible so far only between tightly integrated applications.