Expand my Community achievements bar.

SOLVED

How to connect to AEM data with Tableau or other BI tools

Avatar

Level 1

Has anyone been able to connect to AEM data with Tableau or similar BI tool (Qlik, PowerBI, etc.)?

I want to analyze data from AEM in Tableau, but it's not clear how to connect to that data.  Appreciate any guidance.

1 Accepted Solution

Avatar

Correct answer by
Administrator

Hi  Jason Mack

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 :-

Link: https://helpx.adobe.com/experience-manager/using/custom-sling-servlets.html

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:- http://onlinehelp.tableau.com/samples/en-us/js_api/tutorial.htm

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

2 Replies

Avatar

Level 10

Its very easy to get AEM Data from other applications. Write a custom sling servlet that queries the JCR and then returns the result set as part of the Servlet's return value. Then you can perform a GET request from the 3rd party app and get back a result set of AEM data. 

Avatar

Correct answer by
Administrator

Hi  Jason Mack

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 :-

Link: https://helpx.adobe.com/experience-manager/using/custom-sling-servlets.html

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:- http://onlinehelp.tableau.com/samples/en-us/js_api/tutorial.htm

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