Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

"WakaDroid" API encapsulant les services REST offerts par wakandaDB (nosql)

1,386 views

Published on

Published in: Technology
  • Be the first to comment

"WakaDroid" API encapsulant les services REST offerts par wakandaDB (nosql)

  1. 1. INSTITUT NATIONAL DE STATISTIQUE ET D’ECONOMIE APPLIQUEE Projet de fin d’études Conception et Implémentation d’une API encapsulant les services REST offerts par Wakanda Server « WakaDroid » Membres du jury : Présenté par : SELASSI Abdellah BENELALLAM Imade HACHIMI My Ali IDRISSI Mohammed Année Universitaire 2012-2013 1
  2. 2. Plan 1 - Présentation de l’organisme d’accueil 2 - Présentation du projet 3 - Cahier des charges et POC 4 - Analyse et Conception 5 - Frameworks et Outils de Développement 6 - Mise en œuvre et Documentation 7 - Conclusion et perspectives Soutenance du projet de fin d'études 2013 2
  3. 3. Présentation de l’organisme d’accueil Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement  4D Logiciels Maroc  40 Filiales, représentants et distributeurs dans le monde.  Premier SGBDR sur système 32-bits  Plateforme Wakanda Soutenance du projet de fin d'études 2013 3
  4. 4. Présentation de l’organisme d’accueil Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement  Les Produits 4D  Environnement de développement intégré multiplateforme  Langage propriétaire de haut niveau  Solutions mono-poste et Client/Serveur  Environnement de développement Web et Mobile  Multiplateforme (Windows/Linux/Mac OS)  Déployer des applications sur le Cloud pour tous type d’interface Soutenance du projet de fin d'études 2013 4
  5. 5. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Problématique  Difficulté de développement des applications sous la plate-forme Android  Absence d’une API pour communiquer les applications Android avec Wakanda server  Forte demande d’une API Android par de la communauté des développeurs Wakanda et Android  Objectifs  REST/JSON  Démonstration de faisabilité « POC »  API pour la plate-forme Android « WakaDroid » Soutenance du projet de fin d'études 2013 5
  6. 6. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Architecture de Wakanda Soutenance du projet de fin d'études 2013 6
  7. 7. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Wakanda Application Framework (WAF) Server DataStore : la Un de données  DataProvider :basefournisseur de données DataStore Engine : moteur NoSQL  Des Widgets : Couche présentation(WakandaDB) Serveur HTTP  DataSource : Une banque de données Soutenance du projet de fin d'études 2013 7
  8. 8. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation REST/JSON  REST (REpresentational State Transfer) :  Style d’architecture  Orienté ressources utilise les verbes comme opération  Basé sur le protocole Http  JSON (JavaScript Object Notation) : Format léger d’échange de données Soutenance du projet de fin d'études 2013 8
  9. 9. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation REST  Les 6 Contraintes d'une architecture REST  Client-serveur  Sans état  Mise en cache  Une interface uniforme  Un système hiérarchisé par couche  Code-On-Demande (facultatif) Soutenance du projet de fin d'études 2013 9
  10. 10. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation REST  Avantage de REST (Contexte Web)  Utilisation du protocole HTTP  Utilisation d’URI  L’auto-description du message Soutenance du projet de fin d'études 2013 10
  11. 11. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation JSON REST/JSON La structure de JSON (JavaScript Object Notation)  Une collection de paires nom/valeur  Une liste ordonnée de valeurs Soutenance du projet de fin d'études 2013 11
  12. 12. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Cahier des charges  Les besoins fonctionnels  Gestion de connexion  Gestion de communication Les besoins non fonctionnels  Plate-forme Android  Utilisation d’un client REST Soutenance du projet de fin d'études 2013 12
  13. 13. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Méthode de travail : XP Soutenance du projet de fin d'études 2013 13
  14. 14. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Démonstration de faisabilité « 4D Contacts »  2 Étapes  Création d’une solution sous Wakanda  Création d’un projet Android  Fonctionnalités et Services     CRUD Gestion de cache Explorateur/Uploader Service d’inclure le service d’Appel Soutenance du projet de fin d'études 2013 14
  15. 15. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Démonstration de faisabilité « 4D Contacts » La création La modification La suppression Le chargement des fichiers Gestion du cache Service d’appel Soutenance du projet de fin d'études 2013 15
  16. 16. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Résultat de la Démonstration de faisabilité  Fonctionnalités et Services     CRUD Gestion de cache Explorateur/Uploader Service d’inclure le service d’Appel Soutenance du projet de fin d'études 2013 16
  17. 17. Plan 1 - Contexte général du projet 2 - REST/JSON 3 - Cahier des charges et POC 4 - Analyse et Conception 5 - Frameworks et Outils de Développement 6 - Mise en œuvre et Documentation 7 - Conclusion et perspectives Soutenance du projet de fin d'études 2013 17
  18. 18. Présentation du projet Cahier des charges et POC Analyse et Conception uc Use Case Model Frameworks et Outils de développement Mise en œuvre et documentation System Boundary Paramétrer le serv eur T he System Boundary shows the logical interface between users and the system being described. «include» Authentification Création du client w akanda «extend» Api User «include» Récupuration du DataStore «include» Choisir la DataClass a manipuler «include» Edition du DataClass Soutenance du projet de fin d'études 2013 «include» Effectuer des requetes sur la DataClass 18
  19. 19. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Diagramme de Packages pkg Package Diagram Gestion de communication Gestion de connexion «import» Soutenance du projet de fin d'études 2013 19
  20. 20. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Diagramme de Classe « package connexion » class Class Model Serv erAddress + + + + + + + + + + + + + + WakandaClient defaultHost() : String defaultPort() : int equals(Object) : boolean getHost() : String getSocketAddress() : InetSocketAddress hashCode() : int sameHost(String) : boolean 1 ServerAddress() ServerAddress(InetAddress) ServerAddress(InetAddress, int) : void ServerAddress(InetSocketAddress) ServerAddress(String) ServerAddress(String, int) toString() : String + + + + + + + + + + + authenticate(String, String) : boolean connect() : boolean currentUser() : String currentUserBelongsT o(String) : boolean getDataClass(String) : DataClass getDataClassNames() : Set<String> login(String, String) : boolean logout() : boolean WakandaClient() WakandaClient(String, int) + entityname: String + + + + + + + 0..1 host: ServerAddress append(String, append(String, append(String, append(String, append(String, append(String, append(String, Directory + + + + currentUser() : String currentUserBelongsT o(String) : boolean login(String, String) : boolean logout() : boolean WakandaEntity ClientURI + + + + + + port: String query: String resource: String rest: String servername: String subresource: String + + + + getUriForAdd() : String getUriForDelete() : String getUriForQuery() : String getUriForUpdate() : String Query «use» 0..1 String) : void double) : void byte) : void boolean) : void date) : void blob) : void image) : void + + + + 0..* + + + + add: String createEntitySet: String deleteEntitySet: String filtre: String remove: String timeout: String update: String Query() Soutenance du projet de fin d'études 2013 20
  21. 21. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Diagramme de Classe « package communication» class Class Model Propertie - DataClass Catalog + + + + dataclasses: ArrayList<DataClass> + + + + + addDataClass() : DataClass Catalog() 0..* existDataClass(String) : int getDataClass(String) : DataClass getDataClassList(String) : ArrayLis<DataClass> 1 dataURI: String name: String uri: String + + + + getAttributeList() : ArrayList<Attribute> getEntitySet() : String getPropertie() : Propertie newEntity() : WakandaEntity «property get» + getdataURI() : String + getname() : String + geturi() : String 1 0..* «property get» + getclassName() : String + getcollectionName() : String + getdataURI() : String + getdefaultTopSize() : double + getextraProperties() : JSONObject + getname() : String + getscope() : String 0..* 1 DataStoreClass + + + + + + + + createEntitySet() : String createEntitySet(String) : String delete(int) : boolean deleteEntitySet(String) : String getDataClassCount() : String save(WakandaEntity) : boolean testCreated(WakandaEntity) : boolean update(WakandaEntity) : boolean Calculate + + + + + + getAll(String) : String getAverage(String) : String getCount(String) : String getMax(String) : String getMin(String) : String getSum(String) : String Soutenance du projet de fin d'études 2013 className: String collectionName: String dataURI: String defaultTopSize: double extraProperties: JSONObject name: String scope: String Attribute - identifying: boolean indexed: boolean kind: String name: String scope: String type: String uuid: String «property get» + getkind() : String + getname() : String + getscope() : String + gettype() : String + getuuid() : String + isidentifying() : boolean + isindexed() : boolean 21
  22. 22. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Frameworks  Spring  Spring for Android  Gson  Maven Soutenance du projet de fin d'études 2013 24
  23. 23. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Frameworks  Spring Soutenance du projet de fin d'études 2013 25
  24. 24. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Frameworks  Spring for Android Soutenance du projet de fin d'études 2013 26
  25. 25. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Frameworks  Gson (Google JSON) Serialization Java Object JSON Deserialization Soutenance du projet de fin d'études 2013 27
  26. 26. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Frameworks  Maven  Le POM (Project Object Management) Soutenance du projet de fin d'études 2013 28
  27. 27. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Outils de développement  Eclipse  Plugin ADT  Wakanda  Enterprise Architect Soutenance du projet de fin d'études 2013 29
  28. 28. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Architecture DataStore Solutions DataStore Engine Projets Vue API REST DataClass Contrôleur API WakaDroid Modèle Contrôleur Vue Wakanda Server Wakanda Client Soutenance du projet de fin d'études 2013 Plate-forme Android 30
  29. 29. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Mise en oeuvre La Javadoc de la classe « ClientURI» Soutenance du projet de fin d'études 2013 31
  30. 30. Présentation du projet Cahier des charges et POC Analyse et Conception Frameworks et Outils de développement Mise en œuvre et documentation Documentation  Fournir la documentation a la communauté des développeurs Android Soutenance du projet de fin d'études 2013 32
  31. 31. Conclusion et perspectives  Assure les fonctionnalités de base  La connexion  L’authentification  L’envoie de requête et réception de résultats  La gestion de cache et des erreurs  La présentation des résultats à la couche développeur  Gestion des EntitySet Soutenance du projet de fin d'études 2012 33
  32. 32. MERCI POUR VOTRE ATTENTION Soutenance du projet de fin d'études 2013 34
  33. 33. INSTITUT NATIONAL DE STATISTIQUE ET D’ECONOMIE APPLIQUEE Projet de fin d’études Conception et Implémentation d’une API encapsulant les services REST offerts par Wakanda Server « WakaDroid » Membres du jury : Présenté par : SELASSI Abdellah BENELALLAM Imade HACHIMI My Ali IDRISSI Mohammed Année Universitaire 2012-2013 35

×