Malik Bouaoud
Sandrine Ear
Jacques Malenfant
Ce projet porte sur la réalisation d’un système de gestion d’enchères de vente, d’achat de biens ou de services en utilisant des concepts de la programmation par composants en Java et des systèmes répartis avec la bibliothèque BCM4Java. Ce concept de programmation met l’accent sur la construction d’une application réutilisable grâce aux composants, ce qui va permettre au système d’enchère d’être réutilisable en se greffant sur différents domaines d’application.
La documentation de notre système d'enchère se trouve dans Auction/Doc
les Deux protocoles d'enchères réalisés sont les suivant : un protocol d'enchère à l'offre scélée et un protocole d'enchère à l'anglaise.
Codé dans le composant Threshold.
Codé dans le composant EnglishAuction
Une implémentation synchrone d’un protocole consiste à appeler un enchaînement d’actions dans l’ordre depuis le début de l’enchère jusqu’à sa clôture. Dans le contexte actuel de l’application, une solution synchrone symbolise le fait de dérouler qu’une seule et unique enchère à la fois.
L’introduction du parallélisme dans notre système d'enchères consistait à utiliser des threads dans une architecture centralisée afin que le composant commissaire-priseur puisse être en mesure de gérer correctement plusieurs enchères en même temps.
Afin de d'executer le projet en mono JVM, il suffit de lancer les deux classes suivantes :
auctions/src/cvms/CVMEnglishBidding.java
Ouvrir 4 terminaux et se placer dans le dossier **auctions/src/dcvms**auctions/src/cvms/CVMThreshold.java
bash start-cb.sh
bash start-global-register.sh
bash start-dcvm.sh DistributedCVMThreshold.java JVM1
bash start-dcvm.sh DistributedCVMThreshold.java JVM2
inclure tout les jars dans le Build path