Data Sharing Architecture                                   1                       Art Nicewick
3/6/2009 12:46:08 PM                       2
Origins of data sharing architecture       Initiative (November 2007)        I need a database, to share education        ...
3 Areas of Data Integration• Collect                                  Data                                   Data  – Bring...
Questions this presentation                              tries to answer?         Data                                  • ...
Types of Gallery Data sharing Word Docs                    One user at a time, not          Excel               shared MSA...
Database ?• The gallery has two definitions of a  database.  – MSAccessFilemaker (Single Platform)  – SQL ServerPostgress ...
Pluses and Minus of COTs• Cots are very inexpensive solution.. However:  – They frequently do not have everything you need...
Documentation (UDB)    Project to Define when and how to define    different application architectures (Nov, 2007)Project ...
Fate of UDB projectThere was concern at the time, that the UDB approach would cause“End Users” to be involved in the devel...
What is a Database? (Two Views)    Technologist  Programmer                                              Business Analysts...
Examples of “Single” verses “Multi” software applicationsApplication                     Front End         Business Rules ...
Where is the Data• Single version of Truth                              13
Worst Case   •   Data Everywhere, No single version of truth   •   How is correct?       Exhibition Code: 23 = ZZ       Ex...
Data Duplication (or Silos)                           Who is the authoritative source ?                                   ...
Goal•   Single version of truth•   Defined Source of Authoritative data                Exhibition Code: 23 = XX           ...
Using Authoritative Source                                                          Authoritative Source                  ...
Not one answer !• Different users• Different needs                             18
Option 4.                                                   Five Strategies Option 3. Shared                              ...
Attributes Not Displayed in Slides• Conditions for selecting each deployment• User responsibility in each deployment• Numb...
Option 1 – Single User      •    A single user works alone, disconnected from the rest of the world. With there own versio...
Option 2 – Multi-User Departmental Application               for Departmental-only Data      •    This is a multiple user ...
Option 2 – Multi-User Departmental Application               for Departmental-only Data      •    This is a multiple user ...
Option 3 – Multi-User Departmental           Application for Gallery-Wide Data   This architecture attempts to blend the “...
Option 4 - Multi-User Gallery-Wide            Application for Gallery-Wide Data        This architecture extends the previ...
Option 5 - Strategic Applications                                      Consistency                                       U...
Metastorm• Not around when UDB study was  developed (Dec 2007)• Today, I would define it as a hybrid of  Complex Business ...
Architecture       Web Browser                           `PHPRunner Application Server      (Web Server)    SQL Server Dat...
What kind of tool do we need to do              this ?Required:- Must be easy to build – Low Maintenance- Must use databas...
A few options•   MSAccess•   Filemaker•   PHPRunner•   MetaStorm•   Custom Web Develop? (Mason,Perl,CGI)•   Other?        ...
MSAccess                     (November 2007)              I need a database, to share education                   programs...
Filemaker !Required:- Must be easy to build – Low Maintenance- Must use database standards- Must have Security- Must have ...
Filemaker !Required:- Must be easy to build – Low Maintenance- Must use database standards- Must have Security- Must have ...
Problems With Filemaker• “Filemaker External SQL Sources (ESS) In Depth”   (Filemaker publication)  – “Value lists cannot ...
Problems With Filemaker• “Filemaker External SQL Sources (ESS) In Depth”   (Filemaker publication)  – “Value lists cannot ...
Filemaker (My Last Straw)From: John Blakeley [mailto:john@fbsl.co.nz]Sent: Tue 1/8/08 2:27 PMTo: Nicewick, ArthurSubject: ...
Filemaker (My Last Straw)From: John Blakeley [mailto:john@fbsl.co.nz]Sent: Tue 1/8/08 2:27 PMTo: Nicewick, ArthurSubject: ...
Not Filemaker – Then what?                             38
Prototyped                            Typical “Types” of Assets , with issue numbers                            mapped“Loo...
Rated the best                                 Easy to Learn  Use                                  Can be extended        ...
PHPRunnerRequired:- Must be easy to build – Low Maintenance Very little coding- Must use database standards Yes- Must have...
es     PHPRunner Code Generation                          e                               ang                            C...
es     PHPRunner Code Generation                          e                               ang                            C...
UI Templates  Layouts                         44
UI Styles            45
UI Templates  Layouts                         46
Field Name and Column Order                              47
Charts         48
Reports          49
Searchable (Advanced and Simple)         Reports, Charts, Tables, …   50
End User Reports Creation             (Web Based)•   Very Simple•   Version 1 is very limited•   Tightly integrated with S...
How about Metastorm•   Workflow Focus•   Excellent integration with in-box process•   Ideal for “Approval” Processing•   I...
Web Database vs Workflow• PHPRunner (Web Database) has the user  create the a normalized database  (Modeling Business Rule...
Metastorm vs Web Database•       PHPRunner is “Only” code development, The        tools is run on “ApachePHP”. Therefore t...
Replacing Filemaker and               MSAccess•   PHPRunner is a Database driven tool and is    therefore dependent on a n...
PHPRunner               Normalized Data Model                                                         Simple CRUD User Int...
Metastorm       Complex Workflow                                 DeNormalized Data Model- Great “Inbox”                   ...
Metastorm and Workflow• RADVisual development of Workflow is what  Metatstorm is good at!• A good standard for Workflow ap...
Data Model Differences                                                  Keys    Header                                    ...
PHPRunner (DCLPA) Data Model                                                                                              ...
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Creating an RAD Authoratative Data Environment
Upcoming SlideShare
Loading in …5
×

Creating an RAD Authoratative Data Environment

845 views
748 views

Published on

Sharing data in agencies can be a burden, with users placing data on numerous desktop packages, the idea of sharing becomes impossible. However, new RAD tools allow quick web applications to be developed to replace the Excel, MSAcces, and Filemaker data stores, with real , controlled authoritative database integration.
This presentation defines both the problem space, and the proposed solution.
See www.data4USA.com for more information

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
845
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Creating an RAD Authoratative Data Environment

  1. 1. Data Sharing Architecture 1 Art Nicewick
  2. 2. 3/6/2009 12:46:08 PM 2
  3. 3. Origins of data sharing architecture Initiative (November 2007) I need a database, to share education programs and I have a MAC Greg, can Art help Kim? Art, help Kim?, Hmm, Filemaker is not SQL Compliant, and MSAccess does not run on the MAC, We need something better. O.K., What should we do? 3
  4. 4. 3 Areas of Data Integration• Collect Data Data – Bring data in to Collection Sharing Dessemination structured format• Share IRIS TMS Raisers Edge $ Gallery Data – DefineReference IRIMS COE FMS Authoritative Data AI $ Vista• Disseminate Empl Text 5 4 3 2 1 – Make data Bar graph available to users Gallery Data 4
  5. 5. Questions this presentation tries to answer? Data • What problem is being addressed by a web database Collection • When should Filemaker or MSAccess be used to address this problem Raisers IRIS TMS Edge • When should Metastorm be used to address this COE FMS IRIMS ProblemAI $ Vista • Why was PHPRunner selected for the web database Empl front end • How is the PHPRunner architecture to fullfull the Gallery requirement that there will be little to none application Data code in the implementation (allowing allowing it to be easily ported to a new application (DCLPA used as example). 5
  6. 6. Types of Gallery Data sharing Word Docs One user at a time, not Excel shared MSAccess Isolated non-integrated database (Stand- Filemaker alone) shared between a handful of users, Highly customized Departmental Systems integrated to authoritative source, Authoritative [ Missing Gap] Need to have customized departmentusers across departments, shared with many systems Data Systems customizable Workflow (IRIS) that reference authoritative dataRaisers Edge Many users shared, expensive, little- TMS customization Internet Enterprise-wide and beyond. 6 Intranet
  7. 7. Database ?• The gallery has two definitions of a database. – MSAccessFilemaker (Single Platform) – SQL ServerPostgress (Multiple Platform) 7
  8. 8. Pluses and Minus of COTs• Cots are very inexpensive solution.. However: – They frequently do not have everything you need, and you cannot easily modifyExtend them – They will not follow any naming standards based on your organization – The governance of the codelogic and schema is outside of the clients control (Although the Actual data is in their control) – They cannot “Alone” be used to collect the Gallery’s Data needs – They need to be extended! 8
  9. 9. Documentation (UDB) Project to Define when and how to define different application architectures (Nov, 2007)Project Folder• ngagrouptTDPProjectsUDB - User Database DeploymentDocuments – Proposed End User Data Architecture Implementations (UDB) 20071129a.doc – Filemaker and SQL Compliant Database(UDB) 20080109c.doc – User Database Prototype and Alpha Five(UDB).doc – End User Database Deployments Summary (UDB) 20071128a.doc 9
  10. 10. Fate of UDB projectThere was concern at the time, that the UDB approach would cause“End Users” to be involved in the development process and that TDPwould be unable to control their development demands.The contrarian position was that TDP would still be the primarydevelopers for any enterprise component of the architecture (e.g. DataModel) and the proposed solution would eliminate the current practiceof users “independently” developing on systems that could not beshared, secured or extended to the enterprise (e.g. Filemaker,MSAccess, …)These considerations were never resolved and the project wascancelled in February of 2008.However, the issues still exist, and the proposed architecture is stillworth reviewing. 10
  11. 11. What is a Database? (Two Views) Technologist Programmer Business Analysts End User understanding of the term understanding of the term IDE + Presentation + Integrated Business Rules + Data Storage Development Environment (IDE) “Tools” An all-in-one System where I Presentation “Front End” Can save data (e.g. MSAccess) A part of a Single Product much larger Business System, used to View Application Store and share “Business Rules” Data (e.g. MSSQL) Multi-Product010010101001010101010101010101 Database Technologist View What is a (Storage) Database?010101010101010100010010010101 11
  12. 12. Examples of “Single” verses “Multi” software applicationsApplication Front End Business Rules Database Storage Development Presentation Application EnvironmentSingle product SystemsGallery Archives DB File MakerRequest Management System File MakerPurchase Card MS AccessExcel ExcelMulti-Product SystemsAsset Inventory MS Access MSSQL MS AccessEmployee Database MS Access MSSQL MS AccessPortfolio Extensis (Service) Web Portfolio MSSQL VendorInside.Nga.Gov Web MasonPerlCGI PostgresSQL EclipseIRIS Web Metastorm MSSQL MetastormFMS Java Applet J2EE Oracle OracleFormsTMS Visual Basic Visual Basic MSSQL Visual BasicRaisers Edge Visual Basic Visual Basic MSSQL Visual BasicPaper Conservation Web PHP MSSQL PHPRunner 12
  13. 13. Where is the Data• Single version of Truth 13
  14. 14. Worst Case • Data Everywhere, No single version of truth • How is correct? Exhibition Code: 23 = ZZ Exhibition Code: 23 = XX Exhibition Code : 21 = AA Exhibition Code: 23 = XX Exhibition Code: 23 = XX Exhibition Code: 23 = XXExhibition Code : 23 = YY Exhibition Code : 21 = AA Exhibition Code: 21 = AA Exhibition Code: 21 = ZZ 14
  15. 15. Data Duplication (or Silos) Who is the authoritative source ? I have the Latest Phone Numbers I have an I have the I need an old Phone # latest phone Arts in my file numbers Phone # A X8 rt 00 0 A Art X6 rt 6 54 X654 A X8 rt 5 000Keeping local copies of data caused obvious problems. ManualSynchronization process are difficult to maintain. 15
  16. 16. Goal• Single version of truth• Defined Source of Authoritative data Exhibition Code: 23 = XX 16
  17. 17. Using Authoritative Source Authoritative Source I have theI need an latest phone Arts numbers Phone # Official Phone BookUsing a single source for the data, provides all the systems with the latest upto data information 17
  18. 18. Not one answer !• Different users• Different needs 18
  19. 19. Option 4. Five Strategies Option 3. Shared Shared Enterprise Enterprise Data (Fat Client) Data OPTION 3 Within Single Department Authoritative Data (Thin Client) Option 5. File Maker Application 1 Custom X (Thin Temp Storage or Local Copy Storage Only Client) Conversion PHP No Data Storage PHP Applciation Dept COption 1. OPTION 4 OPTION 1 OPTION 2Single Single User Within Single Department Option 2. Non-Authoritative Data Cross Departments Non-Authoratative Authoritative Data Read OnlyUser Access Shared File Access Maker Department File Maker Data Dept A Dept B Application 2 ` (Fat Client) 19
  20. 20. Attributes Not Displayed in Slides• Conditions for selecting each deployment• User responsibility in each deployment• Number of users estimates for each deployment• TDP Role in each deployment• ... Proposed End User Data Architecture Implementations (UDB) 20071129a.doc 20
  21. 21. Option 1 – Single User • A single user works alone, disconnected from the rest of the world. With there own version of the data • This is another example of a “Single User” application. Filemaker, Excel and Access also fit into this category. • A minor improvement, is to allow this “single user” the ability to linked to existing ‘authoritative source’. This is mostly a “Reporting: feature. For example, Greg and Alan Newman use this method for reporting Authorization One Time Load Optional•Susan’s Pull from IA to Excel•TMS Crystal Reports 21•Raisers Edge Queries
  22. 22. Option 2 – Multi-User Departmental Application for Departmental-only Data • This is a multiple user application. The data in this situation is not ‘authoritative’ to the Gallery and therefore is considered a ‘copy’ of some other data stored as a Gallery resource. This Architecture assume simple business rules, and little to no workflow. Independent User User / User Developer AFM AFM AFM•Gallery Filemaker Archives 22•AFM Access database
  23. 23. Option 2 – Multi-User Departmental Application for Departmental-only Data • This is a multiple user application. The data in this Access Databases is not ‘authoritative’ to the Gallery and therefore is considered a ‘copy’ of some other data stored as a Gallery resource. However, the accessed “read-only’ Central data is Authoratative. This Architecture assume simple business rules, and little to no workflow. Linked to Authoritative Source Authorization Read Only (RO) User (RO) (RO) User / User Developer•Old patch reporting Model 23
  24. 24. Option 3 – Multi-User Departmental Application for Gallery-Wide Data This architecture attempts to blend the “ease of use” of a “Single product System” with the centralized control of the “Enterprise Database”. This Architecture assumes simple business rules, and little to no workflow. Web XDO Data User Consistency Verfication Authorization User Authoritative Source Other .. IRIMS RE IRIS DAC TMS AFM End User Developer•Asset Inventory 24•Scott Steven Employee Database
  25. 25. Option 4 - Multi-User Gallery-Wide Application for Gallery-Wide Data This architecture extends the previous architecture to limit the impact of “Client Maintenance” by using a thin client Web Based Application.. User Consistency Checking XDO Authorization User Authoritative User Source Other .. IRIMS WEB RE IRIS DAC TMS User TDP DPUB User Convert Deploy to To Server / PHP Generated End User from User Developer Data Model•DCLPA Data PHP•VDMS Model Runner 25 DM Overrides•Patch Reporting
  26. 26. Option 5 - Strategic Applications Consistency User Checking XDO Authorization User Authoritative Source Other .. IRIMS RE IRIS User DAC TMS WEB TMSWEB Other .. TRAIN iHeat User DPUB User Developer Complex Web Services , User Native AJAX ,•IRIS Code Complex 26•Art Extract TDP application Rules
  27. 27. Metastorm• Not around when UDB study was developed (Dec 2007)• Today, I would define it as a hybrid of Complex Business Rules and Generated application 27
  28. 28. Architecture Web Browser `PHPRunner Application Server (Web Server) SQL Server Database 28
  29. 29. What kind of tool do we need to do this ?Required:- Must be easy to build – Low Maintenance- Must use database standards- Must have Security- Must have adequate performanceDesired:- We did not need to install it (e.g. Web based)- Was reasonably priced- Will be easy to maintain in the future (Standards based)- We should be able to easily replace it ! 29
  30. 30. A few options• MSAccess• Filemaker• PHPRunner• MetaStorm• Custom Web Develop? (Mason,Perl,CGI)• Other? 30
  31. 31. MSAccess (November 2007) I need a database, to share education programs and I have a MAC Will you change to a PC, then we’ll give you Microsoft Access In that case, “Nevermind” Hmm, We really cannot ignore the requirement for MACs. For that matter,expense to install is so high, a web solutionwould save the gallery the most money.. The Web should be a requirement. 31
  32. 32. Filemaker !Required:- Must be easy to build – Low Maintenance- Must use database standards- Must have Security- Must have adequate performanceDesired:- We did not need to install it (e.g. Web based)- Was reasonably priced- Will be easy to maintain in the future (Standards based) 32
  33. 33. Filemaker !Required:- Must be easy to build – Low Maintenance- Must use database standards- Must have Security- Must have adequate performance How about File Maker to a SQL Database … Isnt that a feature a feature of Filemaker server?Desired: that called ESS (External Data Sources)? Isnt- We did not need to install it (e.g. Web based)- Was reasonably priced- Will be easy to maintain in the future (Standards based) 33
  34. 34. Problems With Filemaker• “Filemaker External SQL Sources (ESS) In Depth” (Filemaker publication) – “Value lists cannot be based on data in an ESS table” – “in a FileMaker Pro context, date-only or time-only data entry will not be valid” – ESS data in FileMaker Pro has the potential to be slightly out of date – Binary data is not supported by ESS at present – Scrolling operations … can be problematic in large record sets. . . . and will perform fairly slowl – Sort not performed in database – The ESS feature set is primarily designed to allow FileMaker Pro solutions to integrate data from SQL-based solutions. ESS is not primarily intended as a means to scale solutions beyond the bounds of a purely FileMaker Pro based solution. – See: Filemaker and SQL Compliant Database(UDB) 20080109c.doc 34
  35. 35. Problems With Filemaker• “Filemaker External SQL Sources (ESS) In Depth” (Filemaker publication) – “Value lists cannot be based on data in an ESS table” “Value lists cannot be based on data in an ESS table” – “in a FileMaker Pro context, date-only or time-only data entry will not be valid” Means – ESS data in FileMaker Pro has the potential to be slightly out of date – Binary data is not supported by ESS at present No field list validation (Dropdown List) from – Scrolling operations … can be problematic in large record sets. . . . and will perform fairly slowl non-Filemaker authoritative sources! – Sort not performed in database – The ESS feature set is primarily designed to termsFileMaker Pro solutions to Or in simple allow integrate data from SQL-based solutions. ESS is not primarily intended as a means to scale solutions beyond the bounds of a purely FileMaker Pro based solution. “Can’t validate against to authoritative data” – See: Filemaker and SQL Compliant Database(UDB) 20080109c.doc 35
  36. 36. Filemaker (My Last Straw)From: John Blakeley [mailto:john@fbsl.co.nz]Sent: Tue 1/8/08 2:27 PMTo: Nicewick, ArthurSubject: RE: your post on Filemaker about ODBC conversion errorsHi ArthurThanks and a happy New Year to you!We gave up on the idea of pulling data from Filemaker using it as a linked server. In theend we scheduled a script to run that exported data on an hourly basis. SQL would thenimport it. We had to use MS scheduled tasks to open a FM file that would autostart anexport script as FM server schedule cannot run scripts that arent web compatible.Nothing is ever simple in Filemaker! One day...CheersJohn BlakeleyJohn Blakeley Mobile: + 64 21 948037Email: john@fbsl.co.nzSkype: john.blakeley BayviewNorth ShoreNew Zealand 36
  37. 37. Filemaker (My Last Straw)From: John Blakeley [mailto:john@fbsl.co.nz]Sent: Tue 1/8/08 2:27 PMTo: Nicewick, ArthurSubject: RE: your post on Filemaker about ODBC conversion errorsHi ArthurThanks and a happy New Year to you!We gave up on the idea of pulling data from Filemaker using it as a linked server. In theend we scheduled a script to run that exported data on an hourly basis. SQL would thenimport it. We had to use MS scheduled tasks to open a FM file that would autostart anexport script as FM server schedule cannot run scripts that arent web compatible.Nothing is ever simple in Filemaker! One day...Cheers “We gave up on the idea of pulling dataJohn BlakeleyJohn from Filemaker using it as a linked server” Blakeley Mobile: + 64 21 948037Email: john@fbsl.co.nzSkype: john.blakeleyBayviewNorth ShoreNew Zealand 37
  38. 38. Not Filemaker – Then what? 38
  39. 39. Prototyped Typical “Types” of Assets , with issue numbers mapped“Lookup” provides means to search for Issuance 39
  40. 40. Rated the best Easy to Learn Use Can be extended Can integrate with Cots Packages “Open” Architecture Java Server Ruby on Rails Alpha Cold .NetPHPRunner Faces Active Scaffold Five Fusion Netbeans 40
  41. 41. PHPRunnerRequired:- Must be easy to build – Low Maintenance Very little coding- Must use database standards Yes- Must have Security Pretty good, but we need to make it better- Must have adequate performance Looks OK, Need testingDesired:- We did not need to install it (e.g. Web based) Yes- Was reasonably priced Yes- Will be easy to maintain in the future (Standards based) Standard Industry Language (PHP) Framework not widespread as we would 41 like
  42. 42. es PHPRunner Code Generation e ang Ch reak od n’t b des C o a W upgr by Data DB Definitions Rules Security / s n ge Navigation C ha ak de ’t bre desCo on ra Framework Relationship W upg Custom by Framework Code Tables Web Relationships Generator Forms Framework Upgra Reve des will rt cha ge Codes nges chan by Code break Overrides t” “Migh rades. Codes upg t em Overrides , B ut t he sy s Access Routine y to will tr it.. Screen nt preve Customizations 42 Templates
  43. 43. es PHPRunner Code Generation e ang Ch reak od n’t b des C o a W upgr by Data DB Definitions Rules Security / s n ge Navigation C ha ak de ’t bre desCo on ra Framework Relationship W upg Custom by Framework Code Tables Web Relationships Generator Forms Framework Upgra Reve des will rt cha ge Codes nges chan by Code break Overrides t” “Migh rades. Codes upg t em Overrides , B ut t he sy s Access Routine y to will tr it.. Screen nt preve Customizations 43 Templates
  44. 44. UI Templates Layouts 44
  45. 45. UI Styles 45
  46. 46. UI Templates Layouts 46
  47. 47. Field Name and Column Order 47
  48. 48. Charts 48
  49. 49. Reports 49
  50. 50. Searchable (Advanced and Simple) Reports, Charts, Tables, … 50
  51. 51. End User Reports Creation (Web Based)• Very Simple• Version 1 is very limited• Tightly integrated with Security• Version 2 expected in the summer 51
  52. 52. How about Metastorm• Workflow Focus• Excellent integration with in-box process• Ideal for “Approval” Processing• Ideal for “Request” processing• Somewhat RAD• No focus Data model• No focus of Data Business Rules• “Probably” ported from non-relational 52
  53. 53. Web Database vs Workflow• PHPRunner (Web Database) has the user create the a normalized database (Modeling Business Rules) , then “Semi- Automatically” creates the User Interface• Metastorm (Workflow) has the user create a workflow , and then “Semi- Automatically” creates a “deNormalized” (Technical) database behind it 53
  54. 54. Metastorm vs Web Database• PHPRunner is “Only” code development, The tools is run on “ApachePHP”. Therefore there is no license issues for users (unlimited users) – PHPRunner toolkit $300 per developer – Unlimited users – No Additional cost• Metastorm provides both a “Toolkit” and a “Runtime” environment. The runtime environment cost – User License $149.88 per named user (not concurrent) – Work Workgroup Server, restricted to a maximum of 250 named users$17,984.89 per server – The Gallery has purchased 8 developer licenses at ~$2500 each (Need to verify) – Note: I current do not know many users exist in metastorm, We may be required to purchase more licenses. However, once purchased, a single user license will work with unlimited Workflow task (However, we may need addition servers) 54
  55. 55. Replacing Filemaker and MSAccess• PHPRunner is a Database driven tool and is therefore dependent on a normalized data model. Filemaker and MSAccess are also database driven tools that are also dependent on normalized data models. Therefore, PHPRunner should be ideal for database application migration of systems like “Gallery Archives”.• Metastorm is “Workflow” focused and does not allow the user to define the database. For pure data storage, it is not a good application. However, For workflow, it is very good. 55
  56. 56. PHPRunner Normalized Data Model Simple CRUD User Interface- Clean Data Type - Basic Menu- Logical Business Modeled Data Model - No “Workflow” or “Inbox”- Data enforced Business Rules - Light integration with Email- Easy to report - Decent report generation Header (e.g. Auto Name, Address ) Generated Admin Child1 Child3 Reference Child2 Tables(e.g. Child1 Kids (Roles ) (e.g.Names) Kids (e.g. Cars) Names) 56
  57. 57. Metastorm Complex Workflow DeNormalized Data Model- Great “Inbox” - Data not always Types (Integers are character )- “Approvals” out of box - Single Logical Table storing parents and children- Logical Diagramming of Workflow - “Temp” Screen data stored in Database- Tight integration with Email - Fields defined but not used- “Bad” report generation - Admin screen cannot be linked to data model Keys Header (e.g. Child1 Child2 Child3 Temp And Name, (e.g. Kids (e.g. Screen (Roles) Pointers Address ) Names) Cars) Data Auto ignore ignore ignore ignore Generated ignore ignore ignore ignore ignore ignore ignore ignore ignore ignore ignore ignore ignore ignore ignore ignore Admin Reference Tables ignore ignore ignore ignore ignore ignore ignore ignore ignore ignore ignore ignore 57
  58. 58. Metastorm and Workflow• RADVisual development of Workflow is what Metatstorm is good at!• A good standard for Workflow application in the Gallery 58
  59. 59. Data Model Differences Keys Header (e.g. Child1 Child2 Child3 Temp And Header Name, Pointers Address ) (e.g. Kids Names) (Roles) (e.g. Cars) Screen Data (e.g. Name, ignore ignore ignore ignore Address ) ignore ignore ignore ignore Parent ignore ignore ignore ignore ignore ignore ignore ignore Admin ignore ignore ignore ignore Reference Child1 Child2 Child3 Tables ignore(e.g. Child1 Kids (Roles ) (e.g. ignore ignore ignoreNames ) Kids Cars) (e.g. ignore ignore ignore ignore Names) ignore ignore ignore ignore 59
  60. 60. PHPRunner (DCLPA) Data Model RequestStatuses RequestBulkClassificationCounts Exhibitions Column Name Data Type Allow Nulls RequestBulkClassificationCount_id Classifications Column Name Data Type Allow Nulls RequestStatus_id int Request_id Column Name Data Type Allow Nulls Exhibition_id int Name nvarchar(100) CountForClassification Classification_id int code nvarchar(50) DropDown_Display_Order int Classification_id Name nvarchar(50) Name nvarchar(100) LastUpdateUserName nvarchar(50) isNGA LastUpdateUserName nvarchar(50) isMaintainedInTMS bit LastUpdateTime datetime Comment LastUpdateTime datetime Comment nvarchar(MAX) SetToThisWhenFirstReportIs... bit RequestReason_id int DropDown_Display_Or... int Requests * Loans Column Name Data Type Allow Nulls Column Name Data Type Allow Nulls Loan_id int Request_id int Name nvarchar(50) EntryShortcutSelect_... int DropDown_Display_Order int RequestReason_id int RequestTMSObjects RequestNonTMSObjects * Comment nvarchar(MAX) RequestType_id int RequestTMSObject_id RequestNonTMSObject_id RequestStatus_id int RequestReason_id int Request_id ExhibitionActivities * Name RequestReportDACs ExhibitionActivity_id Requestor_id int NGAContactGallery_id LastUpdateUserName nvarchar(50) TMSObject_id LastUpdateTime datetime RequestReport_DAC_id Comment nvarchar(300) SortOrderInReport Request_id RequestReport_id EntryShortcutAjax_TMSObje... Name QuickNotes nvarchar(MAX) DAC_Record_id RequestDate datetime RequestReason_id Comment LastUpdateUserName nvarchar(50) isOnWorklog LastUpdateUserName LastUpdateTime datetime LastUpdateTime LoanActivities RequestReports * Exhibition_id int Column Name Data Type Allow Nulls Column Name Data Type Allow Nulls ExhibitionActivity_id int LoanActivity_id int RequestReport_id int ExhibitionOtherActivit... int Name nvarchar(50) Request_id int EntryShortcutAjax_M... int RequestReportWorkOrders Comment nvarchar(MAX) ReportType_id int Loan_id int RequestReport_WorkOrder_id RequestReportTechnicalInfos LastUpdateUserName nvarchar(50) StartedDate datetime LoanActivity_id int RequestReport_id RequestReport_id LastUpdateTime datetime EndedDate datetime WorkOrder_Line TechnicalNotes RequestReason_id int Conservator_id int WorkOrderType_id BetaRadiograph Description nvarchar(MAX) LastUpdateUserName XRayFluorescenceSpectroscopy User_id int LastUpdateTime InfraredSpectroscopy RequestApprovingRoles RequestReportStatus_id int MicroFadometer RequestApprovingRole_id AnalogImageLocation_id int FourierTransformInfraredSpectroscopy Request_id IncludeInFinalObjectR... bit RequestTypes * FluorescenceSpectroscopy Column Name ApprovingRole_id Report nvarchar(MAX) RequestReasons * ApprovingUser_id ColorSpectroscopy RequestType_id LastUpdateUserName nvarchar(50) Column Name None Name Approval_id LastUpdateTime datetime RequestReason_idWorkOrderTypes RequestReportAttachments * Other isMajor Comment RequestTMSObject_id int DropDown_Display_Order WorkOrderType_id RequestReportAttachment_id OtherDescription isMinor LastUpdateUserName Attachment nvarchar(MAX) Name Name RequestReport_id isQuick LastUpdateTime Image nvarchar(MAX) LastUpdateUserName FileName isLoan RequestNonTMSObjec... int LastUpdateTime Comment isBulk isObjectRequired isMultiObjectsAllowed RequestTypeApprovingRoles RequestTypeApprovingRole_id isApprovalRequired RequestType_id DropDown_Display_Order ApprovingRole_id LastUpdateUserName ReportTypes Conservators Comment Column Name Data Type Allow Nulls RequestReportStatuses Conservator_id LastUpdateUserName ReportType_id int ReportTypeGroups RequestReportStatus_id Gallery_id LastUpdateTime ReportTypeGroup_id int ReportTypeGroup_id Name Comment Name nvarchar(100) Name DropDown_Display_Order isInEmployeeDirectory isTechnicalAnalysis RequestTypeReasons * LastUpdateUserName nvarchar(50) ReportType_id LocalVersionOfName RequestTypeReasons_id LastUpdateTime datetime isDetailedExam LastUpdateUserName LastUpdateUserName RequestType_id isValidWithBulk bit isTreatmentProposal LastUpdateTime LastUpdateTime RequestReason_id isValidWithQuick bit isObjectReport isValidWithMajor bit isOther isValidWithMinor bit LastUpdateUserName 60 DropDown_Display_Or... int LastUpdateTime

×