Conteúdo


Desenvolver um app IBM Cloud em menos de uma semana

Descubra os benefícios do desenvolvimento com o IBM Cloud

Requisitos do aplicativo

Análise e processamento de dados não estruturados, decisão sobre onde hospedar seus dados (para ter certeza de que eles sejam ao mesmo tempo acessíveis e seguros), configuração de um fluxo de trabalho de conjuntos de dados mistos, gerenciamento de mudanças de requisitos e criação de nova documentação são todas etapas importantes do processo de desenvolvimento de apps. E todas elas levam tempo… tempo que você pode não ter.

O IBM Emerging Technology Specialist Ben Miller foi convidado para projetar e desenvolver um app para ajudar os usuários a determinar em que área de Londres eles devem morar. O resultado foi baseado em suas próprias preferências pessoais combinadas com informações em tempo real de fontes externas. O prazo final para o seu projeto era de quatro dias.

Ben optou por usar o IBM Cloud devido a sua velocidade, insights analíticos, suporte de sete idiomas e recursos colaborativos. Afirmando que ele "apenas arranhou a superfície" da plataforma, ele usou quatro dos serviços IBM Cloud para criar seu app: Node-RED, Cloudant, Watson Trade-Off Analytics e Watson Alchemy API.

  • Node-RED é uma matriz de iniciação rápida. Esta ferramenta fornece um editor de fluxo baseado em navegador que facilita a conexão de dispositivos, APIs e serviços on-line usando a grande variedade de nós na paleta. Os fluxos podem, então, ser implementados no tempo de execução Node.js com um único clique.
  • Cloudant é um NoSQL Database as a Service (DBaaS) que é construído a partir do zero para escalar globalmente, executar ininterruptamente e manipular uma ampla variedade de tipos de dados, tais como JSON, de texto completo e geoespaciais. O Cloudant é um armazenamento de dados operacional que é otimizado para manipular leituras e gravações simultâneas e fornecer alta disponibilidade e durabilidade de dados.
  • Watson Tradeoff Analytics ajuda os usuários a fazer melhores escolhas para melhor atender vários objetivos conflitantes, combinando visualização inteligente e recomendações para exploração de alternativas. O serviço Tradeoff Analytics ajuda as pessoas a otimizar suas decisões ao estabelecer um equilíbrio entre os diversos, muitas vezes conflitantes, objetivos. O Tradeoff Analytics usa técnicas de filtragem de Pareto para identificar as alternativas ideais nos diversos critérios. Em seguida, ele usa várias abordagens analíticas e visuais para ajudar o tomador de decisões a explorar os prós e contras de suas alternativas.
  • Watson Alchemy API é uma plataforma de nuvem que facilita a criação de apps inteligentes que compreendem profundamente as conversas, relatórios e fotos do mundo para que você possa alinhar seus negócios com as preferências e a intenção dos clientes.

Aperfeiçoe todas as tarefas maçantes, liberando seu tempo para se focar nas divertidas

Benjamin Miller

O app consistia em dois componentes principais:

  • Monitor frontal do app móvel. Devido à funcionalidade necessária no app, Ben optou por um app híbrido que é baseado na estrutura iônica.
  • Backend para análise de dados de armazenamento e suporte. Os dados foram armazenados usando JSON no DBaaS Cloudant.

Na primeira tela do app, são fornecidos cinco parâmetros aos usuários: preços das casas, notas da escolas próximas, taxa de criminalidade, espaço verde e ligações de transportes. Uma vez que suas informações preferência são enviadas, o app envia uma consulta que cria uma solicitação de GET HTTP. Esta consulta envia uma cadeia de eventos para IBM Cloud que realiza o pull em conjuntos de dados relevantes do banco de dados que são formatados no Node-RED e enviados ao Watson Trade-Off Analytics API. No backend, o Trade-Off Analytics compara os dados do usuário com as opções de bairros e realiza uma verificação cruzada com as fontes externas não estruturadas que são alimentadas e analisadas pelo Watson Alchemy API. A resposta é enviada de volta e enviada por push para o app para exibir a tela de resultado da solicitação de GET HTTP. Tudo isso é apoiado em um fluxo de trabalho configurado no Node-RED.

Além da estrutura iônica, Ben usou bibliotecas JavaScript tais como chart.js para criar os gráficos de radar e o Ion RangeSlider mostrados na tela de resultados para melhorar a visualização do app. Ambos são perfeitamente integrados com o Watson Trade-Off Analytics.

Resultados do app
Image of app running on ipad
Image of app running on ipad

Desafio? Qual desafio?

Mesmo os melhores desenvolvedores encontram obstáculos para o sucesso. Ben descreve como ele superou seus obstáculos ao construir o app.

  1. Conectando uma ampla variedade de nós. A matriz Node-RED permitiu que Ben conectasse graficamente todos os seus nós de maneira rápida e fácil. Isso permitiu que ele aplicasse lógica para criar um fluxo de entradas e saída que colocou os dados onde ele precisava que eles estivessem.
  2. Analisando dados estruturados e não estruturados. As APIs do Watson podem analisar ambos enquanto os integram com tudo mais nos bastidores. No caso de Ben, ele usou o Watson Trade-Off Analytics para os dados estruturados e o Alchemy API para analisar dados não estruturados necessários para o app, tais como websites, notícias, imagens e mídia social. Ben afirma que a construção e a implementação de seu próprio código e algoritmos teria exigido semanas, se não meses de trabalho extra.
  3. Acessibilidade entre equipes. Ter um feed de dados em tempo real disponível na nuvem significou que Ben e sua equipe puderam trabalhar remotamente e de maneira colaborativa em um ambiente seguro.
  4. Armazenando conjuntos de dados. Ter vários conjuntos de dados mistos significava que os bancos de dados tradicionais não eram uma opção adequada. Ben optou pelo Cloudant, um banco de dados NoSQL que é robusto e flexível e pode gerenciar diversas mudanças nos requisitos do cliente.

Desenvolva apps do seu jeito

O IBM Cloud permite que você use todas as ferramentas de sua preferência em uma única interface. A plataforma de nuvem de código aberto inclui uma poderosa combinação de tecnologias IBM e de terceiros, com a opção de conectar com segurança infraestruturas ou APIs existentes para melhorar ainda mais seus apps.

Ben listou alguns dos benefícios do uso do IBM Cloud:

  • Uma interface é usada para todas as ferramentas
  • IBM e de terceiros, tecnologias de computação de software livre estão instantaneamente disponíveis
  • O desenvolvimento de apps é suportado em sete idiomas
  • Uma conexão segura é usada para a infraestrutura e as APIs existentes
  • As tecnologias mais recentes são cuidadosamente empacotadas e documentadas em um catálogo
  • A navegação é fácil

Comece gratuitamente

Quer ver por si mesmo quanto tempo e esforço você pode economizar ao desenvolver apps com o IBM Cloud? Como diz o Ben, trate-o como uma caixa de brinquedos: brinque com ele, explore-o e veja o que você pode fazer com ele. Para começar, crie uma conta no IBM Cloud e receba uma avaliação grátis de 30 dias.
Dica rápida: Vá direto para o catálogo e confira o local único e sempre crescente para compra de tempos de execução, serviços e matrizes para começar.

Principais dicas do Ben para usar o IBM Cloud:

  1. Use a documentação aprender rapidamente sobre as ferramentas com as quais não está familiarizado.
  2. Experimente o Node-RED, uma ferramenta poderosa e fácil de usar, particularmente para criação de protótipos.
  3. Explore a plataforma IBM Cloud para entender os serviços e as ferramentas disponíveis que podem ajudar a gerar ideias para desenvolvimentos futuros.

Recursos para download


Tema relacionado

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Cloud computing, Desenvolvimento móvel
ArticleID=1021915
ArticleTitle=Desenvolver um app IBM Cloud em menos de uma semana
publish-date=11242015