Storing XML documents in ElasticSearch using TIBCO BusinessWorks 5x

When you need a fast and simple solution to store your XML documents, ElasticSearch is there to help. Elasticsearch is a distributed, open source search and analytics engine, designed for horizontal scalability, reliability, and easy management. It combines the speed of search with the power of analytics via a sophisticated, developer-friendly query language covering structured, unstructured, and time-series data. For more info, check out the reference documentation.

Below you’ll find a image of a TIBCO BusinessWorks 5 process definition that shows how easy it is to set it up using the “Send HTTP Request” activity:

Some pointers on the process definition:
  • When you want to log your XML documents in a time-based manner, you need to make sure you use a certain name pattern for your index like: logs-[date]. Reference: https://www.elastic.co/guide/en/elasticsearch/guide/current/time-based.html
  • We’re using Kibana to visualize the XML data in a web browser. We needed to configure a dateTime formatted field in Kibana. This is the reason why we added field “post_date” in the JSON payload.
  • On my dev machine, I needed to remove unwanted control chars from the XML or ElasticSearch would return an error. In the Java Code activity, we’re using this small snippet: out_var_1 = in_var_1.replaceAll(“p{Cc}”, “”);
Thanks for reading and stay tuned for more Elastic usage within our systems integration endeavours!