Usando a API REST do Rule Execution Server

Para implementar um serviço de decisão em um Decision Serverde destino, você faz download do RuleApp correspondente e seu XOM a partir do ambiente de nuvem de origem e usa a API REST para colocar os arquivos binários do RuleApp e do XOM no destino Decision Server. Em seguida, é possível executar o serviço de decisão neste Decision Server

Antes de iniciar

Você deve ter acesso ao seu ambiente de nuvem e implantado o serviço de decisão.

Sobre esta tarefa

Os comandos de exemplo fornecidos no procedimento a seguir usam cURL para autenticar com o servidor em nuvem e transferir archives do servidor em nuvem para outro Decision Server. É possível usar um programa diferente para enviar credenciais de autenticação para os servidores, acessar a API de REST e fazer o download de arquivos do servidor em nuvem.

Procedimento

  1. Faça download do RuleApp a partir do ambiente de nuvem.

    O comando inclui credenciais de autenticação básica e o caminho para o RuleApp. Substitua as variáveis de nome do usuário e senha por suas credenciais de autenticação básicas. Forneça a URL do host de seu locatário em nuvem, e especifique o nome correto do RuleApp no caminho:

    curl -k -u username@company_name.com:password server_URL/odm/cloud_env/res/api/v1/ruleapps/ruleapp_name/1.0/archive --output ruleapp_name.jar
  2. Faça download do XOM:
    1. Na propriedade ruleset.managedxom.uris na saída do comando anterior, procure a URI do XOM gerenciado. Esta propriedade obtém os detalhes do RuleApp.
    2. Se a propriedade apontar para um recurso XOM (resuri), pule esta etapa. Se ela apontar para uma biblioteca (reslib), verifique a propriedade content na saída do comando anterior para o URI do XOM. A propriedade content recebe os detalhes da biblioteca. Utilize o nome e a versão da biblioteca que é retornado no comando anterior.
      curl -k -u username@company_name.com:password server_URL/odm/cloud_env/res/api/libraries/library_name/1.0
    3. Faça download do XOM. Utilize o nome e a versão do recurso retornado no comando anterior.
      curl -k -u username@company_name.com:password server_URL/odm/cloud_env/res/api/xoms/xom_name/1.0/bytecode --output xom_name.zip
  3. Faça o upload do modelo de objeto de execução.
    curl -X POST -k -u admin_username:admin_password server_URL/res/api/v1/xoms/xom_name.zip --data-binary @xom_name.zip  -H "Content-Type:application/octet-stream"
    Se o RuleApp referenciar uma biblioteca em vez de um XOM, re-crie a biblioteca e especifique o recurso XOM que ele supostamente deve conter.
    curl -X POST -k -u admin_username:admin_password server_URL/res/api/v1/libraries/library_name1.0 -d "resuri://xom_name.zip/1.0"  -H "Content-Type:text/plain"
    Nota: Mantenha os nomes dos recursos ao fazer o download e o upload deles.
  4. Faça upload do RuleApp para o outro Decision Server.

    O comando inclui o nome de usuário, a senha e o URL para acessar o console do Rule Execution Server no outro Decision Server.

    curl -X POST -k -u admin_username:admin_password server_URL/res/api/v1/ruleapps --data-binary @ruleapp_name.jar  -H "Content-Type:application/octet-stream"
  5. Teste a execução do conjunto de regras (serviço de decisão) usando sua API REST.
    curl -X POST -k -u username@company_name.com:password server_URL/DecisionService/rest/v1/ruleappname/ruleappversion/rulesetname/rulesetversion -d jsonpayload -H "Content-Type:application/json"