Arquitetura básica do Websphere

A arquitetura padrão do Websphere é composta por:

· Célula: unidade de gerenciamento, onde todas as configurações e servidores (tanto Hardware e JVM), e todos os recursos (JMS, JDBC, Cluster, etc), são organizadas;

· : Cada máquina física ou virtual, que compõem o ambiente onde o Websphere irá ser instalado;

· Profile: Cada nó tem uma instalação independente, mas a configuração vem da célula, cada nó está associado a um único profile. Já um profile pode conter vários nós;

· Gerenciador de deploy: é um processo Java, responsável pelo console administrativo e se comunicar com os nós;

· Cluster: uma entidade de configuração, que permite que duas ou mais JVM consigam trocar e replicar informações entre si, formando um ambiente robusto, tolerante a falhas (ele volta a funcionar mesmo após a falha de uma ou mais partes) e com alta disponibilidade (a atividade não para diante de uma falha, continua operando normalmente);

· JVM: Java Virtual Machine, ambiente da plataforma Java que irá executar as aplicações feitas em Java;

· Node Agents: também é um processo Java. Ele é responsável por executar num nó os comandos do Gerenciador de deploys;

· IHS: servidor Web, nada mais é do que um servidor Apache com um plugin para o Websphere. Ele é composto por três partes:

1. Processo Admin: Similar ao agente, ele é responsável por se comunicar ao Gerenciador de Deploy e realizar alterações de configuração ou parar e iniciar o Apache;

2. Plugin: é um módulo do Apache que permite que as aplicações rodando no Websphere sejam acessadas via servidor Web;

3. XML de configuração: este aquivo pode ser configurado diretamente do console do Gerenciador de deploy e permite diversas configurações e possibilidades do plugin (ele é carregado apenas quando o servidor Web – Apache – inicia.).

Uma célula não fica armazenada num servidor, é apenas uma unidade lógica, não existe de fato. Quando instalamos um ou mais servidores com Websphere devemos escolher para qual célula este servidor irá responder. Podemos ter vários servidores, um com sua própria célula ou vários em uma mesma célula.

Célula Simples (com um servidor e uma JVM)

A Célula mais simples que podemos criar é aquela onde haverá apenas uma máquina e uma ou mais JVM. Este servidor pode ter suas aplicações acessadas diretamente no Websphere ou através do IHS como servidor Web. Veja a figura, mostra como é a comunicação entre o Gerenciador de deploy e um nó e o IHS:

Figura 1

Célula múltipla (com mais de um servidor e uma ou mais JVM)

Normalmente, num ambiente corporativo, um sistema acaba funcionando em mais de uma máquina, por questão de performance e escalabilidade. Então é muito comum a existência de múltiplas máquinas e de múltiplas JVM. Observe a figura abaixo:

Figura 2

Célula múltipla com Cluster

Na figura anterior vimos quatro JVM funcionando independentes, isto ajuda muito em performance e em escalabilidade, caso seja necessário crescer, basta inserir mais um servidor na célula e podemos atender mais clientes ou gerar mais transações por segundo. Até certo ponto, dependendo do sistema, ainda pode manter um bom nível de alta disponibilidade. Mas se necessitamos de tolerância máxima a falhas, o ideal é utilizar um Cluster, onde certas informações serão replicadas entre as JVM. Mesmo que uma das partes pare de funcionar, a outra assume, ficando transparente para quem utiliza o sistema. Veja a figura abaixo, mostra dois nós com JVM rodando independentes e duas dentro de um Cluster:

Figura 3