open solutions for a changing world eddy kleinjan copyright 2005, data access worldwidedynamic ai...
TRANSCRIPT
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Conceptual Dynamic AI, Security and Scalability
Eddy Kleinjan, Data Access Europe
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
The concept behind creating Dynamic AI….
Keep it simple... Serve yourself!
Compatible ... Fast access to
relevant information!
Generic and Flexibility iterative ... in unknown
scenarios
Best practicesfunctionality ... Effective!
Makes you look good!
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Dynamic AI ”layers”
databasedatabase
DAIrepository
DAIrepository
aiai
HTML renderingScript executionKeyboard and
mouse handling
Small user request
Aggregatedand formattedHTML
RequestUser rights+ eventuallyObject elements
Permissions+ Object Elements
DynamicallyGenerateSQL Request
Dynamicallyformatdataset
Small SQLrequest
Aggregateddataset
1
2 3
4
5
6 7 8
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Steps to implement Dynamic AI Create Database Connection
Create Database View or Dynamic View
Create Data Dictionary
Define Relationships between Data Sources
Create Collections
• Aggregated Data
• Lists
• Forms
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Central Connection definition (1 per database)- Offers defaults for stylesheets, global read only control, global customize preview definitions
Dictionary definition (1 per data-source)- Offers global definition for @alias security filtering, global defined forced order by, global COMBO box definitions, global caption definitions
Relationship definition (several in-between data-sources)- Offers universal definition of related fields across Dynamic AI datasources
Report Collections - Aggregated level definition (Multiple as required to offer immidiate access to relevant report and analysis dimensions)
List Collections - Detail record level definition (a few in order to display most relevant details)
Form Collections - Detail record level definition (1 per data-source)
Drill-down on ID
Drill-down on related fields or inherit filters on matching fields
”Back to list button” offers re-use of the already retrieved list of records for navigating to other records
Pop-up in own window orDouble-click to maximize frames
1 n
n n
n n
n n
Available from Exploreconnections
Used where fieldnames=captions andas default definitions for SELECT typefilters. Forced order by will automaticallybe included on detail list level sorting.User alias filtering will automatically beadditionally applied to selects.
Available on collections as Drill-down totargets. Available as condition for inserted subforms on forms. Avaialble from rightside menu on forms for on-the-fly drill-through.
Central definition is being re-used for all underlying objects
Central definition is being re-used for all underlying objects
Central definition is being re-used for all underlying objects
After the first aggregated report has been defined multiple reports can be created re-usingthe already defined use of styles, filters, sum variables, drill-down defintions, access rights etc.
A few lists can act as the lower level details for multiple higher level aggregations
One core form layout can be used as the drill-down destination from several detail listings
1
2
3
4
8...
6,7...
5
Step Level of re-use Object type Remark
Dynamic View definition (a few to represent underlying tables/views)- Virtual name that allows extension control from within Dynamic AI. Offers sophisticated partion variables as well as non-data bound parameter input before execution.
Central definition is being re-used for all underlying objects
DynamicView
ID
Available from ExploreConnections. Modify existing via”Explore my rights”
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Central Connection definition (1 per database)- Offers defaults for stylesheets, global read only control, global customize preview definitions
Stylesheet defaults
Read only on all collections under this connection ID dispite user rights etc.
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Dynamic View definition (a few to represent underlying tables/views)- Virtual name that allows extension control from within Dynamic AI. Offers sophisticated partionvariables as well as non-data bound parameter input before execution.
Examples of view definitions
This button will appear after the view has been inserted the first time. Use the button to check that your SQL view definition returns a valid set of records.
This button will appear after the view has been inserted the first time. Use this button to see your SQL view code with inserted sample values (for Parameter and Partition variables only)
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Dictionary definition (1 per data-source)- Offers global definition for @alias security filtering, globally defined forced order by, global COMBO box definitions, universal caption definitions
Language 1,2,3 that shows up as captions depending on the language selected on the user account and available through the user profile.The corresponding HLPTEXTLNG1-3 is for yellow box help descriptions when users hold the mouse over data column captions.
Additional row added for use with COMBORID reference to a collection specifying partitions or free SQL statements that will be inserted based on user selection from a COMBO, into the Dynamic VIEW SQL Statement, before execution.
Use this column to check the column that holds a unique ID. For Oracle tables and views this is necessary to ensure consistent display of sorted records.
Dictionary records will appear on the Dictionary maintenance screen under the appropriate connection ID.
Dictionary records (1 per data column) are added throgh the Explore Connection ”Update Dictionary” option.
Dynamic Views will be represented with an internal number (drill-down to see the columns....).
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Relationship definition (several in-between data-sources)- Offers global definition of related fields across Dynamic AI datasources
Typical 2 field relationship between 2 data-sources. Also an example of a relationship to be used from aggregated DEPBST (position level) report collections to drill-down to underlying detail records kept in the DEPORDERS (transaction level) table.
Typical ID type of relationship used on ”own” data-source to effectively manage 1 central FORM collection and ”bind” the form collection to detailed level record listings by the ID.
The use of this type of relationship will add a WHERE ID=unique ID to the select that Dynamic AI executes to build a dataform. Selecting only 1 specific record will make the form presentation fast and ressource effective.
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Report Collections - Aggregated level definition (Multiple as required to offer immidiate access to relevant report and analysis dimensions)
A typical aggregated level report will group on data-dimensions and summarize measures
Because the aggregated level report collection should drill to lower level details, the enabled options in the customize interface is reduced to an absolute minimum.
Here the available related collections are showing up
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
List Collections - Detail record level definition (a few in order to display most relevant details)
Here the available related collections are showing up (select the collection that represent your FORM and use the unique ID relationship).
As the role of the list collections (in the ”free-dimensional data-model”) are primarily used to display ungroup records, the definition is mainly a question of selecting relevant columns. Select also relevant Totals columns and set eventually the SORT ORDER under the ”List options” tab. (ID doesn’t have to be displayed in order for the relationship to work!)
Select stylesheet here
Because the detail level list collection should drill to 1 centrally defined form, the enabled options in the customize interface is reduced to an absolute minimum.
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Form Collections - Detail record level definition (1 per data-source)
Because the role of the collection is only to display a form ”List” and ”List options” are disabled, making the customize simpler.
Use the ”layout” tab to design a presentable and custom form. As the form will be the lowest level for all detail listings as well as parent aggregated reports (through the link to detailed listings) effort can be spend on the design!
Later on – when new fields are added, only 1 central form has to be updated.
The defined relationships will appear automatically on the right side relate menu. Re-using the definitions already defined.
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Demo
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Security
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Security
All ”rights” and actions in DAI are attached to a user account
Security is implemented using a combination of user-specific assigned rights together with assigned connection, dictionary rules and collection specific settings.
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Security User account is protected with:
• Minimum password length, Minimum alphanumeric, duration, history• Account valid for specific period only• Failed login max attempts• Specific Server ID required• Certificate required – organization ID mapped to client certificate• Last login information• Logging• Encrypted hashed/salted password storage• Random session ID’s• User must change password on next login• Assigned user rights (read-only, administration, customize etc.)• Assigned user groups as well as user share groups• Dictionary roles
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Security
The use of alias values set on the specific user account is a very strong and effective way to provide multi-department, multi-company, customer, vendor, employee type of forced filtering
Aliases can be used as part of:• connection settings
• directly in a Dynamic AI View source
• forced set through the dictionary for all underlying collections
• in style-sheets
• As part of specific collection conditions
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Scalability Database as a DAI object repository
Server application memory arrays that synchronize with repository
Any number of application servers can load from a central repository
Multi-server environment requires Enterprise version (repository on Oracle, SQL Server or DB2)
Load balancing with ”sticky sessions” can be used to create a scalable cluster
DMZ (Demilitarized zone) type of server installation with no administration object
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Enterprise type installation
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Benefits Access all your data (Compatible with market leading Databases)
Easy to use (100% Web-interface, no coding)
Better-informed decisions (Even managers can (and do!) use it)
Easy to deploy and manage (No Client install, very stable)
Fast to develop (RAD)
Supports reality-based implementation (small, bigger, enhanced, cross-department, internal/external…)
Build-in Data maintenance functionality (Forms, List-edit, Portal pages)
All-in-one package (Security, User maintenance, Styles, Graphs, Excel integration, Development, Alarms, Drill-down…)
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Benefits Connecting to a Data Source
Dynamic Linking to Excel
Set Up Relationships
Build a Dictionary
Restrictive Access to Data
Sharing Reports
Advanced Reports
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Free Training next Thursday
Open Solutions for a Changing World™
June 6-9, 2005Key Biscayne, Florida
Eddy KleinjanCopyright 2005, Data Access WorldwideDynamic AI
Questions?Thank you!