Relatório Climático: Construir um Showcase de Aplicativos Reconstruíveis

Um excelente projeto reutilizável do WebSphere CloudBurst Appliance que usa padrões

iWidgets® WebSphere® O divulgador de tecnologias emergentes IBM WebSphere Dustin Amrhein usa o WebSphere CloudBurst Appliance para ilustrar o esforço que é usado na construção de um ambiente showcase de aplicativos corporativos que pode hospedar várias sessões do cliente e pode ser reconfigurado on demand para suportar muitas instâncias diferentes dessas sessões de cliente.

Dustin Amrhein, Technical Evangelist, IBM

Author photoDustin Amrhein passou a fazer parte da IBM como membro da equipe de desenvolvimento do WebSphere Application Server. Enquanto ocupava esse cargo, Dustin trabalhou no desenvolvimento de modelos de programação de serviços da Web e infraestrutura de serviços da Web. Além disso, Dustin liderou o esforço técnico no desenvolvimento de uma estrutura de serviços Java RESTful. Na sua função atual, Dustin é divulgador técnico de tecnologias emergentes no portfólio WebSphere da IBM. Seu foco atual é em tecnologias WebSphere que fornecem recursos de computação em nuvem, incluindo o WebSphere CloudBurst Appliance.


nível de autor Profissional do
        developerWorks

13/Dez/2010

Penso que os companheiros tecnólogos conhecem bem a sensação. É aquela sensação de quando e-mails, reuniões, chamadas de conferência e tudo o mais que formam o mundo corporativo o esgotaram completamente. Espero que essa não seja uma sensação frequente, mas se você for como eu, há somente uma solução.

Plano de fundo

O coração e a alma de Dustin podem ser encontrados em seu blog do My developerWorks (embora seja possível aprender algo no perfil de Dustin no MydW).

Você tem que incorporar seu "nerd"!

Isso mesmo. É hora de desligar o telefone, fechar o navegador do Web meeting e usar o botão de excluir na sua caixa de entrada de e-mails com discriminação extrema! É hora de fazer algumas codificações, scripts, configurações e integrações! Em outras palavras, é hora de arregaçar as mangas e colocar a mão na massa.

Aqui está um problema para resolver

Não muito tempo atrás, estava precisando de uma pausa assim do mundo cotidiano e, afortunadamente, tive a oportunidade de executar um excelente projeto com o WebSphere CloudBurst Appliance.

Em suporte a algum trabalho a ser apresentado com vários clientes, um grupo de dentro da IBM veio à nossa equipe buscar assistência. Eles precisavam de ajuda na construção de um ambiente showcase de aplicativos corporativos que pudessem usar para hospedar várias sessões de cliente. Além da construção inicial do referido ambiente, também precisavam ser capazes de reconstruir o ambiente on demand para suportar muitas instâncias diferentes dessas sessões de cliente.

Nossa equipe, ansiosa em ajudar, imediatamente perguntou o óbvio: O que querem no ambiente de aplicativos corporativos? É claro, a resposta começou com um aplicativo, especificamente um aplicativo™ de serviços da Web Java.

Conforme descreviam o tipo de aplicativos que queriam e o tipo de experiência do usuário que queriam fornecer, várias necessidades tornaram-se claras, incluindo o seguinte:

  • O aplicativo precisava do recurso de ler e gravar dados de um banco de dados de backend.
  • O aplicativo tinha uma forte dependência do uso de sessões HTTP. Sendo assim, precisávamos garantir que essas sessões estariam altamente disponíveis.
  • Precisávamos expor as interfaces SOAP e JSON do aplicativo.
  • A demanda do aplicativo seria inconsistente e apresentariam picos e vales.

Definindo a infraestrutura

Nossa equipe fez duas coisas. Começamos a desenvolver o aplicativo e decidimos sobre a infraestrutura que seria necessária para suportar o aplicativo. Embora o próprio desenvolvimento do aplicativo seja interessante, passando por tópicos como JPA, JSON, jQuery e, claro, serviços da Web, desejo focar na infraestrutura de suporte do aplicativo.

Rapidamente ficou claro que, para suportar as necessidades do aplicativo mencionadas pelos clientes, seriam necessários vários componentes diferentes da infraestrutura de aplicativo. Após um par de reuniões sobre detalhes, decidimos usar a seguinte infraestrutura para suportar o aplicativo

  • WebSphere Application Server: O WebSphere Application Server forneceu o contêiner de tempo de execução para hosting do serviço da Web JEE e outros componentes do aplicativo relacionados (como arquivos HTML).
  • DB2 Enterprise Edition: Usamos o DB2 como armazenamento de dados de backend para o aplicativo de serviço da Web.
  • WebSphere Virtual Enterprise: Embora existam poucos recursos diferentes que podem ser explorados no WebSphere Virtual Enterprise, aproveitamos clusters dinâmicos e políticas no nível de serviço de aplicativo. Implementamos o aplicativo de serviço da Web em um cluster dinâmico e isso, em conjunção com as políticas de nível de serviço, forneceu o recurso de acomodar a carga de trabalho variável do aplicativo.
  • WebSphere DataPower XC10: Usamos o dispositivo WebSphere DataPower XC10 como armazenamento para sessões HTTP. Utilizando um coletivo de tais dispositivos, pudemos garantir a disponibilidade de sessões HTTP. Além disso, uma vez que armazenamos as sessões HTTP no dispositivo, liberamos a memória que teriam ocupado dentro da JVM do aplicativo.
  • WebSphere DataPower XI50: Como todos os outros componentes aqui mencionados, o dispositivo WebSphere DataPower XI50 fornece inúmeros recursos. No nosso caso, utilizamos o proxy de serviço da Web e os recursos de transformação do dispositivo para ativar uma interface JSON para o aplicativo de serviço da Web.

Se você estiver familiarizado com ambientes de middleware corporativo, entenderá que apenas implementar cada um dos componentes é uma tarefa não trivial; no entanto, além de simplesmente instalar cada peça da infraestrutura, precisávamos integrá-las para obter os objetivos definidos para o aplicativo. Além disso, tivemos que estabelecer uma maneira de outros colherem os frutos do nosso trabalho de modo que pudessem consistentemente fornecer o ambiente em tempo hábil e com alto grau de confiança de que a configuração do ambiente resultante seria precisa.


Escolhendo a ferramenta e a abordagem

Levando tudo isso em consideração, chegamos a uma solução que atende todas as nossas necessidades: WebSphere CloudBurst.

Sendo mais objetivo, decidimos construir um padrão WebSphere CloudBurst que permitiria aos usuários implementar o ambiente do aplicativo de destino em uma nuvem privada.

Especificamente, construímos o padrão para encapsular a configuração do aplicativo e da infraestrutura do aplicativo que definimos anteriormente. Qualquer um que precisasse configurar essa nuvem de ambiente de aplicativo poderia simplesmente efetuar login em um WebSphere CloudBurst Appliance, implementar o padrão e ter um ambiente ativo e em execução em questão de minutos.

Os implementadores não precisavam saber como instalar, configurar e integrar o aplicativo e a infraestrutura associada, já que o padrão encapsulou essas atividades. Além disso, o padrão garantiu a configuração correta do ambiente cada vez que um usuário o implementou.


E aqui está o resultado

Qual a aparência desse padrão? Como mostrado na Figura 1, consiste em partes do WebSphere Application Server, do WebSphere Virtual Enterprise e do DB2 Enterprise Edition.

Figura 1. O padrão WebSphere CloudBurst
The WebSphere CloudBurst pattern

Os componentes

O que cada componente fornece:

  • WebSphere Application Server: O padrão inclui um gerenciador de implementação e dois nós customizados. Os nós customizados são host de instâncias do WebSphere Application Server e, durante a implementação, o WebSphere CloudBurst automaticamente os associa à célula gerenciada pelo nó do gerenciador de implementação.
  • WebSphere Virtual Enterprise: O padrão inclui uma instância de On Demand Router (ODR). O ODR ativa o gerenciamento de fluxo de trabalho baseado em prioridade que ativa o cumprimento de políticas no nível de serviço dos aplicativos.
  • DB2 Enterprise Edition: O padrão inclui uma única parte do DB2 Enterprise Edition que representa uma instância do servidor de banco de dados.

É importante observar que criamos uma imagem customizada usando o mecanismo estender e capturar do WebSphere CloudBurst. Essa imagem customizada contém todos os bits presentes no WebSphere Application Server Hypervisor Edition (com o opcional Intelligent Management Pack) enviado no dispositivo e, além disso, instalamos binários de cliente WebSphere eXtreme Scale. Usamos esses binários durante a configuração do ambiente implementado.

O script

Falando em configuração, fornecemos todas as ações de configuração de tempo de implementação necessárias em nossos padrões por meio de pacotes de script incluídos no nosso padrão. Como pode observar na Figura 1, o padrão contém muitos pacotes de scripts diferentes:

  • Incluir nó do IBM HTTP Server: Esse pacote de scripts cria uma instância de um IBM HTTP Server em execução dentro da mesma máquina virtual que o nó do gerenciador de implementação. O WebSphere CloudBurst fornece esse pacote de script para nossa utilização.
  • Aumento do perfil-WXS: Esse pacote de scripts usa os binários do WebSphere eXtreme Scale presentes nas máquinas virtuais do WebSphere Application Server (por meio da nossa imagem customizada) para aumentar os perfis para tornarem-se perfis do WebSphere eXtreme Scale. Os perfis devem ser perfis do WebSphere eXtreme Scale para configurar nosso aplicativo para usar o WebSphere DataPower XC10 como armazenamento de sessões HTTP.
  • Criar fonte de dados do DB2: Esse pacote de scripts configura uma fonte de dados do WebSphere Application Server. O aplicativo de serviço da Web usa essa fonte de dados para ler e gravar dados na instância do servidor de banco de dados DB2.
  • Criar proxy: Esse pacote de scripts cria um proxy HTTP reverso na instância do IBM HTTP Server para um dispositivo WebSphere DataPower XI50. Isso permite contornar restrições de script entre domínios e enviar solicitações do aplicativo em execução dentro do domínio do WebSphere Application Server para um dispositivo WebSphere DataPower XI50 em um domínio diferente.
  • Configurar política de regravação do DataPower: Esse pacote de scripts atualiza um proxy de serviço da Web do WebSphere DataPower XI50 definido para apontar a localização do aplicativo de serviço da Web recentemente implementado.
  • Instalar JARs de cliente DB2: Esse pacote de scripts instala os JARs do cliente DB2 nos nós do WebSphere Application Server necessários.
  • Configuração dinâmica do cluster: Esse pacote de scripts cria o cluster dinâmico do WebSphere Virtual Enterprise durante a implementação. O WebSphere CloudBurst fornece esse pacote de scripts ao selecionar a opção Define dynamic clusters nas Advanced options do padrão.
  • Configuração do XC10: Esse pacote de scripts configura o aplicativo de serviço da Web para usar o WebSphere DataPower XC10 como armazenamento de sessões HTTP.
  • Instalar aplicativo: Esse pacote de scripts instala o aplicativo de serviço da Web no cluster dinâmico do WebSphere Virtual Enterprise.
  • Criar banco de dados DB2: Esse pacote de scripts cria o banco de dados e a tabela necessários para o aplicativo na instância do servidor do banco de dados DB2.

Tomados como um todo, esses pacotes de scripts e partes se juntam para definir um padrão que, quando implementado, fornece tudo que precisamos. Expomos esse padrão para múltiplos usuários diferentes, eles podem implementá-lo quando necessário e o resultado da implementação é um sistema virtual que contém o ambiente de aplicativo customizado e configurado em execução em uma nuvem instalada no local. A Figura 2 mostra o sistema virtual e os pontos de integração criados pela implementação do padrão mostrado na Figura 1.

Figura 2. O sistema virtual implementado
The deployed virtual system

Funcionou?

Em resumo, o padrão ajudou minha equipe a alcançar cada um dos objetivos e os objetivos dos usuários com os quais estávamos trabalhando. Fomos capazes de fornecer uma unidade implementável diretamente (padrão) que permitiu que vários usuários diferentes, com diferentes níveis de qualificações de middleware, pudessem fornecer um ambiente de aplicativo em execução significativo.

Além disso, os clientes puderam prover esse ambiente em uma questão de minutos (um pouco menos de 60, na média) e puderam recriar o ambiente fielmente sempre que necessário. O fato de que estavam executando esse ambiente em uma nuvem foi apenas confeitar o bolo!

A próxima etapa

Para saber mais sobre como usar o WebSphere CloudBurst, faça o seguinte:

Para mim, isso comprova duas coisas importantes.

  • Primeiro, uma abordagem baseada em padrões para configurar e implementar aplicativos e infraestrutura de aplicativo em uma nuvem contém valor e compromisso real para os administradores e usuários de tais ambientes.
  • Segundo e mais especificamente para o WebSphere CloudBurst, prova definitivamente que é possível usar o dispositivo para construir qualquer tipo de ambiente baseado em nuvem necessário, do mais simples ao mais complexo.

Se você constrói e implementa rotineiramente ambientes de aplicativo middleware, espero que considere seriamente o WebSphere CloudBurst e o valor que sua abordagem baseada em padrões a esses ambientes pode trazer para você e sua organização.

Recursos

Aprender

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Cloud computing, WebSphere, Information Management, Tecnologia Java
ArticleID=600617
ArticleTitle=Relatório Climático: Construir um Showcase de Aplicativos Reconstruíveis
publish-date=12132010