👷 Documento de Arquitetura - PillWatcher/Documentacao GitHub Wiki
Este projeto tem como propósito automatizar a realização de medicação aos pacientes de lar de idosos. Encontra-se neste documento os padrões arquiteturais adotados para demonstrar e especificar o funcionamento da arquitetura para que o sistema seja desenvolvido.
Este documento fornece uma visão geral arquitetural abrangente da Pillwatcher, utilizando diversas visões arquiteturais e diagramas para representar as funcionalidades e processos que compõem o sistema. O objetivo deste documento é capturar e comunicar as decisões arquiteturais significativas que foram tomadas em relação ao projeto.
O sistema em desenvolvimento proporcionará a automatização de processos repetitivos para enfermeiros. Este documento aborda os padrões arquiteturais escolhidos para o desenvolvimento do projeto, com o objetivo de fornecer um método ágil e conclusivo para o acompanhamento da saúde de pacientes. Será exposto nesse documento toda a lógica de construção do sistema, como também, tecnologias utilizadas, implementação, ambientes de trabalho e frameworks.
Sigla | Significado |
---|---|
HTML | Hypertext Markup Language (Linguagem de Marcação de Hipertexto) |
HTTP | Hypertext Transfer Protocol (Protocolo de Transferência de Hipertexto) |
SQL | Structured Query Language (Linguagem de Consulta Estruturada) |
WSGI | Web Server Gateway Interface (Porta de Entrada do Servidor Web) |
API | Application Programming Interface (Interface de Programação de Aplicações) |
Microsserviços em poucas palavras. ThoughtWorks. Disponível em: (https://goo.gl/AQNy6p). Acesso em: 28 de março de 2018.
O documento tem como intuito abordar de forma detalhada e clara sobre os requisitos do software Pillwatcher, bem como as tecnologias utilizadas para o desenvolvimento do mesmo. Para isso, o documento se estrutura na apresentação do escopo, a definição de arquitetura das tecnologias utilizadas, as metas e restrições que o projeto possui, a visão de dados e lógica utilizada para a elaboração da arquitetura do projeto. Para melhor visibilidade, diagrama de dados e representações gráficas do caso de uso estão representados em seus respectivos tópicos.
Descreve cada visão que esse documento tem, como a visão de caso de uso, lógica, de dados e de deploy.
A implementação do front-end da Pillwatcher será em React. Alguns dos principais pilares do React são:
Spring Boot é uma framework desenvolvida em Java baseada em beans:
É um dos bancos de dados mais utilizados do mundo em aplicações web, uma vez que é fácil de usar, possui alta confiabilidade e com alto desempenho. O MySQL Workbench é uma das ferramentas visuais utilizadas para manipulação de dados SQL. Com ela, os desenvolvedores possuem maior facilidade para visualização, modelagem, desenvolvimento e administração de dados, tornando possível também a conversão de dados para mais de um tipo de plataforma, como Windows, Linux e outros.
No projeto em questão, o MySQL será utilizado para a criação do banco de dados da Pillwatcher, onde os dados dos pacientes e dos testes ficarão armazenados de forma a serem melhor administrados pelo cliente. Além disso, permitirá o uso do software na plataforma escolhida pelo cliente, sem que haja perda de informações.
A arquitetura de microsserviços se difere do sistema monolítico devido sua abordagem, que separa uma aplicação única em pequenos serviços independentes. Os serviços se comunicam entre si diretamente, possuindo assim, vantagens como a capacidade de se trabalhar em diferentes linguagens, deixar a manutenção do código mais fácil de ser executada, entre outros.
Por ser uma aplicação web/app, a Pillwatcher precisa de conexão com a internet e deve estar apta para uso nos navegadores Mozilla Firefox, Google Chrome, Safari, etc.
O software deve ser de fácil entendimento para o cliente, uma vez que o seu uso deverá proporcionar uma redução de tempo para medicação dos seus pacientes. Para isso, o uso do React no desenvolvimento da interface permite a criação de ambientes amistosos para uma boa interação com o usuário.
A visão lógica engloba todos os componentes presentes no sistema assim como suas comunicações.
O deploy das imagens docker dos microserviços será feito no Heroku por meio do Travis CI.
O Jenkins criará a imagem Docker e enviará ao Container Registry da AWS. O Kubernetes Engine será responsável por fazer a implantação dos aplicativos e gerenciar os pods.