Module : Akka, une bibliothèque pour l’implémentation d’applications concurrentes réparties

Titre du module : Akka

Proposé par :
Sylvain Frey, sylvain.frey@telecom-paristech.fr, 01 45 81 83 09

Descriptif :
Akka est une boîte à outils / un middleware / un environnement d’exécution pour le développement d’applications distribuées. Akka propose un modèle simple et puissant, les « acteurs », pour adresser des problématiques difficiles rencontrées lors de la conception de systèmes concurrents et / ou répartis : synchronisation des activités, communications distantes, distribution du code, couplage entre composants répartis… Ces pièges récurrents de la programmation concurrente peuvent ainsi être évités sur la base des bonnes pratiques proposées par Akka.

Ressources dont le module dépend :
Le site akka.io propose le téléchargement libre des bibliothèques qui composent Akka (au format jar) ainsi qu’une documentation et des exemples de code Java très complets (en anglais). De fait, Akka propose bien plus que les besoins attendus d’un projet PACT : penser à consulter les experts avant de se lancer tête baissée! (cf. « résultats attendus »)

Exemples d’utilisation du module :
Akka est utilisé professionnellement pour de multiples projets industriels, une liste est disponible sur akka.io. À Télécom ParisTech, Akka est mis en œuvre dans la thèse de Sylvain Frey pour le développement de gestionnaires autonomiques décentralisés.
Résultats attendus :

Dans le cadre de PACT, les étudiants devraient tout d’abord s’accorder sur les besoins de leur projet adressables avec Akka, en accord avec les experts et tuteurs compétents. Ils pourront alors se familiariser avec les fonctionnalités correspondantes dans Akka, en sélectionnant les tutoriels appropriés sur le site, sur conseil des experts. Akka proposant BEAUCOUP de fonctionnalités, il va falloir faire des choix!

Dans un second temps, la phase de conception du projet pourra s’appuyer sur le modèle des acteurs proposé par Akka. Ainsi, les étudiants devraient pouvoir spécifier les acteurs mis en œuvre, s’assurant une architecture consistante, avant de les implémenter dans l’API Akka.

connaissances : modèle des acteurs
compétence : pouvoir exprimer une architecture logicielle dans le modèle des acteurs, pouvoir implémenter cette architecture en Java à l’aide de la bibliothèque
livrable : architecture applicative, implémentation

Laisser un commentaire