Você está na página 1de 51

Servidores de Aplicações Web

Uma Realidade
O que são ?
O que fazem ?
Como funcionam ?
Bancos de Dados
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

Interface Lógica Dados

Servidor
Servidor
Web
de BD
Aplicações
No 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.
Arquitetura Cliente/Servidor
3-camadas

Interface Lógica Dados


SQL
ODBC
HTML
JDBC
Servidor
Servidor
De BD
Web
Aplicações

Plugins Templates Componentes Procedures Armazenadas


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

 Os servidores de aplicações Web geram o


processo de ligação dos utilizadores de
informação aos dados onde estão
armazenados.

 Envolvem tecnologia orientada a objetos na


forma de objetos tradicionais e componentes
de software.
Servidores de Aplicações Web

 Objetos e componentes (nem todo


componente é um objeto) são softwares
encapsulados e que podem ser reutilizáveis.

 O mundo dos servidores de aplicações baseia-


se fortemente na estrutura e nas interfaces
bem definidas dos objetos e dos componentes.
Servidores de Aplicações Web

 Esta arquitetura rigorosa permite a


interoperabilidade entre os produtos de vários
fornecedores.
 Fornecem a infra-estrutura de run time (tempo
de execução) e serviços necessários para
implementar aplicações ou componentes numa
arquitetura de várias camadas, que suportam a
Web e outras interfaces com o cliente.
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

 Por outro lado, têm de ser de fácil utilização e


capazes de fornecer mais valor de
desenvolvimento do que produtos de
midlleware (produtos separados que servem
de ligação entre duas aplicações).
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 servidor de aplicação Web contém a lógica


da aplicação e situa-se entre o servidor Web e
o banco de dados.

 Ele controla a conexão com o banco de dados


em função das requisições do browser.
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.
BD e Servidores de Aplicações:
Acesso ao BD
 Independentemente do servidor de aplicações
específico, existem três tipos de conexões a banco de
dados:
- o acesso nativo,
- o acesso via ODBC (Open Database
Connectivy),
- o acesso via JDBC (Java Database Connectivy).

 Para cada tipo de acesso, haverá algumas


características que definirão como o acesso deverá
ser feito.
BD e Servidores de Aplicações
Acesso Nativo

 Os bancos de dados de acesso nativo são os


bancos de dados textuais e proprietários, isto é
aqueles que só podem ser acessados por
programas de uma linguagem própria.

 BDs antigos e com diversas limitações quanto


ao acesso, mas que permitem que programas
sirvam de intermediários (gateways) entre eles
e as aplicações Web.
BD e Servidores de Aplicações
Acesso via ODBC

 Os BDs com acesso via ODBC (coleções de funções e


estruturas de dados escritas na linguagem C)
correspondem à grande maioria existente no mercado.

 ODBC é uma maneira fácil de se obter a comunicação


com o banco de dados, mas existe a limitação de que
a máquina com ODBC (no cliente ou no servidor), seja
uma máquina Windows.
BD e Servidores de Aplicações
Acesso JDBC

 Os bancos de dados mais modernos possuem acesso


via JDBC, que é uma solução orientada a objetos, com
vantagem de poder funcionar em qualquer sistema
operacional que possua uma JVM (Java Virtual
Machine).

 JDBC encapsula as funcionalidades de um BD em um


conjunto de classes que permitem o acesso nativo ao
banco e a comunicação via SQL.
Conclusões
 O momento de disponibilizar informações puramente
estáticas terminou.

 O momento agora é de usufruir as vantagens que a


Internet e a Web podem proporcionar no
desenvolvimento de aplicações.

 Um novo modelo de desenvolvimento de aplicações,


baseado em servidores de aplicações Web, é agora
existente.
Conclusões

 Ao deixar claro o nível de separação entre o servidor


Web e a camada de acesso aos dados (servidor de
aplicação), podemos suprir a necessidade de quem
deseja disponibilizar aplicações Web.

 Ao crescerem em complexidade, essas aplicações,


passam a requerer melhor gerenciamento, ao contrário
de aplicações simples, que podem se desenvolvidas
através de linguagens de scripts, serem menos
dispendiosas e de mais fácil implementação.
Conclusões

 Ambiente computacional capaz de reduzir o


TCO (Total Cost of Ownership) nas empresas.

- máquinas clientes não precisam de alto


poder de processamento e armazenamento,

- economia com licenças de utilização de


softwares.
Conclusões

 Atualizações do sistema/aplicação só precisa


ser feita no servidor de aplicação e
automaticamente é atualizada para todos que
acessarem tal aplicação.
Conclusões

 O desenvolvimento Web pode assemelhar-se


ao desenvolvimento de sistemas usando
ferramentas GUI, porém com maior
flexibilidade, pois a aplicação pode ser
acessada remotamente sem que haja a
necessidade de instalar um software-cliente no
usuário final.
Conclusões

 O papel principal de um servidor de aplicação é dar


suporte a sites Web que usem dados dinâmicos, ou
seja, dados oriundos de um banco de dados, arquivos-
modelos, scripts e de outros elementos, para criar
arquivos HTML dinamicamente.

 O servidores de aplicações provêem a informação


formatada para ser entregue aos usuários.
Produtos no Mercado

 Servidor de Aplicações Web Integrator da ITX


Information Technology Experts.

 Sistema SIGES, desenvolvido e


disponibilizado pela INFOX Sistemas de
Informação Ltda.
Produtos no Mercado

 WebLogic, BEA
 WebSphere, IBM
 Orbix E2A J2EE Edition, IONA
 JBOSS, ...
 .... , Inprise
Referências

 Feiler, Jesse. Application Servers: Powering


the Web-Based Enterprise. Morgan Kaufmann,
2000.

 Fournier, Roger. A Methodology for


Client/Server and Web Application
Development . Yourdon Press, 1999.
Referências

 Moraes, Geraldo Leite. Aplicações Web.


Monografia em Processamento de Dados,
UNIT, Aracaju, 1999.

 Developer’s Magazine [on line].


www.developers.com.br.
Java 2 Enterprise Edition (J2EE)
 Especificação da Sun Microsystems, para a
construção de plataformas com servidor de aplicações.
 J2EE oferece, numa só arquitetura, todos os recursos
necessários para a construção de aplicações
distribuídas multi-camadas para a Internet.
 Engloba um número de especificações para a
construção de páginas dinâmicas, acesso à bancos de
dados, monitores de transação, serviço de troca de
mensagens, coordenação de objetos distribuídos e,
também, Web Services.
 www.java.sun.com/j2ee contém toda a especificação,
tutoriais, artigos, ...

Você também pode gostar