IESolutions Intelligent Enterprise Solutions CESAR – Centro de Estudos e Sistemas Avançados de Recife ATAM Componentes • • • • • Clóvis Nascimento Rochely Estevam Thiago Toscano Vicente Melo Wesley Silva Apresentação • Requisitos e Diretrizes • Arquitetura • Soluções Arquiteturais Utilizadas • Árvore de Utilidades • Riscos, Tradeoff e sensibilidade Requisitos e Diretrizes • RF01 - Autenticação • Impactos: Para realização qualquer ação, o sistema deverá identificar todos os peers e autorizar apenas as ações que são pertinentes. • Ações: O sistema terá um repositório único para autenticação, localizado no servidor. • Tipo de Atributo de qualidade: Segurança, Otimização de Recursos • RF02 - Identificação de destino • Impactos: O sistema deverá identificar em qual (is) destino(s) o peer deverá realizar o armazenamento de dados. • Ações: Para a seleção de que peers o sistema irá armazenar, utilizaremos um algoritmo no servidor que selecionará aleatoriamente os peers de destino que estiverem logados. • Tipo de Atributo de qualidade: Confiabilidade. Requisitos e Diretrizes • RF03 - Backup dos dados e RF004-Restauração dos dados (em Runtime) • Impactos: Uma instância do sistema em uma máquina precisará se comunicar com uma instância em outra máquina. • Ações: Será necessário implementar em cada sistema que será instalado na máquina do usuário um cliente e um servidor, permitindo assim a comunicação entre as partes envolvidas. Para isso foi adotado o padrão peer-to-peer. • Tipo de Atributo de qualidade: Interoperabilidade.. • RNF05 - Criptografia de dados • Impactos: O sistema deverá garantir que os dados não serão interceptados durante a transferência de dados pela rede. • Ações: Antes dos dados serem trafegados na rede, estes devem ser criptografados. • Tipo de Atributo de qualidade: Segurança. Requisitos e Diretrizes • RNF07 - Interface gráfica (em Runtime) • Impactos: O sistema deverá possuir uma interface gráfica para itnteração com o usuário • Ações:Criar camadas acima do sistema existente de modo que seja possível prover interface gráfica • Tipo de Atributo de Qualidade: Usabilidade • RNF09 - Servidor para centralização das informações • Impactos: Deverá ser desenvolvido um servidor e este deve estar aderente com o padrão arquitetural atual • Ações: Desenvolver o sistema seguindo o padrão arquitetural Hybrid Peer-to-Peer. • Tipo de Atributo de Qualidade: Otimização de Recursos, Segurança, Manutenibilidade Requisitos e Diretrizes • RNF10 - Manutenibilidade • Impactos: O sistema deverá ser desenvolvido com o menor acoplamento possível. • Ações: Desenvolver o sistema de maneira modular e em camadas. • Tipo de Atributo de Qualidade: Manutenibilidade Arquitetura • Visão de Implantação Arquitetura • Visão de Implementação (Cliente) Arquitetura • Visão de Implementação (Servidor) Arquitetura • Visão de Processo (Cliente) Arquitetura • Visão de Processo (Servidor) Soluções Arquiteturais • Padrões Arquiteturais • Camadas • Dividir para conquistar; • Reduzir o acoplamento; • Aumentar coesão, abstração e reusabilidade; • Prover flexibilidade, portabilidade, testabilidade e design defensivo. • Utilizando a tecnologia WindowsForms para interagir com o usuário. Soluções Arquiteturais • Padrões Arquiteturais • Hybrid Peer-to-Peer • Centralizar decisões sobre execuções de autenticação, backup e restauração. • Utilizando Socket e .Net Remoting Árvore de Utilidades • Otimização de Recursos • Centralização das informações (H,H) – As informações são armazenadas no servidor central. • Balanceamento de recursos (L,H) – Utilização dos recursos dos clientes. • Manutenibilidade • Facilidade de Distribuição (L,L) – Novas versões são automaticamente atualizadas nos peers. • Performance • Tempo de Backup (L,L) – Utilizar 80% da capacidade de tráfego de rede. • Tempo de Restauração (L,L) - Utilizar 80% da capacidade de tráfego de rede. • Segurança • Confidencialidade (M,H) - Garantir que cada usuário acesse apenas seus dados • Confiabilidade (L,H) – Garantir backup dos arquivos em manipulação • Usabilidade • Andamento da Operação (L,L) – Acompanhar o andamento através da barra de progresso. • Disponibilidade • Servidor (H,H) - Garantir 95% de time up • Peers (H,H) - Garantir 95% de time up Riscos, Tradeoff e Sensibilidade • Riscos • Não garantir 95% do time up dos peers e do servidor • Não garantir o backup de arquivos em manipulação • O peer não conseguir se atualizar automaticamente. • O download não ser concluído • O usuário não tem permissão para fazer uma instalação Riscos, Tradeoff e Sensibilidade • Tradeoff • Para garantir a capacidade de 80 % da rede, utilizaremos uma criptografia que pode comprometer a performance. • Dificuldade de Gerenciamento e Implementação • Dificuldade de Implantantação • Diminuição no desempenho Riscos, Tradeoff e Sensibilidade Cenario Utilização do espaço em disco ocioso dos clientes (peers) Atributos Otimização de Recursos Refinamento Balanceamento de Recursos Decisões arquiteturais Sensibilidade Utilização do P2P Tradeoff X T1 Dificuldade de Gerenciamento e Implementação T2 Dificuldade de Implantantação T3 Diminuição no desempenho R1 O peer pode estar indisponível R2 O download não ser concluído R3 O usuário não tem permissão para fazer uma instalação T1 Risco Não risco R1 Riscos, Tradeoff e Sensibilidade Cenario Novas versões do módulo cliente são automaticamente atualizadas nos peers Atributos Manutenibilidade Refinamento Facilidade de distribuição Decisões arquiteturais Sensibilidade Tradeoff Risco Não risco Notificador X T2 Mecanismo de Download X R2 Atualizador X R3 T1 Dificuldade de Gerenciamento e Implementação T2 Dificuldade de Implantantação T3 Diminuição no desempenho R1 O peer pode estar indisponível R2 O download não ser concluído R3 O usuário não tem permissão para fazer uma instalação Riscos, Tradeoff e Sensibilidade Cenario Garantir 95% de time up do servidor Atributos Disponibilidade Refinamento Disponibilidade do Servidor Decisões arquiteturais Sensibilidade Tradeoff Risco Não risco Watchdog X X Heartbeat X X T1 Dificuldade de Gerenciamento e Implementação T2 Dificuldade de Implantantação T3 Diminuição no desempenho R1 O peer pode estar indisponível R2 O download não ser concluído R3 O usuário não tem permissão para fazer uma instalação Riscos, Tradeoff e Sensibilidade Cenario Garantir o backup de arquivos em manipulação Atributos Segurança Refinamento Confiabilidade Decisões arquiteturais Sensibilidade Utilizar mecanismo de lock no arquivo antes de realizar o backup Tradeoff X T1 Dificuldade de Gerenciamento e Implementação T2 Dficuldade de Implantantação T3 Diminuição no desempenho R1 O peer pode estar indisponível R2 O download não ser concluído R3 O usuário não tem permissão para fazer uma instalação Risco Não risco X Riscos, Tradeoff e Sensibilidade Cenario Garantir que cada usuário acesse apenas seus dados Atributos Segurança Refinamento Confidenciabilidade Decisões arquiteturais Sensibilidade Criptografia Tradeoff X T1 Dificuldade de Gerenciamento e Implementação T2 Dificuldade de Implantantação T3 Diminuição no desempenho R1 O peer pode estar indisponível R2 O download não ser concluído R3 O usuário não tem permissão para fazer uma instalação T3 Risco Não risco X