Post on 18-Nov-2014
description
© 2006 IBM Corporation
Parceria IBM & Centro Paula Souza
IBM Websphere 6.1 Application Server
Administration Training
Autor/Instrutor: Gustavo Henrique de Moraes Concon (gconcon@br.ibm.com)Monitor: Argemiro José de Lima (ajlima@br.ibm.com)
Novembro/2009
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.
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
© 2006 IBM Corporation
Introdução
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
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
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
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
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.
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)
© 2006 IBM Corporation
Product Packaging – A família de produtos WebSphere
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.
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.
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.
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation1515
A familia de produtos WebSphere
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation1616
A familia de produtos WebSphere
© 2006 IBM Corporation
Arquitetura do produto
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation1818
Arquitetura do produto
O browser é o principal mecanismo de interação do usuário.
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.
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.
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.
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.
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.
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.
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.
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.
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation2727
Arquitetura – Topologia do WebSphere
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
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
© 2006 IBM Corporation
Hands on: Instalação do Application Server ND
© 2006 IBM Corporation
Clustering
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
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.
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)
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation3535
Clustering – Cluster Horizontal
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
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation3737
Clustering – Cluster Vertical + Cluster Horizontal
© 2006 IBM Corporation
Hands on: Criação de um cluster Horizontal + Vertical
© 2006 IBM Corporation
Hands on: Instalação e configuração do IBM HTTP Server 6
© 2006 IBM Corporation
Segurança
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.
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4242
Segurança pode ser aplicada em vários níveis:
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.
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4444
Serviço de segurança do WebSphere
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?)
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation4646
Passos básicos
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.
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
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.
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5050
Mecanismos de registros e autenticação
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5151
Repositórios Federados
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.
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5353
Mecanismos de Autenticação
Academic Initiatives
IBM Academic Initiatives – Web technologies © 2006 IBM Corporation5454
LTPA e LDAP
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.
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.
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.