A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tecnologia de Informática

Apresentações semelhantes


Apresentação em tema: "Tecnologia de Informática"— Transcrição da apresentação:

1 Tecnologia de Informática
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

2 Conteúdo Básico Tecnologia
Tecnologia Cliente/Servidor Tecnologia Orientada a Objetos Conceitos Básicos Linguagem Java Tecnologia Internet Páginas HTML Páginas Ativas no Cliente (linguagens script e componentes) Componentes no Servidor (ASP, JSP, PHP, .NET, etc.) Repositórios no Servidor (bancos de dados, imagens, documentos etc.). Laboratório de Tecnologia Aplicada (em duplas) Tecnologia XML Web Services e Aplicações

3 FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Sistemas Monolíticos Dados centralizados Recursos centralizados Processamento centralizado Simplicidade de desenvolvimento Simplicidade de operação Pouca flexibilidade para atendimento aos usuários. Exemplos: Sistemas em Mainframe Aplicativos em Microcomputadores São considerados sistemas monolíticos tanto os sistemas desenvolvidos para Mainframe quanto os sistemas que rodam em micros stand-alone, tais como muito aplicativos Clipper, Access, Visual Basic e Delphi. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

4 Sistemas Distribuídos
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Sistemas Distribuídos Processos em execução concorrente, distribuídos em diversos pontos da rede. Comunicação entre processos. Otimização de hardware. Reutilização de software. Software em camadas. Dados distribuídos. Maior flexibilidade para atendimento aos usuários. O Processamento Distribuído inclui os conceitos de distribuição de processos (programas em execução concorrente) e dados. Isto significa que os programas e dados não se encontram necessariamente em uma única máquina centralizadora. Um sistema, portanto, pode ter vários programas sendo executados simultaneamente em diferentes máquinas, cada uma com parte dos dados necessários, sendo que estes processos são capazes de se comunicar através da rede que liga estas máquinas. Esta tecnologia permite designar cada tarefa de processamento ao Hardware mais apropriado a suas características, ao contrário dos ambientes monolíticos, onde uma única máquina genérica é encarregada de executar processos tão diferentes quanto cálculos, processamento de tela gráfica, controle de periféricos, comunicação I/O etc. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

5 Tecnologia Cliente/Servidor
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Tecnologia Cliente/Servidor Utilização de três componentes básicos para o compartilhamento de recursos de computação: Computador Cliente: Normalmente um microcomputador padrão PC. Computador Servidor: Normalmente um PC poderoso, um equipamento RISC ou mesmo um Mainframe. Rede: Conecta os clientes aos servidores. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

6 Tecnologia Cliente/Servidor
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Tecnologia Cliente/Servidor Equilíbrio entre: Cliente “burro” e Servidor “inteligente” Cliente “inteligente” e Servidor “burro”. Pressupõe que o cliente e o servidor sejam plenamente capazes. Tenta distribuir o trabalho de forma equilibrada, numa tentativa de tirar melhor proveito de ambos os recursos (dentro de suas especialidades). “Burro” é o equipamento que não possui capacidade de processamento ou não o executa. “Inteligente é o equipamento que possui capacidade de processamento. Exemplo de cliente “burro”: terminais de mainframe. Exemplo de cilente “inteligente”: microcomputadores acessando a Internet. Exemplo de servidor “burro”: servidor de arquivos (apenas seu disco é utilizado como dispositivo de armazenamento). Exemplo de servidor inteligente: servidor de banco de dados relacional, servidor web etc. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

7 Tecnologia Cliente/Servidor
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Tecnologia Cliente/Servidor Dependendo do tipo da aplicação, a distribuição exata do trabalho entre o cliente e o servidor pode variar. Porém, o mais comum é: Cliente: responsável pela interface com o usuário (GUI) e lógica básica do aplicativo. Servidor: responsável pelo gerenciamento do acesso, por todas as funções relativas ao banco de dados e pelas “regras” ou “lógica” do negócio. GUI – Graphical User Interface ou Interface Gráfica com o Usuário FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

8 Aplicações Típicas Cliente/Servidor
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Aplicações Típicas Cliente/Servidor Aplicativos Simples de Banco de Dados: FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

9 Aplicações Típicas Cliente/Servidor
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Aplicações Típicas Cliente/Servidor Processamento de Transações: duas ou mais atualizações no banco de dados que devem ser concluídas tudo ou nada (aplicações missão-crítica) FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

10 FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Papel do Cliente Gerenciamento de apresentação: Interação com o usuário (GUI) Entrada e consulta de dados Lógica do aplicativo: Funcionamento do aplicativo Partes simples da lógica do negócio Aplicativos de produtividade pessoal: Processador de textos, planilha etc. Navegador Web, Cliente de etc. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

11 FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Papel do Servidor Atendimento a Usuários: Comunicação e autenticação de usuários Atendimento a solicitações de clientes Gerenciador de Banco de Dados: Acesso e organização de registros/dados Seleção de registros/dados Atualização de registros/dados Execução de Regras do Negócio: Procedimentos armazenados no Banco de Dados Procedimentos armazenados em Componentes Processamento de Transações Conjuntos de operações relacionadas aos processos de negócio. Triggers: programas armazenados no banco de dados que são executados automaticamente (disparados) quando ocorrem determinados eventos, por exemplo, inserção de um novo registro. Stored Procedures: programas ou procedimentos armazenados no banco de dados e que são executados quando são chamados por outros programas, sob controle do desenvolvedor. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

12 FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Papel da Rede Infra-estrutura para os aplicativos Cliente/Servidor. Submete solicitações do Cliente para o Servidor. Transporta os dados resultantes do Servidor para o Cliente. Padrões mais utilizados: Ethernet (transporte físico) TCP/IP (transporte lógico) HTTP (transporte na Internet) FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

13 Arquitetura Cliente/Servidor da Internet (animação)

14 Processamento Cliente/Servidor
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Processamento Cliente/Servidor Um processo de software é um programa de computador sendo executado em uma CPU. “Processo”, “Tarefa” e “Serviço” podem ser considerados sinônimos. Processos concorrentes enviam e recebem mensagens entre si, prestando serviços uns aos outros para atender o usuário. Um “sistema” Cliente/Servidor é composto por diversos destes processos, tarefas ou serviços. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

15 Processamento Distribuído
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Processamento Distribuído Processamento Processamento Centralizado Processamento Distribuído O Processamento Distribuído pode ser dividido em dois grandes grupos: Peer-to-Peer e Cliente-Servidor. As características de cada um serão discutidas a seguir. Outro termo utilizado na Indústria, sinônimo de Processamento Distribuído, é Processamento Cooperativo. Monolítico Peer-to-Peer Ponto-a-Ponto Cliente Servidor FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

16 Processamento Peer-to-Peer
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Processamento Peer-to-Peer Não é hierárquico. Todos os processos são “clones” rodando em todas as máquinas e prestando serviços uns aos outros. Não existem processos servidores. Cada processo pode ser cliente e também servidor para outros processos simultaneamente. Exemplo: Windows Explorer Em determinado momento, um dos processos assume o papel de servidor para outro que assume papel de cliente. Estes papeis, porém, não são fixos, podendo ser invertidos a qualquer momento. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

17 Processamento Cliente/Servidor
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Processamento Cliente/Servidor Existem processos distintos: o processo cliente é diferente do processo servidor. Processos cliente são sempre clientes. Processos servidores são sempre servidores. Cada processo é designado para a plataforma mais conveniente. Exemplo: Navegador (no cliente) Aplicação Web (no servidor) Cliente/Servidor é um paradigma, um modelo lógico. Processos cliente e servidor não precisam necessariamente rodar em máquinas distintas, embora isto seja o mais freqüente. Neste caso, a comunicação entre os processos se dá através de uma rede. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

18 Processamento Cliente/Servidor
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Processamento Cliente/Servidor Um sistema cliente/servidor inclui: Hardware: Servidores Estações de trabalho Rede Software: Sistemas operacionais (clientes e servidores) Processos clientes (aplicativos do usuário) Processos servidores (banco, web, regras etc.) Processos de comunicação (entre ambos) FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

19 Características do Cliente
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Características do Cliente Ativo. Inicia e termina as conversações com os servidores, solicitando serviços. Normalmente 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. Idealmente, o Cliente deveria criar para o usuário a ilusão de que todo o processamento e todos os dados estão presentes em sua máquina. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

20 Características do Servidor
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Características do Servidor Reativo. Execução contínua. Recebe e responde a solicitações dos clientes e de outros servidores. Presta serviços distribuídos. Atende a diversos clientes ou outros servidores simultaneamente. Por suas características de atendimento simultâneo e oferta de serviços compartilhados, o Sistema Servidor deve ter tipicamente grande capacidade de processamento, armazenamento e tolerância a falhas. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

21 Características da Comunicação
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Características da Comunicação Interação cooperativa (Remote Procedure Call). Não hierárquica. Servidores enviam pela rede apenas os resultados relevantes ao pedido do cliente. Abrangência das Redes: WAN, MAN e LAN. As comunicações Cliente/Servidor são não hierárquicas, isto é, do ponto de vista da rede, todas as máquinas são iguais. Não há lógica de polling ou Mestre-Escravo entre os pontos da rede. RPC: Remote Procedure Call. WAN: Wide Area Network (diferentes cidades) MAN: Metropolitan Area Network (diferentes locais na mesma cidade) LAN: Local Area Network (mesmo local) FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

22 FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Camadas da Aplicação Gerência de Dados Lógica de Negócio Apresentação Rede Gerenciamento de Dados Distribuído Dados Remoto Lógica Distribuída Apresentação Remota Apresentação Distribuída CLIENTE Nas arquiteturas de apresentação distribuída e remota, como é o caso da Internet, o cliente é responsável apenas pelo processamento da interface (formatação de tela, consistência física de dados etc.), não realizando nenhum processamento “útil” à aplicação. Nas demais arquiteturas, o processamento é melhor distribuído entre cliente e servidor. Estas últimas representam mais propriamente o que chamamos “Sistemas Cliente/Servidor”. Sistemas Cliente/Servidor bem construídos têm estas três camadas (three-tier architecture), implementadas em módulos de código separados (normalmente em linguagens ou ferramentas distintas). Esta separação em camadas permite a distribuição dos processos entre clientes e servidores, e isola alterações em uma camada das demais. Assim, é possível mudar o gerenciador de Banco de Dados usado na aplicação (ou o ambiente cliente) sem necessidade de alterações nas demais partes da aplicação. SERVIDOR FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

23 Camada de Apresentação
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Camada de Apresentação Responsável pela coleta e apresentação de dados ao usuário. Inclui: Entradas de dados. Apresentação de dados. Formatações. Validações básicas. Metáforas visuais. Fluxo de formulários/páginas (navegação). Lógica da aplicação. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

24 FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Regras do Negócio São regras do mundo real que devem ser identificadas para garantir a coerência das informações. Dependem exclusivamente do mundo real, isto é, das regras burocráticas, políticas, legais, comerciais etc. que regem a operação da organização, e que devem ser refletidas em seus sistemas de informação. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

25 Camada de Regras do Negócio
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Camada de Regras do Negócio Responsável pelo processamento dos dados e pelo cumprimento das regras do negócio. Independente da interface do usuário (camada de apresentação) e da forma de armazenamento dos dados (camada de dados). Inclui o processamento de transações (processos ou funções), tomada de decisões e controle de acesso. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

26 FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Camada de Dados Responsável por prover o armazenamento persistente dos dados. Inclui: Atualização de dados. Recuperação de dados. Gerenciamento de concorrência. Gerenciamento da distribuição de dados. Recuperação de falhas. Recursos: banco de dados, documentos eletrônicos, imagens, sons etc. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

27 Estrutura Típica de um Aplicativo
Interface do Usuário Regras de Negócios Banco de Dados

28 Interfaces na Arquitetura do Aplicativo em Três Camadas
Aplicativos do Usuário Regras de Negócios Banco de Dados GUI & WEB Pedido de Processo Transações e Consultas Interação com componentes da mesma camada Interação com componentes de outra camada

29 Arquitetura do Sistema
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Arquitetura do Sistema Definição da Interface com o Usuário Distribuição de Dados e Processos. Divisão da Aplicação em Camadas e componentes. Topologia da Rede de Comunicações. Segurança, Capacidade e Desempenho Reutilização de Componentes Seleção de Ferramentas para Desenvolvimento. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

30 Identificação de Processos Clientes e Servidores
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Identificação de Processos Clientes e Servidores Processos a serem alocados a clientes: Interface Validações básicas Lógica local (personalização) Departamental Pessoal Fluxo de utilização (seqüência de formulários ou páginas). FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

31 Identificação de Processos Clientes e Servidores
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Identificação de Processos Clientes e Servidores Processos a serem alocados a servidores: Gerenciamento de recursos compartilhados: Bancos de dados Imagens Documentos (páginas Web estáticas) Lógica corporativa Política de acesso Autenticação de usuários Regras de negócio Decisões Cálculos Registro de operações FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

32 Integração de Sistemas
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Integração de Sistemas Sempre considerar, ao avaliar alternativas de distribuição (dados e processos), as possibilidades de futura reutilização. Conceber a arquitetura com interfaces bem definidas para futuras integrações. Encapsular sistemas internos e sistemas legados como componentes servidores. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

33 Transações Distribuídas
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Transações Distribuídas Consulta remota: Acesso a uma fonte de dados remota para recuperação de informações. Atualização remota: Alteração realizada em uma fonte de dados remota. Consulta distribuída Obtenção de dados de várias fontes. Atualização distribuída Atualização de dados em várias fontes. Consulta remota consiste em um acesso a um banco de dados remoto para recuperação de informações. Atualização remota é uma alteração realizada em um banco de dados remoto. Os outros dois tipos de transações remotas serão discutidos a seguir. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

34 FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Projeto de Transações Características da boa transação: Pequena duração Acesso ao mínimo de dados possível Sem interação humana Estratégias de bloqueio de acesso: Otimista Pessimista FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

35 FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Projeto de Transações Isolar processos clientes de servidores, quanto à localização: Os clientes fazem solicitações ao agente de roteamento (p.ex. servidor Web). O agente, baseado no diretório de processos, roteia a solicitação ao processo servidor adequado. Quando da resposta do servidor, o agente roteia o resultado ao cliente. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

36 Transparência de Local
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Transparência de Local Vantagens: Processos servidores podem ser adicionados, retirados ou movidos sem necessidade de manutenção nos processos clientes. Com o uso de processos servidores replicados, pode ser feito balanceamento de carga e a disponibilidade pode ser aumentada. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

37 Transparência de Acesso
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Transparência de Acesso Permite ao usuário o acesso a seu ambiente de trabalho a partir de qualquer máquina cliente. Exige que os dados de configuração do cliente sejam centralizados em um servidor de acesso. FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP

38 FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP
Tecnologia de Informática - Cliente/Servidor - Prof. Antonio Geraldo Vidal Resultado O que há de “diferente”: Arquitetura da Aplicação Projeto da Camada de Interface Projeto da Camada de Regras de Negócio Projeto da Camada de Dados Projeto de Distribuição de Componentes Projeto de Transações Projeto de Segurança O que há de “possibilidades”: Atendimento a usuários cada vez mais exigentes Apoio a processos de negócios cada vez mais complexos Integração de processos em “larga escala” (via “Internet”) FEA/USP - Faculdade de Economia, Administração e Contabilidade da USP


Carregar ppt "Tecnologia de Informática"

Apresentações semelhantes


Anúncios Google