SlideShare a Scribd company logo
1 of 26
CUSTOMER SOLUTIONS ALL HANDSSALESFORCE TIGER TEAM
Tableau – Salesforce
Integration
Architecture & Considerations
EMBEDDING TABLEAU IN SALESFORCE
KEY TERMS
• Sparkler
• Java-based Tableau extension written, maintained, and supported by Tableau
• Canvas
• Salesforce web framework for rendering content
• Trusted Tickets
• The way Tableau Server authenticates users on sites with embedded vizzes (more info)
• SSO
• Single Sign-On; A system where an user logs in once to a login/identity system and then the user is automatically logged into other connected systems.
• SAML
• Security Assertion Markup Language; A type of security token used by SSO and provided by an IdP. Used for exchanging authentication and authorization
data
• IdP
• Identity Provider; authenticates a user using security tokens ex. (login to Twitter using Facebook acct.)
educate . inspire . recognize
SAMPLE DISCOVERY QUESTIONS
• Describe a day in the life of the people consuming the reports?
• Are there different kinds of profiles (exec / manager / analyst)?
• What kind of decisions are you making from this?
• Are you looking for a simple snapshot reporting tool or an analytics tool that enables you to dig in and answer follow up questions?
• How large of a community will be consuming these visualizations?
• Are you or anyone in your organization using Tableau today?
• Does all the data to support your questions + dashboards come from SFDC or are there other sources (Excel, Databases, datawarehouse, etc.)?
• Do you want to have to upload data from other places on to SFDC?
• Do you have any regional or geographic security requirements?
• Should this be driven from your SFDC login?
• Will the content be consumed on mobile devices and tablets?
• Why are today’s reporting capabilities insufficient?
• Do you have any existing reports built – can you share these?
• What other tools are you exploring?
• Are you interested in learning how we (Tableau) use Tableau on Salesforce?
• What browsers do you support in your environment? (***Sparkler does not work well with Firefox***)
CONSIDERATION MATRIXES
Matrixes:
Authentication Matrix
What form of authentication will be possible?
Data Connection Matrix
Should the SFDC native connector be used or replicate to an external DB?
Row Level Security Matrix
How can we handle row level security?
AUTHENTICATION MATRIX
Active Directory Local
Authentication
SAML/SSO
Tableau Server On
Premise
Sparkler w/ Trusted
Tickets
Sparkler w/ Trusted
Tickets
If same IDP as
Salesforce, just
Sparkler. No need
for Trusted Tickets
as SFDC and
Tableau use same
authentication
method
Tableau Online
Cloud
N/A Log-In to Tableau
Log-In to Salesforce
If SiteSAML is
enabled Sparkler
NOT needed
DATA CONNECTION MATRIX
Topic Native Connection Replication
Timeliness of data
refresh
• Extract only (low/moderate refresh
cycles)
• No date filter; can pull custom objects
• DB replication tools are doing the “extracting”
• Accessing replicated data on a live basis
• Tableau uses DBAmp* to replicate ~4x / hr
Performance for larger
SFDC envt’s
• TDE’s can take hours to build
• Better for larger SFDC environments
• Can also replicate other DB’s here to join
(instead of blending)
API Record Limits
Row security options • Data source filters
• Live connection  many options
• Use DB entitlements and/or permissions table
joined to Data Source
• Complex / custom security models (e.g.
manager to view all accounts in their org)
Integrating with other
data sources
• Cross DB Join limitations
• N / A
Pricing • Included in Tableau
• Ranges based on vendor
• Typically about a $2k / yr
ROW-LEVEL SECURITY MATRIX
Type How and Where Connection Considerations
Enforced by
DB
• Automated
• Managed in DB
Live only
• SFDC data must be replicated into a
relational source
• Single point to manage permissions
Hybrid
• Automated
• Managed in Data
Server
Live / Extract
• Use a security table in DB, enforce
the WHERE clause in Tableau
Completely
Managed in
Tableau
• Manual
• User filters built +
applied per workbook
Live / Extract
• Not typical for enterprise deployments
Bestpractice
Which records is the user able to see?
METHODS OF EMBEDDING
iFrame
o Easier; less hops =‘s snappier / better user experience with reduced load times
o Embed directly into VisualForce page or with a LWC (Lighting Web Component)
o SAML authentication means you don’t need to use extra steps w/ Canvas/Sparkler
Canvas + Sparkler
o SalesForce Canvas enables you to easily integrate a third-party application in Salesforce. Sparkler
provide a seamless embedding experience w/in Salesforce and Salesforce1 (mobile app) through
o Trusted Authentication – Sparkler integration requires Trusted Authentication to be turned on
IFRAME
SFDC Record /
VisualForce Page
Internet Browser
Server
1. Browser
request
2. SFDC renders
page in an
iframe
Browser Traffic
over HTTPS
3. Browser makes
direct Viz request
5. Server responds
to request and
interactivity
4. Server requests
authentication
Authentication Methods
• SAML
• Trusted Tickets
• Kerberos
• AD
• Local*
*Non-SSO
SALESFORCE CANVAS + SPARKLER
SFDC Record /
VisualForce Page
Internet Browser
Server
Sparkler
(Apache Tomcat)
1. Browser
request
2. SFDC renders page
in a Canvas iframe
3. SFDC javascript in
browser makes request
4. Trusted Ticket request
5. Trusted Ticket
provided
6. Viz embed-script with
Trusted Ticket returned
7. Browser makes
direct Viz request
8. Server responds
to request and
interactivity
Browser Traffic
over HTTPS
Traffic between
Sparkler and
Tableau Server
(no browser)
Salesforce
• Salesforce users must be able to reach Tableau Server and Salesforce at the same time from the same browser. Both must
• Salesforce (not the browser) must be able to communicate with the on-premises Sparkler adapter over HTTPS
Tableau Server
• Automatic sign-in is not enabled
• SSL is enabled. A commercial x.509 SSL certificate is highly recommended
• Trusted authentication is configured on the server. (If you are working with Tableau Online, as an alternative you can use
with SAML in the manual provided w/ the Sparkler download)
On-premises Sparkler adapter
• Java 8 or later is installed
• Sparkler Canvas On-Premises Deployment 7
• Tomcat 7 or later is installed
• SSL is enabled. A commercial x.509 SSL certificate is highly recommended
• The OpenSSL utility is installed. This is required on Windows in order to create RSA keys.
• A static IP is configured for the adapter. This is required for trusted authentication
• The Sparkler adapter must be able to communicate with Tableau Server over HTTPS.
CANVAS / SPARKLER PRE-REQS
SFDC INTEGRATION USING SPARKLER/CANVAS
(INTERNET FACING TABLEAU SERVER WITH SPARKLER HOST)
Webserver(Sparkler
host)
ExternalLoad
BalancerInternet DMZ Semi-
Private
Core
Network
Database
SAML
IDP
ReverseProxy
SFDC
Embedding via
Sparkler/Canvas
REVERSE PROXY SERVER
+ Second layer of defense
+ Routes traffic from external network to internal network
+ Shields identity of internal servers
Tableau
Server with or
without SSL
enabled
Client
This can even be the Tableau
Server itself
Apache Reverse Proxy Server
The reverse proxy is bound to the Tableau Server specified in the
configuration file
1 4
2
3
Client makes
request to
proxy server on
Port that
server is
Listening to
(443 if SSL)
Tableau Server
handles request per the
initiating request. If the
request was HTTPS
then it is secure. If the
request was HTTP then
it is open.
Tableau Server returns
data normally
Tableau Server data
shown but data
appears to have
originated from
Reverse Proxy Server
Default Listen Port
(normally 80)
Virtual Host Listening on
specified port (443 if SSL)
Virtual Path translated to
target URL path
Virtual Path translated to
target URL path
If SSL is enabled,
connection data is read
from SSL certificates
FAQS
FAQS
• How can customers embedding Tableau into Salesforce authenticate?
Tableau Server:
• Single Sign-On using SAML (without Sparkler)
• Customer must use a SAML Identity Provider, and both Tableau Server and Salesforce must both be configured to use
the same SAML Identity Provider
• Customer does not use Sparkler. Vizzes are embedded directly into VisualForce pages
• Sparkler/Salesforce Canvas (with Trusted Tickets)
• Customer configures Sparkler, Salesforce and Tableau Server as a standard Sparkler installation per Sparkler
documentation.
• Tableau Server authentication using Kerberos
• User separately logs into Salesforce. If configured correctly, customer does not use SSO, but rather, the login to Tableau
Server is transparent and handled by Windows. May not work on Macs, depending on configuration.
Tableau Online:
• • Single Sign-On using SAML (without Sparkler)
• Customer must use a SAML Identity Provider, and both Tableau Server and Salesforce must both be configured to use
the same SAML Identity Provider
• Vizzes are embedded directly into VisualForce pages.
Manual Login:
• Tableau Server and Tableau Online generate embed codes that can be placed into iFrames on the web. Users enter their Tableau credentials manually
each time to access the viz.
FAQS
What is Sparkler and what is Canvas?
• Sparkler is a Tableau extension written, maintained and supported by Tableau. Sparkler uses the Salesforce Canvas
web framework for rendering content in Salesforce. Sparkler essentially manages the handoff between Tableau
Server and Salesforce using Trusted Tickets. Sparkler only works with Tableau Server since Tableau Online does not
support Trusted Tickets.
• Salesforce Canvas is a web framework that lets you integrate 3rd-party applications (like Tableau) into Salesforce. It
is run in the browser and managed by Salesforce; it is not part of Sparkler itself
FAQS
Is SAML supported for Tableau Server?
• Yes! Users must use SAML support in Tableau Server; Tableau Server and Salesforce must be configured to use the
same SAML Identity Provider.
Is Active Directory a supported authentication method?
• If Tableau Server is configured to authenticate using Active Directory then Sparkler will work fine
• Some SAML Identity Providers support Active Directory
• OneLogin is an example of a SAML Identity Provider product that is:
• Used by Tableau internally
• Supports Active Directory
• Is relatively easy to configure (compared to many other SAML identity providers).
FAQS
Does Tableau support Sparkler?
• Yes! Tableau User Support provides configuration and debugging support for Sparkler. Additionally, ProServ is
trained to implement Sparkler, even in difficult network environments. Basic support is based on the PDF
documentation provided with the Sparkler installation.
How is row level and user security enforced in SFDC?
• The views loaded in SFDC using either Sparkler/Canvas or SSO are based on the user’s credentials. Workbooks and
data sources designed with the proper filters will display data specific to the authenticated user
FAQS
Why does Sparkler load vizzes in iFrames? Is there another way?
• iFrames are an integral part of the Salesforce Canvas web framework and are required to use Sparkler
What browsers are supported in the Sparkler/Canvas solution?
• Sparkler/Canvas works with most browsers EXCEPT Firefox. The SSO implementation works fine with all common browsers,
including Firefox
Can we use Sparkler with Amazon Web Services or other cloud hosting, what about Salesforce Heroku?
• Absolutely. Deploying Sparkler on an AWS EC2 instance running standard Linux is straightforward
• Heroku is not officially supported, visit the customer forums for more info the SF Champions Team
FAQS
Tableau Server is behind a firewall. Can we use Sparkler to get around this?
• In short, Sparkler itself won’t solve this problem as you cannot route/proxy Tableau Server traffic though Sparkler.
Sparkler is not a networking solution. It is an embedding solution. Networking needs to be resolved before
embedding can take place.
Will Sparkler work for my customer's specific network configuration?
• It depends. In short, the end user’s browser must be able to connect to Salesforce, Sparkler and Tableau Server
directly. Proxies may be required. Additionally, if the customer’s browser cannot communicate with Tableau Server
and SFDC at the same time – no embedding scenario will work.
FAQS
My customer’s field users can’t get to Tableau Server without a VPN connection. Can we use Sparkler to fix this?
• The end users browser must be able to communicate directly with Tableau Server. VPNs, and proxies are possible
solutions. Some customers may want to set up a different Tableau Server for field users outside of their network,
such as using AWS.
Is there any documentation about debugging Sparkler configurations and networking issues? Can Tableau help?
Yes! The Sparkler distribution zip file includes a PDF document. The Appendix provides a considerable amount of
information regarding configuring and debugging Sparkler setup and network issues.
FAQS
Can Tableau help with implementing Salesforce and Sparkler?
• Yes! Engaging Tableau Professional Services is highly recommended for Sparkler deployments. The team bills at the standard
services rate.
I have problems with my embedded vizzes. What’s wrong? Where do I get help?
• The first step is to determine if this issue is a Sparkler issue or not. Sparkler connectivity can be tested a number of ways as
described in the Sparkler PDF appendices. If the viz renders some of the time, it is probably not a Sparkler issue, as once the
page had loaded, Sparkler’s job is done. If there are problems with the actual embedding of vizzes in Salesforce pages, these
should be treated the same as standard, Tableau supported viz embedding feature of Tableau Server, and should be
supported as such.
• Because every customer’s environment is different, these implementations can be tricky. We recommend engaging Tableau
Professional Services for customers that want to deploy Sparkler.
RESOURCES
RESOURCES
• Native Connector
• Salesforce & Tableau: Better Together (Video)
• Embedding sales analytics with Salesforce Canvas
• Salesforce Canvas Adapter for Tableau
• How to Pull Tableau Dashboards into Your Salesforce Environment (Interworks)
• SFDC Developer Documentation:
• Bulk API Limitations

More Related Content

What's hot

Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For BeginnersRahul Nath
 
Azure from scratch Part 1 By Girish Kalamati
Azure from scratch Part 1 By Girish KalamatiAzure from scratch Part 1 By Girish Kalamati
Azure from scratch Part 1 By Girish KalamatiGirish Kalamati
 
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話Noritaka Sekiyama
 
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...Kai Wähner
 
Formation libre OpenStack en Français
Formation libre OpenStack en FrançaisFormation libre OpenStack en Français
Formation libre OpenStack en FrançaisOsones
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsGlobalLogic Ukraine
 
Presentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesPresentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesStéphane Di Cioccio
 
55174240 rapport-cloud-computing
55174240 rapport-cloud-computing55174240 rapport-cloud-computing
55174240 rapport-cloud-computingnoussa krid
 
AWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAmazon Web Services Japan
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05都元ダイスケ Miyamoto
 
Leveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseLeveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseAndrew Kelleher
 
Deep Dive: AWS CloudHSM (Classic)
Deep Dive: AWS CloudHSM (Classic)Deep Dive: AWS CloudHSM (Classic)
Deep Dive: AWS CloudHSM (Classic)Amazon Web Services
 
Kaleido Platform Overview and Full-stack Blockchain Services
Kaleido Platform Overview and Full-stack Blockchain ServicesKaleido Platform Overview and Full-stack Blockchain Services
Kaleido Platform Overview and Full-stack Blockchain ServicesPeter Broadhurst
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用Amazon Web Services Japan
 

What's hot (20)

Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
 
Security & Compliance in AWS
Security & Compliance in AWSSecurity & Compliance in AWS
Security & Compliance in AWS
 
AWS Black Belt Techシリーズ AWS IAM
AWS Black Belt Techシリーズ AWS IAMAWS Black Belt Techシリーズ AWS IAM
AWS Black Belt Techシリーズ AWS IAM
 
Azure from scratch Part 1 By Girish Kalamati
Azure from scratch Part 1 By Girish KalamatiAzure from scratch Part 1 By Girish Kalamati
Azure from scratch Part 1 By Girish Kalamati
 
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話
 
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
 
Formation libre OpenStack en Français
Formation libre OpenStack en FrançaisFormation libre OpenStack en Français
Formation libre OpenStack en Français
 
AWS
AWSAWS
AWS
 
(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
 
Azure AKS
Azure AKSAzure AKS
Azure AKS
 
Presentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesPresentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequences
 
55174240 rapport-cloud-computing
55174240 rapport-cloud-computing55174240 rapport-cloud-computing
55174240 rapport-cloud-computing
 
AWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto Scaling
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
Leveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseLeveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the Enterprise
 
Deep Dive: AWS CloudHSM (Classic)
Deep Dive: AWS CloudHSM (Classic)Deep Dive: AWS CloudHSM (Classic)
Deep Dive: AWS CloudHSM (Classic)
 
Kaleido Platform Overview and Full-stack Blockchain Services
Kaleido Platform Overview and Full-stack Blockchain ServicesKaleido Platform Overview and Full-stack Blockchain Services
Kaleido Platform Overview and Full-stack Blockchain Services
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
 

Similar to SF Tableau

Adobe Flash Platform for the Enterprise
Adobe Flash Platform for the EnterpriseAdobe Flash Platform for the Enterprise
Adobe Flash Platform for the EnterpriseMike Slinn
 
Choosing the Right Salesforce Integration: The Questions You Should Ask - A C...
Choosing the Right Salesforce Integration: The Questions You Should Ask - A C...Choosing the Right Salesforce Integration: The Questions You Should Ask - A C...
Choosing the Right Salesforce Integration: The Questions You Should Ask - A C...Cyber Group
 
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?TechWell
 
Salesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide DeckSalesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide Deckbrightgenss
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patternsusolutions
 
SFDC Lightning Demo
SFDC Lightning DemoSFDC Lightning Demo
SFDC Lightning DemoSamar Saha
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenNCCOMMS
 
ME_Snowflake_Introduction_for new students.pptx
ME_Snowflake_Introduction_for new students.pptxME_Snowflake_Introduction_for new students.pptx
ME_Snowflake_Introduction_for new students.pptxSamuel168738
 
Leveraging Force.com: What, Why & Hows?
Leveraging Force.com: What, Why & Hows?Leveraging Force.com: What, Why & Hows?
Leveraging Force.com: What, Why & Hows?CloudSense
 
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...Jason Himmelstein
 
Azure PTA vs ADFS vs Desktop SSO
Azure PTA vs ADFS vs Desktop SSOAzure PTA vs ADFS vs Desktop SSO
Azure PTA vs ADFS vs Desktop SSOCoLaboraDK
 
Colabora.dk - Azure PTA vs ADFS vs Desktop SSO
Colabora.dk - Azure PTA vs ADFS vs Desktop SSOColabora.dk - Azure PTA vs ADFS vs Desktop SSO
Colabora.dk - Azure PTA vs ADFS vs Desktop SSOPeter Selch Dahl
 
Alibaba_WellArchitectedLandingZoneviaTerraformPresentation_V0-01.pdf
Alibaba_WellArchitectedLandingZoneviaTerraformPresentation_V0-01.pdfAlibaba_WellArchitectedLandingZoneviaTerraformPresentation_V0-01.pdf
Alibaba_WellArchitectedLandingZoneviaTerraformPresentation_V0-01.pdfiamcai
 
Envision it SharePoint Extranet Webinar Series - Federation and SharePoint On...
Envision it SharePoint Extranet Webinar Series - Federation and SharePoint On...Envision it SharePoint Extranet Webinar Series - Federation and SharePoint On...
Envision it SharePoint Extranet Webinar Series - Federation and SharePoint On...Envision IT
 
Authentication and beyond, Atlassian aplications
Authentication and beyond, Atlassian aplicationsAuthentication and beyond, Atlassian aplications
Authentication and beyond, Atlassian aplicationsAmbientia
 
CNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side ControlsCNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side ControlsSam Bowne
 
Cloud patterns at Carleton University
Cloud patterns at Carleton UniversityCloud patterns at Carleton University
Cloud patterns at Carleton UniversityTaswar Bhatti
 
Anypoint platform for api
Anypoint platform for apiAnypoint platform for api
Anypoint platform for apiKrishna_in
 
Introduction to Adapters 3.7
Introduction to Adapters 3.7Introduction to Adapters 3.7
Introduction to Adapters 3.7StephenKardian
 
Publishing Data to REST APIs with Lightning Process Builder
Publishing Data to REST APIs with Lightning Process BuilderPublishing Data to REST APIs with Lightning Process Builder
Publishing Data to REST APIs with Lightning Process BuilderScott Coleman
 

Similar to SF Tableau (20)

Adobe Flash Platform for the Enterprise
Adobe Flash Platform for the EnterpriseAdobe Flash Platform for the Enterprise
Adobe Flash Platform for the Enterprise
 
Choosing the Right Salesforce Integration: The Questions You Should Ask - A C...
Choosing the Right Salesforce Integration: The Questions You Should Ask - A C...Choosing the Right Salesforce Integration: The Questions You Should Ask - A C...
Choosing the Right Salesforce Integration: The Questions You Should Ask - A C...
 
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
 
Salesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide DeckSalesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide Deck
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patterns
 
SFDC Lightning Demo
SFDC Lightning DemoSFDC Lightning Demo
SFDC Lightning Demo
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
 
ME_Snowflake_Introduction_for new students.pptx
ME_Snowflake_Introduction_for new students.pptxME_Snowflake_Introduction_for new students.pptx
ME_Snowflake_Introduction_for new students.pptx
 
Leveraging Force.com: What, Why & Hows?
Leveraging Force.com: What, Why & Hows?Leveraging Force.com: What, Why & Hows?
Leveraging Force.com: What, Why & Hows?
 
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
 
Azure PTA vs ADFS vs Desktop SSO
Azure PTA vs ADFS vs Desktop SSOAzure PTA vs ADFS vs Desktop SSO
Azure PTA vs ADFS vs Desktop SSO
 
Colabora.dk - Azure PTA vs ADFS vs Desktop SSO
Colabora.dk - Azure PTA vs ADFS vs Desktop SSOColabora.dk - Azure PTA vs ADFS vs Desktop SSO
Colabora.dk - Azure PTA vs ADFS vs Desktop SSO
 
Alibaba_WellArchitectedLandingZoneviaTerraformPresentation_V0-01.pdf
Alibaba_WellArchitectedLandingZoneviaTerraformPresentation_V0-01.pdfAlibaba_WellArchitectedLandingZoneviaTerraformPresentation_V0-01.pdf
Alibaba_WellArchitectedLandingZoneviaTerraformPresentation_V0-01.pdf
 
Envision it SharePoint Extranet Webinar Series - Federation and SharePoint On...
Envision it SharePoint Extranet Webinar Series - Federation and SharePoint On...Envision it SharePoint Extranet Webinar Series - Federation and SharePoint On...
Envision it SharePoint Extranet Webinar Series - Federation and SharePoint On...
 
Authentication and beyond, Atlassian aplications
Authentication and beyond, Atlassian aplicationsAuthentication and beyond, Atlassian aplications
Authentication and beyond, Atlassian aplications
 
CNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side ControlsCNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side Controls
 
Cloud patterns at Carleton University
Cloud patterns at Carleton UniversityCloud patterns at Carleton University
Cloud patterns at Carleton University
 
Anypoint platform for api
Anypoint platform for apiAnypoint platform for api
Anypoint platform for api
 
Introduction to Adapters 3.7
Introduction to Adapters 3.7Introduction to Adapters 3.7
Introduction to Adapters 3.7
 
Publishing Data to REST APIs with Lightning Process Builder
Publishing Data to REST APIs with Lightning Process BuilderPublishing Data to REST APIs with Lightning Process Builder
Publishing Data to REST APIs with Lightning Process Builder
 

Recently uploaded

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 

Recently uploaded (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 

SF Tableau

  • 1. CUSTOMER SOLUTIONS ALL HANDSSALESFORCE TIGER TEAM Tableau – Salesforce Integration Architecture & Considerations
  • 2. EMBEDDING TABLEAU IN SALESFORCE
  • 3. KEY TERMS • Sparkler • Java-based Tableau extension written, maintained, and supported by Tableau • Canvas • Salesforce web framework for rendering content • Trusted Tickets • The way Tableau Server authenticates users on sites with embedded vizzes (more info) • SSO • Single Sign-On; A system where an user logs in once to a login/identity system and then the user is automatically logged into other connected systems. • SAML • Security Assertion Markup Language; A type of security token used by SSO and provided by an IdP. Used for exchanging authentication and authorization data • IdP • Identity Provider; authenticates a user using security tokens ex. (login to Twitter using Facebook acct.)
  • 4. educate . inspire . recognize SAMPLE DISCOVERY QUESTIONS • Describe a day in the life of the people consuming the reports? • Are there different kinds of profiles (exec / manager / analyst)? • What kind of decisions are you making from this? • Are you looking for a simple snapshot reporting tool or an analytics tool that enables you to dig in and answer follow up questions? • How large of a community will be consuming these visualizations? • Are you or anyone in your organization using Tableau today? • Does all the data to support your questions + dashboards come from SFDC or are there other sources (Excel, Databases, datawarehouse, etc.)? • Do you want to have to upload data from other places on to SFDC? • Do you have any regional or geographic security requirements? • Should this be driven from your SFDC login? • Will the content be consumed on mobile devices and tablets? • Why are today’s reporting capabilities insufficient? • Do you have any existing reports built – can you share these? • What other tools are you exploring? • Are you interested in learning how we (Tableau) use Tableau on Salesforce? • What browsers do you support in your environment? (***Sparkler does not work well with Firefox***)
  • 5. CONSIDERATION MATRIXES Matrixes: Authentication Matrix What form of authentication will be possible? Data Connection Matrix Should the SFDC native connector be used or replicate to an external DB? Row Level Security Matrix How can we handle row level security?
  • 6. AUTHENTICATION MATRIX Active Directory Local Authentication SAML/SSO Tableau Server On Premise Sparkler w/ Trusted Tickets Sparkler w/ Trusted Tickets If same IDP as Salesforce, just Sparkler. No need for Trusted Tickets as SFDC and Tableau use same authentication method Tableau Online Cloud N/A Log-In to Tableau Log-In to Salesforce If SiteSAML is enabled Sparkler NOT needed
  • 7. DATA CONNECTION MATRIX Topic Native Connection Replication Timeliness of data refresh • Extract only (low/moderate refresh cycles) • No date filter; can pull custom objects • DB replication tools are doing the “extracting” • Accessing replicated data on a live basis • Tableau uses DBAmp* to replicate ~4x / hr Performance for larger SFDC envt’s • TDE’s can take hours to build • Better for larger SFDC environments • Can also replicate other DB’s here to join (instead of blending) API Record Limits Row security options • Data source filters • Live connection  many options • Use DB entitlements and/or permissions table joined to Data Source • Complex / custom security models (e.g. manager to view all accounts in their org) Integrating with other data sources • Cross DB Join limitations • N / A Pricing • Included in Tableau • Ranges based on vendor • Typically about a $2k / yr
  • 8. ROW-LEVEL SECURITY MATRIX Type How and Where Connection Considerations Enforced by DB • Automated • Managed in DB Live only • SFDC data must be replicated into a relational source • Single point to manage permissions Hybrid • Automated • Managed in Data Server Live / Extract • Use a security table in DB, enforce the WHERE clause in Tableau Completely Managed in Tableau • Manual • User filters built + applied per workbook Live / Extract • Not typical for enterprise deployments Bestpractice Which records is the user able to see?
  • 10. iFrame o Easier; less hops =‘s snappier / better user experience with reduced load times o Embed directly into VisualForce page or with a LWC (Lighting Web Component) o SAML authentication means you don’t need to use extra steps w/ Canvas/Sparkler Canvas + Sparkler o SalesForce Canvas enables you to easily integrate a third-party application in Salesforce. Sparkler provide a seamless embedding experience w/in Salesforce and Salesforce1 (mobile app) through o Trusted Authentication – Sparkler integration requires Trusted Authentication to be turned on
  • 11. IFRAME SFDC Record / VisualForce Page Internet Browser Server 1. Browser request 2. SFDC renders page in an iframe Browser Traffic over HTTPS 3. Browser makes direct Viz request 5. Server responds to request and interactivity 4. Server requests authentication Authentication Methods • SAML • Trusted Tickets • Kerberos • AD • Local* *Non-SSO
  • 12. SALESFORCE CANVAS + SPARKLER SFDC Record / VisualForce Page Internet Browser Server Sparkler (Apache Tomcat) 1. Browser request 2. SFDC renders page in a Canvas iframe 3. SFDC javascript in browser makes request 4. Trusted Ticket request 5. Trusted Ticket provided 6. Viz embed-script with Trusted Ticket returned 7. Browser makes direct Viz request 8. Server responds to request and interactivity Browser Traffic over HTTPS Traffic between Sparkler and Tableau Server (no browser)
  • 13. Salesforce • Salesforce users must be able to reach Tableau Server and Salesforce at the same time from the same browser. Both must • Salesforce (not the browser) must be able to communicate with the on-premises Sparkler adapter over HTTPS Tableau Server • Automatic sign-in is not enabled • SSL is enabled. A commercial x.509 SSL certificate is highly recommended • Trusted authentication is configured on the server. (If you are working with Tableau Online, as an alternative you can use with SAML in the manual provided w/ the Sparkler download) On-premises Sparkler adapter • Java 8 or later is installed • Sparkler Canvas On-Premises Deployment 7 • Tomcat 7 or later is installed • SSL is enabled. A commercial x.509 SSL certificate is highly recommended • The OpenSSL utility is installed. This is required on Windows in order to create RSA keys. • A static IP is configured for the adapter. This is required for trusted authentication • The Sparkler adapter must be able to communicate with Tableau Server over HTTPS. CANVAS / SPARKLER PRE-REQS
  • 14. SFDC INTEGRATION USING SPARKLER/CANVAS (INTERNET FACING TABLEAU SERVER WITH SPARKLER HOST) Webserver(Sparkler host) ExternalLoad BalancerInternet DMZ Semi- Private Core Network Database SAML IDP ReverseProxy SFDC Embedding via Sparkler/Canvas
  • 15. REVERSE PROXY SERVER + Second layer of defense + Routes traffic from external network to internal network + Shields identity of internal servers Tableau Server with or without SSL enabled Client This can even be the Tableau Server itself Apache Reverse Proxy Server The reverse proxy is bound to the Tableau Server specified in the configuration file 1 4 2 3 Client makes request to proxy server on Port that server is Listening to (443 if SSL) Tableau Server handles request per the initiating request. If the request was HTTPS then it is secure. If the request was HTTP then it is open. Tableau Server returns data normally Tableau Server data shown but data appears to have originated from Reverse Proxy Server Default Listen Port (normally 80) Virtual Host Listening on specified port (443 if SSL) Virtual Path translated to target URL path Virtual Path translated to target URL path If SSL is enabled, connection data is read from SSL certificates
  • 16. FAQS
  • 17. FAQS • How can customers embedding Tableau into Salesforce authenticate? Tableau Server: • Single Sign-On using SAML (without Sparkler) • Customer must use a SAML Identity Provider, and both Tableau Server and Salesforce must both be configured to use the same SAML Identity Provider • Customer does not use Sparkler. Vizzes are embedded directly into VisualForce pages • Sparkler/Salesforce Canvas (with Trusted Tickets) • Customer configures Sparkler, Salesforce and Tableau Server as a standard Sparkler installation per Sparkler documentation. • Tableau Server authentication using Kerberos • User separately logs into Salesforce. If configured correctly, customer does not use SSO, but rather, the login to Tableau Server is transparent and handled by Windows. May not work on Macs, depending on configuration. Tableau Online: • • Single Sign-On using SAML (without Sparkler) • Customer must use a SAML Identity Provider, and both Tableau Server and Salesforce must both be configured to use the same SAML Identity Provider • Vizzes are embedded directly into VisualForce pages. Manual Login: • Tableau Server and Tableau Online generate embed codes that can be placed into iFrames on the web. Users enter their Tableau credentials manually each time to access the viz.
  • 18. FAQS What is Sparkler and what is Canvas? • Sparkler is a Tableau extension written, maintained and supported by Tableau. Sparkler uses the Salesforce Canvas web framework for rendering content in Salesforce. Sparkler essentially manages the handoff between Tableau Server and Salesforce using Trusted Tickets. Sparkler only works with Tableau Server since Tableau Online does not support Trusted Tickets. • Salesforce Canvas is a web framework that lets you integrate 3rd-party applications (like Tableau) into Salesforce. It is run in the browser and managed by Salesforce; it is not part of Sparkler itself
  • 19. FAQS Is SAML supported for Tableau Server? • Yes! Users must use SAML support in Tableau Server; Tableau Server and Salesforce must be configured to use the same SAML Identity Provider. Is Active Directory a supported authentication method? • If Tableau Server is configured to authenticate using Active Directory then Sparkler will work fine • Some SAML Identity Providers support Active Directory • OneLogin is an example of a SAML Identity Provider product that is: • Used by Tableau internally • Supports Active Directory • Is relatively easy to configure (compared to many other SAML identity providers).
  • 20. FAQS Does Tableau support Sparkler? • Yes! Tableau User Support provides configuration and debugging support for Sparkler. Additionally, ProServ is trained to implement Sparkler, even in difficult network environments. Basic support is based on the PDF documentation provided with the Sparkler installation. How is row level and user security enforced in SFDC? • The views loaded in SFDC using either Sparkler/Canvas or SSO are based on the user’s credentials. Workbooks and data sources designed with the proper filters will display data specific to the authenticated user
  • 21. FAQS Why does Sparkler load vizzes in iFrames? Is there another way? • iFrames are an integral part of the Salesforce Canvas web framework and are required to use Sparkler What browsers are supported in the Sparkler/Canvas solution? • Sparkler/Canvas works with most browsers EXCEPT Firefox. The SSO implementation works fine with all common browsers, including Firefox Can we use Sparkler with Amazon Web Services or other cloud hosting, what about Salesforce Heroku? • Absolutely. Deploying Sparkler on an AWS EC2 instance running standard Linux is straightforward • Heroku is not officially supported, visit the customer forums for more info the SF Champions Team
  • 22. FAQS Tableau Server is behind a firewall. Can we use Sparkler to get around this? • In short, Sparkler itself won’t solve this problem as you cannot route/proxy Tableau Server traffic though Sparkler. Sparkler is not a networking solution. It is an embedding solution. Networking needs to be resolved before embedding can take place. Will Sparkler work for my customer's specific network configuration? • It depends. In short, the end user’s browser must be able to connect to Salesforce, Sparkler and Tableau Server directly. Proxies may be required. Additionally, if the customer’s browser cannot communicate with Tableau Server and SFDC at the same time – no embedding scenario will work.
  • 23. FAQS My customer’s field users can’t get to Tableau Server without a VPN connection. Can we use Sparkler to fix this? • The end users browser must be able to communicate directly with Tableau Server. VPNs, and proxies are possible solutions. Some customers may want to set up a different Tableau Server for field users outside of their network, such as using AWS. Is there any documentation about debugging Sparkler configurations and networking issues? Can Tableau help? Yes! The Sparkler distribution zip file includes a PDF document. The Appendix provides a considerable amount of information regarding configuring and debugging Sparkler setup and network issues.
  • 24. FAQS Can Tableau help with implementing Salesforce and Sparkler? • Yes! Engaging Tableau Professional Services is highly recommended for Sparkler deployments. The team bills at the standard services rate. I have problems with my embedded vizzes. What’s wrong? Where do I get help? • The first step is to determine if this issue is a Sparkler issue or not. Sparkler connectivity can be tested a number of ways as described in the Sparkler PDF appendices. If the viz renders some of the time, it is probably not a Sparkler issue, as once the page had loaded, Sparkler’s job is done. If there are problems with the actual embedding of vizzes in Salesforce pages, these should be treated the same as standard, Tableau supported viz embedding feature of Tableau Server, and should be supported as such. • Because every customer’s environment is different, these implementations can be tricky. We recommend engaging Tableau Professional Services for customers that want to deploy Sparkler.
  • 26. RESOURCES • Native Connector • Salesforce & Tableau: Better Together (Video) • Embedding sales analytics with Salesforce Canvas • Salesforce Canvas Adapter for Tableau • How to Pull Tableau Dashboards into Your Salesforce Environment (Interworks) • SFDC Developer Documentation: • Bulk API Limitations

Editor's Notes

  1. First option – explain that it needs to be a replicated DB
  2. Note: Browser must be able to communicate with both Salesforce and Tableau Server directly. This diagram does not include any network details including firewalls or load balancers. Can pass variables / parameters in URLs
  3. Note: Browser must be able to communicate with both Salesforce and Tableau Server directly. This diagram does not include any network details including firewalls or load balancers. Note: Sparkler/Canvas does not work with Firefox. The SSO implementation works fine with all common browsers, including Firefox.
  4. This architecture would be used for setting up Salesforce integration with Tableau Server (embedding Dashboards and Vizs in SFDC via Sparkler/Canvas)
  5. A reverse proxy is a server that sits “in front” of the Tableau Server (or maybe multiple servers). It receives requests from clients for network resources and forwards them on to the desired location – presumably one of the Tableau Servers (a destination server) or possibly another proxy. Unlike a forward proxy, a reverse proxy does not require any client side configuration and all network requests are handled transparently by the reverse proxy. Tableau will work with a proxy server as long as they are not doing context switching (www.domain.com/tableau = NOT OKAY vs. www.tableau.domain.com = OK) The proxy server & DMZ setup may be an alternative to VPN --------------------------------------------- Why use a reverse proxy? Add an extra layer of security to Internet and DMZ facing services A proxy can be useful in allowing requests to be made to the Tableau Servers without having to make the IP of the server, itself, visible to users. Proxy servers are different from NAT in that NAT is transparent to the source and to destination computers. Neither one realizes that it is dealing with a third device. A proxy server is not transparent. In a reverse proxy, the client thinks it is making a request to the target server and deals with it directly. Target server knows it is sending a response to the proxy server and must be configured to do so. Because proxy servers work at layer 4 (transport) of the OSI Reference Model or higher, while NAT is at a layer 3 (network) protocol, proxy servers are usually slower than NAT devices. It can also be useful, as a load balancing mechanism, enabling multiple Tableau Servers to share work, while still allowing a user to direct his requests to a single address. It allows you to stream content from internal network services to Internet users without having to store that content in the DMZ (this can be important for organizations that are subject to PCI, HIPAA, SOX or other requirements). And it can also add high availability to mission critical network services. ------------------------------------------------------------------------------------------------------------------------------------------ How does a reverse proxy work? A client initiates a connection to the target reverse proxy service This can be any network service you designate such as FTP/S, HTTP/S, SFTP, or SSH The reverse proxy accepts the connection on behalf of the client to the destination service At this point the network output stream to the client is piped by the reverse proxy to the destination server and vice versa This creates a completely transparent between the client and the destination service ------------------------------------------------------------------------------------------------------------------------------------------ A reverse proxy server, like a proxy server is an intermediary, but is used the other way around. Instead of providing a service to internal users wanting to access an internal network, it provides indirect access for an external network (usually the Internet) to internal resources. This is an extra layer of security, which is particularly recommended when internal resources need to be accessed from the outside. Usually a reverse proxy mechanism is provided by using an application layer firewall as they focus on the specific shape of the traffic rather than controlling access to specific TCP and UDP ports as a packet filter firewall does. ------------------------------------------------------------------------------------------------------------------------------------------ A reverse proxy is a type of proxy server that retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client as thought they originated from the server itself. While a forward proxy acts as an intermediary for its (usually nearby) associated client(s) and returns to them resources accessible on the Internet, a reverse proxy acts as an intermediary for its (usually nearby) associated server(s) and only returns resources provided by those associated server(s). Reverse proxies can hide the existence and characteristics of the origin server(s). The proxy server is the only IP allowed to talk to Tableau Server inside/through the firewall. ------------------------------------------------------------------------------------------------------------------------------------------ Customers often use reverse proxy servers to obfuscate where things are coming from, to simplify things for end users, or allow more flexibility for disaster recovery (e.g. if one cluster goes down, a reverse proxy can redirect traffic to another cluster). Tableau Server works well with proxy servers as long as they are not doing context switching. For example tableau.com/domain versus domain.com/tableau ------------------------------------------------------------------------------------------------------------------------------------------- A proxy server may act as a firewall by responding to input packets (connection requests for example) in the manner of an application, while blocking other packets. A proxy server is a gateway from one network to another for a specific network application, in the sense that it functions as a proxy on behalf of the network user.