Page 1
© 2006 IBM Corporation
Parceria IBM & Centro Paula Souza
IBM Websphere 6.1 Application Server
Administration Training
Autor/Instrutor: Gustavo Henrique de Moraes Concon ([email protected] )Monitor: Argemiro José de Lima ([email protected] )
Novembro/2009
Page 2
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation22
Avisos e Marca Registrada
A IBM não fornece garantias ou declarações com relação ao conteúdo
Os logos usados neste documento são marcas registradas e não podem ser
usados nem reproduzidos.
© Copyright IBM Corporation 2009Todos os direitos reservados.
Page 3
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation33
AGENDA
Introdução Família de produtos Arquitetura Instalação Navegação no console administrativo Clustering Instalação do HTTP Server Segurança
Page 4
© 2006 IBM Corporation
Introdução
Page 5
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation55
Introdução – Arquitetura Cliente/Servidor
Web estática
• Os servidores disponibilizavam informação em modo texto (html puro).• Os clientes (usuários) consumiam a informação acessando o diretamente o recurso (html), através de sua URL.
Servidor
Page1.html
Page2.html
Page3.html
Page4.html
Home.html
HTTP (GET)
HTML Response
http://meu.server.com/page1.html
Page 6
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation66
Introdução – Arquitetura Cliente/Servidor
Web dinâmica
• Os usuários agora querem informação mais rápida, mais personalizada.• Os servidores recebem como pedido não só o nome do recurso, mas tambémos parâmetros, para devolver um resultado mais direcionado ao usuário.
Servidor
PesquisaServlet
HTTP (GET)
HTML Response
http://meu.server.com/pesquisa?q=WebSphere
DB
DataSource
Page 7
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation77
Afinal, o que é um Application Server?
Um servidor de aplicação ou em inglês, application server, é um software que disponibiliza um ambiente para a instalação e execução de certas aplicações.
O objetivo do servidor de aplicações é disponibilizar uma plataforma que abstraia do desenvolvedor de software algumas das complexidades de um sistema computacional.
No desenvolvimento de aplicações comerciais, por exemplo, o foco dos desenvolvedores deve ser a resolução de problemas relacionados ao negócio da empresa, e não de questões de infra-estrutura da aplicação. O servidor de aplicações responde a algumas questões comuns à todas as aplicações, como segurança, garantia de disponibilidade, balanceamento de carga e tratamento de exceções.
Fonte: Wikipedia
Page 8
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation88
Ranking dos mais utilizados no mercado
1. IBM WebSphere Application Server2. Apache Geronimo3. Windows Server4. Coldfusion5. JBoss6. Sun / Glassfish7. BEA Weblogic8. NetWeaver
Resultado a pesquisa da Evans Data Corporation, feita em 2008, elegendo os melhores Application Servers no mercado, considerando critérios como Performance, segurança, conectividade, suporte, escalabilidade e outros.
Fonte: Evans Data Corp.http://www.evansdata.com/reports/viewRelease_download.php?reportID=20
Page 9
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation99
Containers
Em Java EE, o container contém os componentes construídos como Servlets (container para aplicações Web) ou EJBs (container para componentes de negócio). Quando uma aplicação web faz uma solicitação para um Servlet, o servidor não entrega a solicitação diretamente ao Servlet, mas sim para o container que contém o Servlet. O container gerencia o ciclo de vida, dá suporte ao multithread, segurança, e suporte para páginas JSP, no caso dos containers web.
Page 10
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation1010
Containers
Web Containers• Responsáveis por tratar conteúdo dinâmico da web, principalmente Servlets e JSPs
• Exemplos no mercado:• WebSphere Application Server• Apache Tomcat• Borland Enterprise Server• BEA Weblogic
EJB Containers• Responsáveis por fornecer as funcionalidades dos EJBs (Persistência, transação, segurança)
Page 11
© 2006 IBM Corporation
Product Packaging – A família de produtos WebSphere
Page 12
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation1212
A familia de produtos WebSphere
WebSphere Application Server Express
• Quando usar?Pequenas ou até médias empresas, que estão começando a usar a linha WebSphere ou que possuem uma baixa utilização
• ComponentesTodos os componentes da linha WebSphere, menos a possibilidade de federar nós (cluster)
• Outros detalhesLimitado à 2 CPUs, para migrar para o pacote superior (base), deve-se apenas comprar a licensa, já que o aplicativo é o mesmo.
Page 13
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation1313
A familia de produtos WebSphere
WebSphere Application Server (Base)
• Quando usar?Pequenas ou até médias empresas, que estão começando ou já usam a linha WebSphere, e que possuem utilização média (500 usuários +)
• ComponentesTodos os componentes da linha WebSphere, menos a possibilidade de federar nós (cluster)
• Outros detalhesNão há limitação de uso de CPU.
Page 14
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation1414
A familia de produtos WebSphere
WebSphere Application Server Network Deployment
• Quando usar?Grandes empresas, que precisam de um ambiente de alta disponibilidade e escalabilidade.
• ComponentesTodos os componentes da linha WebSphere, com a possibilidade de criar Clusters, federando os nós.
• Outros detalhesPossui mais um componente em sua arquitetura, o DMgr.
Page 15
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation1515
A familia de produtos WebSphere
Page 16
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation1616
A familia de produtos WebSphere
Page 17
© 2006 IBM Corporation
Arquitetura do produto
Page 18
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation1818
Arquitetura do produto
O browser é o principal mecanismo de interação do usuário.
Page 19
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation1919
Arquitetura do produto
As requisições então são feitas ao HTTP Server, servidor dedicado para ouvir e direcionar as requisições para os recursos certos.
Page 20
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation2020
Arquitetura do produto
O HTTP Server, através de um plug-in configurado, direciona as requisições para o Application Server, que irá executar a requisição através de um Servlet ou JSP.
Page 21
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation2121
Arquitetura do produto
Se os servlets ou JSPs precisarem acessar algum recurso distribuído ou um banco de dados, a requisição é direcionada ao EJB, através do protocolo RMI/IIOP.
Page 22
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation2222
Arquitetura do produto
O EJB container então pode acessar dados externos (como um banco de dados) através do padrão JDBC.
Page 23
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation2323
Arquitetura do produto
Uma série de outros serviços estão disponíveis no Application Server.
Page 24
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation2424
Arquitetura do produto
Não só os browsers podem ser clientes de um Application Server, uma aplicação Java (J2SE) também pode, e conecta-se diretamente via RMI/IIOP.
Page 25
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation2525
Arquitetura do produto
Os Web Services, amplamente utilizados atualmente, também são clientes, e podem acessar os recursos ou via HTTP (REST), ou por mensagens assíncronas.
Page 26
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation2626
Arquitetura do produto
Finalmente um cliente JMS (MQ Series por exemplo) pode também acessar os serviços de mensageria do Application Server.
Page 27
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation2727
Arquitetura – Topologia do WebSphere
Page 28
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation2828
• Cell– A célula representa um ambiente em comum do
Application Server, uma instalação em alto nível.
• Deployment Manager (DM, DMgr)– Processo Java responsável por controlar a
configuração Master da instalação.– Há apenas 1 DMgr por célula.– O DMgr comunica-se com os NodeAgents da célula.
Arquitetura – Topologia do WebSphere
Page 29
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation2929
• Node– Uma entidade lógica na célula.– Para cada nó, existe apenas um NodeAgent.
• NodeAgent (NA)– Processo Java que representa um nó.– O NodeAgent comunica-se direto com o DMgr.– O NodeAgent monitora/administra os processos do
Application Server em seu nó.
Arquitetura – Topologia do WebSphere
Page 30
© 2006 IBM Corporation
Hands on: Instalação do Application Server ND
Page 31
© 2006 IBM Corporation
Clustering
Page 32
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation3232
Um cluster é a criação de um Application Server como template, e a partir dele, são criadas instâncias idênticas para compartilhar a carga do servidor.
Clustering
Page 33
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation3333
O cluster é chamado de cluster vertical, quando temos um cluster de instâncias do Application Server no mesmo Nó (Node).
Clustering – Cluster Vertical
Quando usar?Essa implementação é usada para ganho de performance, desde que a máquina onde estão rodando suporte esse crescimento.
Page 34
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation3434
O cluster horizontal, permite que seus membros estejam espalhados em diferentes Nós.
Clustering – Cluster Horizontal
Quando usar?Nesse caso, usamos cluster horizontal para alta disponibilidade (failover)
Page 35
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation3535
Clustering – Cluster Horizontal
Page 36
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation3636
Em diversas situações, as duas implementações são necessárias, pois precisamos de um ambiente de alta disponibilidade e performance.Por isso, é possível criar um cluster vertical em cada nó, e um cluster horizontal agregando todos os nós
Clustering – Cluster Vertical + Cluster Horizontal
Page 37
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation3737
Clustering – Cluster Vertical + Cluster Horizontal
Page 38
© 2006 IBM Corporation
Hands on: Criação de um cluster Horizontal + Vertical
Page 39
© 2006 IBM Corporation
Hands on: Instalação e configuração do IBM HTTP Server 6
Page 40
© 2006 IBM Corporation
Segurança
Page 41
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4141
Segurança
Web Servers: provê o acesso universal a lógica de negócio da companhia. Permite o acesso à companhia pelo navegador de internet
Apps (aplicações): é a lógica de negócio. Estas aplicações possuem acesso ao banco de dados e provê as regras de negócio.
Page 42
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4242
Segurança pode ser aplicada em vários níveis:
Page 43
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4343
Serviço de Segurança
O Serviço de segurança roda localmente em cada processo(Dmgr, NodeAgent e Servidor)- Falha do serviço somente afeta um processo.- Pico de processamento na segurança não sofre gargalo para um único processo.
Mecanismo de separação de autenticação e registro de usuários- Somente um mecanismo de autenticação e registro de usuário pode ser habilitado por vez.
Page 44
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4444
Serviço de segurança do WebSphere
Page 45
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4545
Autenticação e Controle de Acesso
Autenticação (Quem é você?)Autorização (O que você pode fazer?)
Page 46
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4646
Passos básicos
Page 47
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4747
Autenticação
Diga ao servidor quem você é!!!
- Mecanismo de contestação;- Mecanismo de autenticação;- Registor de usuário.
Page 48
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4848
Autenticação Básica
- Senha transmitida com codificação;- Autenticação gravada no servidor;- Navegador valida o certificado do servidor
Page 49
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4949
Autenticação certificada
- Servidor solicita certificado do navegador;- Navegador valida certificado do servidor;- Navegador envia certificado do cliente para o servidor;- Servidor valida o certificado do cliente.
Page 50
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5050
Mecanismos de registros e autenticação
Page 51
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5151
Repositórios Federados
Page 52
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5252
Registro customizável
Possíveis implementações:- Banco de dados;- Arquivo;- Baseado no Sistema Operacional;- outros, não diretamente suportado.
WebSphere disponibiliza:- Base;- Implementação exemplo.
Page 53
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5353
Mecanismos de Autenticação
Page 54
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5454
LTPA e LDAP
Page 55
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5555
Single Sign-On
- Uma vez que o cliente tem uma chave LTPA token válida, não há necessidade de autenticar com uma célula novamente;- SSO é ativo por padrão;- Envia cookies para o navegador rastrear as informações de autenticação de usuário;- Fornece para SSO dentro ou mesmo entre as células WebSphere.
Page 56
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5656
Autorização
- Autorização envolve dar permissões reais para executar ações em recursos(páginas, JSPs, EJBs etc);
- Controle de acesso a recursos.
Page 57
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5757
Autorização de Aplicações
- Autorização é realizada usando as funções de segurança JEE;
- Amarração de usuários e grupos para as funções de segurança JEE geralmente é feita na instalação da aplicação.