Mudanças entre as edições de "Arquitetura do Sistema - Visão Geral"

De Redome
Ir para: navegação, pesquisa
(Criou página com 'A Fundação Ary Frauzino pretende com este projeto aumentar o controle e capacidade de monitoramento de todo o processo de doação e colocar o registro nacional de doadores...')
 
 
(2 revisões intermediárias por um outro usuário não estão sendo mostradas)
Linha 1: Linha 1:
 +
[[Arquitetura|'''Voltar''']]
 +
<br/><br/>
 +
==Contexto do Projeto==
 
A Fundação Ary Frauzino pretende com este projeto aumentar o controle e capacidade de monitoramento de todo o processo de doação e colocar o registro nacional de doadores em um patamar internacional de qualidade.
 
A Fundação Ary Frauzino pretende com este projeto aumentar o controle e capacidade de monitoramento de todo o processo de doação e colocar o registro nacional de doadores em um patamar internacional de qualidade.
  
Linha 14: Linha 17:
  
 
A figura a seguir mostra uma visão geral da fronteira deste sistema computacional especializado no contexto da Fundação Ary Frauzino, bem como sua relação e interfaces com as entidades externas.
 
A figura a seguir mostra uma visão geral da fronteira deste sistema computacional especializado no contexto da Fundação Ary Frauzino, bem como sua relação e interfaces com as entidades externas.
 +
 +
[[Arquivo:arquitetura-fronteiras-novo-redome.png|800px]]
 +
 +
Note que as entidades externas presentes neste diagrama representam sistemas, pessoas, empresas ou outras partes elementares definidas como fontes ou destinos de algum fluxo de dados relacionado a este sistema computacional especializado. Na seção a seguir, apresentamos os processos de negócio considerados neste projeto.
 +
 +
==Processos de Negócio==
 +
 +
A Fundação Ary Frauzino apoia o Instituto Nacional de Câncer (Inca) em vários processos relacionados a transplante de medula óssea e sangue de cordão umbilical. O sistema computacional especializado, objeto deste projeto, limita-se a oferecer funções específicas para operação contínua de dois desses processos de negócio. São eles: (1) '''Doação de Medula Óssea''' e (2) '''Doação de Cordão Umbilical'''. Os diagramas a seguir apresentam cada uma das etapas desses processos.
 +
 +
Esses dois processos de negócio cobrem o conjunto de atividades ou tarefas estruturadas relacionadas ao cadastro de doadores e receptores de medula óssea, cadastro de cordão umbilical, motor de Identificação de doador compatível e registro de ocorrência de procedimentos de transplantes de medula óssea. Eles são as referências para definição da lista de funcionalidades para o sistema computacional especializado. Esta lista de funcionalidades, denominada por ''Product Backlog'', será priorizada pelo ''Product Owner'' juntamente com a equipe do projeto, considerando o que é possível ser implementado durante cada iteração (Sprint) e, as restrições e necessidades para manter uma convivência adequada com os sistemas legados.
 +
 +
===Processo de Doação de Medula Óssea===
 +
 +
[[Arquivo:arquitetura-processo-medula-ossea.png|1024px]]
 +
 +
===Processo de Doação de Cordão Umbilical===
 +
 +
[[Arquivo:arquitetura-processo-cordao-umbilical.png|1024px]]
 +
 +
==Estrutura do Sistema==
 +
O sistema computacional especializado será organizado segundo um modelo em três camadas (3-Tier) lógicas: camada de apresentação, camada de aplicação e camada de dados. Ele irá funcionar de maneira que os componentes de software executados em cada camada possam ser substituídos sem prejuízo para o sistema, de modo que atualizações e correções de defeitos possam ser feitas sem prejudicar as demais camadas. A título de exemplo, alterações de interface devem poder ser realizadas sem o comprometimento das informações contidas no banco de dados.
 +
 +
[[Arquivo:arquitetura-visao-geral-camadas.png|1024px]]
 +
 +
A seguir é apresentada uma breve descrição de cada uma dessas camadas do sistema:
 +
 +
# '''Apresentação:''' esta camada aqui denominada ''front-end'' ou simplesmente ''interface''. Ela compreende os componentes responsáveis pela interface de interação com os usuários do sistema. Esses usuários podem ser internos e externos à Fundação Ary Frauzino e terão acesso ao sistema por meio de navegadores web. 
 +
# '''Aplicação:''' nesta camada denominada ''back-end'' é onde residem as regras e lógicas de negócio para atendimentos aos requisitos. Esta camada será composta por um servidor de aplicações Java e um componente analítico para atendimento aos requisitos de elaboração de dashboards, indicadores e relatórios. 
 +
# '''Acesso a dados:''' Esta camada é responsável pelo armazenamento permanente dos dados e informações e seguirá o atual padrão da Fundação Ary Frauzino e do Inca, os quais utilizam a tecnologia de banco de dados relacional Oracle.
 +
 +
==Componentes de Software==
 +
Componente de software é aqui denominado como uma não-trivial, quase independente, e substituível parte de um sistema e que cumpre uma função clara e bem definida no contexto da solução computacional. Ele não é necessariamente uma tecnologia implementada especificamente e nem a aplicação, mas sim uma unidade independente, que pode ser utilizado com outros componentes para formar um sistema mais complexo.
 +
 +
A arquitetura do sistema computacional especializado objeto deste projeto possui componentes funcionais e lógicos com interfaces bem definidas, usadas para comunicação entre esses componentes.
 +
 +
[[Arquivo:arquitetura-componentes.png|1024px]]
 +
 +
A função de cada um desses componentes de software é apresentada a seguir:
 +
 +
{| class="wikitable"
 +
!
 +
! style="font-weight: bold;" | Componente
 +
! style="font-weight: bold;" | Função
 +
! style="font-weight: bold;" | Observações
 +
|-
 +
| style="font-weight: bold;" | 1
 +
| Navegador Web, (thin client)
 +
| Habilitar os usuários a interagirem com documentos HTML hospedados no servidor Web/Aplicação do sistema.
 +
|
 +
* O acesso ao sistema, tanto para usuários internos ou externos, será por meio denavegadores web.
 +
* A aplicação estará aderente a determinado conjunto de navegadores, com versõesespecíficas (vide seção “Restrições Técnicas” deste documento).
 +
* A lógica de apresentação produzida em HTML5, CSS3 e JavaScript é executada em no próprio browser.
 +
|-
 +
| style="font-weight: bold;" | 2
 +
| Email (EMEDYS)
 +
| Habilitar outros registros Internacionais a efetuarem transações no sistema Brasil.
 +
|
 +
* O atual recebimento e interpretação derequisições EMEDYS via e-mail proveniente de outros países deverá ser mantido nosistema.
 +
|-
 +
| style="font-weight: bold;" | 3
 +
| Firewall
 +
| Aplicar as políticas de segurança para filtro de pacotes de dados de/para o sistema.
 +
|
 +
* Hoje o próprio Bluemix disponibiliza em seus componentes, o firewall necessário para controle de acesso a seu ambiente. Existem outras capacidades cobertas pela plataforma como segregação de ambientes e proteção contra ataques.
 +
|-
 +
| style="font-weight: bold;" | 4
 +
| Java Liberty
 +
| Habilitar um Servidor de aplicação Java na nuvem.
 +
|
 +
* A aplicação de backend JEE Application será responsável por encapsular as regras e lógicas de negócio, controlar o acesso aos dados e expor as funcionalidades como serviços e/ou componentes.
 +
|-
 +
| style="font-weight: bold;" | 5
 +
| SMTP
 +
| Suportar protocolo padrão para envio de e-mails através da Internet,  padronizado pela RFC 821.
 +
|
 +
* Considerando que a atual integração do Redome com o servidor SMTP do INCA já é uma realidade para o funcionamento das requisições de transações “EMEDYS, a mesma solução técnica, poderá ser aproveitada como uma integração do sistema computacional que será desenvolvido.
 +
|-
 +
| style="font-weight: bold;" | 6
 +
| Relatórios
 +
| Habilitar a elaboração e publicação de relatórios e dashboards.
 +
|
 +
* Ambiente analítico também na Cloud permitirá a criação de dashboard para acompanhamento de indicadores, bem como a demanda de relatórios para os usuários.
 +
|-
 +
| style="font-weight: bold;" | 7
 +
| Banco de Dados
 +
| Permitir armazenamento dos dados da aplicação.
 +
|
 +
* Banco de dados relacional que permitirá a persistência dos dados do sistema computacional que será desenvolvido, levando em consideração todos os requisitos técnicos para Acreditação.
 +
|-
 +
| style="font-weight: bold;" | 8
 +
| Servidor de Arquivos
 +
| Permitir o armazenamento das requisições no formato EMEDYS.
 +
|
 +
* Servidor padrão de arquivos Linux.
 +
|}

Edição atual tal como às 16h48min de 4 de maio de 2021

Voltar

Contexto do Projeto

A Fundação Ary Frauzino pretende com este projeto aumentar o controle e capacidade de monitoramento de todo o processo de doação e colocar o registro nacional de doadores em um patamar internacional de qualidade.

O presente projeto consiste no desenvolvimento de um sistema computacional especializado e em conformidade com as exigências técnicas estabelecidas pela World Marrow Donor Association no documento intitulado International Standards for Unrelated Haematopoietic Stem Cell Donor Registries, versão de 1 de janeiro de 2017, também denominado como WMDA Standards.

Este sistema computacional especializado será uma aplicação web e que poderá ser acessado de qualquer lugar desde que se tenha um ponto de acesso a Internet disponível.

Atualmente a Fundação Ary Frauzino conta com um conjunto de sistemas legado para o atendimento aos processos de Doação de Medula Óssea e Cordão Umbilical. Tais processos, além de não estarem totalmente integrados, estão intercalados com muitos procedimentos manuais, e tarefas burocráticas que a impedem de atingir o máximo de sua capacidade.

Arquitetura-sistemas-legados-fundacao.png

Este conjunto de sistemas são responsáveis por gerir, aproximadamente, 4 milhões de doadores de medula óssea, 1.400 pacientes em ativos, isto é, pacientes que se encontram em alguma etapa do processo para receber células tronco. O registro brasileiro de doadores de medula óssea é o terceiro maior registro de doadores do mundo.

O desenvolvimento deste sistema computacional especializado pretende reduzir progressivamente o uso das funcionalidades dos atuais sistemas legado em favor das funcionalidades disponíveis na nova plataforma. No entanto, há funções que não serão tratadas por este sistema computacional especializado e, portanto, permanecerão no sistema legado.

A figura a seguir mostra uma visão geral da fronteira deste sistema computacional especializado no contexto da Fundação Ary Frauzino, bem como sua relação e interfaces com as entidades externas.

Arquitetura-fronteiras-novo-redome.png

Note que as entidades externas presentes neste diagrama representam sistemas, pessoas, empresas ou outras partes elementares definidas como fontes ou destinos de algum fluxo de dados relacionado a este sistema computacional especializado. Na seção a seguir, apresentamos os processos de negócio considerados neste projeto.

Processos de Negócio

A Fundação Ary Frauzino apoia o Instituto Nacional de Câncer (Inca) em vários processos relacionados a transplante de medula óssea e sangue de cordão umbilical. O sistema computacional especializado, objeto deste projeto, limita-se a oferecer funções específicas para operação contínua de dois desses processos de negócio. São eles: (1) Doação de Medula Óssea e (2) Doação de Cordão Umbilical. Os diagramas a seguir apresentam cada uma das etapas desses processos.

Esses dois processos de negócio cobrem o conjunto de atividades ou tarefas estruturadas relacionadas ao cadastro de doadores e receptores de medula óssea, cadastro de cordão umbilical, motor de Identificação de doador compatível e registro de ocorrência de procedimentos de transplantes de medula óssea. Eles são as referências para definição da lista de funcionalidades para o sistema computacional especializado. Esta lista de funcionalidades, denominada por Product Backlog, será priorizada pelo Product Owner juntamente com a equipe do projeto, considerando o que é possível ser implementado durante cada iteração (Sprint) e, as restrições e necessidades para manter uma convivência adequada com os sistemas legados.

Processo de Doação de Medula Óssea

Arquitetura-processo-medula-ossea.png

Processo de Doação de Cordão Umbilical

Arquitetura-processo-cordao-umbilical.png

Estrutura do Sistema

O sistema computacional especializado será organizado segundo um modelo em três camadas (3-Tier) lógicas: camada de apresentação, camada de aplicação e camada de dados. Ele irá funcionar de maneira que os componentes de software executados em cada camada possam ser substituídos sem prejuízo para o sistema, de modo que atualizações e correções de defeitos possam ser feitas sem prejudicar as demais camadas. A título de exemplo, alterações de interface devem poder ser realizadas sem o comprometimento das informações contidas no banco de dados.

Arquitetura-visao-geral-camadas.png

A seguir é apresentada uma breve descrição de cada uma dessas camadas do sistema:

  1. Apresentação: esta camada aqui denominada front-end ou simplesmente interface. Ela compreende os componentes responsáveis pela interface de interação com os usuários do sistema. Esses usuários podem ser internos e externos à Fundação Ary Frauzino e terão acesso ao sistema por meio de navegadores web.
  2. Aplicação: nesta camada denominada back-end é onde residem as regras e lógicas de negócio para atendimentos aos requisitos. Esta camada será composta por um servidor de aplicações Java e um componente analítico para atendimento aos requisitos de elaboração de dashboards, indicadores e relatórios.
  3. Acesso a dados: Esta camada é responsável pelo armazenamento permanente dos dados e informações e seguirá o atual padrão da Fundação Ary Frauzino e do Inca, os quais utilizam a tecnologia de banco de dados relacional Oracle.

Componentes de Software

Componente de software é aqui denominado como uma não-trivial, quase independente, e substituível parte de um sistema e que cumpre uma função clara e bem definida no contexto da solução computacional. Ele não é necessariamente uma tecnologia implementada especificamente e nem a aplicação, mas sim uma unidade independente, que pode ser utilizado com outros componentes para formar um sistema mais complexo.

A arquitetura do sistema computacional especializado objeto deste projeto possui componentes funcionais e lógicos com interfaces bem definidas, usadas para comunicação entre esses componentes.

Arquitetura-componentes.png

A função de cada um desses componentes de software é apresentada a seguir:

Componente Função Observações
1 Navegador Web, (thin client) Habilitar os usuários a interagirem com documentos HTML hospedados no servidor Web/Aplicação do sistema.
  • O acesso ao sistema, tanto para usuários internos ou externos, será por meio denavegadores web.
  • A aplicação estará aderente a determinado conjunto de navegadores, com versõesespecíficas (vide seção “Restrições Técnicas” deste documento).
  • A lógica de apresentação produzida em HTML5, CSS3 e JavaScript é executada em no próprio browser.
2 Email (EMEDYS) Habilitar outros registros Internacionais a efetuarem transações no sistema Brasil.
  • O atual recebimento e interpretação derequisições EMEDYS via e-mail proveniente de outros países deverá ser mantido nosistema.
3 Firewall Aplicar as políticas de segurança para filtro de pacotes de dados de/para o sistema.
  • Hoje o próprio Bluemix disponibiliza em seus componentes, o firewall necessário para controle de acesso a seu ambiente. Existem outras capacidades cobertas pela plataforma como segregação de ambientes e proteção contra ataques.
4 Java Liberty Habilitar um Servidor de aplicação Java na nuvem.
  • A aplicação de backend JEE Application será responsável por encapsular as regras e lógicas de negócio, controlar o acesso aos dados e expor as funcionalidades como serviços e/ou componentes.
5 SMTP Suportar protocolo padrão para envio de e-mails através da Internet, padronizado pela RFC 821.
  • Considerando que a atual integração do Redome com o servidor SMTP do INCA já é uma realidade para o funcionamento das requisições de transações “EMEDYS, a mesma solução técnica, poderá ser aproveitada como uma integração do sistema computacional que será desenvolvido.
6 Relatórios Habilitar a elaboração e publicação de relatórios e dashboards.
  • Ambiente analítico também na Cloud permitirá a criação de dashboard para acompanhamento de indicadores, bem como a demanda de relatórios para os usuários.
7 Banco de Dados Permitir armazenamento dos dados da aplicação.
  • Banco de dados relacional que permitirá a persistência dos dados do sistema computacional que será desenvolvido, levando em consideração todos os requisitos técnicos para Acreditação.
8 Servidor de Arquivos Permitir o armazenamento das requisições no formato EMEDYS.
  • Servidor padrão de arquivos Linux.