Kickstart Project: Android+Restlet+Hibernate+PostgreSQL

671 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
671
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Kickstart Project: Android+Restlet+Hibernate+PostgreSQL

  1. 1. Android + Restlet + Hibernate + PostgreSQL KICKSTART PROJECT Vlad-Ştefan PETRE 331CB vlad@vladpetre.com http://twitter.com/vladpetre88 http://www.linkedin.com/in/vladpetre881 23.07.2010
  2. 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. 3. Vedere de Ansamblu Aplicaţia Restlet Serverul din Framework (scris în Java SE) Android (clientul) Hibernate Framework Baza de date Browserul Web PostgreSQL3 23.07.2010
  4. 4. Vedere de Ansamblu Aplicaţia Restlet Serverul din Framework (scris în Java SE) Android (clientul) Hibernate Framework Baza de date Browserul Web PostgreSQL4 23.07.2010
  5. 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. 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. 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. 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. 9. Vedere de Ansamblu Aplicaţia Restlet Serverul din Framework (scris în Java SE) Android (clientul) Hibernate Framework Baza de date Browserul Web PostgreSQL9 23.07.2010
  10. 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. 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. 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. 13. Exemplu de cerere GET HTTPGET /index HTTP/1.1Host: www.google.roUser-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: 1.7.12)...Accept: text/xml, application/xml, application/xhtml, text/htmlAccept-Language: us, enAccept-Encoding: gzip, deflateAccept-Charset: ISO-8859-15, utf-8;Keep-Alive: 300Connection: keep-alive13 23.07.2010
  14. 14. URIs pentru MyWorldURI 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. 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. 16. Vedere de Ansamblu Aplicaţia Restlet Serverul din Framework (scris în Java SE) Android (clientul) Hibernate Framework Baza de date Browserul Web PostgreSQL16 23.07.2010
  17. 17. URIs în Browser (I) http://localhost:8182/contacts <contacts> <contact> <contactName>Ion Ionescu</contactName> <contactId>1</contactId> </contact> <contact> <contactName>Pop Popescu</contactName> <contactId>4</contactId> </contact> ... </contacts>17 23.07.2010
  18. 18. URIs în Browser (II) http://localhost:8182/contacts/1 <contact> <contactName>Ion Ionescu</contactName> <contactPosition>Manager</contactPosition> <contactAge>31</contactAge> <contactTelephone>0213306587</contactTelephone> </contact>18 23.07.2010
  19. 19. Vedere de Ansamblu Aplicaţia Restlet Serverul din Framework (scris în Java SE) Android (clientul) Hibernate Framework Baza de date Browserul Web PostgreSQL19 23.07.2010
  20. 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. 21. Vedere de Ansamblu Aplicaţia Restlet Serverul din Framework (scris în Java SE) Android (clientul) Hibernate Framework Baza de date Browserul Web PostgreSQL21 23.07.2010
  22. 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.html22 23.07.2010
  23. 23. Referinţe• “Professional Android 2 Application Development”, Reto Meier• http://www.randombugs.com/linux/mysql-postgresql-benchm• http://developer.android.com/index.html• http://www.restlet.org/documentation/• http://www.hibernate.org/docs.html• http://www.postgresql.org/docs/23 23.07.2010
  24. 24. Vă mulţumesc! Întrebări?24 23.07.2010

×