O Modelo Físico: Arquitetura de Aplicação
Depois que os modelos conceituais e lógicos estiverem concluídos, você poderá tomar decisões sobre a implementação física do aplicativo. Para criar o modelo físico, você deve entender onde os vários serviços do aplicativo devem estar localizados e como eles devem ser implementados. A determinação de onde residem vários serviços deve vir antes de como os serviços serão implementados.
Uma regra básica para determinar onde vários serviços residem é esta: Coloque o componente onde ele está sendo usado. Se, por exemplo, um componente exibir informações para o cliente base, ele deverá ir para o computador do usuário. Se um componente valida informações do cliente base, ele também deve residir no computador do cliente base. Se um componente atualizar informações em um banco de dados, ele deverá residir no servidor de banco de dados.
Há, é claro, considerações adicionais que abrem exceções a essa regra. Problemas de desempenho e segurança também podem ditar onde um componente está localizado. Considere estes fatores:
- Um componente vai mudar com frequência, dificultando a distribuição de atualizações?
- O componente será usado por outros aplicativos, como um componente comum de verificação de segurança?
- O componente faz cálculos longos ou executa funções, como impressão, que podem ser descarregadas para um servidor?
- A segurança de um componente pode ser aprimorada colocando-o em um servidor?
A localização adequada de componentes de um aplicativo também pode isolar a equipe de desenvolvimento de recodificação dispendiosa se o sistema ou o local dos dados mudarem. Por exemplo, ao colocar as regras de acesso a dados em uma camada de dados em vez de em procedimentos armazenados, o aplicativo é mais facilmente isolado da dependência de um DBMS específico. Não apenas as alterações são confinadas e os testes compartimentados, mas as fontes de dados podem ser alteradas e os dados podem ser distribuídos sem alterar fundamentalmente o aplicativo.
Finalmente, a localização de componentes deve tirar proveito da eficiência do sistema. É eficaz em termos de tempo e custo colocar objetos de negócios em locais centralizados na rede. Os objetos podem ser compartilhados entre aplicativos e o teste de unidade pode ser feito antes que qualquer componente seja implantado. Os custos de manutenção também podem ser reduzidos porque as alterações de regras ocorrem apenas em um único ponto.
Tópicos relacionados