You are on page 1of 36

Panopticon EX Technical Implementation Planning Guide

Includes Information on EX Designer and EX Server Version 5.7 Published January 2011

USA Panopticon Software Inc The Chrysler Center 405 Lexington Avenue 26th Floor New York, NY 10174 USA Phone: +1 646 912 8444 Fax: +1 646 416 6996

UK Panopticon Software Tower 42 25 Old Broad Street London EC2N 1HN United Kingdom Phone +44 (0)20 7877 0640 Fax: +44 (0)20 7877 0641

Sweden Panopticon Software AB World Trade Center Klarabergsviadukten 70 PO Box 1765 SE-111 87 Stockholm Sweden Phone: +46 (0)8 53 480 480 Fax: +46 (0)8 53 480 489

www.panopticon.com
Panopticon Software 1999-2011. All rights reserved.

Table of Contents
1. OVERVIEW ............................................................................................................................................... 4 INTRODUCTION .................................................................................................................................. 4 ASSOCIATED DOCUMENTATION.............................................................................................................. 4 2. ARCHITECTURE ......................................................................................................................................... 5 COMPONENTS ................................................................................................................................... 5 EX Designer .............................................................................................................. 5 EX Server .................................................................................................................. 5 EX Web Client ........................................................................................................... 5 MODELS ........................................................................................................................................... 6 EX Workbook............................................................................................................ 6 Data Tables .............................................................................................................. 7 Platform ................................................................................................................... 8 Cubes & Data Flow................................................................................................... 9 FILE LOCATIONS ............................................................................................................................... 12 EX Designer ............................................................................................................ 12 EX Server ................................................................................................................ 13 PLATFORMS ..................................................................................................................................... 15 EX SERVER LOGICAL MODEL............................................................................................................... 15 ENVIRONMENTS ............................................................................................................................... 16 DEPLOYMENT MODELS ...................................................................................................................... 17 DATA ACCESS................................................................................................................................... 18 Data Query Retrieval Timeliness ............................................................................ 19 3. PLANNING .............................................................................................................................................. 20 INFRASTRUCTURE REQUISITION ........................................................................................................... 21 EX DESIGNER INSTALLATION ............................................................................................................... 23 EX WEB CLIENT JAVA INSTALLATION / CONFIRMATION ........................................................................ 23 EX SERVER INSTALLATION ................................................................................................................... 23 EX SERVER CONFIGURATION ............................................................................................................... 24 .NET Framework & WCF Registration .................................................................... 24 Disk permissions .................................................................................................... 24 Web Service Access Confirmation .......................................................................... 24 Enabling Loop Back connections to the EX Server ................................................. 24 Remote Connectivity .............................................................................................. 24 Data Access ............................................................................................................ 24 Example Workbook Retrieval ................................................................................. 25 Publishing and Access ............................................................................................ 25 Configuring Administrators .................................................................................... 25 ENTERPRISE SECURITY MODEL CONFIGURATION ..................................................................................... 26 EXISTING DATA REVIEW ..................................................................................................................... 28 DATA TABLE BUILD ........................................................................................................................... 29 MIGRATION OF REPORTS TO EX WORKBOOKS ......................................................................................... 30 EX TRAINING ................................................................................................................................... 31 EX Designer Introduction ....................................................................................... 31 EX Designer Advanced ........................................................................................... 31 NEXT GENERATION WORKBOOK DISCUSSION AND TRAINING .................................................................... 31 RELEASE PROCEDURE CONFIRMATION .................................................................................................. 32 Panopticon EX Technical Implementation Planning Guide January 2011 Page 2 of 36

EX WEB CLIENT CORPORATE SKINNING ................................................................................................ 33 SECURITY REVIEW OR AUDIT............................................................................................................... 34 INDEX .................................................................................................................................................................. 35

Panopticon EX Technical Implementation Planning Guide January 2011

Page 3 of 36

1. Overview Introduction
Panopticon EX provides an enterprise data visualization platform, which can be deployed within the enterprise, whether internally or externally focused. The platform supports: Real Time Visual Analysis Time Series Analysis Financial Services specific requirements Embed capabilities

A typical implementation involves: Technical installation & configuration User training Dashboard & associated data design Release and security procedures

This document details the both the technical architecture and the planning steps for a standard enterprise implementation.

Associated Documentation
Panopticon EX ships with the associated documentation: EX Technical Implementation Planning Guide (this document) EX Installation & Troubleshooting Guide EX Reference Guide EX User Guide EX Quick Start

The EX Installation & Troubleshooting guide is necessary reading for technical personnel. The Reference Guide, User Guide and Quick Start documents are targeted at business users who will be using the EX product to create Workbooks and analyze data.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 4 of 36

2. Architecture Components
The EX platform consists of:

EX Designer
Desktop Installed WPF application. All Workbook design (layout and data specification) is performed using EX Designer. It also supports visual data analysis activities using pre-defined EX Workbooks. Data is modeled in memory on the desktop within the EX Designer and then rendered using Microsoft WPF.

EX Server
Server-installed ASP.NET, WPF and WCF application hosted by Microsoft IIS. EX Server stores published EX Workbooks and Data Tables (Meta Data) EX Server also provides a central caching data conduit for client data requests. EX Server does not typically perform any analytical functions.

EX Web Client
Web-delivered Java applet-based application. The EX Web Client provides visual data analysis capabilities for published EX Workbooks and offers analytical capabilities virtually identical to those provided in EX Designer. Data is modeled in memory on the desktop within the applet and then rendered using Java Swing.

EX Designer and Web Client communicate to EX Server via a published web service which retrieves: EX Workbooks (XML data structures) Data (structures optimized to minimize bandwidth and CPU load)

Panopticon EX Technical Implementation Planning Guide January 2011

Page 5 of 36

Models
EX Workbook
An EX Workbook is stored in a zipped XML format. It consists of: Dashboards (each tab in the workbook). Data Tables Image Resources Action Definitions

Each dashboard can consist of: Visualizations Legends Filters Action Controls Images & Text Labels

Data Tables have a one-to-many relationship with other components. A visualization or filter is associated with a single data table, although a data table can be associated with many visualizations or filters. A Legend is associated with a single visualization (for example, a Color Legend).

Many Dashboard Tabs

Data Table Data Table

Meta Data

Meta Data

Many Data Tables


Connections to one or more source data sets Metadata (calculated columns, SQL queries, labels, parameters)

Many Visualizations
Each Data Table can connect to many Visualizations Each Visualization connected to a single Data Table

Many Filters
Drag-and-drop Filtering the data

Panopticon EX Technical Implementation Planning Guide January 2011

Page 6 of 36

Data Tables
A Data Table is a metadata structure which defines: Data sources and associated connection criteria. Associated queries to be executed for each data source. Join/Union type between multiple data sources. Whether the data source is non-additive in nature. Whether the database data source should be enabled for data on demand. Whether data transforms are to take place. Parameters to apply. Calculations to apply: a) Row / Node-based. Aggregation up a hierarchy is performed based on the sum of the individual components.

b) Time Window. Perform calculations across a time series from a defined start time to a defined end time. c) Time Period. Perform calculations across a time series relative to each time slice.

Data Tables do NOT store any data. They simply store information about how to access and process the externally held data. Data Tables can either be: Stored within a workbook. Saved separately to disk Published separately to the server.

Data tables saved or published separately act as Templates. They can be copied into a new or existing workbook, allowing central data administration. However changes to the central data table template post addition to a workbook, are NOT reflected in the copy of the data table in the existing workbook. If data access is to be centralized, then the data table should simply query an underlying view or table available in the source data repository. Through this mechanism, changes to the data columns will automatically be passed into the data table and therefore the workbook it is associated with.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 7 of 36

Platform
The EX Platform consists of: EX Server EX Designer EX Web Client (Java Applet)

Windows PCs
EX Web Client

EX Server EX Designer
EX Web Client

EX Designer

EX Web Client

Multiple Designers One or More Servers Multiple Users

EX Server

EX Web Client

EX Web Client

Each EX Workbook contains a series of data visualizations that are rendered through the EX platform, while each visualization is driven by a StreamCube, which is effectively a micro hybrid streaming relational OLAP cube. Multiple StreamCubes run in memory to allow rapid interaction with the data set through the visualizations. The data tables drive the StreamCubes. The StreamCubes are held in memory within: EX Designer EX Web Client (Java Applet)

EX Server acts primarily as a caching data conduit and provides web services as needed that retrieves, caches (a time-to-live period measured in seconds) and delivers to the user. StreamCubes do not run on EX Server in the general usage case. However, when accessed by a web browser that does not run Java, the system generates EX Workbooks dynamically on EX Server. This is the only case in which the system creates StreamCubes that run on EX Server in a user session context.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 8 of 36

Cubes & Data Flow


The Panopticon StreamCube data model operates in three ways: In-memory streaming OLAP for small data volumes (typically less than 250,000 rows). In-memory periodically refreshed OLAP for small data volumes (typically less than 250,000 rows). Hybrid relational OLAP (large data volumes of more than 250,000 rows).

In all cases the objective is to build StreamCubes based on the interactive visual displays that utilize them. As a consequence, visual perception limits are the primary limiting factor in the amount of data that can pushed effectively to the screen. Streaming Sources In this case there is a subscription (typically on a lossy basis) to a streaming data source. A series of data fields are retrieved along with a specified key field. Row / tuple operations occur on this key field, processing inserts, updates and deletes as necessary. Note is it much faster to process updates than it is to process inserts or deletes. The streaming data is loaded into an in-memory table representing the current view of the data. Note: some streaming data sources simply supply data deltas, while others supply base plus ongoing deltas. As a consequence, data held in this in-memory table will differ depending on the streaming source. EX Designer, EX Server and the EX Web Client handle streaming data differently: EX Designer When EX Designer is in presentation mode, the subscription is activated and the in-memory table is populated. The data in this table is pushed into associated StreamCubes (one StreamCube per visualization), every n milliseconds, where n is determined within the data connection configuration. This throttles updates into the StreamCube and minimizes CPU consumption. EX Server and EX Web Client When an EX Web Client requests data from a streaming source, the request is passed to the EX Server. The EX Server activates the subscription and populates an in -memory table in the same manner as performed on the EX Designer. A snapshot of the latest version of the in-memory table is delivered to the web client on a periodic basis. This snapshot delivery period is determined within the data table configuration. The web client receives the latest snapshot of data and updates its internal inmemory StreamCubes.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 9 of 36

Polled Sources A polled source is typically a database or flat file. Panopticon EX queries data from polled sources periodically as determined by the data table configuration. The retrieved data is fully loaded into an in-memory table structure. EX Designer, EX Server and the EX Web Client handle polled data differently: EX Designer When the EX Workbook is opened, the data is retrieved for all data tables utilized in the active dashboard. Other data tables will only be retrieved when their parent dashboards are activated (selected and made visible). Data is retrieved into the in-memory table structures and then loaded fully into in-memory StreamCubes. When EX Designer is set to presentation mode, the periodic refresh period will be enabled. In this case, data will automatically be refreshed into the StreamCubes and therefore the display will be automatically updated. There is also the ability to select a manual update that forces a subsequent data refresh to occur. EX Server and EX Web Client EX Server provides an in-memory cache for frequently requested data in order to minimize load on linked data repositories. When an EX web client requests data from a polled source, the request is passed to the EX Server. The EX Server checks to see if the data is stored in the cache whether the time-to-live of the cached data is within the selected limit. If the data is not present or has expired, the EX server will request the data from the source data repository. The data will then be retrieved and stored in the in-memory cache with a time-to-live based on the cache setting defined in the EX workbooks data table. The data is then transferred in a zipped format over the web service to the EX web client which then updates its internal in-memory StreamCubes. The EX web client will repeatedly request updated data based on the cache/refresh period defined in the EX workbooks data table.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 10 of 36

Data on Demand Sources In this case, a large data set (typically consisting of millions of rows) is accessed through a hybrid OLAP model. The data table is configured to request data for a particular database table/view or custom SQL query and the On Demand Queries option is enabled. Unlike previous cases, the data is not fully loaded and aggregated into memory. Instead the aggregation and filtering tasks are, where possible, transferred to the back end data repository, which in turn returns a limited aggregated data set. This is then loaded into the Panopticon EX data structures and, where appropriate, aggregation continues. Using this technique, the system minimizes memory usage. In this case, the base SQL defined in the EX Workbook is used as a component of the overall SQL queries. The SQL queries are generated on the fly as the user accesses the EX Workbook. The data being requested from the data source, and therefore the dynamically generated SQL query depends on: The source table/view/query which may be parameterized The currently utilized variables (datetime, numeric & categorical) The currently utilized aggregation methods used for numeric variables The currently utilized hierarchical breakdown The current drill path The current visible detail level

This source SQL query becomes the basis of the dynamic query. The currently utilized datetime and categorical variables that are within the visible detail level are passed as SQL group by clauses. The currently utilized numeric variables are associated with their aggregation methods and added to the dynamically generated SQL. The current drill path becomes the filter clause on the dynamically generated SQL query. As a user interacts with the dashboard, every change in the following requires new data to be requested from the source data repository: Selected hierarchy Visible detail level Drill path Selected variables

As a consequence it is essential that the repository is able to execute the generated SQL in an efficient manner. This is typically less than two seconds per query.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 11 of 36

File Locations
EX Designer
The EX Designer stores four types of file. Program Files These are by default stored into the 32bit Program Files folder. 32bit Windows OS: C:\Program Files\Panopticon\EX 64bit Windows OS: C:\Program Files (x86)\Panopticon\EX Log and License Both the application log file and location for license file storage is the same. These are stored in the users profile under AppData or Application Data (Depending on the OS). Windows 7: C:\Users\*User Name+\AppData\Roaming\Panopticon\EX EX Designer Configuration Configuration settings for the EX Designer are also stored under the users profile. This path is generated by the .NET framework and is unique per installation. C:\Users\*User Name+ \AppData\Local\Panopticon_Software\EXDesigner.exe_Url_*Global Unique ID+\5.7.1.0 EX Workbooks, Data Tables, and Data Files EX Workbook and Data Tables can be stored anywhere on disk. However, there are default folders that can be modified in EX Designer and allow EX Workbook thumbnail images to be displayed automatically in EX Designer. By default these are stored in the users profile. C:\Users\*User Name+\Documents\Panopticon EX This folder includes the following sub folders: Data Example data files plus spreadsheets stored when saving published EX Workbooks locally. Data Tables Data tables that are saved as locally stored templates default to this folder. Example EX Workbooks Example EX workbooks that are shipped with the product. Reports Reports that are generated by EX, are by default stored in this folder. Workbooks Workbooks created in EX, are by default saved in this folder.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 12 of 36

EX Server
EX Server is installed on top of an existing MS IIS web server. Files are by default installed to C:\inetpub\wwwroot\panopticonex Although the files may be installed to any pre-defined location. Once installed the panopticonex folder consists of the following files and subfolders: Local Files Includes web pages to display workbook thumbnails and launch the web client. App_Data Storage of published EX Workbooks, data, EX server log and EX administrator listing. Bin Server software installation and license key file. Note: The license key should not be replaced by file copy. Instead license keys are added using the EX server web user interface. Controls Web controls that are rendered in the output HTML pages. Images Images used in the output HTML pages. JavaClient JAR Files required for the Java client.

The EX Server App_Data folder contains the following: Server Settings File EX Server Log Workbooks Folder Published workbooks are saved to this location. Data Folder Data files (such as Excel) referenced by published EX workbooks are saved to this location. Data Tables Folder Published data table templates are saved to this location.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 13 of 36

Archive Previously published EX workbooks are saved to this location upon a new publication event. This builds up a history of previously published EX workbooks, although this functionality is not yet exposed in the server user interface.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 14 of 36

Platforms
Panopticon EX can be installed on both 32 bit and 64 bit editions of Windows. EX Designer is distributed as a 32 bit application and runs on both 32 bit and 64 bit versions of Windows. EX Server can run in either a 32 bit or 64 bit mode, depending on the settings of the MS IIS web server. Typically the server is put into a 32 bit mode to support data drivers that are only available in 32 bit. An example of 32 bit only support is that historically available for Microsoft Access and Microsoft Excel connectivity (which are used heavily in the examples that ship with the product). In order to run the EX Server in a 32 bit mode: Windows 2003: The whole web server must be put into a 32 bit state. Windows 2008: The .NET Application pool under which the Panopticon Server runs can be put into a 32 bit state.

EX Designer can be installed and run on the following platforms: XP Vista Windows 7 Windows Server 2003 Windows Server 2008.

EX Server can be installed on the same platforms as EX Designer. However, for XP, this is limited XP Professional; IIS on this platform is limited to 10 connections. This can support demonstrations for nonstreaming sources but is not suitable for streaming sources via EX Server, which requires a more advanced OS.

EX Server Logical Model


EX Server consists of a series of web pages, the Java applet and the web service. The web service is installed on top of a stack as below: Web Pages / Applets Web Service Communication Framework Web Framework Programming Framework Web Server Operating System Consequently it is essential that: The Operating System is correctly installed. The MS IIS web server is correctly installed. The MS IIS authentication methods Windows & Anonymous are correctly enabled. The .NET Framework is correctly installed. The .NET Framework is correctly operating / registered with the MS IIS web server. EX Web Pages & Applet EX Web Service MS WCF ASP.NET MS .NET Framework 3.5 SP1 or Above MS IIS MS Windows Server

Panopticon EX Technical Implementation Planning Guide January 2011

Page 15 of 36

WCF is correctly operating / registered with the MS IIS Web server. The EX server software is correctly installed. Permissions are correctly set on the EX server web folders. Permissions are correctly set on folders containing data, such as file based databases, and database drivers, so that the Web server accounts can read and where necessary modify files.

Installation and common troubleshooting guidelines are listed in the EX installation guide. Common issues typically relate to the .NET Framework and WCF not being correctly registered with MS IIS due to the web server being installed after the .NET framework has been installed. These issues are quickly and easily resolved. Note: Both Anonymous and Windows Authentication are required to be enabled. Anonymous authentication is required to: Deliver web resources that do not require authentication (e.g. JAR files, Images, etc.). Deliver anonymous access workbooks.

Windows authentication is required to: Provide access to the system settings and administrative capabilities of the web server. Deliver permissioned access workbooks.

Environments
The server environments required in a client implementation are generally specific to the client, but typically mirrors the environments provided for databases. Some clients simply have a production server environment. Some have a staging and production server. Others have development, testing, and production. The purpose of multiple environments is typically to test: New software versions prior to installation in production. Changes to the underlying data structures / data repositories. Changes to integration points for implementation in which the EX web client is embedded in a larger web portal. Enterprise security and Single Sign On (SSO) Changes to data prior to public release (typically data staging).

Panopticon EX Technical Implementation Planning Guide January 2011

Page 16 of 36

Deployment Models
Workbook publication and promotion through installed server environments can occur in two ways. Manual publication from EX designer to each required EX server. Initial publication and subsequent file copy between environments.

The action of manually publishing workbooks requires the target server to be configured in the EX designer. This is specified under the menu *Tools Options+. Changes to the target server, require the EX designer to be restarted.

The publication process: Publishes the selected EX workbook to the specified EX server. Publishes authorization information detailing which users and groups can access the published workbook. (A companion authorization XML file is generated on the server in the same location as where the published workbook is stored). Publishes snapshots of any associated data files such as CSV and Excel spreadsheets that have been referenced in the EX Workbook. Clears the server workbook cache and reloads it with the XML of the newly published workbook. Clears the server data cache, removing any cached data relevant to data tables utilized within the published workbook.

When promotion between server environments is achieved through file copy, the following must occur: File copy of required EX workbooks, and associated authorization XML files. File copy of required associated data files (CSV/Excel) that were published along with the EX workbook. Typically in most production cases data will be sourced from a database, and consequently no data files will be copied. Manual cache clearing. The EX server System Settings page, includes the ability to clear the data and workbook caches.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 17 of 36

Data Access
Data access is achieved through one of the available EX data connectors including: Message Buses (Progress Sonic MQ, Active MQ, AMQP) CEP (Sybase Aleri, Sybase CEP R4) OLEDB (Standard relational databases). Excel CSV (Note: This requires an English or US locale).

In the cases of remotely located data repositories (message bus, CEP, database) a single account is used for accessing all data per that data table - data source instance. It is recommended that the server access be abstracted to allow easy migration between different environments without requiring changes to the underlying EX workbook, and its constituent data tables. The most common data repository is a relational database, which is either made available through: OLEDB Drivers ODBC Drivers (through the OLEDB ODBC Driver)

Relational database server abstraction is typically easiest achieved through the use of ODBC System DSNs (Data Source Names), where: The DSN details the database server location, database, access details, and so on. The EX workbook references the DSN and specifies the SQL to execute. Note: Oracle provides an alternative to ODBC by using TNS names, although the principles are very similar.

This level of abstraction allows each server environment to point to different database server environments, independently of what is written in the EX workbook. For example: Development environment utilize the development databases. Test environment utilize the test databases. Production environment utilize the production databases. Note: When using ODBC System DSNs, please be aware that there are distinct instances for 32 bit and 64 bit. If the server is configured into a 32bit mode, 32bit ODBC System DSNs must also be configured. Additionally the EX Designer is always 32bit, so 64bit machines running the EX Designer, will need to include 32bit DSNs. On 64bit version of Windows: The 64bit ODBC Data Source Administrator is available within Control Panel Administrative Tools. It is also available by executing: C:\Windows\System32\odbcad32.exe The 32bit ODBC Data Source Administrator is only available by executing: C:\Windows\SysWOW64\odbcad32.exe Panopticon EX Technical Implementation Planning Guide January 2011 Page 18 of 36

Data Query Retrieval Timeliness


The EX Workbook experience is designed around fast, fluid interaction with the underlying data. As a consequence, it is critical that data queries are optimized. When working with very large data sets, Query on Demand can be enabled, forcing EX data access into a ROLAP mode of operation, where queries are executed every time the display context changes. This makes query performance even more critical. An alternative to Query on Demand (QoD) is the division of data into summary and detailed datasets, which are accessed through navigation actions and data parameterization. This technique is lighter on the source database than QoD, but pushes aggregation & filtering tasks to the source data repository. Slow database query performance typically occurs when: Executing complex queries against underlying de-normalized data structures. Executing complex queries against underlying de-normalized data structures. Executing aggregation and filtering queries against underlying datasets that are not efficiently indexed. Executing queries involving complex calculations and aggregation across large datasets

Slow query performance includes any query that takes more than five seconds to execute. In these cases, an intermediary data layer is required which will typically: De-normalize the data structure into simple reporting tables or materialized views. Ensure all categorical columns that will be used in filtering and aggregation/group by operations are efficiently indexed. Ensure that complex calculations are performed once when the reporting layer is built, and not when the data is queried from EX.

Such a reporting database can be refreshed periodically and can be a separate database server environment, but usually is simply an additional small set of tables or materialized views on the parent database server.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 19 of 36

3. Planning
A typical corporate implementation of Panopticon EX involves the following steps. Some steps require Panopticon consulting resources, while others can be performed independently with the platforms associated documentation & materials. Infrastructure Requisition EX Designer Installation EX Web Client Java Installation / Confirmation EX Server Installation EX Server Configuration Enterprise Security Model Configuration Existing Data Review Data Table Build Migration of Reports to EX workbooks EX Training Next Generation workbook Discussion & Training Release Procedure Confirmation. EX Web Client Corporate Skinning Security Review / Audit

Panopticon EX Technical Implementation Planning Guide January 2011

Page 20 of 36

Infrastructure Requisition
The EX Server requires a Windows server environment for a production environment and is supported against: MS Window Server 2003, 32 and 64 Bit Editions MS Windows Server 2008, 32 and 64 Bit Editions

EX Server can also be installed on: Windows XP Professional Windows Vista Windows 7

However although these environments are suitable for development and testing, they are not suitable for production. This is especially the case with Windows XP Professional, which has a restricted instance of MS IIS that can only support a single web server and up to 10 concurrent connections. If there is the opportunity, we recommend Windows Server 2008, due to the improved MS IIS web server management capabilities. EX Server relies on the following being installed and configured correctly: MS Internet Information Server (MS IIS) MS .NET Framework v3.5 SP1 or Above

Minimum requirements for the server: Type CPU RAM Disk Value Pentium 4 (For x64 Intel & AMD x64 Compatible Processors) 1 GB available RAM 500MB available disk space

Recommended server specification: Type Value Either: 4 x Pentium 4 2 x Pentium Dual Core 1 x Quad Core (For x64 Intel & AMD x64 Compatible Processors) 2 GB available RAM 1GB available disk space

CPU

RAM Disk

Panopticon EX Technical Implementation Planning Guide January 2011

Page 21 of 36

Server sizing depends on the expected load including: CPU Number of concurrent requests RAM In-memory data cache Disk Software installation and workbook file storage.

Client perceived performance can be increased by: Increasing RAM in the server to ensure more data is retrieved from cache Add CPUs to ensure more tasks can execute in parallel, rather than being queued.

Common client scenarios are to host the EX server on a shared web server environment. Typically in this case the EX Server is allocated a separate .NET Application pool. The number of servers required depends on the clients corporate IT policies in regard to environments. However, a typical configuration is: 1 x Development Server 1 x User Acceptance Testing Server 2 x Production

With the production consisting of: 1 x Live 1 x Hot Stand by

With duplicated data and configuration between them.

EX Server is currently stateless and acts as a caching data conduit. It listens with its web service and supplies data when requested by the web client. However this mode of operation will change during subsequent releases scheduled for 2011 in order to support thin client delivery. In these scenarios the web server will both act as a caching data conduit and additionally render the store user sessions.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 22 of 36

EX Designer Installation
EX Designer software is only installed on the target machines of individuals who will be building EX workbooks. These machines require: MS Windows (XP, Vista, 7 in 32 bit or 64 Bit versions) MS .NET Framework 3.5 SP1 or above. Necessary database drivers to access target data repositories Necessary ODBC System DSNs (in 32/64bit as appropriate) to required data sources Network connectivity and name resolution to any required EX server

Plus the EX Designer software itself which consists of the Setup and MSI files. Note: The MSI file contains the software and is also used by Windows for un-installing the product at a later date.

EX Web Client Java Installation / Confirmation


Each workstation that will access EX workbooks via the web browser will require the free Java Virtual Machine to be installed, which must be v1.6.0 or above. This version was released by Sun on December 11, 2006. We recommend that the Java version be up to date. For best performance, the minimum version recommended is 1.6.12 (released in early 2009) as this version improves memory utilization. Verify the currently installed version of Java with this link: http://www.java.com/en/download/installed.jsp More details at: http://www.java.com Each workstation must also have network connectivity and name resolution to any required EX Server. The EX Web Client consists of: HTML Pages JAR files (Generating the Applet)

The Web client is not installed on the client machines, but rather is loaded dynamically from the EX server, when a workbooks web page is opened. In a standard workstation configuration, the JAR files are retrieved once, and stored on disk in the Java temporary cache. As a consequence subsequent workbook access will have a significantly reduced load time.

EX Server Installation
The EX Server installation process is typically very short and is defined in detail in the document Panopticon EX Installation & Troubleshooting Guide. Installation can only occur AFTER both MS IIS and the .NET Framework are installed on the target machine. Additionally the necessary database drivers to be used to connect to defined repositories must be installed.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 23 of 36

EX Server Configuration
Once the server has been installed it needs to be configured, and tested to ensure correct operation. The configuration steps are:

.NET Framework & WCF Registration


Confirm that the .NET Framework including WCF are correctly registered with the MS IIS web server. This is achieved by opening the web browser to: http://localhost/panopticonex (or use the virtual folder path that was specified at installation if different from the default). A listed error indicates a problem with registration, and the Installation & Trouble shooting guide, details how this can be resolved.

Disk permissions
Confirm that the disk permissions are correct. This is easiest achieved by adding the EX license, which causes the license to be uploaded and copied to disk. An error will indicate a problem with permissions, which can be resolved by following the steps detailed in the installation guide.

Web Service Access Confirmation


Confirm that the web service can be accessed. This can be achieved by opening the web browser to: http://localhost/panopticonex/panopticonserver.svc The resulting page will include a link to the web service WSDL. Ensure that this link can be followed. An error indicates that name resolution is not correctly configured on the machine.

Enabling Loop Back connections to the EX Server


The EX Server is generally accessed across a network via a fully qualified domain name. In the case of the applet, the web service is called directly. In the case of the web pages listing available EX Workbook and non-Java workbook delivery, the web page receives the request and then forwards the request to the web service. To support this functionality the Loop Back connection must be enabled for the active fully qualified domain name. This is detailed in the Panopticon EX Installation and Troubleshooting Guide.

Remote Connectivity
Confirm that the EX Server can be accessed remotely. The easiest way to confirm this is to enter the fully qualified domain name in the URL to the server. It is essential that both the requesting web browser (/machine) and the EX Server can resolve the fully qualified domain name. In the case of internet-facing EX Servers, the name resolution may point to different IP addresses due to firewalls and address translation.

Data Access
Appropriate ODBC / OLEDB database drivers must be installed. Additionally, if the drivers are 32 bit, EX Server should be loaded in a 32 bit application pool so it can access these drivers. (See the EX Installation and Troubleshooting Guide for more details.) ODBC System DSNs must also be created and configured to the required data sources. The DSN should also be tested to ensure that both connectivity and authentication can be established.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 24 of 36

Example Workbook Retrieval


The EX Server is installed with a number of example EX Workbooks. Opening one of these workbooks in a remote web browser will demonstrate that the machine is correctly configured. Note that the examples will not show any data if the server runs in a 64 bit process, since the examples use a 32 bit database driver. The example workbook should be verified in both the Java applet and using a web browser where Java is either not installed or disabled in order to ensure that the EX non-Java dashboard image generation is correct.

Publishing and Access


An EX Designer instance is configured to point to the EX Server. It should also be configured with the same database connectivity drivers and ODBC System DSNs as the server. On start-up, the EX Designer will retrieve the license from the server and display a list of published Workbooks. Run this simple test to confirm that the publication functions are working properly: Then: Open the published Workbook in the EX Designer. Open the published Workbook in the web browser. Create a new EX workbook. Add a new Data Table and retrieve data from the ODBC System DSN. Add a visualization populated from this data source. Publish the Workbook to the EX Server. Close the newly published Workbook.

This test ensures that the publication is enabled, that data repository access is correctly configured and that EX Workbooks can be accessed remotely.

Configuring Administrators
By default all authenticated users of the EX servers are administrators and consequently have the ability to: Delete published Workbooks and Data Tables. Change Server configuration.

This level of access can be restricted by defining administrative users on the System Settings areas of the EX Server. When this is done, all other users will lose these administrative capabilities.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 25 of 36

Enterprise Security Model Configuration


The EX Platform supports either active directory usage or integration with alternative Single Sign-On (SSO) implementations. When using Active Directory, the EX server allows: Either anonymous or permissioned access to an EX workbook. Permissioned or anonymous access to data within an EX workbook.

By default all workbooks are available through anonymous access. This can be modified at publication by specifying the Active Directory users and groups that should have access to the workbook. These are entered as text strings, without a lookup. Authentication is provided by the web server (MS IIS) itself, passing the authentication details down to the EX Server web service. Only if the entered details match users and groups that are listed in the active directory associated with the server, will access be granted. Data level security is not performed within the EX platform. Instead the platform allows the authenticated username to be passed as a special parameter value, down into the data layer of an active EX workbook (This special parameter is userid). The data layer executes database queries that typically have the authenticated user id as filter clause (for example, Select WHERE Clause). Consequently it is the responsibility of the database to ensure that a username table exists and is mapped to the data that should be permissioned. Where an SSO implementation is required, the EX server is configured from an active directory perspective to deliver anonymous access to all workbooks. The SSO and the EX server are typically configured so that the SSO can populate the special authenticated username parameter userid. There may be an opportunity to pass across multiple parameters in some cases and in such cases, the parameters are input into the EX Server on the server side. Each SSO implementation is customized according to client requirements; however, there is a common process including: Installation and configuration of SSO server components. Confirmation of test accounts to successfully test SSO. Testing with standard SSO example web pages to confirm correct configuration. Addition of SSO user details to a test data repository. Modification of EX Server web service to support enterprise SSO. Testing of configuration through a simple published workbook that accesses the test data repository.

The modification of the EX server web service to support enterprise SSO is performed by trained Panopticon staff: Off-site Modification of server software to support specific SSO mechanism. On-site Integration & testing of EX server with SSO specific code.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 26 of 36

For this work to occur relevant Panopticon staff need to receive: SSO software to be installed on the MS IIS web server. Documentation detailing how the SSO operates, including what authenticated data values are available, and how they are made available to installed web applications. Examples detailing the SSO operation. Working environment demonstrating the SSO examples.

Once the information has been received there is normally a five working day turnaround before the SSO modification to the EX server software can be made available and installed on -site.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 27 of 36

Existing Data Review


This is the only implementation step that does not involve any Panopticon knowledge. It does require a deep understanding of the clients data requirements and business use case. The objective is to review expected data usage, confirm enhancement requirements, and confirm the specific data items and their structures to be accessed. The review can relate to the data usage models of previous Panopticon software products or other reporting, ad-hoc analysis or Business Intelligence (BI) tools. The initial focus is on gathering SQL queries used in the products and expanding wild cards to lists of defined data columns. The SQL could relate to SQL tables, views, direct SQL queries, or stored procedure execution. The data items being accessed are extracted, with associated information on how they are defined within the data repositories. The outcome of this process should be: Definition of output reports, including business purposes. Listing of attributes and facts, including current & proposed. Each attribute and fact should have an associated business description. Identification of SQL structures for storing attributes. Identification of indexes on defined structures. Confirmation of aggregation rules for facts, for both business hierarchies and across time (conflation). Confirmation of data parameterization. Confirmation of exceptions (for example, where stored procedures are necessary). Confirmation of non-additive aggregate handling (for example, how aggregates are stored and how fixed hierarchies are defined).

Additionally, typical query performance should be estimated for common queries. Depending on the data repository infrastructure, data model design, and typical query response times it may be necessary to create a set of reporting tables or materialized views, which are typically de-normalised, and heavily indexed. These reporting tables/views will need to be refreshed from the parent dataset on a periodic basis.

In relation to time series analysis, Panopticon expects data to be stored in the source repository in a certain way. The structure is typically: Unique key fields defining a time series. Datetime field defining a specific point in time. Values for the selected time series at the selected datetime.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 28 of 36

Data Table Build


Once the data review has been completed, the data repository is in place and data connectivity has been established, Panopticon products can be used to build Data Tables. Data tables are metadata structures that define: Data repository type and location. Data query to execute. Parameters (typically passed onto the query). Casting and display formats. Binning, ranking and calculations. Joining and union of federated data sets. Configuration of non-additive data set support. Data transforms. Time series transforms and interpolation Data refresh period.

A data table is a level of abstraction between the resulting EX workbook and the underlying data repository, and can be saved independently, and repeatedly used as a template in multiple workbooks. Data tables are built to retrieve common data sets that are expected to be utilized in EX workbooks. Where facts are unclear, the SQL data query should be wild carded to select all fields from a source data repository table/view to provide a master data table, which can then have its use restricted as necessary in a workbook.

The process typically involves working through the previously executed data review: Create summary data tables. Create parameterized data tables. Publish data tables to the EX Server so they can be utilized in the future as central data resources as appropriate. Document the purpose of each data table.

The process of data table creation is typically iterative. Experience indicates that, no matter how detailed the data review is, the process of designing Workbooks will suggest the creation of new data tables. Generally, such new data tables refer to existing data in the underlying repositories.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 29 of 36

Migration of reports to EX workbooks


This can relate to older Panopticon products such as Panopticon Enterprise or Explorer and also to other BI or reporting tools. The purpose is to remove the reliance on the older product sets and fully migrate existing deliverables to the Panopticon EX platform. Due to differences in functionality between products, the purpose is not to provide an identical port, but to instead provide the same output. The process involves: Analyze existing reports and views Identify the pre-built, centrally published data tables that can be used to generate the output dashboards. Use EX Designer to build dashboards associated with the selected data tables. Identify and document how the functionality of the migrated reports can be extended given the new functionality available in the Panopticon EX platform.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 30 of 36

EX Training
EX training is targeted at the people who will create interactive analytical workbooks. These people are usually focused on business issues and, rather than being IT professionals, have in depth understandings of how their data is structured and how it should be interpreted. They generally have used other BI tools or produce reports using MS Excel or similar programs. The training consists of:

EX Designer Introduction
EX Designer interface overview EX resources Data retrieval Workbook build, including visualizations, legends and filters Publishing workbooks

EX Designer Advanced
Actions and data parameterization Calculations Time series analysis Non-additive aggregation support Visualization synchronization and styling Security & authorization

Next Generation Workbook Discussion and Training


This is an extension of the standard EX Designer training, but applied to specific business data sets and requirements. The final outcome of the migration of reports to EX workbooks was a definition of how these reports can be improved. This together with trainee input goes into enhancing migrated workbooks. The purpose is not to produce complete reports, but rather to demonstrate how EX can be applied to the clients particular use cases.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 31 of 36

Release Procedure Confirmation


Release procedures are typically agreed by client technology teams and differ depending on the client and the available environments (for example: development, testing and production). The objective is to have written procedures for: Updating data structures within the repositories utilized by EX workbooks and exposed through EX data tables. Updating and publishing EX workbooks.

Typically the process involves: Confirmation of change. Implementation of change on a non-production environment. Testing of new functionality. Regression testing of existing functionality (generally only related to data structure changes). Confirmation that change is successful. Promotion of changes to production environments. Further testing in production environments. Completion of release.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 32 of 36

EX Web Client Corporate Skinning


The EX server platform is delivered with a series of web pages for: Listing published workbooks (both anonymous & secured). Displaying a published workbook.

These pages can be modified to incorporate client specific corporate design policies and branding. Additionally the EX web client may be required to integrate into a larger web portal hosted by the client. Typically in these cases, context (and therefore parameters) needs to be passed between the portal and published Panopticon EX workbooks.

For skinning, the process normally involves: Defining display style and branding. Retrieving appropriate resources (images, CSS, and so on). Updating EX web pages.

For portal integration: Define where the EX workbooks should be displayed. Define how context should be passed into EX workbooks if possible. (This is generally passing in URL parameter values into the web page hosting the EX web client.) Define how context should be passed out of EX workbooks if possible. (This is generally EX URL actions or JavaScript actions). Updating of EX web client hosting web pages to support input parameters. Updating of EX workbooks to include additional URL/ JavaScript actions.

The portal integration relies on the portal supporting parameter passing, and can allow Panopticon EX workbooks to integrate into other more traditional reporting tools.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 33 of 36

Security Review or Audit


Typically security reviews or audits are performed only on externally facing environments. The purpose is to ensure that the client networking environment is secure and that proprietary data is delivered to targeted individuals in a secure manner.

The security review process is dependent on the client but can include: Internal audit of server environment and associated report production. This is typically performed by an internal client team. External audit of server environment and associated report production. This is typically performed by a third party. Audit of data being delivered and associated report production, ensuring that only appropriate data items are delivered through the channel. Additionally the audit must confirm that target individuals can only see the data that is appropriate to them (for example, their own portfolios). Review of audit reports. The project team reviews the findings from the audits and defines how recommendations can be implemented. Modification of server configuration as required. This typically consists of modification of web server infrastructure configuration and modification of Panopticon EX infrastructure configuration. Modification of data delivery. Update of existing EX workbooks to take into account any data audit recommendations. Re-Test of recommendation implementation. This is typically performed by the internal client team to ensure that audit recommendations were done correctly.

Panopticon EX Technical Implementation Planning Guide January 2011

Page 34 of 36

Index
A
Actions 31, 33 Administrators 25 Aggregation 7 Aleri 18 Anonymous 15, 16 Applet 8, 15 Authentication 15, 16, 26 EX Server 1, 5, 8, 9, 10, 13, 15, 17, 20, 21, 22, 23, 24, 25, 26, 29, 33 Excel 13, 15, 17, 18, 31

F
Filters 6, 31

H
hybrid OLAP 11

B
BI 28, 30, 31 Binning 29 Business Intelligence 28

I
IIS 5, 15 in-memory table 9, 10 Inserts 9 Installation 4, 16, 20, 23, 24, 26

C
Cache 17 CEP 18 Color 6 Color Legend 6 CPU 5, 9, 21, 22 CSV 17, 18

J
Java 5, 8, 13, 15, 20, 23, 24, 25 Java Virtual Machine 23 Join 7

D
Dashboard 4 Dashboards 6 data model 9, 28 Data on Demand 11 Data Source Names 18 Data Tab 5, 6, 7, 12, 13, 20, 25, 29, 30 Data Table 5, 6, 7, 12, 13, 20, 25, 29, 30 Date Time 28 Delete 25 Deletes 9 DSN 18, 24, 25

K
key field 9, 28

L
Legend 6 Legends 6, 31 Loop Back 24

M
MS IIS 13, 15, 16, 21, 23, 24, 27

E
EX Designer 1, 5, 8, 9, 10, 12, 15, 17, 20, 23, 25, 30, 31

Panopticon EX Technical Implementation Planning Guide January 2011

Page 35 of 36

N
non-additive 7, 28, 29

Time Series 4 time slice 7 Time Window 7 Time-to-Live 10

O
ODBC 18, 23, 24, 25 OLAP 8, 9 OLEDB 18, 24

U
Unique ID 12 Updates 9 URL Actions 33 User Acceptance Testing 22

P
Parameters 7, 29 Presentation Mode 9 Publish 25, 29

V
Vista 15, 21, 23 Visualizations 6, 31

R
Relational database 18 Relational databases 18

W
WCF 5, 15, 16, 24 Windows 2003 15 Windows 2008 15 Windows 7 12, 15, 21 Windows Server 2003 15 Windows Server 2008 15, 21 Workbook 5, 6, 8, 10, 11, 12, 17, 19, 24, 25, 26, 29, 31 Workbooks 4, 5, 8, 12, 13, 14, 23, 25, 26, 29, 31, 32, 33, 34 WSDL 24

S
Server 2003 21 Single Sign On 16 Single Sign-On 26 Skinning 20, 33 SQL 11, 18, 28, 29 SQL query 11 SSO 26, 27 StreamCube 8, 9 streaming data 9 Sybase 18

X
XML 5, 6, 17 XP 15, 21, 23 XP Professional 15, 21

T
Table 2 Time Period 7

Panopticon EX Technical Implementation Planning Guide January 2011

Page 36 of 36

You might also like