👷 Documento de Arquitetura - PillWatcher/Documentacao GitHub Wiki

Research

Documento de Arquitetura

1. Introdução

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.

1.1. Finalidade

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.

1.2. Escopo

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.

1.3. Definições, acrônimos e abreviações

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)

1.4. Referências

Microsserviços em poucas palavras. ThoughtWorks. Disponível em: (https://goo.gl/AQNy6p). Acesso em: 28 de março de 2018.

1.5. Visão geral

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.

2. Representação da arquitetura

2.1. Definição arquitetural das tecnologias utilizadas

Descreve cada visão que esse documento tem, como a visão de caso de uso, lógica, de dados e de deploy.

2.1.1. React

A implementação do front-end da Pillwatcher será em React. Alguns dos principais pilares do React são:

2.1.2. Spring Boot

Spring Boot é uma framework desenvolvida em Java baseada em beans:

2.1.3. MySQL

É 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.

2.3. Arquitetura de Microservice

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.

3. Metas e restrições da arquitetura

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.

4. Visão lógica

A visão lógica engloba todos os componentes presentes no sistema assim como suas comunicações.

6 Visão de deploy

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.

⚠️ **GitHub.com Fallback** ⚠️