Requisitos de Sistemas



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

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

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

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

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

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

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

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

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

Padrões de Interação com o Usuário

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

Banco de Dados Conceito de Arquitetura

agility made possible

Projuris Enterprise Visão Geral da Arquitetura do Sistema

Objetivos Específico

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Web. Professor: Rodrigo Alves Sarmento

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

A influência da Tecnologia da Informação e Telecomunicação na Contabilidade - A Era do Contador Digital

EXP Digital, desenvolvendo soluções personalizadas para sua empresa alcançar a melhor performance no mundo virtual.

Desenvolvimento de Sistemas WEB

ADMINISTRAÇÃO E SERVIÇOS DE REDE

HP Factory Express. Para obter mais informações sobre o portfólio de computação pessoal HP PC Factory Express, visite

GBD PROF. ANDREZA S. AREÃO

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL. Prof. Angelo Augusto Frozza, M.Sc.

2. Conceitos e Arquitetura de Bancos de Dados

O Gerenciamento de Documentos Analógico/Digital

Aula 03-04: Modelos de Sistemas Distribuídos

Sistemas Distribuídos (DCC/UFRJ)

II Semana de Tecnologia da Informação. Rails Framework

Desenvolvimento de uma Etapa

Professor: Conrado Frassini

INTRODUÇÃO A REDES SEM FIO

PLANIFICAÇÃO ANUAL GESTÃO DE TEMPOS. CURSO: Curso Profissional de Secretariado 10º ano. DISCIPLINA: Tecnologias da Informação e Comunicação

Plano de Segurança da Informação

Capítulo 3 Projeto de Arquitetura

ARQUITETURA DE COMPUTADORES

Shermila Guerra Santa Cruz Orientador: Ricardo Rodrigues Ciferri

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

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ TABELIÃO INTERFACE ADMINISTRATIVA MANUAL DE PRODUÇÃO

BANCO DE DADOS. Isac Aguiar isacaguiar.com.br

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

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

Manual Rápido de Registro e Configuração do DJPDV

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

UM CAMINHO SIMPLES PARA UMA NUVEM PRIVADA

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Criando e consumindo Web service REST com PHP e JSON. Palestrante: Weiberlan Garcia

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Case Libbero: Implantação do VOS Center para agilizar o processo de cobrança e atendimento

Sistemas Distribuídos

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

Diagrama de Estrutura Composta

Bancode Dados. Evolução e Conceitos Gerais. Wireless-Optical Broadband Acess Network

PORTABILIDADE NUMÉRICA UMA SOLUÇÃO ORIENTADA PELA SIMPLICIDADE, QUALIDADE E BAIXO CUSTO

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

EP018 O produto Internet e suas Aplicações BPMStar Browser Star - Sistema BPMSTAR para Internet. BPMStar. : Sandra Mattos Malaquias.

PLATAFORMA. comunicação inteligente

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva

Pró-Reitoria de Administração - PRAd Assessoria de Informática - AI SISTEMA DE PUBLICAÇÃO DE LICITAÇÕES. Manual de Procedimentos

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.

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

Load Balance Benefícios e vantagens dessa funcionalidade.

Banco de Dados I. Construindo modelos de dados confiáveis


Serviços do Cisco Connected Stadium Wi-Fi

Máquinas Virtuais: Windows 2008 Server

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

Vivo Soluciona TI Manual de Autoinstalação

Departamento de Informática

Gerenciamento da Integração (PMBoK 5ª ed.)

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Data Versão Descrição Autor

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

TIC Tecnologias da Informação e Comunicação 10º Ano

Teclado. Mike McBride Anne-Marie Mahfouf Tradução: Lisiane Sztoltz

Curso de Aprendizado Industrial Desenvolvedor WEB

SISTEMA GERENCIADOR DE BANCO DE DADOS

Parte V Linguagem de Programação

Classificação Quanto. Sistemas de Lotes (2) Sistemas de Lotes (3)

Interconexão de Redes. Aula 03 - Roteamento IP. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br

Overview Virtual TechKnowledge DBA Virtual DBA Virtual DBA Virtual on-demand DBA Virtual DBA Virtual DBA Virtual

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

Nível do Sistema Operacional

Arquitetura de Banco de Dados

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Transcrição:

Bancos de Dados III Acesso Cliente Servidor Arquiteturas Rogério Costa rogcosta@inf.puc-rio.br 1 Requisitos de Sistemas Grande competitividade no mercado TI deve apoiar a empresa atendendo com agilidade. Buscam-se aplicativos com base em novos parâmetros... Flexibilidade, Fácil Manutenção, Reusabilidade, Escalabilidade,... 2 1

Aplicações em Camadas Possível solução => modularização e utilização de arquiteturas em camadas... Principais componentes de sistemas de informação: dados regras de negócio - regras que definem a maneira como os dados serão acessados e processados apresentação ao usuário - Interface visível do programa, que é utilizada pelo usuário para acessar a aplicação 3 Divisão em camadas Particionamento físico Divisão de um sistema complexo em mais de uma unidade física Tomou grande impulso com a utilização de PCs e LANs => maior escalabilidade Particionamento lógico Divisão de um sistema em módulos de acordo com seu objetivo/funcionalidade Não é necessariamente acompanhado de um particionamento físico 4 2

Particionamento Lógico 5 Particionamento Lógico Objetivos Por exemplo, permitir que: características sejam adicionadas sem reprojetar a aplicação novos tipos de clientes (software/hardware) sejam adicionados à aplicação interfaces de clientes sejam modificadas com mínimo impacto para a lógica do negócio lógica do negócio seja modificada sem mudar a apresentação do dado esquema do banco de dados ou da fonte de dados sejam modificados com o mínimo impacto na aplicação Exemplo de arquitetura: MVC 6 3

MVC Model-View-Controller/Modelo- Visão(Vista)-Controlador(Controle) Primeira menção ao MVC: 1979 - Projeto da XEROX Foi desenvolvida para ser utilizada como auxílio ao projeto visual Smalltalk-80 Originalmente, existia o Editor 7 MVC Modelo - gerenciamento da informação e comportamento da aplicação. É mais do que apenas uma representação do conteúdo do banco de dados Deve ser constituído pelas entidades de domínio e pelas regras de negócio intrínsecas a essas entidades Atua como camada de validação e abstração entre a interface com o usuário e os dados de negócio. Servidor de banco de dados constitui a camada de persistência do Modelo 8 4

MVC Visão - responsável por apresentar as entidades de domínio ao usuário, constituindo a parte visível do sistema Não contém lógica do funcionamento da aplicação Não contém lógica de navegação entre as telas Pode conter lógica condicional que relacione a forma de apresentação de um dado ao papel do usuário As operações que o usuário realiza na interface visual (pressionamento de um botão, por exemplo) são transformadas em eventos 9 MVC Controlador - garante o total desacoplamento entre Visão e Modelo eventos disparados na Visão são passados para o controlador interpreta as ações do usuário provenientes da Visão e comanda a execução das regras de negócio contidas no Modelo comanda a Visão para que ela apresente adequadamente a informação ao usuário 10 5

MVC Ciclo resumido de operações: Usuário interage com a interface (pressionando um botão, por exemplo) Controlador recebe notificação do evento enviada pelos objetos de interface Controlador acessa o modelo, possivelmente atualizando-o de acordo com a ação Modelo avisa a Visão das modificações, possivelmente através do controle, ou em um esquema Publish-Subscribe Visão usa modelo para gerar a interface adequada Interface aguarda ação do usuário, que reinicia o ciclo 11 MVC Exemplo - Aplicação Web: Usuário pressionou Mostrar os próximos 10 resultados da busca Um evento é disparado - o browser aciona uma requisição ao Controlador Controlador informa ao modelo a necessidade de mais registros Controlador faz Visão reapresentar a mesma página Visão solicitada dados a Modelo, que devolve os próximos 10 resultados, segundo orientação original do Controlador 12 6

MVC - Vantagens Fácil manter, testar e atualizar sistemas múltiplos, pois o modelo MVC gerencia múltiplos visões É simples incluir novos clientes apenas incluindo suas visões e controladores - Visões permitem várias tipos de interfaces: HTML (para browsers), XML (para web services), WML (para dispositivos wireless),... Torna a aplicação extensível e escalonável. Facilidade de desenvolvimento em paralelo para o modelo, a visão e o controlador, pois são independentes 13 MVC - Desvantagens Requer uma quantidade maior de tempo para analisar e modelar o sistema Requer pessoal especializado Não é aconselhável para pequenas aplicações 14 7

Particionamento Físico 15 Modelos de Aplicações Distribuídas Banco de Dados Sistemas Legados Clientes Magros Aplicações Externas Clientes Gordos 16 8

Arquitetura em uma camada Aplicações isoladas, onde tudo (regras de negócios, tratamento de dados e apresentação ao usuário) é tratado dentro do mesmo programa Dominantes até década de 80 como arquitetura corporativa 17 Arquitetura em Duas Camadas Primeiros sistemas cliente-servidor eram de duas camadas (lógicas e físicas) Particionamento lógico Camada cliente trata da lógica de negócio e da interface Camada servidor trata dos dados Particionamento físico Camada cliente em desktops da empresa Camada servidora em servidor de dados corporativo 18 9

Arquitetura em Duas Camadas Com particionamento lógico e físico Aplicação em Desktop Aplicação em Desktop Conexão de Bancos de Dados Servidor de Aplicação / Dados com SGBD BD Camada Cliente Camada Servidor 19 Arquitetura em Duas Camadas Benefícios Boa para criação de aplicações usando ferramentas visuais de construção de sistemas devido a simplicidade Apropriada para pequenas aplicações departamentais Limitações Maior dificuldade em instalação e manutenção (mudanças na lógica de aplicação forçava instalações) Menor escalabilidade (conexões a bancos de dados) Maior dificuldade de acessar fontes heterogêneas 20 10

Modelo Cliente-Servidor em Duas Camadas Modelo em Três Camadas Client Client Application Server DB Server DB Server 21 Arquitetura em 3 Camadas Modularidade: melhor manutenção Separação torna mais fácil o monitoramento do desempenho de cada função Melhora a integração com a utilização de diferentes máquinas em diferentes plataformas Problemas de instalação/manutenção reduzidos, pois mudanças às camadas de aplicação e de dados não necessitam de novas instalações no desktop 22 11

Arquitetura em 3 Camadas Aplicação em Desktop Conexão TCP/IP Servidor de Aplicação Pool de conexões de Bancos de Dados Servidor de Dados Aplicação em Desktop BD Camada de Apresentação Camada de Aplicação Camada de Dados 23 Cliente Magro Web Exemplo com Tecnologia Cliente Gordo Client Browser Client Browser + Applet Application Server - Servlet Application Server DBMS Server DBMS Server 24 12

Arquitetura em 3 Camadas Client Application Server Visão Física: Exemplo com Tecnologia DB Server 25 Duas camadas X Três camadas Número de usuários Desempenho Facilidade no desenvolvimento Divisão física Código Centenas Alta Limitada Duas Camadas Menor (muitos comandos SQL são enviados para o servidor. Os dados de resposta são transmitidos para o cliente, para análise) Maior no cliente Milhares Três Camadas Maior (somente requisições são enviadas pra o servidor de aplicação. SQLs e dados são trocados entre servidores. Pool de conexões ajuda no desempenho) Melhorando (novas ferramentas para desenvolvimento) Maior (camadas podem estar em máquinas independentes). Maior no servidor de aplicação 26 13

Aplicações em N Camadas 27 Arquitetura em N camadas Utilização de Web Services, componentes, objetos distribuídos,... Browser como Cliente Universal Evitar instalação em computadores de clientes, parceiros, fornecedores,... 28 14

Aplicações em N Camadas Maior capacidade de processamento através da distribuição Número de servidores envolvidos depende única e exclusivamente do desenho da aplicação ou das necessidades funcionais 29 15