<< Chapter < Page Chapter >> Page >

[Decisão Arquitetural 010]Os serviços que implementam os módulos descritosna [Decisão Arquitetural 001] devemser replicados, evitando assim pontos únicos de falha. Para facilitara replicação, os módulos não devem manter estado, delegando esta responsabilidadeaos serviços de armazenamento.

Objetivo : Replicando instâncias de serviços,elimina-se os pontos únicos de falha, aumentando a confiabilidadedo sistema e a tolerância a faltas.

Motivação : Implementando serviços stateless , a replicação fica trivial, umavez que a requisição pode usar qualquer uma das réplicas ativas.Note que é sempre necessário o registro no balanceador de cargada uma nova réplica em execução. Serviços de armazenamento não podemutilizar esta técnica sem adaptações, uma vez que dados são fundamentalmente stateful .

Decisões executivas

A última classe de decisões arquiteturais que apresentamosé a executiva. Este tipo de decisão está mais relacionado ao processo dedesenvolvimento do que aos elementos de design. Entre as decisões executivas,podemos encontrar decisões que descrevem: a metodologia utilizada durante desenvolvimento,como o time está dividido durante a implementação do sistema, como o treinamentode novos membros deve ocorrer, ou quais tecnologias e ferramentas devem seradotadas para auxiliar o processo. Os exemplos a seguir mostram algumasdecisões executivas.

Neste exemplo, apresentamos uma decisãohipotética do software Vuze Vuze : (External Link) .

(Decisão Arquitetural 001) . O software será escrito usandoa linguagem de programação Java.

Objetivo : Permitir a portabilidade para váriossistemas operacionais.

Motivação : Como um dos objetivos do Vuze é alcançar o maior número de usuários possível, não queremos impor abarreira de instalação em um ou outro sistema operacional específico.Uma vez que programas escritos em Java podem executar em qualquersistema operacional que seja capaz de executar a Máquina Virtual Java(JVM) e que a maioria dos sistemas para usuários finais já dispõemda JVM, esta linguagem deve ser usada para poupar o trabalho deportar o Vuze para diferentes sistemas.

[Decisão Arquitetural 011]O time de desenvolvimentoserá dividido em equipes menores e cada equipe será responsávelpela implementação do serviço responsável pelas funcionalidades de módulodescrito na [Decisão Arquitetural 001].

Objetivo : Minimizar o tempo de desenvolvimento.

Motivação : A possibilidade de paralelizaro desenvolvimento pode diminuir o tempo total de construção dosoftware. No entanto, deve-se respeitar as decisões arquiteturais que definemas interfaces entre os módulos, para que sua integração seja facilitada.endexample

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Arquitetura de software. OpenStax CNX. Jan 05, 2010 Download for free at http://cnx.org/content/col10722/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Arquitetura de software' conversation and receive update notifications?

Ask