How to connect to AEM data with Tableau or other BI tools | Community
Skip to main content
October 28, 2015
Solved

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

  • October 28, 2015
  • 2 replies
  • 2249 views

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.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by kautuk_sahni

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

2 replies

smacdonald2008
Level 10
October 28, 2015

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. 

kautuk_sahni
Community Manager
kautuk_sahniCommunity ManagerAccepted solution
Community Manager
October 29, 2015

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