51
Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

Embed Size (px)

Citation preview

Page 1: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

Servidores de Aplicações WebUma RealidadeO que são ? O que fazem ? Como funcionam ? Bancos de Dados

Page 2: 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.

Page 3: 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

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.

Page 4: 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

Hoje, a Web é um dos meios mais poderosos de comunicação, que tem provocado grandes impactos em qualquer área de atuação profissional.

Page 5: 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

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.

Page 6: 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

A Internet impôs um novo modelo de desenvolvimento de aplicações, o desenvolvimento de sistemas/aplicações Web.

Page 7: 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

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.

Page 8: 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

Alguns fatores foram preponderantes para que o uso de servidores de aplicações se tornasse uma realidade.

Page 9: 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

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.

Page 10: 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

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.

Page 11: 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

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.

Page 12: 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

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.

Page 13: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 14: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 15: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 16: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 17: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 18: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

O Papel do Servidor de Aplicações

Servidor Web

Servidor de

AplicaçõesBD

Interface Lógica Dados

Page 19: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 20: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 21: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

Arquitetura Cliente/Servidor 3-camadas

ServidorWeb

Servidor De

AplicaçõesBD

Plugins Templates Componentes Procedures Armazenadas

Lógica DadosInterface

HTML

SQLODBCJDBC

Page 22: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 23: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 24: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 25: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 26: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 27: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 28: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 29: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 30: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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).

Page 31: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 32: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 33: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 34: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 35: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 36: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 37: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 38: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 39: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 40: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 41: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 42: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 43: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 44: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 45: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 46: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 47: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 48: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

Produtos no Mercado

WebLogic, BEA WebSphere, IBM Orbix E2A J2EE Edition, IONA JBOSS, ... .... , Inprise

Page 49: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 50: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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.

Page 51: Servidores de Aplicações Web Uma Realidade O que são ? O que fazem ? Como funcionam ? Bancos de Dados

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, ...