Os serviços são construídos usando Java EE EJB, Spring Boot, MySQL Bathabases e uma fila RabbitMQ. Todos os serviços são expostos à medida que a interface da web foi feita usando Java Servlets, páginas JSP, HTML e JavaScript.
Cada serviço é implementado como seu próprio projeto. Isso implica que ele possui sua própria base de código e seu próprio banco de dados. Se você possui serviço S1 e serviço S2, o S1 não poderá obter nenhuma informação do banco de dados do S2, mas deve solicitá -lo do serviço S2 através de chamadas REST.
Requisitos funcionais
O pedido de compra precisará de produtos para serem adicionados por suas empresas de vendas e precisarão das empresas de navegação para entregar os produtos, algumas atividades administrativas precisam ser suportadas. O aplicativo deve suportar os seguintes recursos:
Recursos de administrador
Criação de empresas de vendas de produtos contas representativas.
Dado uma variedade de nomes únicos da empresa
A senha para cada empresa é gerada automaticamente
Criação de companhias de navegação
Listagem de contas de clientes
Listagem de companhias de navegação
Listagem de empresas de venda de contas representativas
Recursos representativos da empresa de venda
Faça login no sistema usando as credenciais geradas conforme enviado pelo administrador
Veja os produtos atualmente oferecidos para venda.
Veja os produtos vendidos anteriormente, incluindo informações sobre os clientes que compraram cada produto e a empresa de navegação.
Adicione novos produtos.
Recursos da empresa de transporte
Solicitações de remessa de processo, desde que o cliente que comprou esse pedido se enquadre em sua (s) região (s) geográfica (s) suportada (s).
Os clientes devem ser notificados, assim que a solicitação de envio for processada.
Recursos do cliente
Registre -se como um novo cliente através do sistema.
Faça login no sistema usando as credenciais usadas durante o registro.
Veja pedidos de compra atuais e passados.
Faça novos pedidos de compra. Os pedidos devem ser tratados de uma maneira especial para evitar situações de falha do servidor.
O processamento de pedidos e seu envio devem ser confirmados de volta aos clientes.
Requisitos técnicos
Uso de 4 tipos diferentes de feijão para atender aos requisitos funcionais acima:
Sem estado
Estado
Singleton
Mensagem orientada
A interface deve ser uma interface baseada na Web usando qualquer tecnologia de sua escolha para simular um aplicativo de compras on-line em funcionamento com diferentes usuários, conforme os requisitos funcionais acima mencionados.
O serviço deve ser exposto como APIs REST e você deve expor seus grãos usando REST para cumprir a API REST do Serviço da Web, conforme apropriado.