Trabalho Prático de Laboratório de Desenvolvimento de Aplicações Móveis Distribuídas - 5º Período PUCMG - Praça da Liberdade - Engenharia de Software - Prof Rommel Carneiro
Resumo. Neste presente trabalho foi desenvolvido um sistema para uma bolsa de valores qualquer, utilizando o RabbitMQ. Com o objetivo de demonstrar a ocorrência do funcionamento de um sistema que envolve transações em uma bolsa de valores qualquer, tem-se o resultado de um software. Este, é responsável por simular as transações de compra e venda em uma bolsa de valores.
O objetivo geral é demonstrar como ocorre o funcionamento de um sistema que envolve transações em uma bolsa de valores qualquer.
A linguagem escolhida para o servidor foi Java. As tecnologias escolhidas para compor a construção do servidor foram WebSocket, uma biblioteca que implementa a comunicação WebSocket em Java e RabbitMQ, para a utilização do sistema de mensageria, baseado no servidor de hosteamento AMPQ Cloud.
Na classe Planilha.java, TROQUE o caminho alternativo dos arquivos para leitura e escrita de acordo com a sua máquina.
-
Com o botão direito, nos arquivos (ampq-client-5.7.1.jar, slf4j-api-1.7.26.jar, slf4-simple-1.7.26.jar), adicione-os ao path do projeto.
-
Execute o projeto no arquivo principal Aplicacao.java
-
Aplicacao.java Obtém a escolha do usuário entre compra e venda; Obtém uma conexão com o RabbitMQ usando a classe ServicoMensageria.java; Exibe uma lista de ações disponíveis e solicita quantidade e valor; Cria uma thread (corretoraThread) para enviar a mensagem ao RabbitMQ usando a classe Corretora.java. Também tem métodos para obter a escolha do usuário e gerar o livro de ofertas, que será salvo em um arquivo .csv.
-
BolsaDeValores.java Estabelece a conexão com o RabbitMQ para consumir mensagens da bolsa de valores; Cria uma thread (bolsaThread) para consumir mensagens em segundo plano; Define métodos auxiliares para processar mensagens recebidas.
-
Corretora.java Publica mensagens no RabbitMQ para representar operações de compra ou venda de ações.
-
ServicoMensageria.java e RabbitMQConncetion.java Estabelecem a conexão com o RabbitMQ, retornando uma conexão para ser usada pelo sistema.
-
Planilha.java Responsável pela manipulação dos arquivos excel (LivroDeOfertas.csv e 1688438acoesbovespa.csv).
A Aplicação.java será executada. É a partir dela que a interface gráfica é gerada para o cliente para interação. A classe irá obter a escolha do usuário entre compra e venda. Obtém uma conexão com o RabbitMQ usando a classe ServicoMensageria.java. Será exibido uma interface com as ações disponíveis, O usuário escolhe uma ação, a quantidade e o valor. Uma mensagem é enviada ao RabbitMQ representando a operação de compra ou venda. A BolsaDeValores.java consome essas mensagens e processa conforme necessário.
O código usa threads para comunicação assíncrona com o RabbitMQ, para compra e venda, separamente.