Pretende-se desenvolver um sistema de reservas distribuído que permita a várias agências venderem bilhetes para um determinado evento. As agências devem poder vender (alguns) bilhetes mesmo que não consigam comunicar com as restantes agências.
A aplicação consiste num componente servidor e num conjunto de clientes (as agências). O servidor dispõe de um número pré-determinado de bilhetes para distribuir pelas agências. Cada agência tem um peso que indica a capacidade esperada para vender bilhetes.
No ínicio, o servidor faz uma distribuição ponderada dos bilhetes disponíveis pelas agências. Estas poderão vender bilhetes sem necessitarem de comunicar com o servidor. Quando uma das agências esgota (ou está à beira de esgotar) a sua quota de bilhetes deve comunicar com o servidor que tentará fazer uma nova redistribuição dos bilhetes aínda por vender de modo a maximizar o número de bilhetes vendidos.
O servidor deve ser replicado para maior disponibilidade.
A interface visível do sistema será um conjunto de aplicações cliente que permitem comprar bilhetes. Deve também ser possível configurar o servidor (número total de bilhetes, número de agências e seus pesos, etc).
Os alunos devem conceber uma demonstração que ilustre a funcionalidade requerida.
Estações SUN. Software ISIS e outro software que os alunos julguem conveniente.