38
Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 [email protected]

Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 [email protected]

Embed Size (px)

Citation preview

Page 1: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

Tecnologia de Informática

Prof. Antonio Geraldo da Rocha VidalEAD-5881

[email protected]

Page 2: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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

» Conceitos Básicos» Web Services e Aplicações

Page 3: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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

Page 4: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 5: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 6: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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).

Page 7: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 8: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

Aplicações Típicas Cliente/Servidor

Aplicativos Simples de Banco de Dados:

Servidor

Cliente

Pedido SQL

Resultados

GUILógica da AplicaçãoParte da Lógica dosNegócios

Acesso aoBanco de DadosLógica dos NegóciosGerenciamento da Rede

Page 9: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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)

Servidor

Cliente

Transação

Resultados

GUILógica da AplicaçãoParte da Lógica dosNegócios

Acesso aoBanco de DadosLógica dos NegóciosRegistro das TransaçõesRecuperação da Transação

Page 10: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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 E-mail etc.

Page 11: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 12: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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)

Page 13: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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

Page 14: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 15: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

Processamento Distribuído

Processamento Centralizado

ClienteServidor

Peer-to-PeerPonto-a-Ponto

Processamento Distribuído

Processamento

Monolítico

Page 16: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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

Page 17: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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)

Page 18: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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)

Page 19: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 20: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 21: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 22: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

Camadas da Aplicação

Gerência de Dados

Lógica de Negócio

Apresentação

Gerência de Dados

Gerência de Dados

Lógica de Negócio

Apresentação

Gerência de Dados

Lógica de Negócio

Apresentação

Lógica de Negócio

Gerência de Dados

Lógica de Negócio

Apresentação

Lógica de Negócio

Gerência de Dados

Apresentação

Apresentação

Rede

Gerenciamento deDados Distribuído

Gerenciamento deDados Remoto

Lógica DistribuídaApresentação RemotaApresentação Distribuída

CLIENTE

SERVIDOR

Page 23: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 24: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 25: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 26: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 27: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

Estrutura Típica de um Aplicativo

Interface doUsuário

Regras deNegócios

Banco deDados

Page 28: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

Interfaces na Arquitetura do Aplicativo em Três Camadas

Aplicativos doUsuário

Regras deNegócios

Banco de Dados

GUI & WEB

Pedido de Processo

Transações e Consultas

Interação com componentesda mesma camada Interação com

componentes deoutra camada

Page 29: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 30: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

Identificação de ProcessosClientes 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).

Page 31: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

Identificação de ProcessosClientes 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

Page 32: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 33: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 34: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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

Page 35: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 36: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 37: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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.

Page 38: Tecnologia de Informática Prof. Antonio Geraldo da Rocha Vidal EAD-5881 vidal@usp.br

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”)