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

Last edited by Gabriel Fanto Stundner Mar 02, 2020
Page history
This is an old version of this page. You can view the most recent version or browse the history.

7. arquitetura

7.1 Introdução

  • O objetivo deste documento é fornecer uma visão geral do planejamento da arquitetura e do projeto detalhado no desenvolvimento do projeto Easywork, realizado durante os semestre 2019/01 na Agência Experimental de Engenharia de Software (AGES) do curso de Engenharia de Software (ES-360) da Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS). Este documento abrange o propósito, escopo, definição, acrônimos, abreviações, referências e a visão geral da Arquitetura de Software e do Projeto Detalhado utilizados.

7.2 Diagrama de Deployment

  • O projeto foi dividido em camadas que executam em dispositivos diferentes, e podem ser visualizadas na figura a seguir, juntamente das principais tecnologias envolvidas. Cada componente, incluindo possíveis sub-componentes, é instanciado em um contêiner Docker conforme será explicado no item 7.4.

DEPLOYMENT_DIAGRAM
- O dispostivo **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 **Persistence** faz parte da camada de persistência de dados. Este dispositivo possui um componente **Relational Database** que é uma abstração de um banco de dados relacional **PostegreSQL**, que é responsável por armazenar e gerenciar todos os dados do sistema.

7.3 Visão de sub-componentes da aplicação REST

  • Cada rota disponibilizada para uso compõe um sub-componente do componente REST API descrito acima. Estas rotas e sua breve explicação podem ser encontradas na wiki 9. rotas api.
  • Outro modo de visualização e entendimento de comportamento das rotas é através da ferramenta Postman, cujas coleções de rotas por microsserviço podem ser obtidas no repositório 9. rotas api.



7.4 Conteinerização e Diagrama de Microsserviços

  • Para a implantação do sistema (deploy) utiliza-se Docker, 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 Docker Compose, uma ferramenta que define e implementa um ambiente contendo múltiplos contêiners Docker.
MICROSERVICES_DIAGRAM

Documento de Arquitetura e Projeto Detalhado (exemplo):

Documento de Arquitetura e Projeto Detalhado - Overleaf

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