GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Mindmap

Estilos e Padrões Arquiteturais 2

Roberto de Melo Introdução a Arquitetura de Software Portugiesisch

Mapa mental sobre estilos e padrões arquiteturais: sistemas distribuídos, padrões e serviços

Mapa mental: Estilos e padrões arquiteturais

Inhalt der Mindmap

Estilos e Padrões Arquiteturais 2

  1. 4 - Sistemas Distribuídos

    • Introdução
      • Cenário mais comum
        • Sistemas rodando em várias CPUs
        • Redes conectando vários computadores
      • Vantagens
        • Economia; Desempenho e Escalabilidade (usam recursos distribuídos na rede)
        • Confiabilidade (uma máquina pode falhar sem afetar o restante do sistema)
      • Desvantagem
        • Precisam de software específico
    • Padrão Broker
      • Introdução
        • Pode ser utilizado para estruturar sistemas de software distribuídos que interagem por chamadas remotas
        • Um componente broker é responsável por coordenar comunicação, como, enviar solicitações e transmitir resultados e exceções
        • Contexto: Sistema distribuído e heterogêneo com cooperação entre componentes independentes
      • Requisitos
        • Flexibilidade
        • Escalabilidade
        • Sistema não deve ser dependente do mecanismo de comunicação
        • Necessário adicionar, remover, localizar, ativar componentes
        • Componentes devem conseguir acessar serviços providos por outros através de chamadas remotas transparentes
        • Componentes devem ser adicionados, removidos e alterados em tempo de execução
        • Arquitetura deve esconder detalhes de implementação dos usuários dos componentes e serviços
        • Interação entre clientes e servidores é baseada em um modelo dinâmico
        • Servidores podem atuar como clientes
        • Clientes não precisam conhecer a localização dos servidores que eles acessam
        • Componente broker atua para separar melhor clientes de servidores
          • Servidores
            • Se registram no broker
            • Tornam seus serviços disponíveis a clientes através de interfaces definidas
          • Clientes
            • Acessam funcionalidades dos servidores através de requisições ao broker
        • Objetos podem ser alterados facilmente
        • Deve possuir algum modo de localizar solicitante de requisições
        • Oferece APIs a clientes e servidores
          • Registrar servidores
          • Chamar métodos de servidores
      • Responsabilidades
        • Localizar o servidor apropriado
        • Reenviar solicitações aos servidores
        • Transmitir resultados e exceções aos clientes
      • Usos conhecidos
        • CORBA (Common Object Request Broker Architecture)
          • Tecnologia orientada a objetos para distribuir objetos em sistemas heterogêneos
        • WWW
          • Navegadores atuam como brokers. Servidores WWW atuam como provedores de serviços
  2. 5 - Outros Padrões Arquiteturais

    • Sistemas de fluxos de dados
      • Introdução
        • Possuem dois ou mais componentes de processamento
        • Transformam dados de entrada em dados de saída
        • Transformação de maneira sequencial
      • Pipes and filters
        • Um componente de processamento tem duas saídas
          • Saída padrão
          • Saída de erro
        • Mecanismos de entrada e saída são chamados portas. Um filtro típico possui três portas
        • A saída de de erro pode ser conectada a um componente diferente de processamento
        • Possível definir arranjos mais complexos, por exemplo, com decisão de rotear processamento
    • Sistemas de chamada e retorno
      • Introdução
        • Caracterizados por um processo inicial de controle que invoca operações
        • Utilizado em sistemas orientados a objetos
    • Componentes independentes
      • Componentes independentes dependem de chamada implícita de operações
      • Chamada da operação está desconectada da execução
      • Componente “chamador” e “chamado” podem existir em processos separados e até mesmo em processadores distribuídos
      • Componentes não conhecem muito uns aos outros
      • Componente que gera eventos não conhece componentes que escutam ou reagem a estes eventos
        • Exemplo: triggers
      • Esses sistemas tendem a ser mais modulares
      • Mais possibilidades de reuso
      • Sistema em si é mais complexo normalmente
      • São uma forma de sistema distribuído
      • Sujeitos a restrições de desempenho
    • Repositórios
      • Envolvem fonte de dados compartilhada
      • Motivação: guardar dados persistentes
      • Dois elementos principais
        • Elemento de dados central
        • Múltiplos elementos processadores independentes
    • Quadro Negro (Blackboard)
      • Do tipo Repositório
      • Fontes de conhecimento: elementos processadores
      • Quadro negro: elemento central compartilhado
      • Exemplo: sistema de banco de dados
    • Peer-to-Peer
      • Napster, Torrent
    • Taxonomias
      • A classificação dos estilos arquiteturais pode variar de acordo com a referência bibliográfica
  3. 6 - Introdução a Serviços

    • Introdução
      • Conceito de orientação a serviços não é novo
      • Podemos imaginar uma cidade orientada a serviços
      • Cada empresa provê serviços para diversos consumidores
      • Se dependências são muito grandes, negócios podem ser inibidos
      • Negócios podem ter que se adequar a algumas convenções como
        • Usar a mesma moeda
        • Empregados falam mesma língua que consumidores
        • Interface entre os negócios
      • Convenções trazem padrões benéficos aos consumidores sem influenciar cada negócio
      • SOA – unidades existem de forma autônoma não isoladas umas das outras. Precisam se adequar a princípios e padronização
      • Unidades – são chamadas serviços
    • SOA – Service Oriented Architecture
      • Paradigma de desenvolvimento
      • Objetivo é criar módulos funcionais – serviços – com baixo acoplamento e permitindo reutilização
    • Acoplamento
      • Medida da interdependência entre dois ou mais módulos
      • Quanto mais acoplados, mais dependentes e vulneráveis a mudanças
    • Coesão
      • Seus elementos internos estão relacionados uns com os outros para executar a função do módulo
      • Quanto mais coesos, mais fáceis de manter e menos afetados por mudanças
    • Componentes fracamente acoplados
      • Web Services devem ser componentes fracamente acoplados
      • Podem continuar a funcionar mesmo com alterações na comunicação como
        • Adição de novos parâmetros
        • Omissão de parâmetros
        • Mudança de ordem de parâmetros
    • Granularidade
      • Ajuda a medir a complexidade de um modelo de componentes
      • Granularidade fina
        • Desce em nível de classes
        • Muito detalhado
      • Granularidade grossa
        • Oculta o modelo de classes básico
        • Componentes executam mais de uma função
        • SOA visa criar componentes de granularidade grossa
    • Como serviços interagem?
      • Devem ter conhecimento da existência uns dos outros.
      • Este conhecimento é realizado através de descrições de serviços (service descriptions)
    • Princípios do Projeto de Serviços
      • Autonomia: Possuem controle sob a lógica que encapsulam
      • Abstração: Escondem lógica do mundo externo
      • Reusabilidade: Lógica dividida em serviços para promover reuso
      • Ausência de estado: Serviços minimizam armazenamento sobre informações específicas de suas atividades
      • Serviços são projetados para serem encontrados e acessados por mecanismos específicos
      • Contrato do serviço: Serviços concordam com um contrato definido por uma ou mais descrições de serviço e documentos relacionados
      • Fracamente acoplados: Mantém uma relação que minimiza dependências e apenas têm conhecimento de outros
  4. 6 - Introdução a Serviços

    • Serviço
      • É um componente que atende a uma função de negócio específica
      • Recebe requisições e as responde ocultando todo o detalhamento do processamento
      • Executa unidades completas do trabalho
      • Podem ser “stateless” (não armazenam estado)
      • Facilita reutilização
    • Manutenção de Estado
      • Se saída de um componente é afetada pelo seu estado interno (não somente pela entrada), diz-se que é um componente stateful
        • Exemplo: armazenar código do cliente para mostrar produtos de que gosta
      • São problemáticos, exigem maior acoplamento, de difícil manutenção e baixa reutilização.
    • Mensagens
      • Comunicação através de mensagens
      • Mensagens devem ser autônomas Unidades independentes de comunicação
      • Depois que serviço envia uma mensagem, perde controle do que acontece com ela

Informationen

Beschreibung
Introdução a Arquitetura de Software Mindmap am Estilos e Padrões Arquiteturais 2, erstellt von Roberto de Melo am 23/04/2018.
Erstellt von
Roberto de Melo
Aufrufe
0
Bewertung

Mehr zu Estilos e padrões arquiteturais

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck