The amazing world of IBM ODM and more

The amazing world of IBM ODM blog - Angello Manrique Vigil
  • HOME
  • ABOUT ME
  • CONTACT ME

ODM on Docker!

Friday, 13 July 2018 by Angello Manrique Vigil

If you are a DevOps enthusiast like me you probably love Docker and have been using it for a while. If you are new to Docker, please check this link to learn more.

IBM released an IBM ODM Docker image designed for developers and free to use, in this tutorial we are going to set it up step by step and gain full functionality of this amazing feature. My setup for running this tutorial is:

  • Host machine: Windows 10 Pro
  • Elementary OS (Ubuntu Dist.) Virtual Box Machine with Docker (I tried using my Alpine-Docker image but I encountered some extra configurations needed for the ODM JVM, contact me for more information about this subject)
  • Eclipse Luna with Rule Designer for developers plugin

Steps:

  1. Install IBM ODM Docker image
    • Open a new terminal window and run the following command: docker pull ibmcom/odm
    • This will download all the ODM files and create the IBM ODM image. Depending on your internet conection this process could take a few minutes.
    • Now run the following command to start the docker IBM ODM container instance:
      docker run -e LICENSE=accept -p 9060:9060 -p 9443:9443 ibmcom/odm
    • Note that we are passing an environment value to accept the license and mapping the ports 9060 and 9443. If you run with JVM memory problems use -m 1g or the amount of java heap size memory you can use for this container to run smoothly and faster.
    • If everything went well you should see the beautiful IBM ODM logo printed in the terminal
    • Now you are ready to use:
    • Note that if you are using a Virtual Box VM like me you need to configure your networks and ip addresses to use the web applications in your host. In my case I use the 192.168.56.101 ip. See Host-Only adapter configurations and verify your networks by pinging the VM ip.
  2. Verify Installation
    • Open the Decision Center, you should be able to log in odmAdmin or rtsAdmin:
    • And have a clean installation:

    • Open the RES console, now use resAdmin:
    • And also see no RuleApps deployed:
  1. Install Eclipse with IBM ODM plugin
    • Download and install Eclipse.
    • Navigate to https://marketplace.eclipse.org/content/ibm-operational-decision-manager-developers-rule-designer and drag and drop the install
    • Follow the instructions and reboot Eclipse, you should now see the Rule Designer perspective:
  2. Test IBM ODM on Docker
    • Create a new project or import an existing project, I am going to use the Recruitment Service demo that I’ve using on previous posts:
    • Connect the main project to the Decision Center
    • Enter the proper URL and credentials and test the conection:
    • Navigate to the Decision Center and verify the Decision Service is uploaded correctly:
    • Now we will test the deployment to the RES console, create a new Deployment Configuration
    • Add a Decision Operation
    • Add the ODM docker RES service
    • Deploy the Ruleapp and select the recently added server
    • Verify the ruleapp deployed correctly

As you can see we setup an ODM distribution in minutes and got a project sync with Decision Center and deployed in the RES console. ODM on Docker is great, we can use all the Docker containers and images functionalities.

I hope you enjoy this tutorial and as always please feel free to contact me for any feedback or questions! Thank you!

CloudDecisionCenterDockerRESRuleDesigner
Read more
  • Published in Cloud, Decision Center, Docker, Rule Designer, Rule Execution Server (RES)
2 Comments

RPA: UiPath and ODM integration

Thursday, 07 June 2018 by Angello Manrique Vigil

In this technical tutorial we will have a look at the integration between RPA UiPath and IBM ODM. As we know ODM provides a decision server that the business can use to express rules while UiPath provides RPA to automate tasks, normally manual processes that uses repetitive tasks like data entry, making this integration a perfect collaboration.

To understand the basics of UiPath, please refer to this link.


 

  1. Testing the ODM project
    • For this tutorial, I will use the ‘Recruitment’ project I made for previous posts. Check some details about the project here.
    • Make sure your project is successfully deployed in the RES console and that the Sample Server is up and running.
    • Open the RES console and navigate to your project Ruleset view:ODM RPA UiPath RES Ruleset view
    • Click on ‘Retrieve HTDS Description File’, select ‘REST’ and click on Test:ODM RPA UiPath RES HTDS View
    • In my example I will test with 2 scenarios for the ‘Country’ value.
      • “Spain” will return that the candidate is not apt and 1 object in our Recruits list:ODM RPA UiPath RES REST Test sample 1
      • “Peru” will return that the candidate is apt and 2 objects in our Recruits list:ODM RPA UiPath RES REST Test sample 2
    • Now go back to the HTDS page and click on ‘View’. Copy the URL, we will use it later in UiPath:ODM RPA UiPath RES REST WADL URL
    • Remember you can also use JSON format for your execution requests and external tools like SoapUI or Postman (my favorite) to test your services.
  2. Creating the UiPath project
    • Now that we know our Decision Service is working properly, we will create a simple UiPath project that will call our service and print the response.
    • We will use UiPath community version (free), you can download it from here.
    • Open the UiPath studio and create a new Blank Project:ODM RPA UiPath Blank Project
  3. Calling the ODM web service 
    • This is the tricky part, UiPath community edition doesn’t come with the SOAP or HTTP request activities by default, we will need to install them.
    • Open the ‘Manage Packages’ option:ODM RPA UiPath Studio Manage Packages
    • Search for UiPath.Web.Activities and install it:ODM RPA UiPath Studio Manage Packages UiPath web activities
    • You should be able to see the 2 options in the Activities Panel:ODM RPA UiPath Studio Activities Panel
    • Now we need to decide if we want to consume the web service as a SOAP request call or as a REST API method. Let’s talk about the 2 options in UiPath:
      • SOAP: If we want to use SOAP we will encounter a problem if we are using custom objects, as of now, UiPath is not able to properly identify the methods and types for your objects in order to make the request in the correct format. You will an error like this when we test and invoke:ODM RPA UiPath Studio SOAP Method ERROR
      • There is a way to accomplish but it will require to create a custom activity, we will not cover that in this post but you can follow this guide to do it.
      • REST: This is the option we are going to choose for this tutorial. We just drag the ‘HTTP Request’ activity.
      • In the ‘End point’ field we paste our WADL url, we select the ‘POST’ method and click Ok.
      • We need to create 2 variables, one for the input body and one for the response. We just select the ‘Variables’ option and assign ‘String’ to both:ODM RPA UiPath Studio Variables
      • We need to include the XML expression for our Request in the first variable but UiPath studio will not recognize this as a proper VB Expression, so we need to adjust our ‘”‘ marks in order to obtain a valid XML, this is my value for the input variable:ODM RPA UiPath Studio Input XML
      • This will convert our XML in a proper String and UiPath will not give us any errors.
      • We assign the 2 variables in the properties of the HTTP Request activity:ODM RPA UiPath Studio HTTP properties
      • We create a Message Box or we open Notepad to show our response (variable2):ODM RPA UiPath Studio flow sample
      • We run our project:ODM RPA UiPath Studio Message BoxODM RPA UiPath Notepad

We have successfully called a ODM Service from an UiPath project and capture the response. In the next post I will show how to deserialize the XML and use the data for different purposes, stay tuned!

I hope you enjoy this tutorial and please feel free to contact me with any query or feedback, thank you!

DecisionServiceRESRPASOAPUiPath
Read more
  • Published in RPA, Rule Execution Server (RES), UiPath
No Comments

Monitoring ruleset execution with ODM RES Decision Warehouse

Thursday, 01 June 2017 by Angello Manrique Vigil

After we finish developing and deploying a Rule Project into the Rule Execution Server (RES), oftentimes we need to review and analyze which and when a ruleset has been executed. Luckily for us the Rule Execution Server comes with the Decision Warehouse tool for monitoring and storing ruleset execution traces in a database. We can also connect and save this data to an external Database by configuring the Datasource in the Application Server console. In this article I will explain how to easily configure the properties of the Ruleset to enable the monitoring and then read and review the decision from the Decision Warehouse.


Steps:

  1. Configuring the Ruleset
    • Login into the RES console and navigate to the Ruleapp that contains the Ruleset you wish to monitor.
    • Click the Ruleset, now you should be in the Ruleset view:IBM ODM RES Ruleset view sample
    • By default, if you didn’t add any property before the deployment, the properties list is empty. There are 3 necessary properties you need to have to enable monitoring:
      • ruleset.bom.enabled
      • monitoring.enabled
      • ruleset.sequential.trace.enabled (if the ruleset contains tasks that use the sequential or the Fastpath execution mode)
    • Instead of adding them manually, navigate and click the next option “Show Monitoring Options” and select “Enable tracing in Decision Warehouse”.
    • The following options will depend on what you need to trace:IBM ODM RES Monitoring Options sample
    • After clicking save you will notice that the properties were added automatically (you might need to refresh the webpage):IBM ODM RES Ruleset properties sample
    • Execute a call or multiple calls of this Ruleset WS from Decision Validation Services, a client application, or a hosted transparent decision service.
    • Tip: I use SoapUI software to execute and test the rulesets.
  2. Searching Rulesets executions in the Decision Warehouse
    • Login to the RES console.
    • Click on the “Decision Warehouse” tab.
    • These filters are useful when you have more projects and need to review specific Rules, Time frames, parameters, etc:IBM ODM RES Decision Warehouse search sample
    • Click search and “View Decision details” for a particular Decision ID.

Results:

All the information about the Ruleset Execution will appear:IBM ODM RES Decision Warehouse Decision Trace Sample

You can review which rules were fired, the timestamp, processing time, rules names, input/output parameters, etc. The goal is to provide business users with data from which they can generate reports and measure how well a business is running.

Tip: You can send a Decision ID tag while executing the ruleset so it is easy to find the Decision Warehouse:SoapUI Decision ID tag sample

I hope you enjoy this article about IBM ODM RES Decision Warehouse and as always feel free to contact me with any questions or feedback. Thank you!

DatabaseDecisionWarehouseRESRuleset
Read more
  • Published in Database, Decision Warehouse, Rule Execution Server (RES)
3 Comments

Recent Posts

  • RPA – UiPath: Working with Excel

    In this blog post we will talk about working wi...
  • ODM on Docker!

    If you are a DevOps enthusiast like me you prob...
  • RPA: UiPath and ODM integration

    In this technical tutorial we will have a look ...
  • Populating Decision Tables with external data sources

    One of the most used artifacts in IBM ODM is th...
  • Decision Composer, integration with Rule Designer

    In this post I will show a new way to start you...
  • Connecting to external Database with ODM API

    The IBM ODM Decision Center and the Rule Execut...
  • Custom log file with ODM API

    Given the positive feedback from previous post ...
  • Working with the Decision Center API

    In many IBM ODM rules implementation projects w...
  • Automating deployments with Ant tasks

    To deploy RuleApps to Rule Execution Server, au...
  • Editing business rules in Microsoft Office

    IBM ODM Decision Center Business Console provid...

Categories

  • Ant Tasks
  • Bluemix
  • Cloud
  • Database
  • Debug
  • Decision Center
  • Decision Operation
  • Decision Table
  • Decision Warehouse
  • Docker
  • Domains
  • Java
  • ODM API
  • RPA
  • Rule Authoring
  • Rule Designer
  • Rule Execution Server (RES)
  • Rule Solutions for Office
  • Ruleflow
  • UiPath

Recent Posts

  • RPA – UiPath: Working with Excel

    In this blog post we will talk about working wi...
  • ODM on Docker!

    If you are a DevOps enthusiast like me you prob...
  • RPA: UiPath and ODM integration

    In this technical tutorial we will have a look ...
  • Populating Decision Tables with external data sources

    One of the most used artifacts in IBM ODM is th...
  • Decision Composer, integration with Rule Designer

    In this post I will show a new way to start you...

Recent Comments

  • Mastan on Debugging a simple Ruleflow in Rule Designer
  • Angello Manrique Vigil on ODM on Docker!
  • brian on ODM on Docker!
  • Angello Manrique Vigil on Populating Decision Tables with external data sources
  • Pramod on Populating Decision Tables with external data sources

Subscribe

  • Register
  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

All rights reserved. Made by Angello Manrique Vigil.

TOP