miercuri, 31 decembrie 2008

Semantic Web

Web-ul semantic combina aspecte ale inteligentei artificiale, limbaje de marcare, procesarea limbajului natural, extragerea de informatii, reprezentarea cunostintelor, agenti inteligenti si baze de date.
Web-ul semantic este o extensie a web-ului si consta in ideea de a face web-ul usor de inteles si de procesat de catre masini. Descrie relatiile intre lucruri si proprietatile lor.
Tehnologia de baza cu care se pot obtine aceste informatii este RDF (Resource Description Framework).Agentul web semantic se bazeaza pe informatii structurate si reguli de inferenta pentru a obtine relatii intre resurse de date diferite. Cu ajutorul acestora face conexiuni logice si ia decizii.
Implementarea web-ului semantic presupune adaugarea de metadate (date care descriu date) in resurse de informatii pentru a permite programelor sa proceseze datele. Daca informatiile semantice asociate datelelor sunt destule, computerele pot face inferente asupra datelor si pot gasi relatiile cu alte date. Informatiile pot fi incluse in documente XML.
RDF este un standard XML pentru descrierea resurselor existente pe web. RDF foloseste identificatori Web (URI) pentru a identifica fiecare resursa si pentru a extrage informatii despre resurse. RDF descrie o resursa prin subiect(resursa), predicat(propritate) si obiect(valoare).
Acestea formeaza un statement. Un exemplu de statement este: Acest articol a fost creat de Elmaz Amet.
Subiectul statementului este: acest articol(identificat prin http://www.interfeteweb.ro/SemanticWeb.aspx),predicatul este: a fost creat de si obiectul este: Elmaz Amet.
RDF ofera un model si o sintaxa (regulile care specifica elementele unei propozitii) pentru a descrie resursele dar nu specifica si semantica resursei. Pentru a descrie semantica, este nevoie de RDFS si OWL.RDFS (RDF Schema) este folosit pentru a crea vocabulare care descriu grupuri de resurse RDF si relatiile dintre acestea. Permite crearea de clase si resurse care au proprietati comune. RDFS contine clase, proprietati ale claselor, si valori care definesc clasele si relatiile intre
resurse intr-un anumit domeniu.Intr-un vocabular RDFS, resursele sunt definite ca instante ale claselor.
Web Ontology Language (OWL). OWL este o specificatie W3C(World Wide Web Consortium) pentru crearea de aplicatii web semantice. Defineste tipurile de relatii care pot fi exprimate in RDF folosind un vocabular XML pentru a indica relatiile intre diferite resurse.OWL are trei sublimbaje:OWL Lite, OWL DL (include OWL Lite), OWL Full (include OWL DL).In functie de nivelul de complexitate al modelului semantic se foloseste unul din aceste limbaje.

marți, 2 decembrie 2008

Ajax

Ajax(Asynchronous JavaScript si XML) este o platforma care combina mai multe tehnologii web pentru crearea de aplicatii web interactive, foarte rapide si asemanatoare cu applicatiile Desktop.
Aceste tehnologii sunt :
  • XHTML si CSS - pentru prezentarea elementelor.
  • DOM - pentru interactiunea cu pagina si afisarea dinamica
  • XMLHttpRequest - pentru comunicarea asincrona
  • JavaScript sau VBScript - limbaj se scripting executat in browser
  • XML, JSON, HTML - pentru transferul datelor

Cu Ajax, datele intre browser si server sunt transferate asincron fara a incarca pagina web.JavaScript creeaza un obiect XMLHttpRequest si il trimite prin Http serverului. Serverul intoarce un Http response ca un XML, JSON sau text.Nu toate browserele accepta acelasi cod javascript, de aceea obiectul XMLHttpRequest trebuie creat diferit pentru fiecare browser: Internet explorer foloseste un obiect ActiveXObject, pe cand alte browsere folosesc XMLHttpRequest.De asemenea, browser-ul in care este vizualizata pagina web(care foloseste Ajax) trebuie sa suporte Ajax sau JavaScript.

Proprietati XMLHttpRequest:
onreadystatechange - de fiecare data cand valoarea din readyState se schimba, se declanseaza acest eveniment.
readyState - defineste starea obiectului XMLHttpRequest. Poate lua valorile:
0 - obiectul XMLHttpRequest nu a fost initializat
1 - metoda open() a fost apelata
2 - metoda send() a fost apelata
3 - au fost primite headerele din raspunsul HTTP
4 - a fost primit mesajul complet
status - poate fi : 404 - nu a fost gasit
200 - ok.
responseText/responseXml - reprezinta raspunsul primit de la server ca text/XML.

Metode XMLHttpRequest:
abort() - anuleaza request-ul(readyState = 0).
getAllResponsesHeaders() - readyState trebui sa fie 3 sau 4 pentru a intoarce toate headerele din response;altfel intoarce null.
getResponseHeader(header)- intoarce valoarea din header.
open(method, url) - method poate fi POST, GET sau PUT. Creeaza o conexiune catre url.
send(body) - trimite request-ul catre server. Paramerul body poate fi folosit pentru a trimite parametrii POST.
setRequestHeader(header, value) - seteaza header-ul cu valoarea value.

luni, 1 decembrie 2008

Apache Struts

Struts2 este un framework open source pentru crearea de aplicatii web in Java si este bazat pe arhitectura MVC(Model View Controller).
Pentru a putea incepe sa dezvoltati aplicatii web folosind Struts trebuie sa aveti cunostinte despre JSP, servleti si XML.
MVC imparte componentele aplicatiei in 3 categorii diferite: Model, View si Controller. Fiecare componenta este independenta de cealalata si are responsabilitate proprie:

Model : implementeaza partea de bussiness logic. Se ocupa cu accesarea datelor din baza de date, validarea datelor si salvarea acestora.

View : aceasta componenta se ocupa cu preluarea datelor de la utilizator, trimiterea catre Controller si apoi afisarea datelor primite de la Controller catre user.

Controller : paseaza informatia intre Model si View. Controller-ul preia request-ul de la client, acceseaza partea de bussiness logic din model si trimite response-ul catre View. Contine fisierul struts-config.xml, Action Servlet, Action, ActionForm.Request-ul de la client este vazut ca un "action" definit in fisierul de configurare struts-config.xml. Controllerul apeleaza mai departe clasa Action corespunzatoare actiunii care interactioneaza apoi cu codul din Model. Clasa Action intoarce un string care indica pagina web care va fi returnata utilizatorului. ActionServlet este componenta centrala a Controllerului, extinde HttpServlet.



Fisiere de configurare de baza:
WEB-INF/web.xml - fisier de configurare citit de containerul JSP; contine pagina de start a aplicatiei, parametrii de initializare, configurarea si descrierea servletilor.

WEB-INF/struts-config.xml - fisier de configurare Struts(numele poate fi modificat)- este referentiat in fisierul web.xml; descrie interactiunea resurselor Struts. Contine tag-ul action care specifica numele clasei Action care va executa cererea.

build.xml - fisier de configurare Ant.

Pentru instalare, Struts poate fi downloadat de la adresa http://struts.apache.org/ .Exista si o aplicatie struts-blank disponibila pe acelasi site: http://struts.apache.org/download.cgi