Analisar os Requisitos de Distribuição
Finalidade
|
Definir a extensão à qual a distribuição é necessária para o sistema.
|
Os requisitos de distribuição são orientados por:
-
Demandas de distribuição no domínio do problema (requisitos funcionais) - Pode haver requisitos explícitos
para que o sistema acesse ou utilize um processador distribuído específico, um banco de dados ou um sistema legado
para executar parte de sua funcionalidade.
-
Configuração de implementação selecionada - Configurações de implementação específicas impõem restrições
sobre a distribuição do sistema, definindo o número e os tipos de nós e suas interconexões. Por exemplo, a seleção
de uma configuração de implementação em múltiplas camadas em geral significa que você possui um nó cliente, um nó
servidor da Web e um nó servidor de aplicativo. Uma configuração de implementação específica geralmente é
selecionada durante a Tarefa:
Análise Arquitetural e depois é refinada durante esta tarefa.
-
Recursos exigidos (requisitos não funcionais) - Funcionalidade que consome tempo e requer muitos cálculos
pode exigir configurações de hardware específicas, especialmente equipado para tratar a demanda da funcionalidade;
por exemplo, um processador mais rápido, mais memória RAM ou uma quantidade maior de espaço em disco. O
processamento de sinais digitais seria um exemplo, exigindo processadores especializados e dedicados.
-
A necessidade de tolerância a falhas (requisitos não funcionais) - O requisito poderia ser
processadores de backup.
-
Preocupações com escalabilidade e flexibilidade (requisitos não funcionais) - O grande número de
usuários simultâneos é simplesmente altíssimo para ser suportado por um único processador. Poderia ser um requisito
para o equilíbrio de carga da funcionalidade do sistema, fornecendo assim desempenho máximo e escalabilidade.
-
Preocupações econômicas - O preço de processadores menores e mais baratos não pode ser comparado ao dos
modelos maiores.
Como ocorre com muitos problemas relativos à arquitetura, esses requisitos poderão, de alguma forma, ser mutuamente
exclusivos. Pelo menos inicialmente, não é comum ocorrer conflitos entre requisitos. A ordenação dos requisitos em
termos de importância ajudará a solucionar o conflito.
|
Definir a Configuração da Rede
Finalidade
|
Definir a configuração e a topologia da rede.
|
Nesta etapa, o Modelo de Implementação inicial (definido na Tarefa: Análise Arquitetural) é refinado para suportar os requisitos
de distribuição identificados na etapa anterior.
A topologia da rede, os recursos e as características dos processadores e dispositivos da rede determinarão a natureza
e o grau de distribuição possível no sistema.
As seguintes informações precisam ser capturadas:
-
o layout físico da rede, incluindo locais
-
os nós da rede e suas configurações e recursos (a configuração inclui o hardware e o software instalados nos nós, o
número de processadores, a quantidade de espaço em disco, memória e troca e assim por diante) - o hardware
instalado no nó pode ser representado utilizando dispositivos
-
a largura de banda de cada segmento da rede
-
a existência de caminhos redundantes na rede (isso ajudará a fornecer recursos de tolerância a falhas)
-
A finalidade principal do nó, incluindo:
-
-
nós da estação de trabalho utilizado pelos usuários
-
nós de servidores nos quais ocorre o processamento livre (para simplificar a configuração do servidor, seus
componentes podem ser compactados em uma imagem livre, sem componentes da interface com o usuário)
-
configurações especiais utilizadas para desenvolvimento e teste
-
outros processadores especializados
-
design e recursos IP (por exemplo, DNS, VPN), se houver uma rede IP
-
a parte que cabe à Internet na solução
Exemplo
O seguinte diagrama ilustra a Visão de Implementação do sistema de caixa eletrônico
Visão de Implementação do Sistema de Caixa Eletrônico
O diagrama ilustra dois Nós (o próprio sistema de caixa eletrônico, que é o centro deste exemplo, e o Servidor de Rede
desse sistema), através dos quais são estabelecidas todas as conexões da rede entre bancos. Embora o Servidor de Rede
esteja fora do escopo dos criadores do sistema de caixa eletrônico, ele é mostrado aqui para ilustrar como a largura de
banda da rede pode ser documentada. O diagrama mostra também os processos e encadeamentos executados no nó do caixa
eletrônico, os quais são descritos na próxima etapa Alocar
elementos do sistema em nós.
Faça anotações para documentar a capacidade do processador e da rede. Esse tipo de documentação também pode ser
apresentado nos campos de documentação do Nó (ou dos dispositivos), e nesse caso não será exibido no diagrama.
|
Alocar Elementos do Sistema em Nós
Finalidade
|
Distribuir a carga de trabalho do sistema.
|
Nesta etapa, os elementos do sistema são alocados nos nós definidos na etapa anterior. A implementação pode ser descrita de uma perspectiva
lógica e física.
Implementação lógica é onde os elementos lógicos (classes, subsistemas ou suas interfaces) são mapeados em nós.
Podem estar incluídos encadeamentos de controle. Por exemplo, uma implementação lógica pode
declarar que o subsistema AuctionManager está implementado no servidor de aplicativo.
Implementação física é onde os arquivos são mapeados em nós. Por exemplo, uma implementação física pode afirmar
que o arquivo CloseAuctionTimer.class está implementado no servidor76.
A distribuição é uma área onde a totalização pode ser, e geralmente é, menos do que a totalização das partes. A
obtenção de vantagens concretas com a distribuição requer trabalho e planejamento detalhado. Ao decidir que elementos
serão mapeados para quais nós, considere o seguinte:
-
capacidade do nó (em termos de memória e potência de processamento)
-
largura de banda da mídia de comunicação (barramento, LANs, WANs)
-
disponibilidade de hardware e links de comunicação, re-roteamento
-
requisitos de redundância e tolerância a falhas
-
requisitos de tempo de resposta
-
requisitos de rendimento do processamento
Os elementos são alocados para nós com o intuito de minimizar a quantidade de tráfego cruzado na rede; os elementos que
interagem em um alto grau devem ser colocados no mesmo nó; enquanto os elementos que interagem menos freqüentemente
podem residir em nós diferentes. A decisão crucial e que, muitas vezes requer iteração, é quando fazer a distinção. A
distribuição de processos entre dois ou mais nós requer uma verificação minuciosa dos padrões de comunicação entre
processos no sistema. Muitas vezes há uma percepção simples de que a distribuição do processamento pode aliviar a carga
de trabalho de uma máquina para outra. Na prática, a carga de trabalho adicional decorrente da comunicação entre
processos pode facilmente negar os ganhos obtidos com a distribuição da carga de trabalho se o processo e os limites
dos nós não forem considerados cuidadosamente.
Exemplo
O diagrama do exemplo anterior, a Visualização da Implementação do caixa eletrônico, ilustra para o nó de caixa
eletrônico a alocação de processos no nó. Há um único processo (Caixa Eletrônico Principal) que, por sua vez, consiste
em três encadeamentos de controle separados (Interface do Cliente, Interface de Rede do Caixa Eletrônico e Controlador
de Dispositivo).
Alguns ambientes fornecem mecanismos para automatizar e/ou simplificar a distribuição. Por exemplo:
-
Clusters: Um cluster é um grupo de servidores que age como uma unidade, normalmente incluindo funcionalidade
como failover e equilíbrio de carga. Nesse caso, a Visualização de Implementação deve descrever como os elementos
do sistema são alocados em clusters, e também como os clusters são configurados para serem mapeados em nós físicos.
-
Contêineres: Em ambientes de componentes, tais como J2EE, Microsoft .NET e outros, os componentes são
executados em um ambiente de computação lógico chamado contêiner. Um contêiner pode ser considerado um "nó lógico".
A visualização de implementação deve descrever como os elementos do sistema são implementados em contêineres e, por
sua vez, como os contêineres são alocados em nós físicos.
O uso de tais mecanismos de distribuição de suporte, e como eles precisam ser configurados e mapeados em nós físicos
para atender aos requisitos de distribuição, deve ser documentado como parte da visualização de implementação.
|
|