28
Introduction Comparaison des diff´ erents middlewares JGroups API Conclusion emonstration Projet de fin d’´ etude er´ emy Cheynet – Yann Sionneau el´ ecom SudParis 27 janvier 2011 1/28 er´ emy Cheynet – Yann Sionneau Projet de fin d’´ etude

Synchronie virtuelle

Embed Size (px)

Citation preview

Page 1: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

Projet de fin d’etude

Jeremy Cheynet – Yann Sionneau

Telecom SudParis

27 janvier 2011

1/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 2: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

1 Introduction

2 Comparaison des differents middlewaresSpreadAppiaJGroupsChoix de l’API

3 JGroupsPortage sur AndroidProblemes rencontresExemple Draw

4 APIJGroups Remote Object APITest du Remote Object API

5 Conclusion

6 Demonstration

2/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 3: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

1 Introduction

2 Comparaison des differents middlewaresSpreadAppiaJGroupsChoix de l’API

3 JGroupsPortage sur AndroidProblemes rencontresExemple Draw

4 APIJGroups Remote Object APITest du Remote Object API

5 Conclusion

6 Demonstration

3/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 4: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

Application standard

4/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 5: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

Application repartie

5/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 6: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

Travail a effectuer

Analyse des 3 middlewares

Choix d’un middleware

Portage du middleware sur Android

Test du middleware

Implementer l’API de jeu

6/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 7: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

SpreadAppiaJGroupsChoix de l’API

1 Introduction

2 Comparaison des differents middlewaresSpreadAppiaJGroupsChoix de l’API

3 JGroupsPortage sur AndroidProblemes rencontresExemple Draw

4 APIJGroups Remote Object APITest du Remote Object API

5 Conclusion

6 Demonstration

7/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 8: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

SpreadAppiaJGroupsChoix de l’API

Fonctionnalites

API de communication

Differents langages

Client – Serveur

Installation et mise en oeuvre des exemples

Suivre le Userguide

Probleme pour lancer le client

8/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 9: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

SpreadAppiaJGroupsChoix de l’API

Qualite de la documentation et du support

Un Userguide

Une FAQ

Une mailing liste

Un bug traqueur

Un depot svn

Disponibilite sur Android, iPhone et reseau ad hoc

Java ==> Android

C/C++ ==> iPhone

TCP/IP ==> ad hoc

License

Spread License

9/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 10: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

SpreadAppiaJGroupsChoix de l’API

Fonctionnalites

API de communication

TCP/IP

Option supplementaire

Installation et mise en oeuvre des exemples

Importer les jars

Lancer l’application

10/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 11: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

SpreadAppiaJGroupsChoix de l’API

Qualite de la documentation et du support

Un Userguide

Une mailing list : Vide

Un bug tracker : Vide

Adresse postale

Disponibilite sur Android, iPhone et reseau ad hoc

Java uniquement

TCP/IP ==> ad hoc

License

GPL

11/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 12: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

SpreadAppiaJGroupsChoix de l’API

Fonctionnalites

API de communication

Choix du protocole (UDP, TCP/IP, JMS)

Options supplementaire

Installation et mise en oeuvre des exemples

Suivre le Userguide

Probleme pour lancer le client

12/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 13: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

SpreadAppiaJGroupsChoix de l’API

Qualite de la documentation et du support

Un Userguide

Canal irc

Une mailing liste

Un bug traqueur

Un depot git

Beaucoup de tests

Disponibilite sur Android, iPhone et reseau ad hoc

Deja porte sur Android

TCP/IP ==> ad hoc

License

LGPL

13/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 14: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

SpreadAppiaJGroupsChoix de l’API

Points a analyser

Fonctionnalite

Installation

Exemples

Support

License

Spread

Serveur

Complexe

Bien

BSD

Appia

Repartie

Simple

Facile

Inexistant

GPL

JGroups

Repartie

Simple

Nombreux

Parfait

LPGL

14/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 15: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

Portage sur AndroidProblemes rencontresExemple Draw

1 Introduction

2 Comparaison des differents middlewaresSpreadAppiaJGroupsChoix de l’API

3 JGroupsPortage sur AndroidProblemes rencontresExemple Draw

4 APIJGroups Remote Object APITest du Remote Object API

5 Conclusion

6 Demonstration

15/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 16: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

Portage sur AndroidProblemes rencontresExemple Draw

Portage sur Android

Existait deja mais etait depasse

Portage de la derniere version de JGroups

Changement de Scheduler et de Retransmitter

Utilisation du broadcast UDP (BPING)

16/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 17: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

Portage sur AndroidProblemes rencontresExemple Draw

Problemes rencontres

est cense fonctionner depuis Android 1.5

impossible d’envoyer des paquets IGMP

ne fonctionne pas au final

n’est donc pas utilise dans notre portage de JGroups et dansl’API

17/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 18: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

Portage sur AndroidProblemes rencontresExemple Draw

Exemple d’utilisation de l’application Draw

18/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 19: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

Portage sur AndroidProblemes rencontresExemple Draw

Exemple d’utilisation de l’application Draw

19/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 20: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

JGroups Remote Object APITest du Remote Object API

1 Introduction

2 Comparaison des differents middlewaresSpreadAppiaJGroupsChoix de l’API

3 JGroupsPortage sur AndroidProblemes rencontresExemple Draw

4 APIJGroups Remote Object APITest du Remote Object API

5 Conclusion

6 Demonstration

20/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 21: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

JGroups Remote Object APITest du Remote Object API

JGroups Remote Object API

Permet de gerer des objets

Ils sont distribues sur tous les noeuds

Permet la creation, mise a jour, le RPC et la suppression desobjets

21/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 22: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

JGroups Remote Object APITest du Remote Object API

Test du Remote Object API

Un scenario de test a ete ecrit

Il teste les 4 fonctions de l’API

fonctionne sur ordinateur ...

... et sur Android

22/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 23: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

1 Introduction

2 Comparaison des differents middlewaresSpreadAppiaJGroupsChoix de l’API

3 JGroupsPortage sur AndroidProblemes rencontresExemple Draw

4 APIJGroups Remote Object APITest du Remote Object API

5 Conclusion

6 Demonstration

23/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 24: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

Travail effectue

JGroups a ete porte sur Android

La Remote Object API fonctionne

Travail restant

Developper la Play Management API

24/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 25: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

1 Introduction

2 Comparaison des differents middlewaresSpreadAppiaJGroupsChoix de l’API

3 JGroupsPortage sur AndroidProblemes rencontresExemple Draw

4 APIJGroups Remote Object APITest du Remote Object API

5 Conclusion

6 Demonstration

25/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 26: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

TouchSurface

26/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 27: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

RemoteObjectAPI

exemple 1 : Creation et envoi d’un objet distant

exemple 2 : Reception et affichage des attibuts de l’objet distant

27/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude

Page 28: Synchronie virtuelle

IntroductionComparaison des differents middlewares

JGroupsAPI

ConclusionDemonstration

Des questions ?

Merci de votre attention :)

28/28 Jeremy Cheynet – Yann Sionneau Projet de fin d’etude