Skip navigation

Phoenix

1 post

Breakdown of Tableau Server process flows.  Sourced from https://public.tableau.com/profile/technical.product.marketing#!/vizhome/TableauServerProcessScenarios/ServerArchitectureFlow

 

 

 

Flow: Authenticate with AD

Description

  1. A request to access Tableau Server is sent through the browser or Tableau Desktop
  2. The Gateway receives the request and forwards it to the Application Server
  3. The Application Server forwards request to the Repository to verify that the user name is valid
  4. The Repository verifies that the user name exists, and gathers appropriate permissions, then forwards request back to the Application Server
  5. The Application Server registers the positive response, then forwards the request to the Gateway
  6. The Gateway receives the request and forwards it to the AD Controller
  7. The AD controller verifies the password and passes the response to the Gateway
  8. The gateway receives the request and passes the response the Application Server
  9. The Application Server registers the positive response, and starts to generate the Server interface, then forwards the request back to the Gateway
  10. The Gateway receives the request and forwards it to the client
  11. The client receives the response and will display the web interface, if applicable

 

Process Flow

  1. Client (Tableau Desktop, Mobile, Web Browser, etc.)
  2. Gateway
  3. Application Server
  4. Repository
  5. Application Server
  6. Gateway
  7. AD Controller
  8. Gateway
  9. Application Server
  10. Gateway
  11. Client

 

Flow: Authenticate with Local Auth

Description

 

  1. A request to access Tableau Server is sent through the browser, Tableau Desktop, or Tableau Mobile
  2. The Gateway receives the request and forwards it to the Application Server
  3. The Application Server prompts the user for a user name and password, and forwards the results to the Repository to verify user credentials (username, password, permissions)
  4. The Repository verifies that the credentials are correct and sends the response back to the Application Server
  5. The Application Server registers the positive response, and starts to generate the Server interface if being accessed from a browser, then forwards requests back to the Gateway
  6. The Gateway receives the request and forwards it to the client
  7. The client receives the response and will display the web interface, if applicable

 

Process Flow

  1. Client (Tableau Desktop, Mobile, Web Browser, etc.)
  2. Gateway
  3. Application Server
  4. Repository
  5. Application Server
  6. Gateway
  7. Client

 

Flow: Authenticate with Kerberos

Description

 

  1. The user logs into their Active Directory domain and the Kerberos Key
  2. Distribution Center (KDC) authenticates the user and sends a Ticket Granting Ticket (TGT) to the user's computer.
  3. A request to access Tableau Server is sent from the client
  4. The Gateway receives the request and forwards it to the Application Server
  5. The Application Server verifies that the User Principal Name (UPN) in the
  6. Ticket Granting Ticket (TGT) matches a domain\username in the Repository
  7. The Repository returns the request to the Application Server
  8. The Application Server returns the request to the Gateway
  9. The Gateway responds to the client
  10. The user is now logged into Tableau Server

 

Process

  1. AD Controller
  2. Client (Tableau Desktop, Mobile, Web Browser, etc.)
  3. Gateway
  4. Application Server
  5. Repository
  6. Application Server
  7. Gateway
  8. Client (User is logged on to Tableau Server)

 

Flow: Authenticate with SAML

Description

 

  1. A request to access Tableau Server is sent from a browser, Tableau Desktop, or Tableau Mobile
  2. The Gateway receives the request and forwards it to the Application Server
  3. The Application Server receives the request and redirects the request to the registered SAML IdP
  4. The SAML IdP receives a request of user name & password and authenticates the user. The SAML IdP returns a SAML success response to the Application ..
  5. The Application Server sends the request to the Repository
  6. The Repository verifies that the username matches a user name in Tableau Server, and then returns the request to the Application Server
  7. The Application Server registers the positive response, then forwards the request to the Gateway
  8. The gateway receives the request and responds to the client
  9. The user is now logged into Tableau Server

 

Process

  1. Client
  2. Gateway
  3. Application Server
  4. SAML IDP
  5. Application Server
  6. Repository
  7. Application Server
  8. Gateway
  9. Client (User is logged in)

 

Flow: Access a View - Cached View

Description

 

  1. A request to access a view on Tableau Server is sent through the browser, Tableau Desktop, or Tableau Mobile
  2. The Gateway receives the request and forwards it to the Application Server
  3. The Application Server completes authentication and starts rendering the chrome around the viz using VizClient. A request for the workbook is then se..
  4. The VizQL Server queries the Repository to validate user permissions to view, then requests the .twb file
  5. The Repository sends the results of the query back to the VizQL Server, as well as the .twb file necessary to create the view
  6. The VizQL Server checks the in-proc cache for cached query. If the query results aren't there, it then checks the Cache Server
  7. The Cache Server retrieves the cached query from the external query cache and passes it to the VizQL Server
  8. The VizQL Server renders the view and delivers the view to the Gateway
  9. The Gateway sends the rendered view to the user as a response to their request
  10. The client displays the rendered view

 

Flow: Access a View - Embedded Extract

Description

 

  1. A request to access a view on Tableau Server is sent through the browser, Tableau Desktop, or Tableau Mobile
  2. The Gateway receives the request and forwards it to the Application Server to check if the user is already registered
  3. The Application Server completes authentication and starts rendering the chrome around the viz using VizClient
  4. The VizQL Server queries the Repository to validate user permissions to view, then requests the .twb file
  5. The Repository sends the results of the query back to the VizQL Server, as well as the .twb file to create the view
  6. VizQL Server requests the data needed from Data Engine
  7. Data Engine connects to the Hard Drive and pulls the extract from the DataEngine Folder
  8. VizQL Server queries the Data Engine for the data needed
  9. Data Engine passes interpreted data to the VizQL Server
  10. The VizQL Server renders the view and delivers the view to the Gateway
  11. The Gateway sends the rendered view to the user as a response to their request
  12. The client displays the rendered view

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. VizQL Server
  5. Repository
  6. VizQL Server
  7. Data Engine
  8. VizQL Server
  9. Data Engine
  10. VizQL Server
  11. Gateway
  12. Client (Renders View)

 

Flow: Access a View - Embedded Live Connection

Description

 

  1. A request to access a view on Tableau Server is sent through the browser, Tableau Desktop, or Tableau Mobile
  2. The Gateway receives the request and forwards it to the Application Server to check if the user is already authenticated
  3. The Application Server completes authentication and starts rendering the chrome around the viz using VizClient. A request for the workbook is then sent to the VizQL Server
  4. The VizQL Server queries the Repository to validate user permissions to view, then requests the .twb file
  5. The Repository sends the results of the query back to the VizQL Server, as well as the .twb file necessary to create the view
  6. VizQL Server connects to data connections
  7. Data connections are used to access the data source
  8. Data from the database is passed to the VizQL Server
  9. The VizQL Server renders the view and delivers the view to the Gateway
  10. The Gateway sends the rendered view to the user as a response to their request
  11. The client displays the rendered view

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. VizQL Server
  5. Repository
  6. VizQL Server
  7. Data Connections (Drivers, Tabprotoserv, HTTP based, etc.)
  8. External Data Sources
  9. VizQL Server
  10. Gateway
  11. Client (View Rendered)

 

Flow: Access a View - External Files

Description

 

  1. A request to access a view on Tableau Server is sent through the browser, Tableau Desktop, or Tableau Mobile
  2. The Gateway receives the request and forwards it to the Application Server to check if the user is already authenticated
  3. The Application Server completes authentication and starts rendering the chrome around the viz using VizClient. A request for the workbook is then sent to VizQL Server
  4. The VizQL Server queries the Repository to validate user permissions to view, then requests the .twb file
  5. The Repository sends the results of the query back to the VizQL Server, as well as the .twb file necessary to create the view
  6. The VizQL Server sends a query to the Repository to retrieve the necessary data
  7. The Repository sends the results of the query back to the VizQL Server
  8. The VizQL Server renders the view and delivers the view to the Gateway
  9. The Gateway sends the rendered view to the user as a response to their request
  10. The client displays the rendered view

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. VizQL Server
  5. Repository
  6. VizQL Server
  7. Repository
  8. VizQL Server
  9. Gateway
  10. Client (View Rendered)

 

Flow: Access a View - Published Extract

Description

 

  1. A request to access a view on Tableau Server is sent through the browser, Tableau Desktop or Tableau Mobile
  2. The Gateway receives the request and forwards it to the Application Server to check if the user is already authenticated
  3. The Application Server completes authentication and starts rendering the chrome around the viz using VizClient. A request for the view is sent to the VizQL Server
  4. The VizQL Server queries the Repository to validate user permissions to view, then requests the .twb file
  5. The Repository sends the results of the query back to the VizQL Server, as well the .twb file necessary to create the view
  6. The VizQL Server sends a query to the Data Server to retrieve the necessary data
  7. The Data Server acts as a proxy to access the published extract and sends the query to the Data Engine
  8. Data Engine connects to the Hard Drive and pulls the extract from the DataEngine Folder
  9. Data from the extract is passed to the Data Server for interpretation, which then passes it to VizQL Server
  10. The VizQL Server renders the view and delivers the view to the Gateway
  11. The Gateway sends the rendered view to the user as a response to their request
  12. The client displays the rendered view

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. VizQL Server
  5. Repository
  6. VizQL Server
  7. Data Server
  8. Data Engine
  9. Data Server
  10. VizQL Server
  11. Gateway
  12. Client (View Rendered)

 

Flow: Access a View - Published Live Connection

Description

 

  1. A request to access a view on Tableau Server is sent through the browser, T..
  2. The Gateway receives the request and forwards it to the Application Server to check if the user is already authenticated
  3. The Application Server completes authentication and starts rendering the content
  4. The VizQL Server queries the Repository to validate user permissions to vie..
  5. The Repository sends the results of the query back to the VizQL Server, as w..
  6. The VizQL Server sends a query to the Data Server to retrieve the necessary ..
  7. The Data Server acts as a proxy to access the data source, and sends the que..
  8. Data connections are used to access the data source
  9. Data from the database is passed to the Data Server for interpretation
  10. Data Server passes interpreted data to the VizQL server
  11. The VizQL Server renders the view and delivers the view to the Gateway
  12. The Gateway sends the rendered view to the user as a response to their req..
  13. The client displays the rendered view

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. VizQL Server
  5. Repository
  6. VizQL Server
  7. Data Server
  8. Data Connections (Drivers, Tabprotoserv, HTTP based, etc.)
  9. External Data Services
  10. Data Server
  11. VizQL Server
  12. Gatway
  13. Client

 

Flow: Access a View - Explore Data Source with AskData - Published Data Sources

Description

 

  1. A user visits the datasource page for a published datasource on Tableau Ser..
  2. The Gateway receives the request and forwards it to the Application Server ..
  3. The Application Server completes authentication and renders the page
  4. The Application Server makes a request to the Natural Language (NL) servic..
  5. The Semantic Model controller assembles and stores a Semantic Model for t..
  6. Elasticsearch indexes the values
  7. The user sees the “NLP” tab on the datasource page, which loads the NL box ..
  8. VizClient issues a command to VizQLServer, which then makes a request to t..
  9. The parser generates and returns a list of interpretations for the query, in t..
  10. VizClient displays the natural language of the ArkLang interpretations in a d..
  11. VizClient issues the commands for the selected ArkLang expression to VizQL..
  12. The user then either refines their query using the refinement UI, saves the vi..

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. Ask Data
  5. Data Server
  6. Elastic Search
  7. Ask Data
  8. VizQL Server
  9. Elastic Search
  10. VizQL Server
  11. VizQL Server
  12. Application Server

 

Flow: Send a Subscription - Embedded Extract

Description

 

  1. The Backgrounder queries the Repository for which subscriptions need to be run on which views for which users
  2. The Repository returns information on subscriptions needing to be run
  3. The Backgrounder sends a request for updated data to the Data Engine
  4. The Data Engine connects to the Hard Drive and pulls the extract from the dataengine folder, then returns it to the Backgrounder
  5. The Backgrounder sends the request to VizQL to render the requested view
  6. VizQL Server renders the view then sends the view image and user information (email) to the SMTP server
  7. The SMTP server generates an email and sends it to the End User

 

Process

 

  1. Backgrounder
  2. Repository
  3. Backgrounder
  4. Data Engine
  5. Backgrounder
  6. VizQL Server
  7. SMTP Server

 

Flow: Send a Subscription - Embedded Live Connection

Description

 

  1. The Backgrounder queries the Repository for which subscriptions need to be run on which views for which users
  2. The Repository returns information on subscriptions needing to be run
  3. The Backgrounder sends a request for updated data to data connections
  4. Data connections are used to access the data source
  5. Data from the database is passed to the Backgrounder
  6. The Backgrounder sends the request to VizQL to render the requested view
  7. VizQL Server renders the view then sends the view image and user information (email) to the SMTP server
  8. The SMTP server generates an email and sends it to the End User

 

Process

 

  1. Backgrounder
  2. Repository
  3. Backgrounder
  4. Data Connections (Drivers, Tabprotoserv, HTTP based, etc.)
  5. External Data Services
  6. Backgrounder
  7. VizQL Server
  8. SMTP Server

 

Flow: Send a Subscription - Published Extract

Description

 

  1. The Backgrounder queries the Repository for which subscriptions need to be run on which views for which users
  2. The Repository returns information on subscriptions needing to be run
  3. The Backgrounder sends a request for updated data to the Data Server
  4. The Data Server acts as a proxy and connects to the native driver which in turn connects to the data source
  5. The Data Engine connects to the Hard Drive and pulls the extract from the dataengine folder, then returns it to Data Server
  6. Data from the extract is interpreted by the Data Server, then passed to the Backgrounder
  7. The Backgrounder sends the request to VizQL to render the requested view
  8. VizQL Server renders the view then sends the view image and user information (email) to the SMTP server
  9. The SMTP server generates an email and sends it to the End User


Process

  1. Backgrounder
  2. Repository
  3. Backgrounder
  4. Data Server
  5. Data Engine
  6. Data Server
  7. Backgrounder
  8. VizQL Server
  9. SMTP Server

 

Flow: Send a Subscription - Published Live Connection

Description

 

  1. The Backgrounder queries the Repository for which subscriptions need to be run on which views for which users
  2. The Repository returns information on subscriptions needing to be run
  3. The Backgrounder sends a request for updated data to the Data Server
  4. The Data Server acts as a proxy to access the data source, and sends the query to data connections
  5. Data connections are used to access the data source
  6. Data from the database is passed to the Data Server for interpretation
  7. The Data Server interprets the data and passes it to the Backgrounder
  8. The Backgrounder renders the view then sends the view image and user information (email) to the SMTP server
  9. The SMTP server generates an email and sends it to the End User

 

Process

 

  1. Backgrounder
  2. Repository
  3. Backgrounder
  4. Data Server
  5. Data Connections (Drivers, Tabprotoserv, HTTP based, etc.)
  6. External Data Services
  7. Data Server
  8. Backgrounder
  9. SMTP Server

 

Flow: Refresh and Extract, Workbook, Flow - Extract

Description

 

  1. The Backgrounder queries the background_jobs table in the Repository every 10 seconds for schedules needing to be run on which extracts and workbooks
  2. The Repository returns information on schedules needing to be run to the Backgrounder
  3. An available Backgrounder picks up the refresh extract task and sets the progress to 0 (in progress) from -1
  4. The Backgrounder verifies the connection and uses the embedded credentials to connect to the underlying data source
  5. The Data Engine creates a local.hyper database
  6. Data connections are used to query the underlying data source for data to refresh the extract
  7. The external data source returns the data to the Backgrounder
  8. The Backgrounder requests the Data Engine to insert the tuples into the local database inside the TableauTemp folder
  9. The Data Engine uploads the local Hyper/TDE file in the DataEngine folder on the filesystem and rewrites the relative path
  10. The File Store sends the relative path (GUID) to the repository, then starts the replication process of the data to other Files Store nodes. Replication is...
  11. The Repository updates the xml and the extracts table, and the task is updated to priority 100 in the background jobs table (completed)

 

Process

 

  1. Backgrounder
  2. Repository
  3. Backgrounder
  4. Backgrounder
  5. Data Engine
  6. Data Connections (Drivers, Tabprotoserv, HTTP based, etc.)
  7. External Data Services
  8. Backgrounder
  9. Data Engine
  10. File Store
  11. Repository

 

Flow: Refresh and Extract, Workbook, Flow - Flow

Description

 

  1. The Backgrounder queries the background_jobs table in the Repository every 10 seconds for schedules needing to be run on which extracts and workbooks
  2. The Repository returns information on schedules needing to be run to the Backgrounder
  3. An available backgrounder on a node with the node role “flows” or “all-jobs” picks up the flow task and sets its progress to 0 (in progress) from -1
  4. The Backgrounder sends the Flow ID from the flow task to Prep Conductor
  5. Prep Conductor sends the flow ID to the File Store and requests the Flow file (TFL or TFLX)
  6. File Store sends the flow file to Prep Conductor
  7. Prep Conductor compiles the flow (converts it to a series of queries and an execution plan)
  8. Prep Conductor executes the flow (runs the queries) against the external data source
  9. Prep Conductor creates a local Hyper file on disk and upload the processed data to it
  10. Depending on the Flow’s output type, Prep Conductor will either publish the hyper file as an extract in Tableau Server or write it to a file in a network share

 

Process

 

  1. Backgrounder
  2. Repository
  3. Backgrounder
  4. Backgrounder
  5. Prep Conductor
  6. Filestore
  7. Prep Conductor
  8. External Data Services
  9. Data Engine
  10. Prep Conductor

 

Flow: Publish a Data Source - Extract

Description

 

  1. Tableau Desktop requests to upload the datasource
  2. The Gateway passes the request through the Application Server
  3. The Application Server processes the request and sends it as XML to the Repository
  4. The Repository stores the datasource XML (including connection information), and returns the request to the Application Server
  5. The Application Server passes the request to the Data Engine
  6. Data Engine connects to the Hard Drive and stores the extract in the DataEngine folder and passes it to the File Store
  7. The File Store sends the relative path (GUID) to the repository, then starts the replication process of the data to other Files Store nodes. Replication is ..
  8. The Repository stores the new relative path to the data source and returns the request to the Gateway
  9. The Gateway sends the response to the user
  10. The Publish Workbook Results dialogue window is displayed to the user

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. Repository
  5. Application Server
  6. Data Engine
  7. File Store
  8. Repository
  9. Gateway
  10. Client

 

Flow: Publish a Data Source - Live Connection

Description

 

  1. Tableau Desktop requests to upload the datasource
  2. The Gateway passes the request to the Application Server
  3. The Application Server processes the request and sends it as XML to store in the Repository
  4. The Repository stores the datasource XML (including connection information) as a .twb file, and returns the request to the Application Server
  5. The Application Server creates the Publish Workbook Results dialogue window
  6. The Gateway sends the response to the user
  7. The Publish Workbook Results dialogue window is displayed to the user

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. Repository
  5. Application Server
  6. Gateway
  7. Client

 

Flow: Publish a Workbook - Live Connection

Description

 

  1. Tableau Desktop generates thumbnails for the workbook, then requests to upload the workbook and sends a .twbx file
  2. The Gateway passes the request through the Application Server
  3. The Application Server processes the request and sends it as XML to store in the Repository
  4. The Repository stores the thumbnails and the workbook XML (including connection information)
  5. The Application Server creates the Publish Workbook Results dialogue window
  6. The Gateway sends the response to the user
  7. The Publish Workbook Results dialogue window is displayed to the user

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. Repository
  5. Application Server
  6. Gateway
  7. Client

 

Flow: Publish a Workbook - Extract

Description

 

  1. Tableau Desktop generates thumbnails for the workbook, then requests to upload the workbook and sends a .twbx file
  2. The Gateway passes the request through the Application Server
  3. The Application Server processes the request and sends it as XML to store in the Repository
  4. The Repository stores the thumnails and the workbook XML (including connection information)
  5. The Application Server passes the request to the File Store
  6. The File Store sends the relative path (GUID) to the repository, then starts replication process of the data to other Files Store nodes
  7. The Repository stores the new relative path to the data source
  8. The Application Server creates the Publish Data Source Results dialogue window
  9. The Gateway sends the response to the user
  10. The Publish Workbook Results dialogue window is displayed to the user

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. Repository
  5. Application Server
  6. File Store
  7. Repository
  8. Application Server
  9. Gateway
  10. Client

 

Flow: Web Edit New Workbook - Published Extract

Description

 

  1. The user requests to create a new workbook from a published data source u..
  2. The Gateway receives the request and forwards it to the Application Server ..
  3. The Application Server completes authentication and starts rendering the c..
  4. The VizQL Server creates a new session and a new empty workbook and wor..
  5. The Repository sends the results of the query back to the VizQL Server, as w..
  6. The VizQL Server connects to the published data source through Data Server
  7. The Data Server acts as a proxy to access the published extract and sends th..
  8. The Data Engine connects to the Hard Drive and pulls the extract from the D..
  9. Data from the extract is passed to the Data Server for interpretation, which ..
  10. The VizQL Server renders blank web editing interface
  11. The Application Server loads the interface that surrounds the web editing in..
  12. The Gateway sends the response to the user
  13. The user can now see and use web authoring on the selected published data

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. VizQL Server
  5. Repostory
  6. VizQL Server
  7. Data Server
  8. Data Engine
  9. Data Server
  10. VizQL Server
  11. Application Server
  12. Gateway
  13. Client

 

Flow: Web Edit New Workbook - Published Live Connection

Description

 

  1. The user requests to create a new workbook from a published data source u..
  2. The Gateway receives the request and forwards it to the Application Server ..
  3. The Application Server completes authentication and starts rendering the c..
  4. The VizQL Server creates a new session and a new empty workbook and wor..
  5. The Repository sends the results of the query back to the VizQL Server, as w..
  6. The VizQL Server connects to the published data source through Data Server
  7. The Data Server connects to data connections
  8. Data connections are used to query the external data source
  9. The external data source returns the data to the Data Server for interpretati..
  10. The Data Server passes the interpreted data to the VizQL Server
  11. The VizQL Server renders blank web editing interface
  12. The Application Server loads the interface that surrounds the web editing in..
  13. The Gateway sends the response to the user
  14. The user can now see and use web authoring on the selected published data

 

Process

 

  1. Client
  2. Gateway
  3. Application Server
  4. VizQL Server
  5. Repostory
  6. VizQL Server
  7. Data Server
  8. Data Connections (Drivers, Tabprotoserv, HTTP based, etc.)
  9. External Data Services
  10. Data Server
  11. VizQL Server
  12. Application Server
  13. Gateway
  14. Client

Filter Blog

By date: