Upload
osborne-butler
View
215
Download
0
Embed Size (px)
Citation preview
1
Extending SQL Server Reporting Services for a Custom Reporting Solution
Chattanooga Business Intelligence User Group
David Skelton | November 15, 2012
2
Who is Unum? Unum’s BI Framework Why SQL Server Reporting Services? Why develop Slice? Value-Added Features of Slice Quick Slice Demonstration
Agenda
3
Who is Unum?
4
Who is Unum?
Unum is a leading provider of financial protection benefits in the United States and the United Kingdom.
We market our products primarily to employers but also directly to individuals.
Unum’s employee benefits portfolio includes:• Disability• Life• Accident• Critical Illness
We protect the livelihoods of millions of working people and their families in the event of illness or injury.
5
Who is Unum?
Approximately 10,000 employees with significant operations in:
• Chattanooga, TN• Portland, ME• Columbia, SC• Dorking, England• Worcester, MA • Glendale, CA• Field Offices in 38 US cities• Other Offices in 5 UK cities
UK
Ranked #260 in Fortune 500
US1986
1993
1999
1997
1999
2007
6
Unum US: Group Short Term and Long Term Disability inforce premium and cases: Gen Re 2011 U.S. Group Disability Market Survey; Group Life: Inforce cases, Gen Re 2011 U.S. Group Life Market Survey,
Unum US and Colonial Life: Voluntary Benefits: Eastbridge U.S. Worksite Sales Report, Colonial Life Sales and Unum Sales and Inforce Premium Results for 2011, April 2012
Unum UK: Swiss Re Group Watch 2011
Market ShareWho is Unum?
7
Who is Unum?
Highlights:
Unum provides benefits for 37% of Fortune 500 companies
Unum protects 25 million people and serves 171,000 employers worldwide
Unum paid $5.4 billion in benefits in 2011
Unum handled more than 450,000 claims in 2011 – 365,000 for disability
150 Most ReputableBig Companies
Fun Facts
8
Unum’s BI Framework
A work in progress…
9
Data Mining
Predefined Reporting
Custom WebApplication
Custom WindowsApplication
DashboardApplication
PortalApplications
ReportConsumer
ReportProducer
PowerUser
Multidimensional Analytics
Data Warehouse
Ad hoc Reporting
Unum’s BI Framework
Dashboarding/Data Discovery
10
• Server licensing only (SQL Server)• $0 Report Consumer cost• $0 Report Author cost (besides Visual
Studio)• TCO = Thousands, not Millions
Why SQL Server Reporting Services?
• Server-based reports (encapsulated in single XML file)
• Centralized storage, management, security
• Data sources include SQL Server, DB2, Teradata, ODBC, OLE DB, XML files, and XML output from a Web Service
• Role-based security, with AD integration
• “Push” (scheduled) and “pull” (on demand)
• Scheduled delivery via email or file share
• Output formats include HTML, PDF, Excel
• Static PDF/Excel/Word/PowerPoint files may be secured and published as “reports”
• Subscriptions, free-form reports, much more
• Server-based reports are accessible via URL, SharePoint Web parts, Web/Windows apps
• URL access supports parameterized query strings to return pre-filtered report content
• “Disconnected” and “local data” reporting via freely distributable ReportViewer control
• Web Service exposes all functionality• Windows Service for scheduling and
delivery• Report Designer to author reports in
Studio• Reports viewable in provided Report
Manager portal, in SharePoint, embedded in applications, in browser
• Build applications exploiting full functionality exposed via Web Service interface
• Extend core functionality with custom extensions for Security (authentication models), Rendering (output formats), Data Retrieval (data source types), Scheduling and Delivery (in addition to email and file share)
Open and Extensible
Simple Architecture
Manageable Cost Enterprise Reporting
Embedded Reporting
11
Slice
12
Brings optimized SSRS support for SQL Server databases to Teradata
Implements the latest Microsoft technologies customized by and for Unum
Offers the familiar Microsoft Office ‘Ribbon’ interface
Offers custom business-designed Filters that support saving of favorite values for convenience and productivity (‘specify once and done’)
Supports multiple options for content delivery: predefined static reports, interactive ‘Dashboard-style’ reports, and raw data for in-app ad hoc analysis
Provides flexible export options: Word, PDF, Excel, XML, TIFF, and other formats for sharing and external manipulation
Implements a robust custom data-level security capability
Custom reporting application providing real-time, on-demand access to data stored in the Data Warehouse on the Teradata platform:
Slice
What is Slice?
13
What are the technologies used in Slice?
Slice
Agency Technology
Platform Microsoft .NET 3.5
Language C#
Client Architecture Smart client
Server Architecture XML Web Services (WCF)
UI Controls Infragistics
Report Rendering SQL Server Reporting Services (SSRS) 2008
Ad hoc Data Analysis Infragistics UltraGrid (wrapped in custom interface)
Application Security Active Directory + Windows Authentication
Report Security Active Directory + SSRS folder security
Data Security Active Directory + Custom (Table-based)
Teradata Connectivity Teradata .NET Data Provider
Exception Handling Enterprise Components 3.5
Data Persistence (caching, user preferences)
SQL Server 2008
14
Why Slice? Why not just SQL Server Reporting Services?
Slice
Out-of-the-box SSRS provides data processing capabilities optimized and maximized for SQL Server and Oracle data sources
SSRS connectivity options for Teradata limited to the Teradata ODBC and OLE DB drivers, both of which support only a limited subset of SSRS’ data processing capabilities:
No support for named parameters
No support for multi-value parameters
Doesn’t support automation of routine developer tasks in the Visual Studio IDE, such as automatic creation of report parameters and automatic refresh of Dataset fields (based on the underlying report SQL)
Native SSRS has substantial shortcomings and gaps with Teradata *
* With SSRS 2008, Microsoft released support for Teradata’s .NET Data Provider, which eliminates some of these limitations
15
Why Slice? Why not just SQL Server Reporting Services?
Slice
Native parameter input controls are basic and limited in functionality
Just a handful of rudimentary controls (list, textbox, date picker)
Input cannot be masked, formatted, or custom validated
Data-driven dropdown lists are very slow
No data-level security capability
Out-of-the-box portal is rudimentary
Only a single folder hierarchy supported
Flexibility for applying report security constrained
Functionality very limited
No access to raw report data to support ad hoc data analysis
Each SSRS report redundantly retrieves its data from the source, even if its dataset is identical to ten previously rendered reports *
Native SSRS has some limitations for Enterprise-class reporting
* With SSRS 2008, Microsoft eliminated this limitation with its new “Shared Dataset” capability
16
“Value Added” Features of Slice
Unum developed an SSRS Custom Data Processing Extension (CDE) to extend SSRS’ superior support for SQL Server Data Sources to Teradata
Source: Diagram from Microsoft MSDN reference documentation (http://msdn.microsoft.com/en-us/library/ms152816.aspx)
Serves as a bridge between a Data Source and a Data Set
Implements a common interface
Allows an installation to override, replace, or extend SSRS’ native interaction with a Data Source
Installed on the SSRS server and functions as an integral component of the overall SSRS architecture
Slice
17
Slice
Custom Data Processing Extension (CDE) optimized for Teradata Implements the .NET Data Provider for Teradata for its speed and
optimization for Teradata (over ODBC/OLEDB drivers)
Implements named parameters in Filter/Report SQLselect Claim_Payment where Date_Of_Disability =
@MY_DATE;
Implements multi-value parametersselect Claim_Payment where State in
(@MY_LIST_OF_STATES;
Automates manual developer steps in the Visual Studio IDE
Filters data during retrieval from the source to apply data security
Detects current operating environment (Dev, Test, QA, Production) and automatically adjusts data source references to implement ‘environment independence’ (in other words, ‘no touch’ migration of reports up through each operating environment)
Supports multi-step SQL and Teradata transactions
“Value Added” Features of Slice
18
Slice
Intuitive portal interface modeled after Office 2007
“Value Added” Features of Slice
SSRS Report Manager Portal
19
Slice
Intuitive portal interface modeled after Office 2007
“Value Added” Features of Slice
Slice Portal
20
Slice
Can execute and manage multiple open reports simultaneously
“Value Added” Features of Slice
21
Slice
Can ‘tile’ reports for side-by-side comparison
“Value Added” Features of Slice
22
Slice
Custom, flexible, business-designed Filters for parameter input
“Value Added” Features of Slice
SSRS Parameter Bar
Two streamed columns with no OOTB control over presentation
Not intuitive what values are expected or acceptable
No visually graphical elements, besides the ‘Calendar’ control
Limited input editing and validation
Poor performance of ‘cascaded’ parameters
23
Slice
Custom, flexible, business-designed Filters for parameter input
“Value Added” Features of Slice
Slice Filters
End user controls placement and presentation
or…
or…
24
Slice
Custom, flexible, business-designed Filters for parameter input
“Value Added” Features of Slice
Lists
Unlimited design flexibility
Intuitive, graphically rich controls
Multiple controls
Options
Specialized
25
Slice
Custom, flexible, business-designed Filters for parameter input
“Value Added” Features of Slice
User may save values for any Filter, for the Current report or All reports
Improved productivity
“Once and Done”
26
Slice
Custom, flexible, business-designed Filters for parameter input
“Value Added” Features of Slice
Instructional “Help” also available for each Filter
27
Slice
Moderately sophisticated ad hoc data analysis capability
“Value Added” Features of Slice
28
Slice
From the Technical perspective… Optimized performance for Unum’s Teradata Data Warehouse platform
Unlimited flexibility in design and functionality of input ‘Filters’ (C# DLLs)
Filters are dynamically configurable via XML for rapid development
SQL executed once to retrieve and cache data for many renderings via multiple report layouts – and to expose data for ad hoc analysis
Summary of “Value Added” Features of Slice
Modern, flexible, intuitive, and customizable interface
Ability to ‘remember’ Filter values, per report or globally (a substantial timesaver – save repetitive values for 1-click execution of reports)
Moderately sophisticated ad hoc data analysis capability
One-click impersonation of alternate data identities for QA and testing
Reports may be published and organized in multiple hierarchies
From the User’s perspective…
29
Quick Slice Demonstration
30
Questions?
31
Thank You! for your sticking it out to the end