ADVENTURE_5

Para realizar a quinta parte do projeto deve começar por resolver na totalidade o exercício prático da aula-jmeter.

De seguida obtenha a nova versão do código disponibilizada em https://github.com/tecnico-softeng/reference.git. Instale essa versão no ramo master e crie uma cópia para o ramo develop onde o grupo irá realizar as suas atividades de desenvolvimento. Para isso deve usar os comandos git adequados.

A quinta parte do projeto corresponde a efetuar sobre o resultado da quarta parte (quarto sprint), a que foi adicionada a ligação entre a aplicação broker e as restantes aplicações, testes de carga, usando a ferramenta JMeter. Mas pode ser necessário fazer algumas alterações ao código, em particular para apagar as instâncias da base de dados.

Devem ser implementados 3 testes de carga, em que após a inicialização de dados, efetuada sequencialmente, se executam os testes de carga
  • 100Reads - Neste teste simula-se o seguinte cenário a ser executado por diversos utilizadores em simultâneo
    1. Read Brokers
    2. Read Adventures
    3. Read Banks
    4. Read Clients
    5. Read Accounts
    6. Read Hotels
    7. Read Rooms
    8. Read Providers
    9. Read Activities
    10. Read Offers
  • 30Writes - Neste teste simula-se o seguinte cenário a ser executado por diversos utilizadores em simultâneo
    1. Process Adventure
    2. Read Adventures
    3. Read Banks
    4. Read Clients
    5. Read Accounts
    6. Process Adventure
    7. Read Rooms
    8. Read Activities
    9. Read Offers
    10. Process Adventure
  • 100Writes - Neste teste simula-se o seguinte cenário a ser executado por diversos utilizadores em simultâneo
    1. Process Adventure
    2. Process Adventure
    3. Process Adventure
    4. Process Adventure
    5. Process Adventure
No fim de cada teste todas as instâncias devem ser apagadas da base dados.

Os dados a criar devem ser suficientes para que o processamento de 100 aventuras seja confirmado. Note que os dados a criar têm impacto no sucesso e/ou desempenho de alguns cenários. Por exemplo, se todas as aventuras usarem o mesmo IBAN é maior a possibilidade de conflitos de escrita e o processamento da aventura ter uma maior latência, ou vir mesmo a ser cancelado.

Estima-se que no cenário 100Writes se simulem 100 utilizadores em simultâneo e nos restantes 2000 utilizadores.

Entregue um relatório de uma página de texto em que analise os resultados e o impacto que a política otimista implementada pela FénixFramework tem na invocação de serviços remotos. O relatório deve ser colocado no diretório de topo do projeto, num ficheiro de nome report.md.

Cada grupo deve-se dividir em sub-grupos de 3 alunos, em que cada um deles, trabalha num teste de carga. É obrigatório indicar no README.md quais os elementos que trabalham em cada um dos testes de carga, indicando o número de aluno, o nome e o username no GitHub. 

Para a entrega deverão fazer:
$ git checkout develop
$ git checkout -b fifth-deliver
$ git tag ADVENTURE_5
$ git push origin --tags fifth-fifth-deliver

tag deve ter uma data anterior à data limite de entrega, dia 21 de Maio pelas 20:00.