Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Documentos relacionados
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Requisitos de Sistemas

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Sistemas Distribuídos (DCC/UFRJ)

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Capítulo 3 Projeto de Arquitetura

Aula 03-04: Modelos de Sistemas Distribuídos

Motivos para você ter um servidor

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

Introdução a Banco de Dados Aula 03. Prof. Silvestri

ARQUITETURAS DOS SISTEMAS DE EMPRESARIAIS (ERP) Arquitetura cliente-servidor Arquitetura aberta

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini

Disciplina de Banco de Dados Introdução

Disciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013

Arquitetura dos Sistemas Operacionais

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Implantação do Sistema de Controle de Tempos Nas Agências de Atendimento - TMA

ITIL v3 - Operação de Serviço - Parte 1

ANEXO V Edital nº 03508/2008

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

Arquitetura e Organização de Computadores

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO

Novo contexto. A incorporação da Internet à rotina empresarial provocou forte impacto sobre as tradicionais formas de negociação...

REDES DE COMPUTADORES

Curso de Aprendizado Industrial Desenvolvedor WEB

Introdução à Computação: Sistemas de Computação

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Diagrama lógico da rede da empresa Fácil Credito

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva /msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.

Arquitetura de Software

Manual de instalação, configuração e utilização do Enviador XML

Arquiteturas de Sistemas Distribuídos

GBD PROF. ANDREZA S. AREÃO

Nível do Sistema Operacional

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

UFG - Instituto de Informática

Sistemas Operacionais II. Prof. Gleison Batista de Sousa

Máquinas Virtuais: Windows 2008 Server

SERVIDORES REDES E SR1

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Relatório de Investigação da Escola julho 2015

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Válvulas de Controle-"Case"- Copesul. Nelzo Luiz Neto da Silva 1 Jader Weber Brum 2

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Modelos de Arquiteturas. Prof. Andrêza Leite

REDES DE COMPUTADORES HISTÓRICO E CONCEITOS

Introdução à Informática

Gerenciamento de Requisitos Gerenciamento de Requisitos

Política Gestão de Configuração e Mudança

TechProf Documento de Arquitetura

Desculpe, mas este serviço (jogo) encontra se em manutenção.

Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007.


UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net.

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Arquitetura dos Sistemas de Informação Distribuídos

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Unidade I Conceitos BásicosB. Conceitos BásicosB

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Sistemas Distribuídos

Especificação Técnica Sistema ABS TEM+

Backsite Serviços On-line

Cartilha Explicativa sobre o Software de Medição de Qualidade de Conexão (Serviço de Comunicação Multimídia)

ADMINISTRAÇÃO E SERVIÇOS DE REDE

Engenharia de Software

SUPLEMENTO Nº 02. O presente Suplemento tem por finalidade introduzir no Edital da Licitação as seguintes alterações:

MINISTÉRIO DA EDUCAÇÃO

Forefront Server Security Management Console: Gerenciamento Simplificado da Segurança para Mensagens e Colaboração White Paper

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos

PROCEDIMENTOS DE AUDITORIA INTERNA

Julgue os itens a seguir, referentes a programas de navegação, programas de correio eletrônico e sítios de busca e pesquisa na Internet.

Curso Técnico em Informática Organização Curricular. A carga horária total dos módulos é oferecida conforme quadro síntese abaixo:

Sistemas Operacionais Conceitos Básicos

17 a 20 de agosto de 2010, Rio de Janeiro. Projeto Web Grupo Águas do Brasil Flavia Garcia

GUIA RÁPIDO - Bulletino Administrador -

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

UFG - Instituto de Informática

Resolução da lista de exercícios de casos de uso

ZF apresenta soluções para frotas em uma das principais feiras de ônibus da Europa

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

CONTRIBUIÇÕES REFERENTES À AUDIÊNCIA PÚBLICA Nº043/2010

Introdução. Para a condução de cada ação teremos presentes duas questões importantes:

SISTEMAS DISTRIBUÍDOS

POPULARIZAÇÃO DA CIÊNCIAS ATRAVÉS DE APLICATIVO PUBLICADOR E SIMULADOR EM TABLETS PARA O ENSINO MÉDIO

Projeto de Arquitetura

TERMINAIS LEVES COM LTSP (LINUX TERMINAL SERVER PROJECT) Lucas Queiroz Braga ¹, Hermes Nunes Pereira Júnior ²

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

Auditoria de Sistemas de Informação. Everson Santos Araujo

Transcrição:

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Agenda 1. Arquitetura de Software 1.1.Introdução 1.2.Vantagens da Arquitetura de Software 1.3.Estilos de Arquiteturas 1.3.1. 2

Arquitetura de Software 3

Introdução O que é ARQUITETURA? Arte de projetar e construir prédios, edifícios ou outras estruturas; arquitetônica. Projeto de um sistema de computador em camadas, de acordo com a função ou prioridade. 4

Introdução O que é ARQUITETURA DE SOFTWARE? Em An Introduction to Software Architecture, David Garlan e Mary Shaw sugerem que a arquitetura de software é um nível de design voltado para questões que vão: "além dos algoritmos e das estruturas de dados da computação. A projeção e a especificação da estrutura geral do sistema emergem como um novo tipo de problema. As questões estruturais incluem organização total e estrutura de controle global; protocolos de comunicação, sincronização e acesso a dados; atribuição de funcionalidade a elementos de design; distribuição física; composição de elementos de design; escalonamento e desempenho; e seleção entre as alternativas de design." 5

Introdução O que é ARQUITETURA DE SOFTWARE? Há mais a arquiteturar do que apenas a estruturar. O artigo Working Group on Architecture da IEEE define a arquitetura como "o conceito de nível mais alto de um sistema em seu ambiente" [IEEE98]. Ele também abrange a "adequação" à integridade do sistema, às restrições econômicas, às preocupações estéticas e ao estilo. Ele não se limita a um enfoque interno, mas leva em consideração o sistema como um todo em seu ambiente de usuário e de desenvolvimento, ou seja, um enfoque externo. 6

Introdução O que é ARQUITETURA DE SOFTWARE? Casos de uso sozinhos não são suficientes para levar de requisitos a um sistema computacional. Há um algo mais necessário. Este algo mais é a arquitetura do sistema. A arquitetura são as visões comuns que todos os papéis do desenvolvimento utilizam como referência. Visão macro do sistema a ser construído. 7

Introdução Em um projeto de edificação Vários papéis: carpinteiros, pedreiros, mestres-de-obra, eletricistas, encanadores, etc. Precisam cada um de um projeto para construir sua parte. Os desenhos precisam ser consistentes entre si. Os tubos de ventilação e os canos de água não podem estar no mesmo espaço físico, por exemplo. O papel do arquiteto é criar as visões dos aspectos significantes de forma que tudo funcione junto adequadamente - visão macro. Elevadores, água, rede elétrica, ar-condicionado, saneamento, etc. Durante a construção, vários trabalhadores utilizam os desenhos do arquiteto para entender como conduzir o seu trabalho. 8

Introdução Em um projeto de software Assim como o edifício, o software é uma entidade única. O arquiteto deve apresentar esta entidade sobre várias perspectivas diferentes. Essas perspectivas são as diferentes visões: Visão de módulos Visão de execução Visão de instalação Visão de dados A arquitetura deve, em primeiro lugar, garantir os requisitos nãofuncionais! 9

Introdução O papel do arquiteto Filosofar sobre os problemas a serem resolvidos para o projeto Gerenciar os requisitos não-funcionais Definir a arquitetura Selecionar as tecnologias Avaliar a arquitetura Arquitetura colaborativa Dono da visão macro Liderança Coaching e mentoring Garantia da qualidade Projetar, desenvolver e testar 10

Introdução O papel do arquiteto Filosofar sobre os problemas a serem resolvidos para o projeto Gerenciar os requisitos não-funcionais Definir a arquitetura Selecionar as tecnologias Avaliar a arquitetura Arquitetura colaborativa Dono da visão macro Liderança Coaching e mentoring Garantia da qualidade Projetar, desenvolver e testar Não existem soluções completas e prontas para o seu projeto 10

Vantagens da Arquitetura de Software Facilita a combinação de abordagens de reuso de software (ex. Estilos, Padrões de Projeto, Componentes, etc) Possibilita análise da descrição da arquitetura nas fases iniciais do desenvolvimento (ex. propridades não funcionais ou conformidade com um estilo) Facilita a evolução do software Permite uma melhor comunicação entre os stakeholders Facilita a comunicação dos padrões adotados para o projeto e suas razões Permite uma execução estruturada e padronizada das funcionalidades do sistema 11

Estilos de Arquiteturas Um estilo arquitetural consiste de um vocabulário de elementos de projeto e um conjunto de regras de configuração que governam a combinação desses elementos Elementos Arquiteturais (de Projeto) Componentes Conectores Exemplo de regras de configuração Uma camada pode somente se comunicar com a camada adjacente no estilo Camadas 12

Estilos de Arquiteturas Definem uma família e não apenas um sistema Exemplos de Estilos A descrição da arquitetura é uma instância de um estilo Cliente-servidor Pipe-filter Camadas (Layered) 13

Conceitos É uma arquitetura onde o processamento da informação é dividido em módulos ou processos distintos. Um processo é responsável pela manutenção da informação (Servidor), Enquanto que outro é responsável pela obtenção dos dados (Cliente). BATTISTI, (2001, pág. 38). 14

Conceitos É uma abordagem da computação que separa os processos em plataformas independentes que interagem, permitindo que os recursos sejam compartilhados enquanto se obtém o máximo de benefício de cada dispositivo diferente, ou seja, Cliente/Servidor é um modelo lógico. VASKEVITCH, (1995, pág. 375). 15

Conceitos Sistema inovador surgido nos anos 90 e muito utilizado no meio corporativo, baseado em três componentes principais: gerenciamento de banco de dados, que funcionam como servidores; redes, que funcionam como meio de transporte de dados e, finalmente, softwares para acesso aos dados: Clientes. BATTISTI, (2001, pág 39). 16

Estrutura Básica Em uma rede de computadores existem uma ou mais máquinas que atuam como servidores, disponibilizando recursos para as demais máquinas, as quais atuam como clientes. 17

Estrutura Básica Temos servidores para arquivos, banco de dados, e outras funções, tais como: servidores de impressão, servidores web, etc. Servidor WEB Servidor Arquivos Servidor Impressão Servidor BD Clientes 18

Servidores: são equipamentos com maior poder de processamento e armazenamento Clientes: geralmente microcomputadores PCs ligados em rede. 19

Cliente - Principais Características Ativo; Inicia e termina as conversações com os Servidores, solicitando serviços distribuídos; Não se comunica com outros Clientes; Normalmente responsável pela entrada e saída de dados e comunicação com o usuário; Torna a rede transparente ao usuário; Hardware: pode ser um micro simples; Software: tem início e fim definido. 20

Servidor - Principais Características Reativo; Execução contínua; Recebe e responde a solicitações dos Clientes; Não se comunica com outros Servidores; Presta serviços distribuídos; Atende a diversos Clientes simultaneamente; Hardware: exige máquinas mais robustas, com grande capacidade de processamento; Software: processo sempre em execução, aguardando ser chamado pelo Cliente. 21

Aplicações em Duas Camadas Servidor Banco de Dados Clientes 22

Aplicações em Duas Camadas Foram utilizadas no início da implantação do modelo Cliente/ Servidor. Aqui, a aplicação Cliente responde pelas seguintes funções: Apresentação: O código que gera a interface visível do programa faz parte da aplicação Cliente. Todos os formulários, menus e demais elementos visuais nele estão contidos. Então uma alteração na interface do programa requer a geração de uma nova versão para todos os computadores; Lógica do Negócio: São as regras que definem como os dados serão acessados e processados. Toda a Lógica do Negócio fica no Cliente. Quando o programa Cliente é instalado, são instaladas todas as regras de acesso ao banco de dados. É necessária uma nova versão do programa cada vez que alterações ocorrerem e as regras mudarem. Também é necessário que todos os computadores que estejam com a versão anterior recebam a nova, mesmo que sejam centenas ou milhares de micros. 23

Aplicações em Duas Camadas Contribuições: Avanços para as empresas; Limitações: Dificuldade de Manutenção e gerenciamento. 24

Aplicações em Três Camadas Servidor de Aplicações Servidor Banco de Dados Clientes 25

Aplicações em Três Camadas Retira as Regras do Negócio do cliente e as centraliza em um determinado ponto, o qual é chamado de servidor de aplicações: Servidor de Aplicações Servidor Banco de Dados O acesso ao Banco de Dados é feito através das regras contidas no Servidor de Aplicações Tem-se uma maior facilidade de atualização dessas regras, pois estão centralizadas em um único ponto. 26

Aplicações em Três Camadas Características: As Regras do Negócio (lógica) foram deslocadas para o Servidor de Aplicações, então ali será determinada a maneira como os dados serão utilizados. Todo o acesso do cliente ao Banco de Dados é feito de acordo com as regras contidas no Servidor de Aplicações. Não é possível o acesso ao B. de Dados sem primeiramente passar pelo Servidor de Aplicações. No Servidor de B. de Dados reside toda informação necessária para o funcionamento da aplicação. 27

Aplicações em Três Camadas Melhoramentos: Atualização mais fácil das Regras do Negócio; Aumento da flexibilidade, conseqüentemente; Maior segurança e controle do acesso aos dados; Torna-se mais fácil manter a aplicação atualizada e garantir que todos os usuários terão acesso às alterações; Falha: Continua o problema de atualização da interface de aplicação, cada vez que sejam necessárias mudanças na interface. Porém, alterações nela são menos freqüentes do que as que ocorrem nas Regras do Negócio. 28

Aplicações em Quatro Camadas Servidor WEB TomCat Servidor de Aplicações JBoss Servidor de Banco de Dados SQLServer Clientes InternetExplorer 29

Aplicações em Quatro Camadas Servidor WEB TomCat Servidor de Aplicações JBoss Servidor de Banco de Dados SQLServer Requisita página http://192.168.1.1/app/relatorio.jsp Clientes InternetExplorer 29

Aplicações em Quatro Camadas Servidor WEB TomCat Servidor de Aplicações JBoss Servidor de Banco de Dados SQLServer Solicita a execução de uma regra de negócio especifica para a geração do relatório Clientes InternetExplorer 29

Aplicações em Quatro Camadas Servidor WEB TomCat Servidor de Aplicações JBoss Servidor de Banco de Dados SQLServer Realiza consulta de todos os dados necessários para a geração do relatório Clientes InternetExplorer 29

Aplicações em Quatro Camadas Servidor WEB TomCat Servidor de Aplicações JBoss Servidor de Banco de Dados SQLServer Retorna todos os dados para o processamento do relatório Clientes InternetExplorer 29

Aplicações em Quatro Camadas Servidor WEB TomCat Servidor de Aplicações JBoss Servidor de Banco de Dados SQLServer Retorna todos o relatório processado, com as informações consolidadas Clientes InternetExplorer 29

Aplicações em Quatro Camadas Servidor WEB TomCat Servidor de Aplicações JBoss Servidor de Banco de Dados SQLServer Retorna o relatório formatado, conforme padrão de visualização, visualização amigável dos dados e com navegabilidade Clientes InternetExplorer 29

Aplicações em Quatro Camadas Servidor WEB TomCat Servidor de Aplicações JBoss Servidor de Banco de Dados SQLServer Clientes InternetExplorer Servidor WEB TomCat Servidor WEB TomCat Servidor de Aplicações JBoss 30

Aplicações em Quatro Camadas Cliente: Navegador; Apresentação: Servidor Web, onde serão feitas as alterações de interface; Lógica (Regras do Negócio): Servidor de Aplicações, onde serão feitas as alterações nas regras do negócio, quando necessárias; Dados: Servidor de Banco de Dados, com todas as informações necessárias. 31

Aplicações em Quatro Camadas Vantagens Serviços Recursos Protocolos Localização Descentralização Escalabilidade Disponibilidade Integridade Desvantagens Complexidade Comunicação 32

Contatos Rodrigo Videschi +55 34 3221-7782 rodrigo.videschi@wpmo.com.br http://www.wpmo.com.br 33