1. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
Projet de fin d’´tude
e
J´r´my Cheynet – Yann Sionneau
ee
T´l´com SudParis
ee
27 janvier 2011
1/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
2. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
1 Introduction
2 Comparaison des diff´rents middlewares
e
Spread
Appia
JGroups
Choix de l’API
3 JGroups
Portage sur Android
Probl`mes rencontr´s
e e
Exemple Draw
4 API
JGroups Remote Object API
Test du Remote Object API
5 Conclusion
6 D´monstration
e
2/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
3. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
1 Introduction
2 Comparaison des diff´rents middlewares
e
Spread
Appia
JGroups
Choix de l’API
3 JGroups
Portage sur Android
Probl`mes rencontr´s
e e
Exemple Draw
4 API
JGroups Remote Object API
Test du Remote Object API
5 Conclusion
6 D´monstration
e
3/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
4. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
Application standard
4/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
5. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
Application r´partie
e
5/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
6. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
Travail ` effectuer
a
Analyse des 3 middlewares
Choix d’un middleware
Portage du middleware sur Android
Test du middleware
Impl´menter l’API de jeu
e
6/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
7. Introduction
Comparaison des diff´rents middlewares
e Spread
JGroups Appia
API JGroups
Conclusion Choix de l’API
D´monstration
e
1 Introduction
2 Comparaison des diff´rents middlewares
e
Spread
Appia
JGroups
Choix de l’API
3 JGroups
Portage sur Android
Probl`mes rencontr´s
e e
Exemple Draw
4 API
JGroups Remote Object API
Test du Remote Object API
5 Conclusion
6 D´monstration
e
7/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
8. Introduction
Comparaison des diff´rents middlewares
e Spread
JGroups Appia
API JGroups
Conclusion Choix de l’API
D´monstration
e
Fonctionnalit´s
e
API de communication
Diff´rents langages
e
Client – Serveur
Installation et mise en oeuvre des exemples
Suivre le Userguide
Probl`me pour lancer le client
e
8/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
9. Introduction
Comparaison des diff´rents middlewares
e Spread
JGroups Appia
API JGroups
Conclusion Choix de l’API
D´monstration
e
Qualit´ de la documentation et du support
e
Un Userguide
Une FAQ
Une mailing liste
Un bug traqueur
Un d´pot svn
e
Disponibilit´ sur Android, iPhone et r´seau ad hoc
e e
Java ==> Android
C/C++ ==> iPhone
TCP/IP ==> ad hoc
License
Spread License
9/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
10. Introduction
Comparaison des diff´rents middlewares
e Spread
JGroups Appia
API JGroups
Conclusion Choix de l’API
D´monstration
e
Fonctionnalit´s
e
API de communication
TCP/IP
Option suppl´mentaire
e
Installation et mise en oeuvre des exemples
Importer les jars
Lancer l’application
10/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
11. Introduction
Comparaison des diff´rents middlewares
e Spread
JGroups Appia
API JGroups
Conclusion Choix de l’API
D´monstration
e
Qualit´ de la documentation et du support
e
Un Userguide
Une mailing list : Vide
Un bug tracker : Vide
Adresse postale
Disponibilit´ sur Android, iPhone et r´seau ad hoc
e e
Java uniquement
TCP/IP ==> ad hoc
License
GPL
11/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
12. Introduction
Comparaison des diff´rents middlewares
e Spread
JGroups Appia
API JGroups
Conclusion Choix de l’API
D´monstration
e
Fonctionnalit´s
e
API de communication
Choix du protocole (UDP, TCP/IP, JMS)
Options suppl´mentaire
e
Installation et mise en oeuvre des exemples
Suivre le Userguide
Probl`me pour lancer le client
e
12/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
13. Introduction
Comparaison des diff´rents middlewares
e Spread
JGroups Appia
API JGroups
Conclusion Choix de l’API
D´monstration
e
Qualit´ de la documentation et du support
e
Un Userguide
Canal irc
Une mailing liste
Un bug traqueur
Un d´pot git
e
Beaucoup de tests
Disponibilit´ sur Android, iPhone et r´seau ad hoc
e e
D´j` port´ sur Android
ea e
TCP/IP ==> ad hoc
License
LGPL
13/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
14. Introduction
Comparaison des diff´rents middlewares
e Spread
JGroups Appia
API JGroups
Conclusion Choix de l’API
D´monstration
e
Points ` analyser
a Spread Appia JGroups
Fonctionnalit´e Serveur R´partie
e R´partie
e
Installation Complexe Simple Simple
Exemples – Facile Nombreux
Support Bien Inexistant Parfait
License BSD GPL LPGL
14/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
15. Introduction
Comparaison des diff´rents middlewares
e
Portage sur Android
JGroups
Probl`mes rencontr´s
e e
API
Exemple Draw
Conclusion
D´monstration
e
1 Introduction
2 Comparaison des diff´rents middlewares
e
Spread
Appia
JGroups
Choix de l’API
3 JGroups
Portage sur Android
Probl`mes rencontr´s
e e
Exemple Draw
4 API
JGroups Remote Object API
Test du Remote Object API
5 Conclusion
6 D´monstration
e
15/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
16. Introduction
Comparaison des diff´rents middlewares
e
Portage sur Android
JGroups
Probl`mes rencontr´s
e e
API
Exemple Draw
Conclusion
D´monstration
e
Portage sur Android
Existait d´j` mais ´tait d´pass´
ea e e e
Portage de la derniere version de JGroups
Changement de Scheduler et de Retransmitter
Utilisation du broadcast UDP (BPING)
16/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
17. Introduction
Comparaison des diff´rents middlewares
e
Portage sur Android
JGroups
Probl`mes rencontr´s
e e
API
Exemple Draw
Conclusion
D´monstration
e
Probl`mes rencontr´s
e e
est cens´ fonctionner depuis Android 1.5
e
impossible d’envoyer des paquets IGMP
ne fonctionne pas au final
n’est donc pas utilis´ dans notre portage de JGroups et dans
e
l’API
17/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
18. Introduction
Comparaison des diff´rents middlewares
e
Portage sur Android
JGroups
Probl`mes rencontr´s
e e
API
Exemple Draw
Conclusion
D´monstration
e
Exemple d’utilisation de l’application Draw
18/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
19. Introduction
Comparaison des diff´rents middlewares
e
Portage sur Android
JGroups
Probl`mes rencontr´s
e e
API
Exemple Draw
Conclusion
D´monstration
e
Exemple d’utilisation de l’application Draw
19/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
20. Introduction
Comparaison des diff´rents middlewares
e
JGroups JGroups Remote Object API
API Test du Remote Object API
Conclusion
D´monstration
e
1 Introduction
2 Comparaison des diff´rents middlewares
e
Spread
Appia
JGroups
Choix de l’API
3 JGroups
Portage sur Android
Probl`mes rencontr´s
e e
Exemple Draw
4 API
JGroups Remote Object API
Test du Remote Object API
5 Conclusion
6 D´monstration
e
20/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
21. Introduction
Comparaison des diff´rents middlewares
e
JGroups JGroups Remote Object API
API Test du Remote Object API
Conclusion
D´monstration
e
JGroups Remote Object API
Permet de g´rer des objets
e
Ils sont distribu´s sur tous les noeuds
e
Permet la cr´ation, mise ` jour, le RPC et la suppression des
e a
objets
21/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
22. Introduction
Comparaison des diff´rents middlewares
e
JGroups JGroups Remote Object API
API Test du Remote Object API
Conclusion
D´monstration
e
Test du Remote Object API
Un sc´nario de test a ´t´ ´crit
e eee
Il teste les 4 fonctions de l’API
fonctionne sur ordinateur ...
... et sur Android
22/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
23. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
1 Introduction
2 Comparaison des diff´rents middlewares
e
Spread
Appia
JGroups
Choix de l’API
3 JGroups
Portage sur Android
Probl`mes rencontr´s
e e
Exemple Draw
4 API
JGroups Remote Object API
Test du Remote Object API
5 Conclusion
6 D´monstration
e
23/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
24. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
Travail effectu´
e
JGroups a ´t´ port´ sur Android
ee e
La Remote Object API fonctionne
Travail restant
D´velopper la Play Management API
e
24/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
25. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
1 Introduction
2 Comparaison des diff´rents middlewares
e
Spread
Appia
JGroups
Choix de l’API
3 JGroups
Portage sur Android
Probl`mes rencontr´s
e e
Exemple Draw
4 API
JGroups Remote Object API
Test du Remote Object API
5 Conclusion
6 D´monstration
e
25/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
26. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
TouchSurface
26/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
27. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
RemoteObjectAPI
exemple 1 : Cr´ation et envoi d’un objet distant
e
exemple 2 : R´ception et affichage des attibuts de l’objet distant
e
27/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e
28. Introduction
Comparaison des diff´rents middlewares
e
JGroups
API
Conclusion
D´monstration
e
Des questions ?
Merci de votre attention :)
28/28 J´r´my Cheynet – Yann Sionneau
ee Projet de fin d’´tude
e