Semantiline Integratsiooni Platvorm Veebividinate Suhtlemiseks

Date

2010

Journal Title

Journal ISSN

Volume Title

Publisher

Tartu Ülikool

Abstract

Semantiline integratsiooni platvorm veebividinate suhtlemiseks on raamistik mashup-tüüpi veebirakendusel suhtlemise võimaldamiseks erinevate lõdvalt seotud veebikomponentide (veebividinate) vahel. Mashup-tüüpi rakendused kasutavad ja kombineerivad olemasolevaid veebiressursse, peamiselt erinevaid vidinaid (widgets ing. k.). Praegused mashup-platvormid ei toeta sõnumite vahetust vidinate vahel, kui vidinad on loodud ja hallatud erinevate loojate poolt ning ei mõista üksteiste poolt saadetud sõnumeid. See piirab tunduvalt keerukamate mashup-rakenduste loomist, kui ei ole võimalik kombineerida andmeid erinevatest allikatest (näiteks kolmandate osapoolte vidinate abil) nii, et neid allikaid oleks võimalik omavahel kombineerida, näiteks luua rakendusi, kus erinevad vidinad suudavad omavahel interaktiivselt andmeid vahetada. Antud magistritöö pakub välja lahenduse, mis integreeriks semantiliselt erinevate vidinate poolt saadetud andmed, nii et erinevad vidinad oleks võimelised omavahel andmeid jagama. Kõikide vidinate poolt vahetavate sõnumite andmeelemendid seotaks erinevate ontoloogia terminitega, mis võimaldaks sõnumite sisu masinloetavaks ja –arusaadavaks muuta, nii et saadetud sõnumitest oleks võimalik korjata kokku kõik vajalikud andmeelemendid, milleks oleks võimalik koostada uusi sõnumeid. See võimaldaks kombineerida erinevate vidinate poolt saadetud andmeid ja luua uusi sõnumeid erinevatest allikatest kombineeritud andmetest ning seejärel saata loodud sõnumid edasi nendele vidinatele, kelle jaoks on need andmed kasulikud. Lahendus vidinatevahelise koostöö hõlbustamiseks realiseeriti kasutades raamistikku OpenAjax Hub, mis on keskne sõnumite jaotur (hub ing. k.) lubamaks erinevatel vidinatel jaoturi külge kinnituda ja jaoturi kaudu omavahel sõnumeid vahetada. Jaoturi kasutamine võimaldab küll vidinatel omavahel sõnumeid vahetada, kuid ei lahenda probleemi, kui vidinad kasutavad sõnumite vahetamiseks erinevaid andmeformaate ja –struktuure. Lahendusena realiseeriti magistritöö raames eraldiseisev vidin (nimega Transformatsioonividin ehk Transformer Widget ing. k.), mis ühendub jaoturi külge ja agregeerib andmeelemente kõikidest sõnumitest, mida vidinad välja saadavad, ning genereerib uusi sõnumeid agregeeritud andmeelementidest, mida saab saata nendele vidinatele, mis oskavad kogutud andmeid vastu võtta ja neid kasutada. Magistrtöö raames defineeriti hulk reegleid, millega on võimalik kirjeldada sõnumite sisu ja määrata iga sõnumis esinev andmeelement vastavusse ontoloogia terminiga. Nende reeglite põhjal on võimalik luua rakenduse konfiguratsioone, mille põhjal transformatsioonividin oskab vidinate poolt saadetud sõnumeid interpreteerida ja neist andmeelemente koguda, mille põhjal uusi sõnumeid genereerida. Transformatsioonividina kasutatavust testiti näidisrakenduse peal, mis koosnes kolmest vidinast, mis omavahel otse suhelda ei osanud. Testi eesmärk oli teha kindlaks, kas transformatsioonividinat on võimalik sellelaadsete stsenaariumite puhul kasutada, kus olemasolevad vidinad ei saa üksteiste poolt saadetud sõnumitest aru. Testi käigus loodi näidisrakendusele sõnumite konfiguratsioon, mis kirjeldas vidinate poolt saadetud sõnumite semantika ja struktuuri, mis võimaldas transformasioonividinal vidinate poolt saadetud andmeid transformeerida vidinatele arusaadavale kujule, nii et kui üks vidin saatis sõnumi, mis sisaldas andmeid, mida mõni teine vidin oskas kasutada, siis transformatsioonividin genereeris saadud andmetest uue sõnumi ja saatis selle edasi vastavale vidinale. Näidisrakenduse test oli edukas ja kinnitas transformatsioonividina kasulikkust selliste probleemide lahendamisel.
Semantic integration platform for web widgets communication is a framework for providing collaboration capabilities between loosely coupled Web components (called widgets) in a mashup-like Web application. Mashups are Web applications that allow reuse of excising resources by combining different widgets that use data from various sources in the Web. Current mashup platforms do not support collaboration between different widgets, especially if those widgets have been developed and maintained by different vendors and are not able to interpret messages sent by other widgets. This limits the creation of more sophisticated mashups if collaboration between different independent components is not possible where Web widgets could interactively share and exchange data between each other. This thesis tries to solve the problem of making the data published by a widget on a Web application available to all the other widgets on the Web application so that the widgets could share information with each other. That makes it possible to interactively combine data from various sources to allow collaboration between loosely coupled components on a Web application. The thesis proposes a solution for aggregating data from messages sent by different widgets to generate new messages to widgets which could use the combined data. The main problem is collecting useful data from the exchanged messages and transforming the collected data into new messages using various data structures and formats interpretable by widgets that are interested in that data. Integrating and sharing data from various sources is the main research problem in the field of semantic integration and this thesis proposes one solution for sharing data between independent Web widgets on a Web application. A solution of this problem proposed in the thesis is built on the OpenAjax Hub framework that provides the means for Web widgets to exchange messages between each other. OpenAjax Hub provides a central hub that allows messaging between widgets that connect to the hub and subscribe and publish related messages. The problem rises in the use of different data structures in messages exchanged by widgets developed by different vendors. Even though the widgets can use the hub for exchanging messages, the content of exchanged messages remains unknown for the widgets and they are not able to interpret the messages that are exchanged through the hub. The solution proposed and implemented in this thesis is a JavaScript application built as a Web widget that is connected to the OpenAjax messaging hub on a Web application to transform all the exchanged data to be interpretable to every widget in the application. The proposed widget is called Transformer Widget and it uses semantic integration to transform data. The Transformer Widget is connected to the hub as other widgets and, while staying invisible, it listens to all of the messages exchanged by other widgets. Using preconfigured mappings which help the Transformer Widget to identify data elements with their meanings in messages, it aggregates data elements to generate new messages that can be sent to widgets. Mappings describe the structure and the semantics of the messages that are being exchanged through the hub. Mappings contain descriptions of atomic data elements in the messages where each atomic data element is matched with a term in an ontology that describes the meaning of that particular data element. This allows automatic understanding of the content of the exchanged messages regardless of which data structures are used in the messages. It is then possible to collect atomic data elements from the received messages to generate new messages that can be sent to the widgets that could interpret those messages. This solution makes it possible to build complex Web applications (i.e. mashups) using independent Web components (e.g. widgets) that could collaborate and share data with each other.

Description

Keywords

Citation