Expand my Community achievements bar.

SOLVED

How to connect to / extract data from AEM to use in Tableau or other BI tools

Avatar

Level 1

If I want to use Tableau (or similar BI tool) to visualize and explore data in my AEM instance, what is the best way of connecting to that data (ex. web API connector) or extracting the data to do so?

1 Accepted Solution

Avatar

Correct answer by
Administrator

Hi  randalma2120

There is no integration or connector component between these two products. You would have to create a custom AEM service and integrate with Tableau using its Rest API - which it supports. Here is a community article on how to hook a Restful service into AEM.

Option 1 :-

Creating Adobe Experience Manager bundles that invoke third party Restful web services

Create a OSGI service or Sling Servlets and write a code to send HTTP request GET/POST in it. 

Example Code :-

import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.methods.PostMethod;
 
String url = "http://www.google.com";InputStream in = null;try {HttpClient client = new HttpClient();PostMethod method = new PostMethod(url);//Add any parameter if u want to send it with Post req.method.addParameter("p", "apple");int statusCode = client.executeMethod(method);if (statusCode != -1) {in = method.getResponseBodyAsStream();}


 

Option 2:-

Tableau can be programmed using JAVAScript. We can use Java-scripting in AEM, you can achieve the needful with the same.

Link:-  https://helpx.adobe.com/experience-manager/using/custom-carousel-components.html

Link:- https://docs.adobe.com/docs/en/aem/6-0/develop/sightly/use-api-in-javascript.html

 

I hope this would help you. 

 

Thanks and Regards

Kautuk Sahni



Kautuk Sahni

View solution in original post

1 Reply

Avatar

Correct answer by
Administrator

Hi  randalma2120

There is no integration or connector component between these two products. You would have to create a custom AEM service and integrate with Tableau using its Rest API - which it supports. Here is a community article on how to hook a Restful service into AEM.

Option 1 :-

Creating Adobe Experience Manager bundles that invoke third party Restful web services

Create a OSGI service or Sling Servlets and write a code to send HTTP request GET/POST in it. 

Example Code :-

import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.methods.PostMethod;
 
String url = "http://www.google.com";InputStream in = null;try {HttpClient client = new HttpClient();PostMethod method = new PostMethod(url);//Add any parameter if u want to send it with Post req.method.addParameter("p", "apple");int statusCode = client.executeMethod(method);if (statusCode != -1) {in = method.getResponseBodyAsStream();}


 

Option 2:-

Tableau can be programmed using JAVAScript. We can use Java-scripting in AEM, you can achieve the needful with the same.

Link:-  https://helpx.adobe.com/experience-manager/using/custom-carousel-components.html

Link:- https://docs.adobe.com/docs/en/aem/6-0/develop/sightly/use-api-in-javascript.html

 

I hope this would help you. 

 

Thanks and Regards

Kautuk Sahni



Kautuk Sahni