Antes de iniciar
O IBM InfoSphere Streams é um sistema computacional de alto desempenho projetado para aplicativos de fluxo que abrangem diferentes tipos de disciplinas de negócios, científicas, de engenharia e ambientais. O InfoSphere Streams é uma plataforma de analítica poderosa e altamente escalável que pode ser usada para analisar e resolver rapidamente muitos problemas em tempo real, usando uma grande variedade de fluxos de dados vindos de milhares de fontes de dados ao vivo, assim como dados de referência de armazéns de dados. O InfoSphere Streams fornece um ambiente de desenvolvimento e execução de aplicativos que é voltado para usuários que desenvolvem aplicativos específicos para ingerir, filtrar, analisar, correlacionar, classificar, transformar e processar grandes volumes de fluxos de dados contínuos. Esses eficientes aplicativos têm como consequÊncia resultados de tomadas de decisões mais rápidas e inteligentes dentro de diversos setores de negócios como saúde, transporte, financeiro, manufatura, comunicações, energia e segurança.
A Versão 2.0 do produto IBM InfoSphere Streams apresenta vários novos recursos e melhorias em relação às versões 1.x anteriores, a mais significativa delas sendo a transformação do modelo de linguagem de programação do Stream Processing Application Declarative Engine (SPADE) para Stream Processing Language (SPL). As principais razões para esse mudança é tornar a linguagem mais simples, mais intuitiva e mais uniforme. A mudança mais visível com o SPL é a sintaxe, que possui uma estrutura e aparência mais próxima de C ou Java™, tornando-o assim mais fácil para os programadores lerem, entenderem e serem mais produtivos ao escrever aplicativos SPL.
Como o modelo de linguagem de programação foi transformado de SPADE para SPL na Versão 2.0 do InfoSphere Streams, usuários com aplicativos SPADE de versões anteriores precisam migrar e portar seus aplicativos para SPL ao atualizar suas instalações. Informações iniciais para ajudar os usuários a fazer isso são disponibilizadas como parte do produto final, que são fornecidas primariamente no IBM Streams Processing Language SPADE
Application Migration and Interoperability Guide. Esse guia está localizado no subdiretório doc abaixo do diretório em que o IBM InfoSphere Streams está instalado ou no IBM InfoSphere Streams Information Center (consulte Recursos).
O IBM Streams Processing Language SPADE Application Migration and Interoperability Guide contém informações básicas e instruções para migrar aplicativos SPADE, mas as informações são apresentadas em um nível razoavelmente alto sem exemplos específicos de portagem. Este tutorial complementa o guia de alto nível fornecendo exemplos de migrações de aplicativos de SPADE para SPL. Você usará um aplicativo SPADE de amostra que é incluído como parte da instalação SPADE como base para o exemplo de migração neste tutorial. Porém, é recomendado que você entenda os procedimentos gerais de migração contidos no guia de alto nível antes de abordar os procedimentos passo a passo detalhados esboçados neste tutorial.
Finalmente, você deve ter pelo menos conhecimentos básicos em, e experiência com, a linguagem de programação SPADE antes de continuar com este tutorial. Você também deve ter acesso a uma versão do InfoSphere Streams anterior à Versão 2.0 (geralmente chamada aqui de Versão 1.2.x, porque essa é a versão usada para obter e trabalhar com os exemplos de amostra) assim como uma instalação da Versão 2.0 para executar os exercícios neste tutorial. Você também precisa pelo menos de uma compreensão básica de SPL, que pode ser adquirida lendo o IBM Streams Processing Language Introductory Tutorial e testando os vários exemplos dados aqui. O tutorial introdutório de SPL, assim como vários outros documentos úteis para aprender sobre aspectos mais avançados de SPL, modelos de operador, kits de ferramentas do operador e assim por diante, pode ser encontrado no subdiretório doc abaixo do diretório em que o IBM InfoSphere Streams está instalado ou no IBM InfoSphere Streams Information Center (consulte Recursos).
Antes de continuar com qualquer um dos exemplos de migração portagem, há alguns pré-requisitos gerais que devem ser atendidos. Esses pré-requisitos devem ser configurados assim:
- Assegure-se de que a instalação do InfoSphere Streams Versão 1.2.x esteja disponível com o código de amostra original (inalterado) localizado no diretório de instalação dentro de
samples. - Assegure-se de que uma instalação do InfoSphere Streams Versão 2.0 esteja disponível.
- Assegure a disponibilidade de pelo menos uma conexão de ponto de acesso terminal para cada versão de instalação com o ambiente apropriado configurado para trabalhar com cada versão.
- Crie um diretório ativo base, localizado em seu diretório inicial, para colocar e trabalhar com as amostras de migração. O nome sugerido para esse diretório, que é usado ao longo deste exemplo, é
migrationsamples. Se ainda não tiver sido criado, emita os seguintes comandos para criar esse diretório:cd ~ mkdir migrationsamples
Entendendo conceitos gerais para os exemplos
Há vários itens comuns que dizem respeito a cada um dos exemplos de migração e portagem discutidos neste tutorial. Alguns desses itens são ambientais, enquanto outros são métodos e técnicas sugeridos para lidar com etapas específicas dos processos de portagem.
Observe que tanto o InfoSphere Streams Versão 1.2.x quanto a Versão 2.0 são usados nos exemplos ao longo deste tutorial. Ao trabalhar com os vários elementos dos aplicativos SPADE, o uso da versão 1.2.x é necessário, ao passo que ao trabalhar com os vários aspectos dos procedimentos de migração e aplicativos SPL, é necessário o uso da Versão 2.0. O comando spade-to-spl, que é um comando usado primariamente para converter código SPADE para SPL, está disponível em instalações da Versão 2.0. Assim, quando você chegar ao ponto do processo de migração em que o comando spade-to-spl é emitido, haverá uma troca do uso de uma instalação SPADE pelo uso de uma instalação SPL.
Ordem de correções e portagem pós-migração
Uma das principais etapas do processo de migração é a execução do comando de conversão spade-to-spl. Depois dessa conversão, uma lista de erros, avisos e mensagens informativas podem aparecer. Os itens nessa lista podem ser tratados em qualquer ordem, mas geralmente é mais fácil resolver os problemas mais simples primeiro, porque eles frequentemente não requerem nenhuma mudança explícita, embora em alguns casos algumas mudanças possam ser feitas com base na preferência do usuário. É possível continuar a avaliar os problemas e a trabalhar na resolução deles em ordem crescente de dificuldade. Essa é a filosofia e metodologia usada neste tutorial, o que significa que problemas específicos de conversão podem ser apresentados fora da ordem numérica relatada pelo processo de conversão.
Opções de compilação para aplicativos SPADE e SPL
Ao longo deste tutorial, a abordagem para a compilação de aplicativos é diferente para SPADE e SPL. Para ambos os tipos de aplicativos, tanto o método distribuído de compilação quanto o independente podem ser usados. As abordagens usadas neste tutorial foram selecionadas para reduzir o número geral de etapas e comandos que teriam que ser executados para demonstrar determinados aspectos dos processos de migração.
Para as amostras de aplicativos SPADE, o uso do processo makefile para compilar e gerar scripts de execução fáceis de usar torna o processo de execução e validação das amostras relativamente descomplicado, embora eles usem o ambiente de aplicativo distribuído. Para os aplicativos SPL sendo migrados a partir das amostras de aplicativos SPADE (e, em geral, ao desenvolver inicialmente quaisquer novos aplicativos SPL), é geralmente mais rápido e fácil empregar no início o método de aplicativo independente de compilação. O método distribuído é melhor para ajustes na produção final, quando a carga de trabalho do aplicativo precisa ser distribuída em diversos nós de cluster para produzir as melhores características de desempenho. Portanto, para manter o conteúdo deste tutorial o mais simples possível, a abordagem independente é usada para aplicativos SPL.

