Aula 05 Projeto de Arquitetura Universidade de Mogi das Cruzes Objetivo: Apresentar os diversos tipos de Arquitetura do Sistema. Capítulo 3 Projeto de Arquitetura O projeto de arquitetura descreve hardware, software e ambiente de rede do sistema.o objetivo do projeto de arquitetura é determinar quais partes da aplicação serão atribuídas as quais hardwares. 1. Elementos de Um projeto de Arquitetura Todos os sistemas de software podem ser divididos em quatro funções básicas enquanto que os componentes de hardware são divididos em três partes. 1.1. Componentes de Software Os componentes de software são divididos em: Armazenagem de Dados Banco de Dados ou Arquivos (entidades DER) procedimentos necessários para acessar as informações no banco de dados. Lógica de negócio (Processos de DFD) Interface com o usuário 1.2. Componentes de Hardware Os componentes de hardware são divididos em: Computadores cliente PC, palm, laptop, celular Computadores Servidor Mainframes, PC Rede conexão discada, banda larga, etc. 2. Tipos de Arquitetura A arquitetura do projeto consiste em definir quais partes do software serão distribuídas em quais hardwares, as diferentes combinações é que especifica a arquitetura utilizada.
2.1. Arquiteturas Baseadas em Servidor Servidor (mainframe) Os servidores normalmente são mainframes executando as quatro funções da aplicação. Os clientes simplesmente capturam o que é digitado e enviam para o servidor processar. Desvantagens Sobrecarga no servidor devido a demanda de clientes. 2.2. Arquiteturas Baseadas em Servidor (PC) Na arquitetura baseada em cliente, o computador cliente e responsável pela lógica de apresentação, lógica de aplicação e lógica de acesso aos dados. Em aplicações muito simples, o armazenamento dos dados poderá ser colocado na mesma máquina. Desvantagem Conforme a demanda por mais aplicações, o computador cliente poderá ficar sobrecarregado.
2.3. Arquiteturas Baseadas em -Servidor Servidor (PC) O objetivo das arquiteturas baseadas em cliente-servidor é distribuir o processamento de forma equilibrada entre cliente e servidor. Nestas arquiteturas, o cliente é responsável pela lógica da apresentação enquanto o servidor é responsável pela lógica de acesso aos dados e armazenamento de dados. A pode ser alocada no cliente, no servidor ou em ambos. Quando o cliente possui a maior parte da chamamos de Gordo. Quando o servidor possui a maior parte da, chamamos de Magro. Vantagens redimensionáveis, suporte a diversos tipos de máquinas cliente e servidor diferentes, facilidade para separar claramente as camadas em sistemas Web, maior confiabilidade e disponibilidade contra falhas. Desvantagens Complexidade, desenvolver programas para cliente e para servidor, dificuldade de atualização. 3. Influencia dos requisitos não funcionais na escolha da Arquitetura Requisitos Baseado Servidor Baseado Magro Gordo Requisitos operacionais Integração de Sistemas Portabilidade Atualização Requisitos de Desempenho Velocidade Capacidade Disponibilidade/Confiança
Requisitos de Segurança Universidade de Mogi das Cruzes Valor Agregado Controle de Acesso Criptografia/ Autenticação Controle de Vírus Requisitos Culturais e Políticos Multilíngües Personalização Legislação Requisitos Operacionais Integração: Se o sistema usa integração de sistemas de mesa (Excel) uma arquitetura baseada em cliente magro ou gordo pode ser mais indicada, mas integrações de sistemas com arquitetura baseada em servidor podem ser mais indicado uma arquitetura baseada em servidor. Portabilidade: As arquiteturas baseadas em cliente-magro são mais indicadas pois é mais simples escrever padrões baseados na Web que ampliam o sistemas para outras plataformas. Atualização: Arquiteturas baseadas em clientes magros não são indicadas pois uma alteração implica em reinstalar o software em todos clientes. Requisitos de Desempenho Velocidade: Os sistemas em geral que precisam de alto desempenho adaptam-se melhor em arquiteturas baseada em cliente-servidor por distribuir o processamento. Capacidade: arquiteturas baseadas em cliente-servidor são mais facilmente redimensionáveis Disponibilidade/Capacidade: em arquiteturas baseadas em cliente-servidor podemos ter vários servidores sendo que quando um falhar o outro poderá assumir suas solicitações. Requisitos de Segurança Valor Agregado/Controle de Acesso: Sistemas que possuem um alto valor agregado normalmente são alocados em mainframes por possuírem Sistema operacional mais confiáveis, mesmo quando os mainframes são usados como servidores em uma arquitetura cliente servidor. Arquiteturas baseadas em servidores e clientes magros centralizam o software em apenas um local. Criptografia/Autenticação: Devido a grande influencia da Internet, a tecnologia de autenticação e criptografia são muito mais avançadas para arquiteturas baseadas em em
cliente-servidor do que para mainframes Controle de Vírus: reduzir funções residentes nos computadores clientes reduzem o risco de vírus. Requisitos Cultuais e Políticos Multilíngües/Personalização/Legislação:: a separação das aplicações e da lógica de apresentação possibilita o desenvolvimento de interfaces diferentes para cada idioma e sem precisar alterar a lógica de negócio, e do mesmo modo, podemos criar funções que sejam habilitadas e desabilitadas para personalizar o sistema de forma a atender diferentes tipos culturais. 4. Especificar Software e Hardware para o Sistema Após ter conhecimento dos tipos de arquitetura, podemos escolher qual o melhor se adapta a nosso sistema. O passo seguinte a definição da arquitetura é a especificação de hardware e software para o sistema. Baseada na arquitetura escolhida preencha o quadro abaixo com a especificação de Hardware e Software de seu sistema. Servidor Web Servidor Servidor de BD Aplicação Sistema Operacional windows Windows Windows windows Software Especial Adobe Acrobat, Tomcat Tomcat PostgreSQL Excel, IExplorer Hardware Pentiun, monitor Pentiun, 40G HD Pentiun, 40G HD Pentiun, 200G HD 17, 10G HD Rede Dial-up 56 Kbps Ethernet dual Ethernet dual Ethernet dual