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.

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on July 09, 2020