O documento discute a arquitetura cliente-servidor da World Wide Web. Ele explica os conceitos-chave, incluindo vantagens e desvantagens, e descreve os principais modelos de arquitetura cliente-servidor. Ele também discute os formatos HTML e XML usados na web e os identificadores de hiperlinks URL e URN.
1. PÓS-GRADUAÇÃO EM TECNOLOGIAS DA
INFORMÁTICA E COMUNICAÇÃO
2011/2012
Trabalho Prático 1 – World Wide Web
Aluna: Joana Maria Dias da Costa, nº 3718
Trabalho Prático 1 – World Wide Web
2. Índice
Arquitetura cliente/servidor da WWW 3
Conceitos: 3
Vantagens5
Desvantagens6
Modelos de Arquitetura Cliente Servidor7
HTML 10
XML11
Identificadores das Hiperligações13
URL13
URN13
Conclusão14
Bibliografia15
Trabalho Prático 1 – World Wide Web
3. Arquitetura cliente/servidor da WWW
A arquitetura Cliente/Servidor é hoje uma das tecnologias mais utilizadas em
ambientes corporativos. Substituindo a arquitetura muito rígida que eram os sistemas
envolvendo mainframes. Em ambientes corporativos, o compartilhamento de dados era
resolvido através da utilização de mainframes com vários terminais interligados entre
eles. Estas estruturas, além de serem muito caras, era muito rígidas.Com o aumento
do poder de processamento dos microcomputadores, os fabricantes de programas
para micros começaram a desenvolver banco de redes cada vez mais poderosos,
sistemas operacionais mais rápidos e flexíveis, redes locais (LANS - Local Area
Networks) e redes amplas (WANs - Wide Area Networks). Esta arquitetura mostrou-se
mais flexível devido a utilização dos micros em rede, cada vez mais complexos e
versáteis, com o compartilhamento de recursos de cada uma das máquinas.
Conceitos:
“É uma arquitetura onde o processamento da informação é dividido em módulos ou
processos distintos. Um processo é responsável pela manutenção da informação
(Servidor), enquanto que outro é responsável pela obtenção dos dados (Cliente)”.
BATTISTI, (2001, pág. 38).
Arquitetura Cliente/Servidor
É uma arquitetura de rede, onde existem dois módulos básicos na rede: o Servidor e
os Clientes. O Servidor é alguma máquina de rede que é responsável por servir os
Clientes da rede com aquilo que é solicitado. Clientes são as máquinas que
solicitaram informações que estarão contidas no Servidor. É no servidor que
normalmente ficam os sistemas mais pesados da rede, tais como o banco de dados.
As máquinas clientes são menos poderosas, pois não rodam aplicativos que requerem
tantos recursos da máquina. O importante numa máquina na arquitetura
Cliente/Servidor não é que todas as máquinas sejam do mesmo fabricante ou do
mesmo tipo. O que realmente é importante, é o fato de todas as máquinas poderem se
interligar pela rede, com o mesmo tipo de protocolo de acesso (TCP/IP, NetBEUI)
Trabalho Prático 1 – World Wide Web
4. O termo Cliente/Servidor refere-se ao método de distribuição de aplicações
computacionais através de muitas plataformas. Tipicamente essas aplicações estão
divididas entre um provedor de acesso e uma central de dados e numerosos clientes
contendo uma interface gráfica para usuários para ceder e manipular dados.
Cliente/Servidor geralmente refere-se a um modelo onde dois ou mais
computadores interagem de modo que um oferece os serviços aos outros. Este
modelo permite aos usuários acederem a informações e serviços de qualquer lugar.
Cliente/Servidor é uma arquitetura computacional que envolve requisições de
serviços de clientes para servidores. Uma rede Cliente/Servidor é uma extensão lógica
da programação modular.
Uma representação gráfica deste tipo de arquitetura seria a seguinte.
Este tipo de arquitetura é a mais utilizada atualmente, devido ao fato de ser a mais
avançada e a que melhor evoluiu nestes últimos anos.
Podemos dizer que esta arquitetura necessita três tipos de software para seu correto
funcionamento:
Trabalho Prático 1 – World Wide Web
5. •Software de gerenciamento de dados: Este software encarrega-se da manipulação e
gerenciamento de dados armazenados e requeridos pelas diferentes aplicações.
Normalmente este software hospeda-se no servidor.
•Software de desenvolvimento: este tipo de software hospeda-se nos clientes e só
naqueles que se dediquem ao desenvolvimento de aplicações.
•Software de interação com os usuários: Também reside nos clientes e é a aplicação
gráfica de usuário para a manipulação de dados, sempre é claro, a nível de usuário
(consultas principalmente).
A parte destes existem mais aplicações software para o correto funcionamento desta
arquitetura, mas já estão condicionados pelo tipo de sistema operacional instalado e
do tipo de rede na qual se encontra,
De entre as muitas vantagens da arquitetura Cliente/Servidor pode-se citar:
(SALEMI,1993)
Vantagens
• Confiabilidade
Se uma máquina apresenta algum problema, ainda que seja um dos Servidores, parte
do Sistema continua ativo.
• Matriz de Computadores agregando capacidade de processamento
A arquitetura Cliente / Servidor provê meios para que as tarefas sejam feitas sem a
monopolização dos recursos. Usuários finais podem trabalhar localmente.
• O Sistema cresce facilmente
Torna-se fácil modernizar o Sistema quando necessário.
• O Cliente e o Servidor possuem ambientes operacionais individuais / Sistemas
Abertos
Pode-se misturar várias plataformas para melhor atender às necessidades individuais
de diversos setores e usuários.
Trabalho Prático 1 – World Wide Web
6. Além destas vantagens, pode-se encontrar dentro de uma arquitetura
Cliente/Servidor a interoperabilidade das estações Clientes e Servidoras entre as
redes de computadores, a escalabilidade da arquitetura visando o crescimento e a
redução dos elementos constituintes, a adaptabilidade de novas tecnologias
desenvolvidas, a performance do hardware envolvido na arquitetura, a portabilidade
entre as diversas estações que compõem a arquitetura e a segurança dos dados e
processos (MCKIE,1997).
Embora o avanço da arquitetura Cliente/Servidor tenha trazido uma variada gama de
facilidades para o desenvolvimento de aplicações distribuídas, também possui
algumas desvantagens:
Desvantagens
• Manutenção
As diversas partes envolvidas nem sempre funcionam bem juntas. Quando algum erro
ocorre, existe uma extensa lista de itens a serem investigados.
• Ferramentas
A escassez de ferramentas de suporte, não raras vezes obriga o desenvolvimento de
ferramentas próprias. Em função do grande poderio das novas linguagens de
programação, esta dificuldade está-se tornando cada vez menor.
• Treino
A diferença entre a filosofia de desenvolvimento de software para o microcomputador
de um fabricante para o outro, não é como a de uma linguagem de programação para
outra. Um treinamento mais efetivo torna-se necessário.
• Gerenciamento
Aumento da complexidade do ambiente e a escassez de ferramentas de auxílio tornam
difícil o gerenciamento da rede.
Trabalho Prático 1 – World Wide Web
7. Modelos da Arquitetura Cliente / Servidor
Existem cinco tipos de modelos para a implantação da arquitetura Cliente/Servidor em
processamentos distribuídos: (SALEMI,1993)
Arquitetura C/S Simples
A primeira abordagem para um sistema distribuído é a arquitetura
Cliente/Servidor Simples. Nesta arquitetura, o Servidor não pode iniciar nada. O
Servidor somente executa as requisições do Cliente. Existe uma clara função de
diferenciação: Pode-se estabelecer que o Cliente é o mestre e o Servidor é o escravo,
como mostra a figura 1.
CLIENTE
SERVIDOR
Figura 1 - Arquitetura Cliente/Servidor Simples
Arquitetura C/S em Dois Níveis
A configuração usual Cliente/Servidor encontrada na maioria das empresas, é aquela
em que existem vários Clientes requisitando serviços a um único Servidor. Esta
arquitetura se caracteriza como sendo centrada no Servidor (figura 2a). Porém na
visão do usuário, ele imagina que existem vários Servidores conectados a
somente um Cliente, ou seja, centrado no Cliente (figura 2b). Entretanto, com as
várias ligações de comunicação possíveis, existe na realidade uma mistura de Clientes
e Servidores (figura 2c).
CLIENTE CLIENTE CLIENTE
SERVIDOR
Trabalho Prático 1 – World Wide Web
8. Figura 2 - (a) Arquitetura C/S em Dois Níveis - Centrado no Servidor
SERVIDOR SERVIDOR SERVIDOR
CLIENTE
Figura 2 - (b) Arquitetura C/S em Dois Níveis - Centrado no Cliente
SERVIDOR SERVIDOR SERVIDOR
CLIENTE CLIENTE CLIENT
Figura 2 - (c) Arquitetura C/S em
Dois Níveis - Comunicação Mista
Trabalho Prático 1 – World Wide Web
9. Arquitetura C/S Multinível
Nesta arquitetura (figura 3), permite-se que uma aplicação possa assumir tanto
o perfil do Cliente como o do Servidor, em vários graus. Em outras palavras,
uma aplicação em alguma plataforma será um Servidor para alguns
Clientes e, concorrentemente, um Cliente para alguns Servidores.
Figura 3 - Arquitetura C/S Multinível
Arquitetura C/S Par-Par
Esta arquitetura pode ser vista como o caso mais geral da arquitetura
Cliente/Servidor, ilustrado na figura 4. Cada um dos nodos desta arquitetura
assume tanto o papel de Cliente quanto de Servidor. Na verdade, torna-se
pouco funcional lidar com quem é o Cliente ou o Servidor. É o caso onde o
processo interage com outros processos em uma base pareada, não existindo
nenhum Mestre ou Escravo: qualquer estação de trabalho pode iniciar um
processamento, caso possua uma interface de comunicação entre o usuário e
o processo Cliente
Figura 4 - Arquitetura C/S Par-Par
Trabalho Prático 1 – World Wide Web
10. Formatos utilizados
Hyper Text Markup Language – (HTML)
HTML significa Linguagem de Marcação de Hipertexto) é uma linguagem de
marcação utilizada para produzir páginas na Web. Documentos HTML podem
ser interpretados por navegadores. A tecnologia é fruto do "casamento" dos
padrões HyTime e SGML.
HyTime é um padrão para a representação estruturada de hipermídia e
conteúdo baseado em tempo. Um documento é visto como um conjunto
de eventos concorrentes dependentes de tempo (como áudio, vídeo,
etc.), conectados por hiperligações. O padrão é independente de outros
padrões de processamento de texto em geral.
SGML é um padrão de formatação de textos. Não foi desenvolvido para
hipertexto, mas tornou-se conveniente para transformar documentos em
hiper-objetos e para descrever as ligações.
Os documentos em HTML são arquivos de texto simples que podem ser
criados e editados em qualquer editor de textos comum, como o Bloco de
Notas do Windows, ou o TextEdit, do Macintosh. Para facilitar a produção de
documentos, no mercado existem editores HTML específicos, com recursos
sofisticados, que facilitam a realização de tarefas repetitivas, inserção de
objetos, elaboração de tabelas e outros recursos (Ver lista abaixo).
Basicamente dividem-se em dois tipos:
Editores de texto fonte: inserem automaticamente as etiquetas,
orientando a inserção de atributos e marcações
Editores WYSIWYG: oferecem ambiente de edição com um "esboço"
resultado final das marcações
Uma propriedade importante dos documentos HTML é a possibilidade de fazer
hiperligações. Para isso usa-se a etiqueta <a> (do inglês, anchor). Esta tem os
atributos: href que define o alvo da hiperligação (que pode ser uma página de
Internet, uma parte da mesma página ou um endereço de email) ou name que
Trabalho Prático 1 – World Wide Web
10
11. define um alvo nessa página (a onde se pode fazer uma hiperligação usando a
etiqueta a com o atributo href). Exemplos:
<a href="http://pt.wikipedia.org/">Clique aqui para aceder à página
principal da Wikipédia em português.</a>
<a name="nome">texto</a>
Em que nome e texto podem ser substituídos por o que se desejar. Depois usa-
se <a href="#nome"> </a> para hiperligar a este "anchor".
XML (Extensible Markup Language)
XML é uma recomendação da W3C para gerar linguagens de marcação para
necessidades especiais.
É um dos subtipos da SGML (acrônimo de Standard Generalized Markup
Language, ou Linguagem Padronizada de Marcação Genérica) capaz de
descrever diversos tipos de dados. Seu propósito principal é a facilidade de
compartilhamento de informações através da internet.
Entre linguagens baseadas em XML incluem-se XHTML (formato para páginas
Web), RDF,SDMX ,SMIL, MathML (formato para expressões matemáticas),
NCL, XBRL, XSIL e SVG (formato gráfico vetorial). A principal característica do
XML, de criar uma infraestrutura única para diversas linguagens, é que
linguagens desconhecidas e de pouco uso também podem ser definidas sem
maior trabalho e sem necessidade de ser submetidas aos comitês de
padronização.
Com relação aos outros "formatos universais para intercâmbio de dados" já
propostos e experimentados, o XML apresenta diversas vantagens técnicas,
mas são as vantagens não-técnicas que o tornam um tópico de tão grande
importância:
É um padrão "de fato" e formalmente: num universo onde cada desenvolvedor
e cada fabricante tem a liberdade de criar e impor seu próprio formato, a
aceitação do XML tem sido vista como o seu maior trunfo.
Trabalho Prático 1 – World Wide Web
11
12. Tem sua origem em uma instituição de padronização das mais abertas e
dinâmicas, o W3C.
Baseia-se na experiência de sucesso do SGML, sendo considerado inclusive o
"sucessor da SGML".
É baseado em texto (TXT), suporta Unicode, permitindo que a maior parte Da
informação codificada em linguagem humana possa ser comunicada.
Trabalho Prático 1 – World Wide Web
12
13. IDENTIFICADORES DAS HIPERLIGAÇÕES
As hiperligações utilizam identificadores que permitem aceder aos recursos
(documentos, ficheiros, …) existentes na Web, são designados por Uniform
Resource Identifiers (URI’s).
Existem dois tipos de URI’s:
Uniform Resource Locators (URL’s)
Uniform Resource Name (URN’s)
Uniform Resource Locators (URL’s)
Um URL (de Uniform Resource Locator), em português Localizador-Padrão de
Recursos, é o endereço de um recurso (um arquivo, uma impressora etc.),
disponível em uma rede; seja a Internet, ou uma rede corporativa, uma intranet.
Uma URL tem a seguinte estrutura: protocolo://máquina/caminho/recurso
O protocolo poderá ser HTTP, FTP, entre outros. O campo máquina designa o
servidor que disponibiliza o documento ou recurso designado. O caminho
especifica o local (geralmente num sistema de arquivos) onde se encontra o
recurso dentro do servidor.
No exemplo: http://www.w3.org/Addressing/URL/uri-spec.html, o protocolo é o
HTTP, o servidor é designado por www.w3.org e o recurso — neste caso o
arquivo uri-spec.html — encontra-se em Addressing/URL/
Uniform Resource Name (URN’s)
Um Nome Uniforme de Recurso, URN (do inglês Uniform Resource Name) é
um tipo de URI que usa o URN Scheme e que tem por objetivo a identificação
única do recurso, de forma persistente e independente da sua localização.
A ideia básica dos URNs como identificadores persistentes é permitir a
separação estrita entre identificação (nome único) e localização (endereços
URL que podem oferecer o recurso identificado).
Trabalho Prático 1 – World Wide Web
13
14. CONCLUSÃO
A Worl Wide Web define um conjunto de protocolos e de ideias pré definidas
que vão permitindo que um infindável número de computadores possam trocar
todo e qualquer tipo de informação, independentemente do tipo de plataforma
que é utilizada.
Existe uma busca incessante pela satisfação constante do cliente por parte dos
servidores, daí haver constantemente uma atualização, procuram soluções
com potencialidade para aceder e pesquisar em vastas bases.
O constante desenvolvimento dos softwares, permitem também implementar
aplicações que tirem melhor partido da arquitetura WWW, repartindo tarefas
entre servidor e cliente.
Trabalho Prático 1 – World Wide Web
14