Curso de Aprendizado Industrial Desenvolvedor WEB



Documentos relacionados
CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas Distribuídos

Programando em PHP. Conceitos Básicos


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

Programação Web Prof. Wladimir

PARANÁ GOVERNO DO ESTADO

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

TECNOLOGIA WEB. Principais Protocolos na Internet Aula 2. Profa. Rosemary Melo

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Protocolos de Internet (família TCP/IP e WWW) Primeiro Técnico. Prof. Cesar

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

PROJETO E IMPLANTAÇÃO DE INTRANETS

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

SISTEMAS DISTRIBUÍDOS

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

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

INTRODUÇÃO: 1 - Conectando na sua conta

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

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

UFG - Instituto de Informática

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

MODELO CLIENTE SERVIDOR

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Web Services. Autor: Rômulo Rosa Furtado

Como medir a velocidade da Internet?

INTRODUÇÃO À TECNOLOGIA SERVLETS

Nesse artigo abordaremos os principais aspectos de instalação e uso do NTOP no Fedora Core 4.

Desenvolvendo para WEB

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

Pré-Requisitos do Software Themis Pré-Requisitos do Software Themis

O protocolo HTTP. Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP.

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

SISTEMAS DISTRIBUIDOS

Como acessar o novo webmail da Educação? Manual do Usuário. 15/9/2009 Gerencia de Suporte, Redes e Novas Tecnologias Claudia M.S.

Tecnologias Web. Lista de Exercícios AV02. Luiz Leão

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

TECNOLOGIAS WEB AULA 2 PROF. RAFAEL DIAS

INTERNET. Professor: Leandro Crescencio Colégio Politécnico 1

Como conectar-se à rede Sem Fio (Wireless) da UNISC. Pré-Requisitos:

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

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Servidor, Proxy e Firewall. Professor Victor Sotero

TRIBUNAL DE CONTAS DO DISTRITO FEDERAL

MANUAL DE IMPLANTAÇÃO SISTEMA DE INVENTÁRIO CACIC GOVERNO FEDERAL SOFTWARE PÚBLICO

Conceitos Básicos

Redes de Computadores

Rotina de Discovery e Inventário

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Sistemas Distribuídos

Relatorio do trabalho pratico 2

18/04/2006 Micropagamento F2b Web Services Web rev 00

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2

Prof. Marcelo Machado Cunha

Padrão ix. Manual de Instalação do Q-Ware Server Versão

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

PÉGASUS (ETHERNET POCKET) STUDIO V1.00 MANUAL DE INSTALAÇÃO E OPERAÇÃO

Permite o acesso remoto a um computador;

Universidade de Brasília

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

REDES DE COMPUTADORES

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

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS DE ACESSO REMOTO (TELNET E TERMINAL SERVICES) Professor Carlos Muniz

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS

MÓDULO 8 Modelo de Referência TCP/IP

Projeto Disciplinar de Infra-Estrutura de Software ECOFROTA TRIBUNAL THEMIS

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

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

Caro cliente. Guia do cliente. Página 1

INTERNET CONCEITOS. Internet é a "grande rede mundial de computadores"

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Prof. Esp. Lucas Cruz

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Rede de Computadores

OCOMON PRIMEIROS PASSOS

VoIP. Voice Over IP.

Redes de Computadores II INF-3A

Desenvolvimento Web Protocolos da Internet

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

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Prof. Marcelo Cunha Parte 5

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

LINGUAGEM DE BANCO DE DADOS

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Versão /10. Xerox ColorQube 9301/9302/9303 Serviços de Internet

O QUE VOCÊ PRECISA SABER SOBRE DOMÍNIOS

WebApps em Java com uso de Frameworks

DWEB. Design para Web. Fundamentos Web I. Curso Superior de Tecnologia em Design Gráfico

Transcrição:

Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor

Modelo de Aplicação Cliente-servidor Os anos iniciais das aplicações de negócios distribuídos foram dominados pelo modelo de duas camadas. Neste modelo de arquitetura, a camada mais próxima do usuário, é chamada de CLIENTE. Era responsável pela interface com o usuário e também pela lógica de negócio(regras que definem como os dados serão acessados e processados). Funcionava nos computadores que ficavam nas mesas de trabalhos dos usuários interligados a redes.

Camada Cliente

Principais característica Inicia e termina as conversações com os servidores, solicitando serviços distribuídos; Não se comunica como 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 inicio e fim definido.

Camada Servidor A segunda camada tinha a função de gerenciar a organização e o armazenamento de dados da aplicação, funcionava em um computador central da rede e era denominado servidor. A esse tipo de arranjo e similares chamou-se de modelo CLIENTE SERVIDOR.

Servidor Genericamente, o servidor se constituía em um computador robusto, funcionando como: Servidor de banco de dados, com a responsabilidade de manter organizada a aplicação; Armazenar os dados por ela processados e; Transferir, o mais rápido possível, esses dados para a aplicação e vice-versa. O cliente fornecia interface gráfica com o usuário e processa a grande maioria dos requisitos necessários ao negócio.

Gabinete de Servidor antigo O Facebook tem mais de 30 mil servidores

Principais Características Execução contínua; Recebe e responde a solicitação dos Clientes; Não se comunica com outros servidores; Atende 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.

Cliente-Servidor

Dica!! Quero montar um servidor doméstico, para compartilhar a conexão, rodar um servidor de Quake ou de qualquer outro jogo que goste, gerenciar a impressora, guardar arquivos, etc. Um micro que possa ficar ligado 24 horas não é preciso um micro parrudo, muito pelo contrário, um velho Pentium 133 com 32 de RAM vai servir muito bem para esta função. Dependendo do que você estiver pretendendo fazer, até mesmo um 486 pode servir.

Os requisitos são os seguintes: A primeira coisa a decidir neste caso é qual sistema operacional você prefere rodar. - Processador - RAM: Mínimo 32, ideal 64 - HD: Mínimo 1 GB, ideal 2 GB ou mais - Placa de Vídeo e monitor: será usado só para configurar o servidor, então qualquer coisa que você tenha à mão serve - Placa de rede - Modem ou 2º placa de rede (para conexão via cabo ou ADSL)

Cliente- Servidor Este modelo caracteriza-se por forte acoplamento entre a interface do usuário, a lógica de negócio e o servidor de bancos. Tornou-se bastante popular e foi adotado pelos sistemas corporativos, pacotes de software aplicativos, vendidos como soluções prontas denominados de ERP*(Enterprise Resource Planning). A próxima figura apresenta um modelo típico da arquitetura clienteservidor, no qual podemos observar que vários computadores dos usuários acessam o servidor de banco de dados central através da rede. *Planejamentos dos recursos da empresa

Usuário Aplicação TCP/IP Usuário Servidor de Banco de dados Aplicação TCP/IP Usuário TCP/IP Aplicação *Modelo de aplicação Cliente-servidor

Para que não sabe!! TCP/IP é o principal protocolo de envio e recebimento de dados MS internet. TCP significa Transmission Control Protocol (Protocolo de Controle de Transmissão) e o IP, Internet Protocol (Protocolo de Internet). Protocolo é uma espécie de linguagem utilizada para que dois computadores consigam se comunicar. Por mais que duas máquinas estejam conectadas à mesma rede, se não falarem a mesma língua, não há como estabelecer uma comunicação. Então, o TCP/IP é uma espécie de idioma que permite às aplicações conversarem entre si.

Requisita Servidor Executa Responde Cliente

O modelo cliente-servidor possui algumas limitações que o tornam inadequado para a adoção no ambiente de internet, como por exemplo: o processamento complexo das regras de negócio residem no cliente, tornando sua preservação difícil; a largura da banda da rede deve ser grande para suportar as frequências chamadas e respostas entre clientes e servidor, impedindo a escalabilidade do modelo;

a manutenção e a atualização dos clientes torna-se difícil, pois cada cliente deve ser atualizado e mantido separadamente; esta arquitetura está fortemente orientada para o acesso de aplicações a bancos de dados, não podendo usufruir da reutilização da arquitetura orientada a comportamentos.

Atualmente Uma arquitetura muito comum em aplicações Web é o Modelo Arquitetural 3 Camadas. Onde temos: Uma Camada de Persistência (Servidor de Banco de Dados), onde ficará os bancos de dados da aplicação; A Camada de Lógica de Negócio (Servidor de Aplicação), onde rodará a aplicação Web (seja ela Java, PHP, ASP ou qualquer outra linguagem); E uma camada de apresentação, que é representada pela máquina cliente que acessa a aplicação.

Demonstração 1

Demonstração 2

Separar as camadas em máquinas diferentes oferece um bom desempenho para aplicações que são acessadas por diversos clientes simultâneos. Porém, o Servidor de Aplicação e de Banco de Dados podem estar juntos em uma mesma máquina. Tendo em vista essa arquitetura, é fundamental que os servidores estejam preparados para suportar a aplicação. Para isso eles precisam estar equipados com softwares necessários para rodar a aplicação web.

O servidor de banco de dados deverá ter o SGBD adequado para a aplicação. Tal SGBD pode ser: MySQL, Oracle, PostGreeSQL, Microsoft SQL Server etc. O servidor de aplicação deve possuir o interpretador da linguagem, como por exemplo: Apache (PHP/ASP), IIS (ASP) ou Tomcat (Java).

Funcionamento de uma aplicação Web no Modelo Arquitetural 3 Camadas:

Explicação Perceba que o Web Server é o conjunto formado pelo Servidor de Aplicação e o Servidor de Banco de Dados, bem como as iterações que ocorrem entre eles. Uma aplicação Web nada mais é do que a troca de mensagens entre um computador cliente e um Web Server.

Quando o usuário acessa a uma página web através de um navegador (como Mozilla Firefox, Internet Explorer, Google Chrome etc), ele está enviando para o Web Server uma requisição através do protocolo HTTP(principal protocolo da WEB utilizado para a comunicação entre os browsers e os servidores). Essa mensagem é portanto chamada de HTTP Request, e pode ser enviada tanto pelo método GET, quanto pelo método POST.

Métodos Get e Post (*Parada) A grande diferença entre os métodos GET e POST provavelmente é a visibilidade. Uma requisição GET é enviada como string anexada a URL. Enquanto que a requisição POST é encapsulada junto ao corpo da requisição HTTP e não pode ser vista.

Como Funciona o GET O método GET utiliza a própria URI (normalmente chamada de URL) para enviar dados ao servidor, quando enviamos um formulário pelo método GET, o navegador pega as informações do formulário e coloca junto com a URI de onde o formulário vai ser enviado e envia, separando o endereço da URI dos dados do formulário por um? (ponto de interrogação).

Quando você busca algo no Google, ele faz uma requisição utilizando o método GET, você pode ver na barra de endereço do seu navegador que o endereço ficou com um ponto de interrogação no meio, e depois do ponto de interrogação você pode ler, dentre outros caracteres, o que você pesquisou no Google.

Funcionamento do Post O método POST envia os dados colocando-os no corpo da mensagem. Ele deixa a URI separada dos dados que serão enviados e com isso podemos enviar qualquer tipo de dados por esse método. Quando você faz um registro em um formulário e depois de enviar a URI não tem o ponto de interrogação separando os dados que você digitou, provavelmente o formulário foi enviado pelo método POST.

Cliente-Servidor A requisição é levada até o Web Server, onde é processada pelo Servidor de Aplicação. Essa requisição pode ser um script ou até mesmo um arquivo, que será baixado pelo usuário. No caso de script, o servidor de aplicação processa o script utilizando o interpretador da linguagem.

Se for necessário, o script em execução se conecta ao Banco de Dados e envia uma requisição a ele. Tal requisição é conhecida como BD Request, e pode ser uma query ou um comando SQL. Query é um comando em lote que executa uma série de comando em um SGDB (oracle, MSsql, mysql, interbase e etc).tais funções incluem pesquisa, criação, pump de dados, alterar estruturar, deletar dados e estruturas, updates e etc.

O que ela faz!! Query 1. Processo de extração de dados de um banco de dados e sua apresentação em uma forma adequada ao uso. 2. Conjunto de instruções que permite extrair repetidamente determinado subconjunto de dados.

O BD Request é processado no Servidor de Banco de Dados pelo SGBD e devolve um BD Response para o Servidor de Aplicação. Esse BD Response é o resultado do comando SQL e pode ser utilizado pelo script em execução.

Ao terminar de executar o script, um código HTML é gerado. Esse documento HTML é enviado ao cliente através de uma mensagem HTTP Response. E por fim, o HTML é renderizado pelo navegador do usuário e gera para ele uma página web.

Teste em Java!!