Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • EasyWork
  • Wiki
  • Wiki
  • 7. arquitetura

7. arquitetura · Changes

Page history
imagens authored Mar 02, 2020 by Gabriel Fanto Stundner's avatar Gabriel Fanto Stundner
Hide whitespace changes
Inline Side-by-side
7.-arquitetura.md
View page @ bbe91993
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
## 7.2 Diagrama de Deployment ## 7.2 Diagrama de Deployment
- O projeto foi dividido em camadas que executam em dispositivos diferentes, e podem ser visualizadas na fi gura a seguir, juntamente das principais tecnologias envolvidas. Cada componente, incluindo possíveis subcomponentes, é instanciado em um contêiner **Docker** conforme será explicado no item 7.4. - O projeto foi dividido em camadas que executam em dispositivos diferentes, e podem ser visualizadas na fi gura a seguir, juntamente das principais tecnologias envolvidas. Cada componente, incluindo possíveis subcomponentes, é instanciado em um contêiner **Docker** conforme será explicado no item 7.4.
<img src="http://www.tools.ages.pucrs.br/EasyWork/Wiki/raw/master/7.%20arquitetura/Deployment%20Diagram%20Easywork.png" alt="DEPLOYMENT_DIAGRAM"/> <img src="http://tools.ages.pucrs.br/EasyWork/Wiki/raw/master/7.%20arquitetura/Deployment%20Diagram%20Easywork.png" alt="DEPLOYMENT_DIAGRAM"/>
- O dispositivo **Client** faz parte da camada de Front-End. Este dispositivo possui um componente **React.js Application** que é uma abstração de uma aplicação desenvolvida na linguagem **Javascript** utilizando a biblioteca **React.js** para comunicação com o usuário. - O dispositivo **Client** faz parte da camada de Front-End. Este dispositivo possui um componente **React.js Application** que é uma abstração de uma aplicação desenvolvida na linguagem **Javascript** utilizando a biblioteca **React.js** para comunicação com o usuário.
- O dispositivo **Server** faz parte da camada de Back-end. Este dispositivo possui um componente **REST API** (Representational State Transfer - Application Programming Interface) que é uma abstração de uma aplicação desenvolvida na linguagem **Java** utilizando o framework **Spring** para implementar o conceito de **microsserviços**. Serve para validar regras de negócio e comunicar a camada do usuário com o servidor de banco de dados através de protocolo HTTP. - O dispositivo **Server** faz parte da camada de Back-end. Este dispositivo possui um componente **REST API** (Representational State Transfer - Application Programming Interface) que é uma abstração de uma aplicação desenvolvida na linguagem **Java** utilizando o framework **Spring** para implementar o conceito de **microsserviços**. Serve para validar regras de negócio e comunicar a camada do usuário com o servidor de banco de dados através de protocolo HTTP.
...@@ -13,19 +13,19 @@ ...@@ -13,19 +13,19 @@
<br><br> <br><br>
## 7.3 Visão de subcomponentes da aplicação REST ## 7.3 Visão de subcomponentes da aplicação REST
- Cada rota disponibilizada para uso compõe um subcomponente do componente **REST API** descrito acima. Estas rotas e sua breve explicação podem ser encontradas na <a href="http://www.tools.ages.pucrs.br/EasyWork/Wiki/wikis/9.-rotas-api">wiki 9. rotas api</a>. - Cada rota disponibilizada para uso compõe um subcomponente do componente **REST API** descrito acima. Estas rotas e sua breve explicação podem ser encontradas na <a href="http://tools.ages.pucrs.br/EasyWork/Wiki/wikis/9.-rotas-api">wiki 9. rotas api</a>.
- Outro modo de visualização e entendimento de comportamento das rotas é através da ferramenta <a href="https://www.getpostman.com/">**Postman**</a>, cujas coleções de rotas por microsserviço podem ser obtidas no <a href="http://www.tools.ages.pucrs.br/EasyWork/Wiki/tree/master/9.%20rotas%20api">repositório 9. rotas api</a>. - Outro modo de visualização e entendimento de comportamento das rotas é através da ferramenta <a href="https://getpostman.com/">**Postman**</a>, cujas coleções de rotas por microsserviço podem ser obtidas no <a href="http://tools.ages.pucrs.br/EasyWork/Wiki/tree/master/9.%20rotas%20api">repositório 9. rotas api</a>.
<br><br> <br><br>
## 7.4 Conteinerização e Diagrama de Microsserviços ## 7.4 Conteinerização e Diagrama de Microsserviços
- Para a implantação do sistema (deploy) utiliza-se <a href="https://www.docker.com/">**Docker**</a>, uma tecnologia de software que permite que a utilização contêineres (virtualizações em nível de sistema operacional) que empacotam uma aplicação e suas dependências em um recipiente virtual. - Para a implantação do sistema (deploy) utiliza-se <a href="https://docker.com/">**Docker**</a>, uma tecnologia de software que permite que a utilização contêineres (virtualizações em nível de sistema operacional) que empacotam uma aplicação e suas dependências em um recipiente virtual.
- Mais precisamente, utiliza-se <a href="https://docs.docker.com/compose/overview/">**Docker Compose**</a>, uma ferramenta que define e implementa um ambiente contendo múltiplos contêiners Docker. - Mais precisamente, utiliza-se <a href="https://docs.docker.com/compose/overview/">**Docker Compose**</a>, uma ferramenta que define e implementa um ambiente contendo múltiplos contêiners Docker.
- Abaixo encontra-se o diagrama de microsserviços onde: - Abaixo encontra-se o diagrama de microsserviços onde:
* a caixa em branco representa o usuário do sistema, tipicamente um browser web. * a caixa em branco representa o usuário do sistema, tipicamente um browser web.
* as caixas em azul representam as aplicações dockerizadas e implementadas no projeto. * as caixas em azul representam as aplicações dockerizadas e implementadas no projeto.
* as caixas em cinza representam as aplicações não implementadas no projeto, podendo fazer parte de um futuro MVP. * as caixas em cinza representam as aplicações não implementadas no projeto, podendo fazer parte de um futuro MVP.
<img src="http://www.tools.ages.pucrs.br/EasyWork/Wiki/raw/master/7.%20arquitetura/Microservices%20Diagram%20Easywork.png" alt="MICROSERVICES_DIAGRAM"/> <img src="http://tools.ages.pucrs.br/EasyWork/Wiki/raw/master/7.%20arquitetura/Microservices%20Diagram%20Easywork.png" alt="MICROSERVICES_DIAGRAM"/>
<br><br> <br><br>
## 7.5 Análise dos princípios SOLID ## 7.5 Análise dos princípios SOLID
......
Clone repository
  • 1. home
  • 2. cronograma
  • 3. time
  • 4. pivotal labs
  • 5. requisitos
  • 6. mockups de tela
  • 7. arquitetura
  • 8. modelagem de dados
  • 9. rotas api
  • :10. tutorial de instalacao do projeto
  • :11. tecnologias
  • Home