··· Teme propuse
Baze de date (native) XML | Agenţi Web
Baze de date (native) XML
-
Datar
Relaţiile dintre tabelele unei baze de date
se pot modela folosind RDF (Resource Description Framework) –
un cadru de descriere a resurselor, bazându-se pe
meta-limbajul XML. Se propune scrierea unui tool capabil
să genereze reprezentări RDF – denumite în
continuare RelDF – ale modelului relaţional
plecând de la baze de date existente, eventual studiindu-se
dacă se conformează principiilor normalizării.
-
RelVis
Documentele RelDF generate de aplicaţia
anterioară vor putea fi apoi vizualizate ca figuri SVG
(Scalable Vector Graphics) – un format bazat pe XML pentru
reprezentarea bidimensională a imaginilor vectoriale pe Web
–, recurgându-se la transformări XSL (Extensible
Stylesheet Language) – o modalitate de transformare de
documente structurate în XML în alte tipuri de
documente (bazate sau nu pe XML). Un punct de plecare şi de
inspiraţie poate fi Kartoo. Drept instanţă
particulară a acestui proiect, se poate considera vizualizarea
relaţiilor stabilite între resursele unei reţele de
calculatoare locale, inclusiv politicile de acces, securitate
etc.
-
RelVis3
Ca şi la proiectul de mai sus, se pot
construi reprezentări tridimensionale – în VRML
(Virtual Reality Modeling Language) sau noul X3D – ale
modelului relaţional, plecând de la documentele RelDF
generate cu Datar, mai ales pentru baze de date deosebit de
complexe (de exemplu, cele ale unui e-shop sofisticat precum
Amazon).
-
relXist
Având la dispoziţie baze de date
relaţionale clasice (interogate via SQL) şi
reprezentările relaţionale în RelDF (a se vedea
proiectul Datar), se va implementa un tool care le va
transforma în baze de date native XML (folosindu-se,
eventual, o serie de soluţii open-source precum Apache
Xindice sau eXists). Se va prevedea posibilitatea memorării
unor metainformaţii – autor, copyright, drepturi de
acces, valabilitate etc. – privitoare la datele stocate,
folosindu-se, de exemplu, metadate în format DCMI (Dublin Core
Metadata Initiative). [După o idee sugerată de Dorel Lucanu
şi documentată de Cristian Olaru]
-
QueryX
Bazele de date native (eventual generate de
aplicaţia relXist) vor trebui interogate într-o
manieră diferită de cea clasică folosind SQL. Apare
necesitatea de a studia şi/sau dezvolta limbaje de interogare
pentru aceste forme de stocare a datelor. Există deja mai
multe abordări, precum XPath, XQL, XQuery etc. Se va
implementa o unealtă vizuală pentru generarea
automată de interogări formulate într-unul din
limbajele de interogare bazate pe XML, aceste interogări fiind
procesate ulterior de sistemul de management al bazelor de date native XML.
[După o idee adusă în discuţie de Mihaela
Brut]
-
WebyX
În conjuncţie cu proiectul anterior,
se va implementa un serviciu Web care va da posibilitatea
clienţilor să trimită interogări bazate pe XML
asupra unor date stocate în baze de date native XML,
returnându-se rezultatele interogării, stocate, de
asemenea, în format XML. Drept protocoale de comunicaţie
se vor putea utiliza SOAP (Simple Object Access Protocol) sau
XML-RPC. De asemenea, se vor avea în vedere memorarea
temporară, într-un cache, a rezultatelor unor
interogări realizate mai des şi combinarea
"inteligentă" a rezultatelor unor interogări
înlănţuite (dependente una de cealaltă). Ca
instanţă particulară, se vor putea considera datele
privitoare la resursele (produse, clienţi, furnizori etc.)
dintr-un magazin electronic disponibil pe Web.
Agenţi Web
-
AgeOfAgents
O definiţie "grosieră" a unui agent
mobil este aceea că reprezintă o entitate software
capabilă de a migra – la nivel de cod şi de stare
(în spiritul OOP) –, în manieră
independentă (autonomă), de pe o gazdă pe alta. De
cele mai multe ori, agenţii mobili evoluează în
cadrul unui sistem de agenţi mobili care reprezintă un
sistem distribuit peste o reţea de calculatoare eterogene.
Există posibilitatea de a utiliza pentru agenţii mobili
exclusiv tehnologii Web (HTTP, protocoale peste HTTP precum SOAP,
schimburi de mesaje serializate via XML (posibil SOAP) etc.). Se va
implementa un framework pentru dezvoltarea de agenţi
mobili Web, codul putând migra prin intermediul unor
entităţi ale mediului agenţilor mobili (implementate
ca servicii Web sau folosind paradigma peer-to-peer).
[După unele idei dintr-o serie de discuţii purtate cu
Lenuţa Alboaie şi Cristina Nistor]
-
RouteAgency
Într-un sistem de agenţi mobili, una
dintre problemele importante o reprezintă dirijarea (routarea)
datelor vehiculate între agenţi, între agenţi
şi sistemul de agenţi ori între agenţi şi
alte entităţi (procese, utilizatori etc.). Aceste date
vor fi stocate în formate bazate pe XML, pentru dirijarea lor
putând fi utilizat un protocol precum SOAP. Se va implementa
o soluţie de routare a mesajelor via servicii Web şi de
figurare grafică – folosind SVG – a drumului urmat
de mesajele respective, indiferent de sistemul de agenţi
utilizat (un sistem care poate fi studiat şi exploatat este
Messengers).
-
SAge
O altă problemă interesantă este
cea a unui serviciu de nume care să ofere posibilitatea
regăsirii consistente a resurselor procesate de sistemul de
agenţi, mai ales în cazul unui mediu mobil. Ca resurse
pot fi enumerate cele hardware, computaţionale (software) sau
logice (e.g. utilizatorii) care vor trebui referite similar
în vederea folosirii lor. Proiectul va implementa un serviciu
de nume bazat exclusiv pe tehnologii Web, luându-se în
calcul posibilitatea ca anumite resurse să se "volatilizeze"
la un moment dat, brusc (i.e. deconectarea unui laptop din
reţea ori "prăbuşirea" unui sistem de operare).
[După o idee sugerată de Dan Grigoraş]
-
ViSAge
În conjuncţie cu proiectul
SAge, se va implementa un tool de monitorizare
şi de administrare a serviciului de nume, cu posibilitatea de
a fi utilizat atât dintr-un navigator obişnuit (în
mod clasic ori ca serviciu Web), cât şi prin intermediul
unui telefon mobil – folosindu-se un limbaj de marcare ca WML
(Wireless Markup Language). Pentru aceasta, interfaţa
aplicaţiei va fi scrisă în XUL (Extensible
User-interface Language), fiind ulterior transformată via XSL
în limbajul dorit (XHTML, WML etc.).
|