Mudanças entre as edições de "Arquitetura do projeto - Loomi"

De MSTECH wiki
Ir para: navegação, pesquisa
(Decisões de Arquitetura)
Linha 45: Linha 45:
 
Descrever os seguintes itens:
 
Descrever os seguintes itens:
  
'''Persistência de dados''': Como foi resolvida no produto a persistência? Há banco relacional e não relacional? Quais são os bancos? Como é tratamento de sessão?
+
'''Persistência de dados''':  
 +
 
 +
O Loomi utiliza base de dados relacional SQL Server 2008R2+ para os dados transacionais e o MongoDB para o Log.
 +
 
 +
 
 +
'''Tecnologias de Integração:'''
 +
 
 +
O Loomi realiza integração com o '''Repositorio''' atráves de uma interface de '''API'''. Na atual sprint (9) o repositório ainda não possui uma API exposta. Dessa maneira, foi criada uma API fake qual será descontinuada assim que a API final do Repositorio for desenvolvida.
 +
 
 +
O principal objetivo da integração do Loomi com o Repositorio é o consumo dos '''recursos (Imagens, Vídeos, Docs etc)''' localizados dentro do Repositorio.
  
'''Tecnologias de Integração:''' Quais integrações existem com o produto? Como é essa integração? Via API, Webservices trafegando XML, serviços Windows? Há trabalho manual para tráfego de dados, como importação? Descreva aqui todas as integrações que a ferramenta possui.
 
  
 
'''Log: ''': Como é feito o log? Está em base relacional ou não relacional? Como é feita a consulta dos dados dessa log? Qual o escopo da log (é uma log de transações, log do servidor, etc.). Na arquitetura, a log é tratada por uma camada específica do sistema ou está misturada no código?
 
'''Log: ''': Como é feito o log? Está em base relacional ou não relacional? Como é feita a consulta dos dados dessa log? Qual o escopo da log (é uma log de transações, log do servidor, etc.). Na arquitetura, a log é tratada por uma camada específica do sistema ou está misturada no código?

Edição das 18h31min de 7 de junho de 2016

Informações Gerais

Ambientes utilizados

Ambiente URL de Acesso Credenciais
Desenvolvimento http://localhost:62429/
http://devpei-repositorio.devedu.ms/
admin - 123456 (Administrador)
professorpei1 - 123456 (Professor)
alunopei1 - 123456 (Aluno)
Testes http://pei.devedu.ms/
http://pei-coresso.devedu.ms/
http://pei-repositorio.devedu.ms/
admin - 123456 (Administrador)
professorpei1 - 123456 (Professor)
alunopei1 - 123456 (Aluno)
Ambiente de demonstração http://loomi.mstech.com.br/
http://demo.mstech.com.br/
http://loomi-repositorio.mstech.com.br/
Informação exclusiva do Devops/GTI
Produção TBD Informação exclusiva do Devops/GTI

Repositório de Versionamento

Ambiente: GITLab - Git

Nome: PEI

Caminho: https://gitlab.mstech.com.br/pei/pei

Estrutura dos branches: Main (Master), Develop (Develop)

Visão de Componentes

Apresente um diagrama básico dos módulos do sistema, bem como suas fronteiras. Descreva sucintamente cada módulo que compõe o produto, seu objetivo e como foi construído (linguagens usadas, bancos de dados, etc.).

Diagrama de Classes

Decisões de Arquitetura

Descrever os seguintes itens:

Persistência de dados:

O Loomi utiliza base de dados relacional SQL Server 2008R2+ para os dados transacionais e o MongoDB para o Log.


Tecnologias de Integração:

O Loomi realiza integração com o Repositorio atráves de uma interface de API. Na atual sprint (9) o repositório ainda não possui uma API exposta. Dessa maneira, foi criada uma API fake qual será descontinuada assim que a API final do Repositorio for desenvolvida.

O principal objetivo da integração do Loomi com o Repositorio é o consumo dos recursos (Imagens, Vídeos, Docs etc) localizados dentro do Repositorio.


Log: : Como é feito o log? Está em base relacional ou não relacional? Como é feita a consulta dos dados dessa log? Qual o escopo da log (é uma log de transações, log do servidor, etc.). Na arquitetura, a log é tratada por uma camada específica do sistema ou está misturada no código?

Padrão de Arquitetura utilizado: Se houve planejamento anterior, qual o padrão utilizado? Domain Driven Design (DDD) usando a estrutura MVC? Usa Webforms com outra arquitetura? Front-end e back-end são separados?

Tecnologia de Front-end: Se houver separação, qual tecnologia/framework foi empregada para o projeto? AngularJS, VUE, JQuery, uma composição deles? Qual padrão de codificação (estrutura de pastas, camadas) está sendo usado no projeto? Quais fatores levaram à decisão do framework e arquitetura definidas?

Tecnologia de Back-End: qual tecnologia/framework foi empregada para o projeto? ASP.NET, Java, NodeJS, uma composição deles? Qual padrão de codificação (estrutura de pastas, camadas) está sendo usado no projeto? Quais fatores levaram à decisão do framework e arquitetura definidas?

Framework de CSS: Está sendo utilizada uma ferramenta SASS? Qual framework está sendo usado? Bootstrap 3, Bootstrap 4, Foundation?

Configurações de Otimização de deploy: O código é minificado? O código está com ofuscação? No ASP.NET foi habilitado o bundle no web.config? Quais configurações para otimizar o código são feitas?

Outros aspectos: Fique à vontade para descrever outras considerações, o importante é deixar as decisões tomadas e padrões adotados bem documentados!

Fundamentações das decisões tomadas

Nesta seção, coloque todas as considerações das tomadas de decisão realizadas para o produto. Porque foi usada tal arquitetura? Porque essa separação de componentes? Porque houve refatoração? Descreva o máximo possível nesta seção para que o histórico das decisões seja armazenado para consultas futuras.