Nodejs OpenShift Do

improve this page | report issue

Componente Nodejs odo do Mobile Foundation

OpenShift Do (odo) é a ferramenta CLI para desenvolvedores construída pela Red Hat para construir e implementar rapidamente os microsserviços. É possível ler mais sobre o odo aqui.

O componente Node.js odo do Mobile Foundation fornece um ambiente Node.js para os desenvolvedores para construir microsserviços de back-end ou de back-end para front-end para aplicativos móveis. Esse componente fornece aos desenvolvedores de microsserviço APIs fáceis de usar para consumir serviços do Mobile Foundation, tais como Push Notifications, Mobile Foundation Analytics e Live Update. Como exemplo, uma notificação push pode ser acionada por meio do back-end do Nodejs com base no valor de compra do cliente para um pedido feito no cliente móvel.

Pré-requisitos para usar o componente odo

  • Faça download e instale a CLI do oc.
  • [Instale]((https://odo.dev/docs/installing-odo/) a CLI do odo.
  • [Instale]((https://docs.docker.com/get-started/) o Docker.

Criando um projeto odo com a imagem do docker do Nodejs odo do Mobile Foundation

  1. Importe a imagem do docker para o componente usando o comando a seguir.

     oc import-image mobile --from=docker.io/ibmcom/nodejs-mobile-foundation:odo-latest --confirm
    

    É possível escolher um nome de sua preferência em vez de “mobile” aqui.

  2. Crie uma nova pasta em seu sistema de arquivos e inicialize-a usando a CLI do odo. Por exemplo,

     mkdir mf-mobile-backend
     cd mf-mobile-backend
     odo create mobile --git https://github.com/{userName}/{repositoryName}
    

    Isso inicializa um projeto Node.js do Mobile Foundation com o arquivo de configuração do odo. Aqui a URL do GitHub deve conter seu aplicativo de nó que usa os serviços do Mobile Foundation. Essa amostra pode ser localizada aqui.

  3. Após a inicialização de seu projeto, navegue para a pasta do projeto criada e inclua as variáveis de ambiente necessárias no final do arquivo .odo/config.yaml conforme mostrado abaixo.

     Envs:
       - Nome: MF_ENVVARS
         Valor: '{"push":{"mf_url":"<MFSERVER>","mf_app_id":"<APPID>","username":"<UNAME>","password":"<PWD>"},"liveupdate":{"mf_url":"<MFSERVER>","mf_app_id":"<APPID>","username":"<UNAME>","password":"<PWD>"},"analytics":{"mf_url":"<MFSERVER>","mf_app_name":"<APPNAME>","username":"<UNAME>","password":"<PWD>"},"passport_filter":{"mf_url":"<MFSERVER>","username":"<UNAME>","password":"<PWD>"}}'
    

    Cada um dos parâmetros na variável de ambiente é explicado abaixo.

    • MFSERVER

      O terminal em serviço do Mobile Foundation totalmente qualificado. Por exemplo, https://mf-xxxxx-mfpserver.mf.cluster.svc.local:9080 (observe que o endereço completo do servidor, incluindo a porta, é necessário). Se o seu serviço do Mobile Foundation estiver em execução em um cluster externo, forneça a rota de ingresso totalmente qualificada.

    • APPID

      Para aplicativos Android, esse é o nome do pacote do aplicativo; para aplicativos iOS, esse é o ID do pacote configurável. Por exemplo, com.acme.myapp.

    • UNAME

      O nome do usuário do cliente confidencial. Por exemplo, bffclient.

    • PASSWORD

      A senha do cliente confidencial. Por exemplo, bffclientpassword.

    • APPNAME

      O nome de exibição do aplicativo. Por exemplo, Acme’s Awesome App.

    Como alternativa, é possível fornecer variáveis de ambiente individuais quando todos os seus serviços estão apontando para um único servidor Mobile Foundation e um único aplicativo, como o seguinte.

     -Nome: mf_url
     Valor: <MFSERVER>
     -Nome: mf_app_id
     Valor: <APPID>
     -Nome: push_mf_username
     Valor: <PUSH_UNAME>
     -Nome: push_mf_password
     Valor: <PUSH_PWD>
     -Nome: liveupdate_mf_username
     Valor: <LIVEUPDATE_UNAME>
     -Nome: liveupdate_mf_password
     Valor: <LIVEUPDATE_PWD>
     -Nome: analytics_mf_username
     Valor: <ANALYICS_UNAME>
     -Nome: analytics_mf_password
     Valor: <ANALYTICS_PWD>
     -Nome: pf_mf_username
     Valor: <PASSPORT_FILTER_UNAME>
     -Nome: pf_mf_password
     Valor: <PASSPORT_FILTER_PWD>"
    

    No caso acima, a variável de ambiente deve ser a rota de ingresso do seu pod. Se, em vez disso, você desejar usar as URLs internas, serão necessárias variáveis de ambiente adicionais que especifiquem a URL interna do Mobile Foundation (push, liveupdate e analytics) de cada serviço com o mf_url acima tendo a URL de tempo de execução do servidor Mobile Foundation.

     -Nome: mf_push_url
     Valor: <MFPUSHSERVER>
     -Nome: mf_liveupdate_url
     Valor: <MFLIVEUPDATESERVER>
     -Nome: mf_analytics_rl
     Valor: <MFANALYTICSSERVER>
    

    Nota: se usar as URLs de serviço do Mobile Foundation internas, você precisará especificar somente variáveis individuais. Não é possível usar o formato de variável de ambiente única MF_ENVVARS da passagem de variáveis de ambiente.

  4. Use este comando para criar uma rota pública para o aplicativo que foi inicializado

     odo url create --port 8080
    
  5. Agora o aplicativo pode ser implementado usando o comando a seguir

    odo push
    

    Isso implementa o aplicativo e agora ele pode ser acessado usando a rota criada acima.

    Nota: a rota para o aplicativo pode ser visualizada usando o comando odo url list.

A imagem do docker a ser usada para esse componente odo fornece diretamente as APIs abaixo.

APIs de Push fornecidas

  • sendNotification
  • sendNotificationByTags
  • sendNotificationByPlatform
  • sendNotificationByDeviceId
  • sendNotificationByUserId

APIs de Live Update fornecidas

  • isFeatureEnabled
  • toggleFeature
  • enableFeature
  • disableFeature
  • getProperty
  • setProperty

APIs de Analytics fornecidas

  • sendCustomLogs
  • sendNetworkTransactions

Além disso, o contexto do usuário (dados específicos do usuário, como nome do usuário, detalhes do dispositivo etc) é disponibilizado para o desenvolvedor final com a ajuda da estratégia de passaporte. Para saber mais sobre a estratégia de passaporte, consulte aqui.

Isso pode ser usado incluindo um filtro mf.securityUtils.mfpAuth(scope) no terminal criado. Aqui o escopo do parâmetro determina os dados de contexto do usuário que são buscados. Um exemplo disso é fornecido no aplicativo de amostra.

A entrada para o filtro de passaporte é disponibilizada por meio das variáveis de ambiente usando a chave passport_filter enquanto especifica as variáveis de ambiente.

Nota: para obter informações sobre as APIs disponíveis, consulte aqui.

Last modified on July 09, 2020