Você está na página 1de 70

Conceitos Bsicos sobre Sistemas

Web: Arquitetura e Servios

Acio Costa

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

O que Arquitetura?

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Arquitetura antes de mais nada construo, mas,


construo concebida com o propsito primordial
de ordenar e organizar o espa o para
determinada finalidade e visando a determinada
inteno.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Arquiteturas em Aplicaes
Cliente/Servidor

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Servidores
So equipamentos com maior
poder de processamento e armazenamento.

Clientes
Geralmente microcomputadores PCs ligados
em rede.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Cliente
Inicia e termina as conversa es com os Servidores, solicitando
servios;
No se comunica com outros Clientes;
Normalmente respons vel por receber e enviar dados em uma
comunicao com o usurio;
Torna a rede transparente ao usurio;
Hardware: pode ser um micro simples;
Software: tem incio e fim definido.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Servidor
Recebe

e responde a solicitaes dos Clientes;


Presta servios distribudos;
Atende a diversos Clientes simultaneamente;
Hardware: exige mquinas mais robustas, com grande capacidade de
processamento;
Software: processo sempre em execuo, aguardando ser chamado
pelo Cliente.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Arquitetura em 2 Camadas

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Foram utilizadas no in cio da implanta o do modelo Cliente/
Servidor.
Aqui, a aplicao Cliente responde pelas seguintes funes:
Apresentao

Lgica

do Negcio

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Apresentao

O c digo que gera a interface vis vel do programa faz parte da aplica o
Cliente. Todos os formulrios, menus e demais elementos visuais nele esto
contidos. Ento uma alterao na interface do programa requer a gerao de
uma nova verso para todos os computadores.
Lgica

do Negcio

S o as regras que definem como os dados ser o acessados e processados.


Toda a L gica do Neg cio fica no Cliente. Quando o programa Cliente
instalado, so instaladas todas as regras de acesso ao banco de dados.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Caractersticas
necess ria uma nova vers o do programa cada vez que altera es
ocorrerem e as regras mudarem.
Tambm necessrio que todos os computadores que estejam com a verso
anterior recebam a nova verso, mesmo que sejam centenas ou milhares de
micros.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Arquitetura Cliente/Servidor
3 Camadas

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Caractersticas
Retira as Regras do Neg cio do cliente e as centraliza em um determinado
ponto, o qual chamado de servidor de aplicaes:
O acesso ao Banco de Dados feito atravs das regras contidas no Servidor
de Aplicaes.
Facilidade de atualizao
das regras de negcio, pois
esto centralizadas em um
nico ponto.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Caractersticas
Regras do Neg cio (l gica) foram deslocadas para o Servidor de
Aplicaes;
As

Todo o acesso do cliente ao Banco de Dados feito de acordo com as


regras contidas no Servidor de Aplicaes. No possvel o acesso ao Banco
de Dados diretamente, somente atrav s dos recursos do Servidor de
Aplicaes;

No Servidor de Banco de Dados reside toda informao necessria para o


funcionamento da aplicao.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Arquitetura Cliente/Servidor
4 Camadas

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Idia

Bsica

Retirar a apresentao do cliente e centraliz-la em um determinado ponto,


o qual na maioria dos casos um Servidor web.

Qual o avano?
O cliente deixa de existir como um programa que precisa ser instalado em
cada micro. O acesso aplicao feito atravs de aplicativos genricos
chamados de Navegador.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Uso do Conceito de Thin Client

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Cliente:

Navegador

Apresentao:

Servidor Web, onde sero feitas as alteraes de

interface
Lgica

(Regras do Negcio): Servidor de Aplicaes, onde sero


feitas as alteraes nas regras do negcio, quando necessrias.
Dados:

Servidor de Banco de Dados, com todas as informaes.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

E como funciona a Web?

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Arquitetura Bsica da Web

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

A Web baseia-se em:

Apresentao
Protocolo
Servio

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Apresentao
Softwares que interpretam conte dos vindos da Internet e
exibindo-os para o usurio.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Protocolo
Conven o que controla e possibilita uma conex o,
comunica o, transfer ncia de dados entre dois sistemas
computacionais.

HTTP - Hypertext Transfer Protocol

Um dos principais meios de comunica o entre um browser e um


servidor Web.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
A comunica o em HTTP feita atrav s de mensagens que
podem ser requisies ou respostas.

Request

Formadas e enviadas por um Cliente HTTP.

Response

Respostas so formadas e retornadas por um servidor aps a requisio.

A porta de comunicaes onde o servidor aguarda requisies , por default, a porta de servios TCP/IP de nmero 80.

25

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Servios

Protocolo IP

Um dos mais importantes protocolos da arquitetura TCP/IP, ele


permite a localizao de um computador na internet, atravs de um
conjunto de dgitos chamado de endereo IP.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Servios

DNS

Facilita o acesso a computadores da Internet e evita a necessidade de


se decorar nmeros IP;
Nesse servi o guarda-se tabelas que associam o nome de uma
mquina um endereo IP.
www.cesar.org.br > 200.255.126.219

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Servios

Portas

Maneira na qual possvel oferecer diversos servi os diferentes em


uma mesma mquina.
As portas so identificadas por nmeros.
80, 8080, 5433 e etc.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Servios

Servio Web

A World Wide Web um servi o TCP/IP baseado no Protocolo


HTTP;
Servio Web um servio que prov acesso (HTTP) aos seus clientes
para transferncia de contedos.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Mtodos de Requisio HTTP
A verso HTTP 1.1 define 7 mtodos bsicos.

GET
HEAD
POST

PUT
DELETE
TRACE

OPTIONS

Um servidor Web mnimo, que suporte HTTP 1.1, deve ser capaz de entender pelo
menos os mtodos GET e HEAD.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

32

Mtodo

Descrio

GET

Requisita dados de um recurso espec fico,


podem enviar informa es que s o vis veis na
URL.

POST

Submete dados para serem processados por um


recurso espec fico. Enviam informa es n o
visveis na URL.

HEAD

Mesma requisi o de um GET, mas retorna


apenas cabealhos HTTP.

PUT

Faz Upload de um recurso para o Servidor.

DELETE

Deleta um recurso especfico.

OPTIONS

Retorna os m todos HTTP que o servidor


suporta.

CONNECT

Comunicao com servidores Proxy.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Mtodo GET

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Cdigos de Status no HTTP
C digos que informam ao cliente HTTP o status do servidor ap s a
requisio.
Os cdigos mais
comuns so:

34

Cdigo

Status

200 OK

A requisio foi completada com sucesso

204 No Response

Servidor recebe a requisi o mas n o a informa es


para serem enviadas de volta.

400 Bad Request

O pedido n o p de ser entregue devido a sintaxe


incorreta.

401 Unauthorized

Quando a autenticao possvel, mas no conseguiu


ou ainda no foram fornecidos.

403 Forbidden

O pedido foi um pedido legal, mas o servidor est


recusando a responder a ela.

404 Not Found

O recurso requisitado no foi encontrado.

405 Mtodo no
permitido

Foi feita uma solicita o de um recurso usando um


mtodo de pedido no compatvel com esse recurso.

500 Internal Error

O servidor encontrou uma condio inesperada.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Cookies
Grupo de dados trocados entre o servidor de p ginas e o
navegador colocado em um ficheiro criado no computador do
usurio.

35

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Cookies

Usurio solicita uma pgina na Web;

Servidor fornece informaes adicionais acompanhando a pgina solicitada;


Um cookie, pequeno arquivo ou string (4 KB no mximo) enviado.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Campos de um Cookie
Campo

Descrio

Domain

Informa de onde veio o Cookie

Path

Caminho na estrutura de diret rios do


servidor que identifica as partes da arvores de
arquivos do servidor que podem usar o cookie.

Content

Armazena uma chave e valor definida pelo


servidor, esse campo cont m o conte do do
Cookie.

Expires

Campo que permite o cookie ser persistido,


assim poss vel informar uma data que o
mesmo ir expirar.

Secure

Indica se o Cookie seguro ou no.

Assim o navegador confirma que os servidores esto enviando dados fieis a respeito de seu domnio.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Cookies - Exemplo

38

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Sesses
Como http usa conexes stateless.
Send Request

Response and Close Connection

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Sesses
Sesses permitem usurios manterem estado entre vrias conexes.
O servidor gera um session ID que enviado para o cliente na
primeira resposta, assim o Cliente reenvia esse session ID sempre
que for fazer uma nova requisio.

40

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

URL - Uniform Resource Locator


Todas as comunicaes na plataforma Web utilizam a sintaxe
chamada URL para localizar os recursos que so transferidos.
Contm duas informaes essenciais:

COMO transferir o objeto;


ONDE encontr-lo.

41

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

URL - Uniform Resource Locator

protocolo://maquina:porta/recurso

http://www.dominio.com.br/teste/minha/pagina/texto.html

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Tipos MIME - Multipart Internet Mail Extensions


Tipo de dado recebido pelo browser para representao da
informao na tela.

Imagem;
Arquivo HTML;
Formato no suportado. (.rar e etc).

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Tipos MIME - Multipart Internet Mail Extensions


Formato de um tipo MIME: tipo/subtipo
Tipo

44

Subtipo

image/jpg

.jpe, .jpg, .jpeg

text/html

.html, .htm, .jsp, .asp, .shtml

text/plain

.txt

x-application/java

.class

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Servidor Web

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Servidor Web
Software responsvel por aceitar pedidos e gerar respostas HTTP.
Esse pedidos geralmente s o feitos por Browsers e se referem a
pginas HTML.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Servidor Web
Modelo de Entrega de Pginas:
Estticos

Contedo vem diretamente de um ficheiro no servidor;

No utiliza scripts para gerao de contedos.

Dinmicos

Contedo criado dinamicamente por scripts do lado do servidor para ento ser
retornado para o cliente.

Esttico

Dinmico

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Servidores Web

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Entendendo o Funcionamento de WebServers.

Exerccio: Instalar Apache Server, tomcat ou Xampp.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Web Server x Web Service


Web Service:
Uma aplica o auto-contida, identificada por um URI (Uniform Resource
Identifier), cujas interfaces e ligaes so definidas, descritas e localizadas
por artefatos que utilizam a linguagem XML (Extensible Markup Language).
Austin et al. (2002)

50

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Web Service permite...

Novas aplicaes interajam com as j existentes;


Sistemas desenvolvidos em plataformas diferentes sejam compatveis;
Servios interactivos da Web estejam disponveis para qualquer outra
aplicao (Web ou no).

Transporte de dados feito pelo HTTP.


Padres mais famosos:

SOAP - Simple Object Access Protocol


REST - Representational State Transfer

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Web Services podem ser:

Internos
Esto relacionados a um nico domnio de segurana,
geralmente a prpria empresa ou uma Intranet.

Externos
Conectados a mais de um dom nio ampliando as fronteiras da
conduo de negcios atravs da Internet.

Tecnologias do Ambiente Web

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Tecnologias Web?

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Tecnologias de Apresentao
Se destinam formatao e estruturao das pginas Web;
Podem ser usadas tambm para construir a interface de
aplicaes Web no browser.

55

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Tecnologias Interativas
Permitem o desenvolvimento de aplica es e p ginas com um alto
nvel de interatividade com o usurio.
Podem ser executadas:
Lado do Cliente

Lado do Servidor

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

SOA
Service Oriented Architecture

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Arquitetura proposta para interoperabilidade de sistemas por meio


de conjunto de interfaces de servi os fracamente acoplados, onde
os servios no necessitam de detalhes tcnicos da plataforma dos
outros servios para a troca de informaes ser realizada.
(e-ping v.3,2007)

Os componentes da arquitetura SOA representam uma cole o de


servios que se comunicam atravs da troca de mensagens XML.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
O que SOA no :

SOA no uma tecnologia


SOA no um produto
SOA no um projeto de TI
SOA no um software
SOA no um framework
SOA no uma metodologia
SOA no uma soluo de negcio
SOA no um middleware
SOA no pode ser comprada
SOA no uma ferramenta de produtividade
59

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Por que importante?
42% dos or amentos de TI apenas para fazer coisa se conectar
com coisa.
Gartner

Reutilizao dos Servios


Baixo acoplamento
Abstraem Lgica
So capazes de se compor (Modularizao)
So autnomos
60

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
Modelo Tradicional

61

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios
SOA

62

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Arquitetura e Servios
Cloud Computing

63

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Cloud Computing

Modelo que permite acesso ub quo, conveniente, sobre demanda, para a


rede ou a um pool de recursos computacionais (rede, storage, servidor,
aplica es, servi os) que podem ser rapidamente provisionados e
disponibilizados com um esforo mnimo de gerenciamento do provedor
de servios

http://csrc.nist.gov/groups/SNS/cloud-computing/

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

O Surgimento da Cloud Computing interfere na maneira que


projetamos sistemas na internet?

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

Nas nuvens tudo passa a ser visto como um componente de


uma soluo.

Ambientes customizados e pr-prontos


para funcionar.

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

SaaS
O consumidor usa a aplica o, mas n o controla o sistema
operacional, hardware e infra-estrutura de rede na qual esta
funcionando.

Calendar

Planilhas

Documentos Apresentaes Drive

Gmail

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

PaaS
O consumidor usa o ambiente do hosting para as suas aplicaes.
O usu rio controla a aplica o que roda no ambiente (e
possivelmente tem algum controle sobre o ambiente), mas
n o controla o sistema operacional, hardware e rede.
Tipicamente a plataforma vira um framework.

69

Conceitos Bsicos sobre Sistemas


Web: Arquitetura e Servios

IaaS
O consumidor usa os recusros fundamentais da computao
como consumo de processamento, storage, componentes de
rede e middleware. O consumidor controla o sistema
operacional, storage, deploy de aplicaes, ..
Mas no controla a infra-estrutura
que controla a nuvem.