A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Abr-17 Projetar Processos Projetar distribuição.

Apresentações semelhantes


Apresentação em tema: "Abr-17 Projetar Processos Projetar distribuição."— Transcrição da apresentação:

1 abr-17 Projetar Processos Projetar distribuição

2 Arquitetura de software O modelo de “4+1 Visões”
abr-17 Estrutura, componentes Estrutura Visão Lógica Visão de Implementação Analista de Sistemas Programadores Visão de Casos de Uso Arquiteto Visão de Processos Visão de Distribuição Arquiteto A definição da arquitetura consiste de um conjunto de visões do sistema, que são usadas mais ou menos como as diversas plantas arquitetônicas de uma construção. Para construir algo, o arquiteto fornece o desenho da fachada, a planta baixa, a planta que descreve as instalações elétrica e hidráulica etc. As diversas plantas são usadas pelo mestre de obras, pedreiros, encanadores, eletricistas, de acordo com a atividade que deve ser realizada por cada um. Da mesma maneira, o arquiteto do projeto fornece as diversas visões da arquitetura do sistema (que são, na verdade, modelos do sistema descritos através de diagramas de UML), que serão usadas pelos desenvolvedores de acordo com suas atividades. Nesta parte do curso estaremos nos concentrando na visão lógica, na visão de distribuição e na visão de processos A visão lógica apresenta a estrutura e a organização do projeto do sistema, ilustrando os subsistemas, pacotes e classes que são arquiteturalmente relevantes. A visão de distribuição mostra a configuração dos nós de processamento em tempo de execução, os componentes que são armazenados em cada nó e objetos que são armazenados nos componentes e nós. A visão de processos ilustra a organização dos processos do sistema. Esta visão ilustra a decomposição do sistema através de processos, incluindo o mapeamento de classes e subsistemas para processos e threads. Topologia, implantação, comunicação Arquiteto Escalabilidade Fluxo de análise e projeto

3 Descrição de Projetar Processos
abr-17 Durante a identificação de elementos de projeto podem ser encontrados objetos ativos (cápsulas) para representar threads lógicas Em tese cada um deveria possuir sua própria thread Este mapeamento pode depender de requisitos de tempo de resposta, devido ao: Overhead em mudanças de contexto Sobrecarga sobre recursos Projetar distribuição

4 Processos x Threads Processos Threads (processos leves)
abr-17 Processos Unidades independentes e autônomas (ponto de vista de SO) Ambiente de execução autocontido Podem ser recuperados independentemente de outros processos Contem uma ou mais threads Threads (processos leves) Possuem controle de concorrência aninhado a outros processos/threads São mais leves Compartilham recursos (incluindo memória) do processo no qual estão inseridas Projetar distribuição

5 Definição de processos envolve
abr-17 Documentar ciclo de vida do processo Identificar meios de comunicação inter-processos RPCs, MailBox, Event Boradcast, ... Alocação de recursos Memória, arquivos, ... Projetar distribuição

6 Exemplo de um diagrama de Processos
abr-17 Em um sistema ATM (Automated Teller Machine), eventos assíncronos podem ser oriundos de três fontes: Usuário Do dispositivo ATM (por exemplo, saque) Rede ATM (requisição de shutdown pela rede) Para lidar com estes eventos, serão definidos três threads de execução que compõem o processo ATM (usando classes ativas – cápsulas). Projetar distribuição

7 Exemplo de um diagrama de Processos
abr-17 Pode ser construido através do diagrama de componentes Fonte: Rational Unified Process Version Projetar distribuição

8 Projetar Distribuição
abr-17 Projetar Distribuição Projetar distribuição

9 Descrever distribuição
abr-17 Descrever como o sistema está organizado nos seus nós físicos (sistemas distribuídos) Definir a configuração da rede Alocar processos aos nós Trabalhar na Visão de Implantação ou Distribuição (Deployment) No passo Descrever Distribuição os processos do sistema são alocados para os nós físicos. Este passo é realizado apenas para sistemas distribuídos. Projetar distribuição

10 Motivação para distribuição do sistema
abr-17 Reduzir carga de processador Requisitos especiais de processamento Prover acesso distribuído ao sistema Economia Ex.: Grid computing Confiabilidade Ex.: Tolerância a Falhas A distribuição de processos entre dois ou mais nós requer uma análise mais cuidadosa dos padrões de comunicação inter-processos no sistema. Freqüentemente, existe uma percepção ingênua de que a distribuição de processamento pode transferir carga de uma máquina para outra. Na prática, o trabalho adicional para a comunicação inter-processos pode absorver os ganhos obtidos com a distribuição, se as fronteiras do processo e dos nós não tiverem sido analisadas cuidadosamente. Para obter benefícios reais da distribuição, é necessário um planejamento cuidadoso. Podem haver requisitos não funcionais que exijam uma determinada distribuição por entre os nos da rede, ou que não seja usado mais que uma determinada porcentagem da carga do processador. Alguns requisitos funcionais podem exigir que sistemas legados sejam acessados de forma distribuida, ou que um determinado banco ou servidor externo seja utilizado tambem. Projetar distribuição

11 Diagrama de implantação: Elemento - Nó
abr-17 Def.: recurso computacional físico Pode ser de dois tipos processador dispositivo <<Node>> <<Processor>> Processador A <<Device>> Dispositivo B Um nó é um objeto físico de tempo de execução que representa um recurso computacional, geralmente tendo pelo menos memória e freqüentemente capacidade de processamento também. Objetos de tempo de execução e componentes podem residir em nós. Processadores (Processors) e Dispositivos (Devices) são estereótipos de nó. A diferença entre ambos consiste em que processadores executam software que foi explicitamente escrito para o sistema sendo desenvolvido. Dispositivos executam software embarcado. Lista de processos que executam no Processador A Processo C Processo D Projetar distribuição

12 Diagrama de implantação: Elemento - Conexão entre nós
abr-17 Conexões entre nós identificam: mecanismo de comunicação (tecnologia utilizada) meio físico utilizado protocolo de software <<Processor>> Processador A Conexão <<Device>> Dispositivo B Conexões podem ser realizadas entre nós (por exemplo, entre processadores e entre processadores e dispositivos). Estas conexões representam mecanismos de comunicação e podem ser descritas por meio físico (por exemplo, ethernet, cabo de fibra ótica) ou protocolo de software (por exemplo, TCP/IP). Um estereótipo pode ser usado para especificar o tipo de conexão. Projetar distribuição

13 Alocar processos a nós abr-17 De acordo com a configuração da rede, os processos do sistema são alocados aos nós levando em consideração: Capacidade do nó Largura de banda do meio de comunicação Disponibilidade de hardware e links de comunicação Requisitos de redundância e tolerância a falhas Requisitos de tempo de resposta Processos precisam ser associados a dispositivos de hardware para execução. Aqueles processos com maior exigência de tempo de resposta rápido devem ser associados aos processadores mais rápidos. Processos devem ser associados a nós minimizando o tráfego dentro da rede. Processos que interagem fortemente, devem residir no mesmo nó. Processos que interagem menos freqüentemente podem residir em nós diferentes. Projetar distribuição

14 QIB – Diagrama de distribuição
abr-17 Cliente Cliente Browser Browser Internet (HTTPS) Internet (HTTPS) Servidor Web Servidor Apache A máquina Cliente executa o processo Browser, que pode ser qualquer navegador como o Internet Explorer ou Mozilla. A máquina ServidorWeb executa o processo ServidorApache e a máquina ServidorBD executa o Oracle Servidor BD Oracle Projetar distribuição


Carregar ppt "Abr-17 Projetar Processos Projetar distribuição."

Apresentações semelhantes


Anúncios Google