Unidade 01: Origem, evolução e desafios da World Wide Web
Fundamentos de Programação WEB
Prof. MSc. Giuliano Prado de Morais Giglio giucontato@gmail.com
Arquitetura Cliente Servidor
Fundamentos de Programação WEB
Prof. MSc. Giuliano Prado de Morais Giglio
giucontato@gmail.com
Servidor de Aplicação:
Uma Realidade
• Atualmente, uma boa parte das empresas baseiam seu funcionamento em um banco de dados, onde suas transações são efetuadas e onde depositam todo o seu lado informatizado.
Servidor de Aplicação:
Uma Realidade
• Com a chegada da Internet, iniciou-se uma
verdadeira corrida contra o tempo, que resultou no desenvolvimento de sites Web, puramente estáticos e de necessária manutenção, nos quais as organizações passaram a disponibilizar
informações sobre suas atividades.
Servidor de Aplicação:
Uma Realidade
• Hoje, a Web é um dos meios mais poderosos de comunicação, que tem provocado grandes
impactos em qualquer área de atuação profissional.
Servidor de Aplicação:
Uma Realidade
• A medida que grandes corporações passaram a colocar algumas de suas aplicações críticas na Web, tornou-se crucial administrar os
problemas que o desenvolvimento nesta
plataforma pode ocasionar.
Servidor de Aplicação:
Uma Realidade
• A Internet impôs um novo modelo de desenvolvimento de aplicações, o
desenvolvimento de sistemas/aplicações Web.
Servidor de Aplicação:
Uma Realidade
• Com o advento dos servidores de aplicações Web, esse novo modelo de desenvolvimento possibilita a criação e a distribuição de
aplicações para a Web cada vez mais complexas.
Servidor de Aplicação:
Uma Realidade
• Alguns fatores foram preponderantes para que o uso de servidores de aplicações se tornasse uma realidade.
Servidor de Aplicação:
Uma Realidade
• O primeiro fator é que a atual arquitetura de software passou por uma evolução no seu
projeto: antigamente o usuário interagia com um
programa monolítico que continha o código para
gerenciar a aplicação, os dados, a interface do
usuário e a comunicação.
Servidor de Aplicação:
Uma Realidade
• Segundo fator:
• Atualmente, existe uma programação totalmente organizada, no que se refere às funcionalidades citadas, a qual possibilita uma divisão bem clara dessas partes no projeto de um software.
Servidor de Aplicação:
Uma Realidade
• O segundo fator a favorecer o uso dos servidores de aplicações é a evolução no projeto de
interação entre o usuário e os computadores, ou seja a evolução da arquitetura cliente/servidor:
- a arquitetura de duas camadas,
- a arquitetura de três camadas.
Servidor de Aplicação:
Uma Realidade
• O terceiro fator:
O amadurecimento da Internet, permitindo uma rápida transmissão de mensagens entre
computadores de qualquer parte do mundo e consequentemente, o rápido crescimento de utilização da Web:
• O advento dos servidores de aplicações se encaixa nesta evolução.
Lado Cliente Web
• O computador cliente utiliza o protocolo TCP/IP e um browser para mostrar os dados e interagir com o usuário e o servidor.
• 1. Cliente com aplicações cliente/servidor convencional.
• 2. Cliente com aplicações baseadas na Web.
Cliente com aplicações
Cliente/Servidor Tradicional
• Ao executar aplicações, uma máquina-cliente do modelo cliente/servidor tradicional, roda um software que é armazenado localmente, que é uma parte da lógica da aplicação.
• Alguma aplicação pode ter uma outra parte armazenada e executada num servidor, mas a maioria das aplicações estão no cliente.
Cliente com aplicações
Cliente/Servidor Tradicional
• O servidor fornece os dados para a aplicação.
• Nenhum software adicional é necessário, além do
sistema operacional e o da própria aplicação.
Cliente com aplicações cliente/servidor na Web
• O servidor Web fornece o código da execução, assim como os dados para o cliente, quando necessário.
• O browser é a interface do usuário.
• O único software que o cliente necessita é o browser, além do sistema operacional.
Benefício das aplicações Web
• Não somente para o desenvolvimento de novas aplicações, mas também na sua distribuição: não existe nada para instalar e para atualizar nas
máquinas-cliente.
• Tudo para a Web, está no lado-servidor.
O Papel do Servidor de Aplicações
Servidor Web
Servidor de Aplicações
BD
Interface
Lógica DadosNo lado Servidor
• O protocolo TCP/IP mantém a comunicação.
• O servidor Web interage com o browser do usuário no lado-cliente.
• Um novo software é adicionado – o servidor de aplicações.
• O servidor de aplicações interage com o banco
de dados e com arquivos HTML.
No lado Servidor
• Um típico servidor Web, simplesmente provê e retorna arquivos HTML estáticos.
• O servidor de aplicação combina modelos, dados
oriundos de um banco de dados e outros elementos para criar arquivos HTML, dinamicamente, para que o
servidor Web faça o download.
• O servidor Web não deve saber que está capturando nada além de texto baseado num arquivo HTML.
Servidores de Aplicações Web
• São softwares que agem como intermediário entre um servidor Web e uma base de dados.
• Consequentemente, de uma forma lógica, entre um browser (no cliente) e uma base de dados (no lado servidor) que tem a informação
desejada.
Servidor HTTP
• Um servidor HTTP, não é um servidor de aplicações.
• A finalidade de um servidor HTTP é mapear uma URL num arquivo físico.
• Ele fica transformando as requisições do browser, obtendo arquivos do disco e os enviando ao browser.
Servidor de Aplicações
• Um servidor de aplicações é responsável por
manter uma lista de serviços que podem ser
obtidos (como se fosse uma lista telefônica), e
prover um canal de comunicação entre esses
serviços e os clientes, sejam eles Web ou não.
Servidor HTTP
• Normalmente, como parte dos serviços providos roda a partir de um browser, existe também um servidor HTTP repassando as requisições ao servidor de aplicações.
Servidores de Aplicações Web
• São partes de uma infra-estrutura que deve
permitir que os programadores Web construam aplicações, que trabalhem com uma grande
variedade de hardware e softwares-cliente e que
possuam funcionalidades para serem integrados
com recursos existentes.
Servidores de Aplicações Web
• Devem proporcionar a construção de aplicações mais elaboradas, que assegurem níveis aceitáveis de integridade, confiabilidade, disponibilidade, desempenho e segurança.
Servidores de Aplicações Web
• O ganho obtido com o servidor de aplicação é
que a Web (originariamente) é um sistema que
não preserva o estado, quando um cliente se
conecta nela. O protocolo HTTP que transporta
HTML) é um protocolo sem estado e o próprio
servidor Web (originariamente) é um servidor
que não preserva o estado de conexões.
Servidores de Aplicações Web
• Web é sem estado (stateless):
Ou seja, o servidor Web “esquece” a primeira interação com o banco de dados, mesmo se
cliente retornar apenas alguns segundos depois.
Aquitetura Web:
Comunicação com outros elementos
• Cada um dos componentes desta arquitetura
(servidor Web, servidor de aplicações e banco de dados) pode comunicar-se com outros
elementos.
• A comunicação com esses outros elementos não
é geralmente baseada em padrões abertos.
Arquitetura Web:
Comunicação com outros elementos
• Entretanto, essa comunicação é definida pelo produto (servidor de aplicação específico) que será usado.
• Elementos adicionais para a comunicação
podem ser providos pelos próprios fornecedores dos produtos envolvidos ou podem ser
desenvolvidos por terceiros.
A Internet e seus desafios
Fundamentos de Programação WEB
Prof. MSc. Giuliano Prado de Morais Giglio
giucontato@gmail.com
O que é a Internet?
A Internet é uma rede capaz de interligar todos os computadores do mundo.
O que faz a Internet tão poderosa assim é uma espécie de esperanto da informática que atende pelas siglas TCP/IP (Protocolo de Controle de Transferência/Protocolo Internet, em inglês).
Todos os computadores que entendem essa língua são capazes de trocar informações entre si.
Assim pode-se conectar máquinas de diferentes tipos, como PCs, Macs e Unix.
Definição técnica
Internet se refere ao sistema de informação global que:
(i) é logicamente ligado por um endereço único global baseado no Internet Protocol (IP) ou suas subsequentes extensões;
(ii) é capaz de suportar comunicações usando o Transmission Control Protocol/Internet Protocol (TCP/IP) ou suas subsequentes extensões e/ou outros protocolos compatíveis ao IP; e
(iii) provê, usa ou torna acessível, tanto publicamente como
privadamente, serviços de mais alto nível produzidos na infra-
estrutura descrita.
Uma breve história
ë A Internet originou-se da ARPAnet, nos Estados Unidos.
ë O projeto foi iniciado pelo Departamento de Defesa americano em 1969, com o objetivo inicial de manter em funcionamento a rede de
computadores e as informações disponíveis, mesmo sob um ataque nuclear, de modo que a comunicação entre as bases militares não fosse interrompida.
ë Dez/1974 - primeira especificação formal ë A operação começou com 80 servidores
ë 1983 - ARPAnet adota o protocolo TCP/IP (900 hosts)
ë 1984 - criado o Domain Name System fim dos investimentos ARPA ë 1989 - início das primeiras redes comerciais
ë Fim da ARPAnet
ë 1990 - Brasil entra na Internet, com a criação da RNP ë 1992 - criação da Internet Society
ë 1994 - Embratel passa a disponibilizar os serviços de conexão à Internet para usuários individuais e empresas
ë 1995 - Ministério das Telecomunicações abre a exploração comercial destes serviços para a iniciativa privada (sob supervisão da RNP)
ë http://orbita.starmedia.com/~hobbestimeline/ - Linha do Tempo da Internet do Hobbes
ë http://www.ciberespaco.com.br/inetbr/ - Linha do Tempo da Internet no Brasil
Organização
A Internet é organizada na forma de uma malha.
Se você pretende acessar um computador no Japão, por exemplo, não é necessário fazer um interurbano internacional. Basta conectar- se a um computador ligado à Internet na sua cidade. Esse computador local está conectado a uma máquina em outro estado (ou país) e assim por diante, traçando uma rota até chegar ao destino.
São máquinas de alta capacidade, com grande poder de processamento e conexões velozes, conhecidas como servidores, controladas por universidades, empresas e órgãos do governo.
Essa forma de funcionamento garante um custo baixo de conexão.
Você só precisa pagar a ligação local até o seu fornecedor de acesso.
Essa empresa (ou instituição) cobra taxa mensal de cada usuário
para cobrir, entre outros, os custos da conexão com a rede. Mesmo
assim, você paga o mesmo preço se enviar uma mensagem para o
Japão ou para seu vizinho.
ë E-mail (Correio Eletrônico)
ù Listas de Discussão (Mailing List) ë Telnet
ë FTP (File Transfer Protocol) ù Archie
ë Gopher ù Veronica
ë Usenet (NewsGroups) ë WWW (World Wide Web)
ù Sistemas de busca ë Chats
ë GoogleTalk
ë Gerenciamento de Conteúdo
Principais Recursos:
A Intranet é o uso da tecnologia Internet na rede corporativa de uma empresa, isto é, a transferência de arquivos, a consulta à informação e muitas outras aplicações usadas regularmente na Internet, implantadas na rede interna de computadores para uso dos funcionários e nos processos de negócios da empresa.
Principais programas utilizados:
• Informações que se utilizam dos protocolos http
• FTP
• News group
• Reuniões virtuais
• Conversação via telefônica
• Acesso remoto com a rede corporativa
• Treinamento
• Listas de Discussão
.WWW foi criado em 1989 no Laboratório de Pesquisas Nucleares - CERN, em Genebra - Suíça, com o objetivo de interligar os
pesquisadores de vários institutos através da Internet.
. WWW é o recurso mais interessante da Internet e vem
apresentando a maior taxa de utilização entre os recursos da rede, sendo o maior responsável pelo crescimento da net nos últimos anos.
. WWW permite uma leitura não-linear dos documentos disponíveis, espalhados pelo espaço cibernético.
. É o ambiente gráfico e em hipertexto da rede que permite você
“navegar” buscando informações das diversas formas disponíveis:
textos e/ou recursos multimídia.
Hipertexto é modelado como uma rede de componentes relacionados através de ligações.
A Multimídia é ilustrada como uma apresentação genérica feita de uma coleção de componentes, porém os componentes são
apresentados numa ordem definida pelo autor, diretamente relacionadas à noção de tempo do modelo.
A Hipermídia é uma combinação do hipertexto com multimídia: cada
componente do modelo de hipertexto é em si uma apresentação
multimídia.
Tempo
Tempo
Tempo Tempo
Hipertexto Multimídia Hipermídia
“Jamais houve uma mídia de distribuição como a web. Onde mais atingiria uma audiência em potencial de milhões de pessoas sem gastar uma fortuna com tempo, dinheiro e pesquisa para enviar seu trabalho a elas?
É independente de plataforma. A web não se importa se você está usando uma estação Mac, Windows, Sun ou SGI. Não há fronteiras geográficas. Alguém na Alemanha pode ver meu site com tanta facilidade quanto quem mora na outra esquina.”
Siegel
Definindo Elementos
ü O que é HTML?
ü O que é uma página Web?
ü O que é uma página Html?
ü O que é uma Home Page?
ü O que é um Site ou Website?
ü O que é um Navegador?
ü O que são Provedores de Acesso e de Presença?
ü O que é um Webdesigner?
ü O que é um Webmaster?
ü O que é um endereço de página ou URL?
ü Que ferramentas são necessárias para programar em HTML?
“Um hit é qualquer arquivo baixado. Um hit pode ser uma página de texto, um gráfico ou um filme ou arquivo de som que pode ser baixado. Assim, se tivermos uma grande página com 10 imagens, uma pessoa que chegar a essa página vai gerar 11 hits (se o navegador puder visualizar as imagens). Muitas pessoas
confundem hits com acessos ou visitantes, o que faz a quantidade de 10.000 por volta de meio-dia parecer que o site está repleto de pessoas (quando na verdade não está). Os hits são os centavos da Web.
Um acesso é toda uma página servida. Os acessos (também denominados hits de página ou visualização de página – page views) são a menor unidade de registro porque podem nos ajudar a determinar onde as pessoas estão dentro do site.
Um visitante é a verdadeira nota de um dólar da Web. Infelizmente visitantes únicos são os mais difíceis de se definir. Por isso há tanto incentivo para as pessoas se registrarem – as pessoas são anônimas quando visitam um site. Em geral, somente faço estimativas estudadas sobre o número de visitantes únicos em meu sites. Agora já estão disponíveis programas para ajudar os webmasters a acompanhar os visitantes percorrendo os sites.
Um visitante repetido é a nota de dez doláres da Web. Se um visitante coloca a sua página no bookmark dele, significa que está desejando voltar. No ramo de pedidos pelo correio, uma pessoa assim é denominada correspondente.
Se as pessoas fazem pedidos de coisas no site, transformam-se de visitantes em
clientes, o objetivo final. Um cliente é o maior nível de status que um visitante
pode atingir. Um bom site esforça-se para transformar uma pequena porcentagem
de surfistas esporádicos em clientes.” Siegel
Tudo o que é maravilhoso para a web - acessibilidade total,
compatibilidade de plataformas cruzadas, distribuição em rede e a tecnologia sempre atual - tem um obstáculo em algum lugar na estrada da criação de imagens gráficas.
• Numa página impressa, todos vêem a mesma coisa.
• Uma página impressa tem dimensões fixas.
• Uma página impressa é desenhada uma vez e permanece igual para sempre.
• Uma página impressa, depois de terminada, não pode ser alterada.
Você não consegue desenhar uma página que parecerá igual sob todas as circunstâncias sem ceder ao menor denominador comum.
Diferenças entre navegadores, configurações de monitores e questões de compatibilidade de plataformas são algumas das questões que os designers da web têm que se preocupar.
A usabilidade governa a Web.
Mais diretamente, se o cliente não encontrar o produto, ele não o comprará.
A Web é o ambiente no qual o poder do cliente se manifesta no mais alto grau. Quem clica no mouse decide tudo. É tão fácil ir a outro lugar; todos os concorrentes do mundo estão a um simples clique do mouse.
Jakob Nielsen
Determinando o objetivo do site
A maioria das pequenas e médias escalas de negócios, demonstram que os sites se destinam à uma das duas funções principais (ou a combinação de ambas): informar e interagir.
Informativo
O valor de tal site está em sua capacidade de apresentar a informação desejada para sua audiência de forma organizada e fácil.
Interativo
São aqueles cujo sucesso está contido em características úteis ou numa aplicação. Eles contam com um processamento pesado.
Em HTML, o uso de formulários é o instrumento primário na criação de interatividade.
Determinando a audiência do site
Determinar a audiência de um site se torna mais difícil na medida em que você utiliza elementos Web avançados. Muitos fatores influenciam a forma de desenhar e talhar um site para as necessidades e
limitações de seu usuário.
Largura de banda
Seus usuários são padrão Net ou são famintos por largura de banda?
Plataforma
Que software de computador seu usuário está usando para ver seu site?
• Qual sistema operacional seus usuários estão usando?
• Qual o software navegador?
• Quais plug-ins ele têm?
Demografias
Qual o perfil de seus usuários?
Eles são pessoas bem ou mal informadas?
A partir deste ponto, você pode determinar se você deve desenvolver uma interface sofisticada ou simples.
Estes usuários também determinam a aparência e impressão do seu site.
Idade, cultura, e inúmeras outras considerações são também fatores significantes.
Examinando o conteúdo
Examine a atual prática de comunicação e veja onde a web pode
agregar valor. Olhe cada empresa individualmente, observe as atuais práticas de comunicação, e então duplique e aumente no site o que eles já fornecem em termos de serviços de informação.
Para empresas maiores examine as atuais campanhas de marketing, seja coerente.
Avalie a concorrência na Web
Tenha em vista onde sua abordagem pode incrementar o modelo da concorrência e preste atenção particular como a concorrência trata as limitações técnicas de seus usuários.
Por que WWW?
• Software do cliente gratuito.
• Fácil implantação e atualização.
• Tecnologia evolutiva, baseada em objetos incorporados.
• A tecnologia é “quase padronizada” e “quase não-proprietária”.
• A mesma informação pode ser
disponibilizada no meio interno e externo.
• Infra-estrutura de comunicação gratuita, de alcance global.
C U S T O
T E C N O L O G I A I
N
T
E
G
R
A
Ç
Ã
O
Desafios da Intranet
Páginas Estáticas Páginas Dinâmicas Executam
Processamento Interagem com Banco de Dados Informação
gráfica ou textual sem necessidade
de programação
funcionário qualquer
funcionário especializado
Integração com a base existente
Servidor Web
mainframe
legacy system
Bases de sistemas de ERP
Base de documentos não estruturados
Acesso via WWW
Páginas HTML
Navegador
(cliente universal)
WWW: Interface Universal para Dados e Aplicações
Informações Aplicações WWW
Padrões associados à WWW
• HTML:
▫ Hypertext Markup Language
▫ Linguagem definida de acordo com SGML
• HTTP:
▫ HyperText Transfer Protocol
▫ Protocolo de transferência de dados
▫ Protocolo de aplicação da arquitetura TCP/IP
Princípios de HTML
• Descriptive Markup
▫ As partes de um documento HTML são marcadas com nomes descritivos como <CHAPTER> ou <TITLE>.
▫ Exemplo:
– <TITLE> Especialização </TITLE>
– <BODY> Conteúdo do documento </BODY>
• Hypertexto
▫ Define links entre elementos de documentos
▫ Link = relacionamento entre 2 elementos:
– SITUADOS NO MESMO DOCUMENTO
– SITUADOS EM DOCUMENTOS DIFERENTES
Exemplo de página HTML
<HTML>
<HEAD>
<TITLE>TITULO QUE APARECE NO BARRA SUPERIOR DA JANELA
</TITLE>
</HEAD>
<BODY>
<P>Texto Normal
<P> <B>Texto em Negrito </B>
<P> <A HREF=“http://www.cesjf.br”> link para outra página </A>
<P> <IMG SRC="mail.gif" HEIGHT=20 WIDTH=20> inserção de figura
</BODY>
</HTML>
Tranferência de Documentos
INTRODUÇÃO
bláblábláblábláblá bláblábláblábláblá ...
capítulo1 capítulo2 ...
observação ...
bláblábláblábláblá ...
OBSERVAÇÃO bláblábláblábláblá
página 1
página 2
página 3
página 4 CAPÍTULO 1
bláblábláblábláblá ...
seção1
CAPÍTULO 2
bláblábláblábláblá ...
SEÇÃO 1
bláblábláblábláblá ...
solicita página
recebe página
servidor hiperlink
para mesma página
hiperlink para outra página
sistema de arquivos
HTTP: HyperText Transfer Protocol
requisita arquivo
recebe arquivo codificado em MIME
servi dor
sistema de arquivos
HTTP/ 1.0
MIME-Vers ion: 1.0 Server: www.ces jf .br Content -Type: t ext/ html
<HTML>
<BODY>
....
</B ODY>
</HTML>
GE T test e.html
A form atação MIME inclui um
c abeçalho que descreve o tipo
de conteúdo do documento. No
c aso de havem im agens ou
outros arquivos não texto
anexados, o cabeçalho MIME
descreve tam bém o padrão de
c ondificação utilizado.
STATELESS X STATEFUL
STATELESS STATEFULL
Dados relativos a cada usuário armazenados no servidor enquanto durar a conexão.
GRANDE NÚMERO DE USUÁRIOS PEQUENO NÚMERO DE USUÁRIOS
HTTP: Funcionamento
• Protocolo sem estado (stateless)
▫ O servidor não guarda o estado entre as requisições.
1 2 3 4
conexão
desconexão requisição
resposta
HTTP: Identificação de recursos
servidor
sistema de arquivos PORTA 80
teste.html http://www.cesjf.br/teste.html
Isso implica que uma conexão TCP deve ser feita na porta 80, usando o protocolo HTTP.
domínio
Idenfica o recurso desejado .
recurso solicitado www.cesjf.br
Formato Geral da U RL
host
protocolo://host.domínio/arquivo.html
Exemplo de UR L
URL e Sites
www.cesjf.br
site do curso s site do bsi
home pag e
pá gina HTML
página HTML
página
HTML pá gina HTML
home p age
pá gina HTML
pá gina HTML
págin a
HTML pá gina HTML
Servidor
www.cesjf.br\cursos
www.cesjf.br/bsi/arquivo.html.
Sistema de Arquivos