2. Scopul Proiectului
ā¢ Familiarizarea cu procesul de dezvoltare a unei aplicaÅ£ii pentru
sistemul de operare Android de la Google.
ā¢ Utilizarea bibliotecii Restlet pe partea de comunicare client-server.
ā¢ Utilizarea bibliotecii Hibernate pe partea de comunicare server-bazÄ
de date.
ā¢ Utilizarea PostgreSQL ca bazÄ de date.
ā¢ Ca instrument pentru dezvoltare, am folosit Eclipse 3.5 Galileo for
Java Developers.
2 23.07.2010
3. Vedere de Ansamblu
Aplicaţia
Restlet Serverul
din
Framework (scris Ʈn Java SE)
Android (clientul)
Hibernate
Framework
Baza de date
Browserul Web
PostgreSQL
3 23.07.2010
4. Vedere de Ansamblu
Aplicaţia
Restlet Serverul
din
Framework (scris Ʈn Java SE)
Android (clientul)
Hibernate
Framework
Baza de date
Browserul Web
PostgreSQL
4 23.07.2010
5. Ce este Android?
ā¢ Sistem de operare destinat dispozitivelor mobile bazat
pe nucleul Linux.
ā¢ Dezvoltat iniÅ£ial de Google, iar ulterior de cÄtre
consorţiul Open Handset Alliance ce include 48 de
companii de hardware, software Åi de telecomunicaÅ£ii.
5 23.07.2010
6. De ce Android?
ā¢ OferÄ suport pentru multitasking (Åi copy-paste ļ).
ā¢ Pune la dispoziÅ£ie un API puternic Åi are o
documentaÅ£ie vastÄ.
ā¢ Popularitatea sa este Ć®ntr-o continuÄ creÅtere.
ā¢ AplicaÅ£iile fiind scrise Ć®n Java, dezvoltarea lor se
realizeazÄ facil.
6 23.07.2010
7. Aplicaţia MyWorld (I)
ā¢ AplicaÅ£ia reprezintÄ o agendÄ
telefonicÄ electronicÄ, avĆ¢nd ca
feature principal stocarea
contactelor pe un server extern.
ā¢ AplicaÅ£ia permite vizualizarea
contactelor Ć®ntr-o listÄ, Ć®n pagini a
cĆ¢te 10 contacte.
7 23.07.2010
8. Aplicaţia MyWorld (II)
ā¢ Pentru fiecare contact Ć®n
parte, pot fi consultate (sau
schimbate) detalii precum
nume, varsta, telefon, etc.
ā¢ De asemenea, aplicaÅ£ia
permite crearea Åi stergerea
de noi contacte, prin folosirea
tastei Menu.
8 23.07.2010
9. Vedere de Ansamblu
Aplicaţia
Restlet Serverul
din
Framework (scris Ʈn Java SE)
Android (clientul)
Hibernate
Framework
Baza de date
Browserul Web
PostgreSQL
9 23.07.2010
10. Ce Ć®nseamnÄ REST?
ā¢ REST = Representational State Transfer
ā¢ ReprezintÄ o arhitecturÄ de tip CRUD Ć®n care:
ā Datele sunt accesate Ć®n mod stateless.
ā Orice reprezintÄ o resursÄ.
ā Identificarea se face printr-un URI
(Uniform Resource Identifier).
ā O datÄ poate avea mai multe reprezentÄri.
ā Datele pot fi legate Ć®ntre ele.
10 23.07.2010
11. Ce inseamna CRUD?
ā¢ CRUD = Create, Read, Update Åi Delete.
ā¢ CRUD reprezintÄ cele patru operaÅ£ii de bazÄ
ale unui storage persistent:
ā CreazÄ sau adaugÄ entitÄÅ£i.
ā CiteÅte, preia sau cautÄ entitÄÅ£i existente.
ā ModificÄ entitÄÅ£i existente.
ā Återge entitÄÅ£i existente.
11 23.07.2010
12. SÄ ne amintim de HTTP
Verb Acţiune
GET Preia o entitate
POST CreazÄ o entitate.
PUT ModificÄ o entitate.
DELETE Återge o entitate.
HEAD Preia meta-informaţii despre o entiate.
OPTIONS Preia lista de metode acceptate de cÄtre server.
12 23.07.2010
13. Exemplu de cerere GET HTTP
GET /index HTTP/1.1
Host: www.google.ro
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:
1.7.12)...
Accept: text/xml, application/xml, application/xhtml, text/html
Accept-Language: us, en
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-15, utf-8;
Keep-Alive: 300
Connection: keep-alive
13 23.07.2010
14. URIs pentru MyWorld
URI ResursÄ
http://localhost:8182/contacts Preia lista cu toate contactele, nepaginatÄ.
http://localhost:8182/contacts/page/0 Preia o listÄ cu primele 10 contacte (prima
paginÄ).
http://localhost:8182/contacts/4 Detalii despre contactul cu IDul 4, Ʈn formatul
default (la noi este xml).
http://localhost:8182/contacts/4/html Detalii despre contactul cu IDul 4, Ʈn format
html.
http://localhost:8182/contacts/4/plain Detalii despre contactul cu IDul 4, Ʈn format
plain text.
http://localhost:8182/contacts/4/xml Detalii despre contactul cu IDul 4, Ʈn format xml.
14 23.07.2010
15. Ce este Restlet?
ā¢ Restlet este un framework open-source de tip REST
pentru Java.
ā¢ Restlet este utilizabil atĆ¢t pe partea de server, cĆ¢t Åi pe
partea de client.
ā¢ Restlet suportÄ majoritatea sandardelor din Internet
precum HTTP, HTTPS, SMTP, XML, JSON, Atom Åi
WADL.
15 23.07.2010
16. Vedere de Ansamblu
Aplicaţia
Restlet Serverul
din
Framework (scris Ʈn Java SE)
Android (clientul)
Hibernate
Framework
Baza de date
Browserul Web
PostgreSQL
16 23.07.2010
19. Vedere de Ansamblu
Aplicaţia
Restlet Serverul
din
Framework (scris Ʈn Java SE)
Android (clientul)
Hibernate
Framework
Baza de date
Browserul Web
PostgreSQL
19 23.07.2010
20. Ce este Hibernate?
ā¢ Este un framework ORM (Object-Relational Mapping) pentru
Java care mapeazÄ clase peste tabele dintr-o bazÄ de date
relationalÄ.
ā¢ Hibernate genereazÄ automat apeluri SQL Åi uÅureazÄ munca
dezvoltatorului (Ć®l scuteÅte) de handling-ul manual al datelor Åi
conversia manualÄ a datelor la obiecte.
ā¢ Hibernate permite ca aplicaÅ£ia sÄ fie portatÄ pe foarte multe
tipuri de baze de date SQL cu un minim de efort.
ā¢ Hibernate pune la dispoziÅ£ie propriul limbaj, denumit Hibernate
Query Language; limbaj care este similar cu SQL.
20 23.07.2010
21. Vedere de Ansamblu
Aplicaţia
Restlet Serverul
din
Framework (scris Ʈn Java SE)
Android (clientul)
Hibernate
Framework
Baza de date
Browserul Web
PostgreSQL
21 23.07.2010
22. Ce este PostgreSQL?
ā¢ PostgreSQL este un SGBD (sistem de gestiune al
bazelor de date) gratuit, similar MySQL, lansat sub o
licenÅ£Ä de tip MIT.
ā¢ Ćn materie de performanÅ£Ä, PostgreSQL este net
superior faÅ£Ä de MySQL, potrivit:
http://www.randombugs.com/linux/mysql-postgresql-benchmarks.html
22 23.07.2010