Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Multi-tenancy In the Cloud
1. WEBINAR Multi-Tenant Business Intelligence in a Cloud Computing Environment Allie Gentry, Chief Technology Officer Scott deVillers, Solution Architect February 18, 2010
2.
3.
4.
5.
6.
7. Architecture – Technical Details Interface Layer (Client Side) Ext JS HTML/CSS Presentation Layer (Server Side) jQuery Admin UI Reporting UI Portal Administration Base SwiftView Login Menus Admin Maps Grid Chart Meters Reporting Base Shared Components Security Layer Business Layer Admin Logic Reporting Logic Portal Administration Base SwiftView Login Menus Admin Variables Filtering Calculations Security Relation Rprt. Base Shared Components App Data Data Layer Data Mining Layer SwiftKnowledge Application Layer Users Groups Roles View Detail Query Analysis OLAP Database Layer Data Access Logic Metadata Cache Metadata Access Logic Data Access Relational Database Layer Data Access Data Access Logic Data Sources SQL ADO.NET/LINQ SQL ADOMD/ADOMD.NET SQL ADO.NET Oracle ADO.NET OLAP Rprt. Base Custom Data API MySQL ADO.NET Custom Database ADO.NET Client Browser Layer Web Application Layer Client Data Layer
8. Multi-Tenancy – Four Approaches SWIFTKNOWLEDGE SUPPORTS EVERY DELIVERY OPTION 1 1 Many Many 1 2 3 4 Web Application Layer Client Data Layer
9.
10.
11.
12.
13.
14.
15.
16.
17. Steps for Client Onboarding Web Application Layer Instantiate new web server * Configure client-specific virtual directory Create application database Import users for new client Define security at data layer for new clients Secure application functionality, including administration Approach 1 / 1 1 / Many Many / 1 Many / Many * This can mean adding a virtual directory to an existing web server ** This can mean adding a new database to an existing database server Client Data Layer Instantiate new database server ** Populate database with client-specific data Load new client data into existing database 1 2 3 4
18. The Benefits of Each Approach Web App Layer/Data Layer Granularity of data security to specific clients and users Branding Globalization Client data volumes and growth handled independently Application/data management can be delegated to client Efficient cross-client comparisons Approach 1 / 1 1 / Many Many / 1 Many / Many 1 2 3 4
19.
20.
21. Questions & Answers Submit questions using the Webex chat functionality found on the toolbar located in the lower right corner of your screen.
Each client can have its own virtual directory with branding and globalization customizations specific to their own requirements
External to Swift Assumptions: Data structures across clients are the same Automation of ETL and Cube repopulation is in place to satisfy “freshness” requirements of data in reports External to Swift Step 4 assumes that Client’s Branding and Localization has been completed via the corresponding xml files, and can then just be “dropped” into place during this step. This can also be automated. Can be automated for bulk user import into SwiftKnowledge users & groups Can be automated for efficiency in configuring large #’s of users
External to Swift Can be automated for bulk user import into SwiftKnowledge users & groups Can be automated for efficiency in configuring large #’s of users Step 1 above assumes: Data structures across clients are the same Automation of ETL and Cube repopulation is in place to satisfy “freshness” requirements of data in reports
External to Swift Can be automated for bulk user import into SwiftKnowledge users & groups Can be automated for efficiency in configuring large #’s of users Step 1 above assumes: Data structures across clients are the same Automation of ETL and Cube repopulation is in place to satisfy “freshness” requirements of data in reports
External to Swift Step 2 assumes that Client’s Branding and Localization has been completed via the corresponding xml files, and can then just be “dropped” into place during this step. This can also be automated. Can be automated for bulk user import into SwiftKnowledge users & groups Can be automated for efficiency in configuring large #’s of users Step 1 above assumes: Data structures across clients are the same Automation of ETL and Cube repopulation is in place to satisfy “freshness” requirements of data in reports