WHITE PAPER. Domo Advanced Architecture



Similar documents
tibbr Now, the Information Finds You.

Sisense. Product Highlights.

Cisco is a registered trademark or trademark of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.

Sciforma 6.0. Portfolio & Project Management Software. Vision Focus Control

Sostenuto 4.9. Hardware and Software Configuration Guide. Date: September Page 1 of 13

DEPLOYMENT ROADMAP March 2015

AppBoard TM 2.6. System Requirements. Technical Documentation. Version July 2015

everything HelpDesk [Ease of Use] [100% Web Help Desk] [Business Process Automation] [World Class Customer Service]

Integration Service Database. Installation Guide - Oracle. On-Premises

Open Source Business Intelligence Intro

Pentaho Reporting Overview

Scalability and Performance Report - Analyzer 2007

<Insert Picture Here> Oracle Policy Automation System Requirements

1. INTERFACE ENHANCEMENTS 2. REPORTING ENHANCEMENTS

What s New in JReport 12

MicroStrategy Course Catalog

MEGA Web Application Architecture Overview MEGA 2009 SP4

Kony MobileFabric. Sync Windows Installation Manual - WebSphere. On-Premises. Release 6.5. Document Relevance and Accuracy

SysPatrol - Server Security Monitor

IBM WebSphere Business Monitor, Version 6.1

Zend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues

Style Intelligence. InetSoft. Dashboards. Reporting. Mashups. open standards innovation. Introduction

Interact Intranet Version 7. Technical Requirements. August Interact

Technical Specifications

Oracle Business Intelligence Publisher. 1 Oracle Business Intelligence Publisher Certification. Certification Information 10g Release 3 (

ManageEngine Exchange Reporter Plus :: Help Documentation WELCOME TO EXCHANGE REPORTER PLUS... 4 GETTING STARTED... 7 DASHBOARD VIEW...

Kony Mobile Application Management (MAM)

Installing The SysAidTM Server Locally

Heroix Longitude Quick Start Guide V7.1

PUBLISH YOUR COLLECTIONS TO THE WEB

Prognoz Payment System Data Analysis. Description of the solution

BusinessObjects Enterprise XI 3.1 for Windows

OpenAM. 1 open source 1 community experience distilled. Single Sign-On (SSO) tool for securing your web. applications in a fast and easy way

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

SNOW LICENSE MANAGER (7.X)... 3

TG Web. Technical FAQ

What is Aconex Local Copy? Controlling Access to a Datastore Hardware Requirements Software Requirements Installing Aconex Local Copy Troubleshooting

How To Use Tsplashbox On A Pc Or Mac Or Mac (For A Pc) With A Windows 7 Computer (For Mac) Or Mac) With Tsplatro (For Pc) Or Ipad (For Windows) With An

JAVASCRIPT CHARTING. Scaling for the Enterprise with Metric Insights Copyright Metric insights, Inc.

RemoteTM Web Server User Guide. Copyright Maxprograms

Vanilla44 New Features

SNOW LICENSE MANAGER (7.X)... 3

Informatica Data Director Performance

ORACLE HYPERION ENTERPRISE PERFORMANCE MANAGEMENT SYSTEM RELEASE INSTALLATION START HERE

SAP BusinessObjects BI Platform 4.1 Supported Platforms (PAM)

CRM Navigation Guide. Department of Developmental Disabilities. June, 2015

<Insert Picture Here> Oracle Policy Automation System Requirements

System requirements. Java SE Runtime Environment(JRE) 7 (32bit) Java SE Runtime Environment(JRE) 6 (64bit) Java SE Runtime Environment(JRE) 7 (64bit)

QLIKVIEW INTEGRATION OVERVIEW


Phire Architect Hardware and Software Requirements

FileNet Business Activity Monitor (BAM) Release Notes

FileMaker Security Guide The Key to Securing Your Apps

System Requirements for Microsoft Dynamics NAV 2016

AVG Business SSO Partner Getting Started Guide

Learn more about the technology that makes Workforce Central 8 work

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

StreamServe Persuasion SP5 StreamStudio

Red Hat Network: Monitoring Module Overview

Automated Process Center Installation and Configuration Guide for UNIX


HYPERION RELEASE SUPPORTED PLATFORM MATRICES

Logi Analytics provides a broad, enterprise BI solution that embraces operational reporting,

Manual. Netumo NETUMO HELP MANUAL Copyright Netumo 2014 All Rights Reserved

TECHNICAL WHITEPAPER. Salesforce.com Integration

inforouter V8.0 Server & Client Requirements

Portal for ArcGIS. Satish Sankaran Robert Kircher

Kony MobileFabric. Sync Server Tomcat Installation Manual. On-Premises

System Requirements for Microsoft Dynamics NAV 2016

SMART Vantage. Installation guide

ElegantJ BI. White Paper. The Enterprise Option Reporting Tools vs. Business Intelligence

Uptime Infrastructure Monitor. Installation Guide

Business white paper. HP Process Automation. Version 7.0. Server performance

Enterprise Manager. Version 6.2. Installation Guide

August 2014 San Antonio Texas The Power of Embedded Analytics with SAP BusinessObjects

Reporting Services. White Paper. Published: August 2007 Updated: July 2008

Filr 2.0 Administration Guide. April 2016

Enterprise Data Visualization and BI Dashboard

Microsoft Windows Apple Mac OS X

Crystal Reports Server Embedded 2008 with Service Pack 7 for Windows Supported Platforms

BusinessObjects XI R2 Product Documentation Roadmap

Deploy. Friction-free self-service BI solutions for everyone Scalable analytics on a modern architecture

Jitterbit Technical Overview : Microsoft Dynamics CRM

SAP Business Objects Security

System Requirements for Microsoft Dynamics NAV 2016

Online Courses. Version 9 Comprehensive Series. What's New Series

LDAPCON Sébastien Bahloul

Drupal Performance Tuning

System requirements. for Installation of LANDESK Service Desk Clarita-Bernhard-Str. 25 D Muenchen. Magelan GmbH

SuperOffice Pocket CRM

KonyOne Server Prerequisites _ MS SQL Server

OnCommand Performance Manager 1.1

Implementation Guide. Version 10

This document is provided to you by ABC E BUSINESS, Microsoft Dynamics Preferred partner. System Requirements NAV 2016

Remote Connectivity to XV, XP and epro units running Visual Designer

Microsoft Windows Apple Mac OS X

Microsoft Services Exceed your business with Microsoft SharePoint Server 2010

GADD Dashboard Express

Sophos Mobile Control Installation guide. Product version: 3

Transcription:

WHITE PAPER Domo Advanced Architecture

Overview There are several questions that any architect or technology advisor may ask about a new system during the evaluation process: How will it fit into our organization and technology stack? How will it fit with our security model? What other systems will it be interoperating with? What are the touch points to other systems? What kind of resources will it require? How extensible is it? Is there an architecture diagram? This paper is a brief architectural overview of Domo Advanced that will answer these and other common questions. It is intended for a technical evaluator or system architect, and therefore assumes a fairly technical background. However, it does not delve into the fine details of implementation. If more details are needed in specific areas, please contact Domo directly at 800-899-1000. 2

Domo Advanced Components Domo Advanced is made up of several applications: Domo Advanced Builder is a desktop application written in Java, which is used to design and create dashboard applications. Because it is a Java application, it can run on Windows, Mac OS/ X, Linux and other operating systems for which Java is available. Domo Advanced Server is a server application written in Java, which runs in a Java web application server. This is the main Domo application, which serves up dashboards as browser-based applications. Domo Advanced Administrator is a server application written in Java, which also runs in a Java web application server. The Administrator is used to configure and manage one or more Domo Servers. It is recommended that this application be installed on a secure server, different than the Domo Advanced Server in production installations. Domo Mobile is a specialized mobile application written for the iphone, ipad, Android and Blackberry, which allows access to Domo dashboards on these devices. The majority of this paper will focus on Domo Advanced Server and Domo Advanced Administrator. Integration Both Domo Advanced Server and Domo Advanced Administrator are implemented as Java-based web applications (see Architectural Diagram ). As such, they require a Java web application server environment to run. Domo Advanced ships with a reduced version of Apache Tomcat, which is an open source (reference implementation) Java web application server. Domo Advanced can be deployed on the included Tomcat, but it is not recommended and many implementors choose to install it using their existing Java web application server. Domo Advanced can be installed on any of the major Javabased systems, such as Oracle WebLogic, IBM Websphere, Oracle Application Server, JBoss or Apache Tomcat. Implementation in Windows-only shops that do not have a Java web application server environment may choose to run Domo Advanced Server and Domo Advanced Administrator in Apache Tomcat and configure Microsoft IIS to use the Apache Tomcat connector. This connector allows all traffic between the client browser and Domo Advanced to pass through and appear as though it is coming from IIS. Any of these application server environments can be configured to use SSL as an added measure of security. This is especially important if the dashboard applications will be available outside the corporate firewall. Supported Browsers Domo Advanced currently supports the following browsers: Microsoft Internet Explorer version 7 and newer Mozilla Firefox version 3 and newer Apple Safari version 5 and newer Google Chrome version 12 and newer Other browsers may also work correctly but are not officially supported. Mobile devices can access Domo Mobile dashboards through their built-in browser. Mobile dashboards use a very limited set of HTML, CSS and no Javascript, so most of the built-in browsers work with this output. 3

Architectural Diagram Plugin Architecture Domo Advanced designers wanted to have an open architecture that could be extended as needed. Some of the specific areas that custom capabilities may be needed are authentication and authorization, loading data from proprietary sources, and the ability to create custom code to handle the embedding of unique content, such as Google Maps. Domo Advanced is designed to support custom capabilities through plugin modules. A set of APIs and interfaces are provided to extend Domo Advanced Server in specific areas. The custom code is written in Java (or a Java wrapper to native code). Authentication and Security A key part of any implementation is providing secure and restricted access to dashboard applications. While some applications may be available to everyone in a company, others may be restricted to certain groups based on their role. Domo Advanced can be configured to integrate into existing Active Directory, LDAP or a custom authentication environment. Any of these systems can be configured to support SSO (single sign-on) if the infrastructure is in place. Active Directory and LDAP authentication can usually be accomplished via configuration parameters only. Different authentication environments will require a custom authentication module, called an authentication plugin. An authentication plugin communicates with a database or internal system through an API and verifies authentication/access permission for the specific user, as well as the groups/roles the user belongs to, the user s email address and other key information for the user. The authentication plugin is written in Java. Often, SSO systems are quite unique to a company and vary from home-grown to customized commercial implementations. Integrating with these environments will also require that a custom authentication plugin be created. Several examples of authentication plugins are included with the product as a starting point for a custom solution. Domo Professional Services is also available to help with the creation of a custom authentication plugin. Domo Advanced Administrator is used to grant access to dashboard applications, pages within those dashboards and even individual key performance indicators (KPIs) based on the groups/roles that a user belongs to. For environments that do not have a directory service (or existing authentication solution) but still want to restrict access to dashboard applications, Domo Advanced includes a simple built-in security system of users and groups that can be administered from the Domo Advanced Administrator. The information provided to Domo Advanced in the authentication process may also be used when accessing data from databases and other data sources. This allows database access policies to be enforced for users of the dashboard applications when necessary. 4

Data Sources When Domo Advanced Server loads data from an external source, it is represented internally in what is called a datafunnel. A datafunnel is a twodimensional abstraction of the data, no matter what the source of the original data is. Once data is loaded into a datafunnel, it can be manipulated, transformed, filtered, reformatted and operated on in a variety of ways before it is consumed into a graphical representation (graph, map, gauge, etc.) or presented in another form, such as a table. Domo Advanced Server can access data from a variety of sources. Database access is accomplished through Java JDBC drivers. In Windows environments, ODBC is also supported. Some of the popular databases that are supported include Oracle, DB2, Microsoft SQLServer, MySQL and PostgreSQL. But any SQL database for which there is a JDBC driver should be accessible from Domo Advanced via database-specific SQL queries. For detailed information on setting up access to other SQL databases see the online documentation at www.domo.com/support/documentation. Domo Advanced Server can also access data in Microsoft Excel files, CSV and tab-delimited text files, and HTML tables from internal or external web pages. Data residing in Business Objects Universes can also be accessed directly by Domo Advanced Server. Versions R2 and R3 are supported. Configuration requires the appropriate Business Objects API libraries to be copied to a location where Domo Advanced Server can access them to communicate with the Business Objects server. These libraries are specific to the version of Business Objects that is installed. Domo Advanced Server includes a data connector for Salesforce.com. The connection to Salesforce.com requires a username and password to gain access to the data. The user account can be one set up specifically for data access, or if the dashboard is displayed inside of Salesforce, it can be tied directly to the user viewing the dashboard application. OLAP cube data can also be accessed by Domo Advanced Server via the XMLA interface. Cubes that support this protocol include Microsoft Analysis Services, SAP Business Warehouse, Oracle Hyperion Essbase, Pentaho Mondrian and others. Domo Advanced Server also provides a plugin architecture to access data from sources that are not natively supported. This allows custom Java code to be written to access proprietary data systems. This same mechanism can be used to create compute-intensive data transforms that operate on data in an existing datafunnel. When data is accessed in Domo Advanced Server, it is loaded into what is called a datafunnel. One or more of these datafunnels can then be further queried, including database joins, as a new data source. This allows queries to be performed across databases and against Excel or CSV files. This is accomplished by turning an in-memory datafunnel into a temporary database table, and then the SQL queries are performed against one or more of these temporary tables. This process only happens when doing an SQL query against a datafunnel. Normal datafunnel transforms and manipulations are done completely in memory. This ability to create a temporary table from a datafunnel requires that a database server be configured in which these temporary tables can be created. Domo Advanced Server ships with PostgreSQL, which is a feature-rich open source database. However, the database used for these queries is fully configurable. The second unique data source is called the snapshot database. The tables in this database are created from datafunnels as well, similar to the datafunnel query tables. However, they are not temporary. They can be added to or replaced on a scheduled basis. This allows snapshots of points in time to be taken from data sets that are transactional, allowing trending information to be gathered over time. The default for this database is PostgreSQL, but it can also be configured independently of the datafunnel query database. 5

Caching, Scheduled Queries and Scheduled Snapshots Data loaded by Domo Advanced Server is cached internally as a datafunnel in memory. This allows subsequent requests for the data to come from cache rather than requesting it again from the data source. This can provide a significant increase in performance when multiple users are accessing the same data. Caching from databases and other dynamic datasources is set to 15 minutes by default, but this default value can be changed. Also, each datafunnel can specify a specific timeout, which is either longer or shorter than the default. Data that is loaded from files such as Excel will time out when a different version of the file exists, or when the item in the cache is removed due to inactivity or memory constraints. The amount of memory allocated to caching is configurable. Once the cache in memory is full, Domo Advanced Server can optionally be configured to spool some cached items to disk in preference to being removed from the cache. Reloading cached items from disk is often much faster than going back to the original data source. In environments where data sources are slow or queries are complex, it may be beneficial to schedule datafunnel loads. This may be particularly helpful when data may update only daily or a couple of times during the day. A scheduled datafunnel load can take place during off-peak times and have a long timeout. As users access the dashboard throughout the day, the data accessed will have already been cached. This technique may also work when a larger set of data can be loaded, and data specific to a user can be subqueried from the larger working set based on the user role. This technique may not be appropriate if there are many users/roles and each user s/role s set of data is different, or the amount of data that would need to be loaded into the cache is very large (a data set with millions of rows). Scheduled loads can be controlled based on time(s) of day, day(s) of the week or day(s) of the month, with granularity down to the second. Datafunnel snapshots can also be scheduled to happen at regular intervals. A key benefit here is the ability to take snapshots in time of transactional data metrics. Many systems can tell you the current state of the data, but cannot tell you the state of the data one day ago or one month ago. Snapshots allow you to create trending information on key metrics by saving those key metrics in a scheduled datafunnel snapshot. Alerts, Notifications and Sending Email The Domo notification functionality sends email alerts and notifications to users using Sun s JavaMail API. Domo Advanced Server does not include an SMTP server, therefore it requires access to an SMTP server to send email messages. Domo Advanced Server can communicate with SMTP servers that require authentication or secure connections (TLS/SSL). The SMTP connection port is also configurable. Email addresses for Domo users can be added manually or pulled automatically from a directory service, such as Active Directory or LDAP, or a custom database using the Domo authentication framework. Embedding Domo Content Many customers create content in Domo Advanced and then embed that content in other applications or containers. Domo Advanced supports a variety of methods for accomplishing this: Domo Advanced JSR-168 portlet - Domo delivers a portlet that is JSR-168 compliant. When the Domo context is deployed within a compliant portal container, the Domo Advanced portlet will be available to be embedded into a portal page. Support for Microsoft Sharepoint - Domo delivers a Sharepoint web part that can be easily installed into the Sharepoint application server. Once installed, the Domo Advanced web part is available to be added to a Sharepoint page. The Domo Advanced web part communicates to Domo Advanced Server via HTTP protocol. Other Applications - Domo Advanced content can be embedded in any web application using the Domo Advanced JavaScript embedder. The embedded content can be a specific KPI, a page with several KPIs on it or an entire dashboard. This allows customers who have created their own internal portal or custom application framework to embed Domo Advanced content as a first-class citizen with other content and not link to a separate page to view dashboard content. 6

Linking to Other Applications from Domo Advanced A very unique capability of Domo Advanced is the ability to drill down to other applications from Domo Advanced content. For example, if you have a bar in a chart that represents current opportunities in a CRM application such as Salesforce.com, you can click on that bar and get a list of the individual opportunities, and then click on one of those opportunities and go directly into that opportunity in Salesforce.com. The information that is needed to identify the selected item can be passed from Domo Advanced to the external application. This capability is available for any browserbased application that can be passed parameters on the URL, or as POST variables. Pulling Content from Other Applications into Domo Advanced One of Domo Advanced s capabilities is the ability to embed content from other applications inside of dashboards. Typically this is done by using a URL object or by creating an iframe in an HTML code block in a Domo Advanced page. The source for this URL object or iframe is then specified as a URL to the external content/application that is to be embedded on the dashboard page. Resource Requirements, Scalability and Sizing Domo is often asked, How many simultaneous users can a single Domo Advanced Server support? There are so many variables that can affect the number of users and performance that giving a definitive answer is difficult. However, here is some information that may be helpful in planning: If there is already a Java web application server environment in place, then it might be possible to install Domo Advanced Server in that environment. Depending on user activity level and dashboard complexity, one processing core/100 users might be a reasonable estimate. A minimum of 512 MB of memory dedicated to Domo Advanced Server in small installations, and 1 GB or more is preferred when there are several users. If the number of concurrent users is over 500, then certainly more memory may be beneficial. If Domo Advanced Server is the first deployment that will require a Java web application server, then a dedicated server would be a good choice. For a workgroup or small department deployment with minimal usage, a dual core server with 4 GB of memory will probably be sufficient. For a larger department, a quad core server with 4 GB of memory may be more appropriate. Internal tests were conducted on a dual-processor quad-core 2.0 Ghz Xeon server with 4 GB of memory, 1 GB of which was dedicated to Domo Advanced Server. In the test case, we had a separate dedicated database server for the data source, and the database queries were fairly simple so that the database performance had very little impact on the overall throughput. We simulated over 2,000 concurrent users, which were fairly active, and still maintained an average page load time of less than 2 seconds. Dashboard activity consisted of a new dashboard page being requested, or a simulated drilldown into a KPI, or a popped up KPI about every five seconds. Conclusion This paper answers many of the key questions that are common from any technical evaluator or system architect that is considering how Domo Advanced integrates into an existing environment. Please contact Domo if there are specific areas where more detail is required or if there are questions in areas that were not covered in this paper. Contact Info: Domo 350 S. 400 W. Suite 100 Lindon, UT 84042 Phone 1.800.899.1000 Fax 1.801.805.9501 www.domo.com 7