SlideShare une entreprise Scribd logo
1  sur  104
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
             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
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
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   Problem
AI
                                $

                  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
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 data



Raisers Edge                  Many users shared, expensive, little-
           TMS                customization

 Internet                      Enterprise-wide and beyond.                6
            Intranet
Database ?
• The gallery has two definitions of a
  database.
  – MSAccessFilemaker (Single Platform)

  – SQL ServerPostgress (Multiple Platform)




                                               7
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
Documentation (UDB)

    Project to Define when and how to define
    different application architectures (Nov, 2007)

Project Folder
•   ngagrouptTDPProjectsUDB - User Database Deployment


Documents
     –   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
Fate of UDB project
There was concern at the time, that the UDB approach would cause
“End Users” to be involved in the development process and that TDP
would be unable to control their development demands.

The contrarian position was that TDP would still be the primary
developers for any enterprise component of the architecture (e.g. Data
Model) and the proposed solution would eliminate the current practice
of users “independently” developing on systems that could not be
shared, secured or extended to the enterprise (e.g. Filemaker,
MSAccess, …)

These considerations were never resolved and the project was
cancelled in February of 2008.

However, the issues still exist, and the proposed architecture is still
worth reviewing.                                                          10
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-Product

010010101001010101010101010101
                                          Database
                                                            Technologist
                                                               View           What is a
                                          (Storage)
                                                                              Database?
010101010101010100010010010101

                                                                                                            11
Examples of “Single” verses
 “Multi” software applications
Application                     Front End         Business Rules        Database Storage   Development
                                Presentation       Application                               Environment

Single product Systems
Gallery Archives DB                                                  File Maker
Request Management System                                            File Maker
Purchase Card                                                        MS Access
Excel                                                                  Excel

Multi-Product Systems
Asset Inventory                                MS Access                  MSSQL              MS Access
Employee Database                              MS Access                  MSSQL              MS Access
Portfolio Extensis (Service)   Web                 Portfolio            MSSQL              Vendor
Inside.Nga.Gov                  Web                MasonPerlCGI         PostgresSQL        Eclipse
IRIS                            Web                Metastorm              MSSQL              Metastorm
FMS                             Java Applet        J2EE                   Oracle             OracleForms
TMS                             Visual Basic       Visual Basic           MSSQL              Visual Basic
Raisers Edge                    Visual Basic       Visual Basic           MSSQL              Visual Basic
Paper Conservation              Web                PHP                    MSSQL              PHPRunner



                                                                                                            12
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       Exhibition Code: 23 = XX

                                          Exhibition Code : 21 = AA

  Exhibition Code: 23 = XX
                                        Exhibition Code: 23 = XX
                                Exhibition Code: 23 = XX
Exhibition Code : 23 = YY
                                  Exhibition Code : 21 = AA


 Exhibition Code: 21 = AA
                             Exhibition Code: 21 = ZZ

                                                                   14
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
                                                           000




Keeping local copies of data caused obvious problems. Manual
Synchronization process are difficult to maintain.                                     15
Goal
•   Single version of truth
•   Defined Source of Authoritative data




                Exhibition Code: 23 = XX




                                           16
Using Authoritative Source
                                                          Authoritative Source




                                                                            I have the
I need an                                                                  latest phone
   Arts                                                                      numbers
 Phone #




                                                               Official Phone Book




Using a single source for the data, provides all the systems with the latest up
to data information                                                             17
Not one answer !
• Different users
• Different needs




                             18
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 C

Option 1.                                                                                                          OPTION 4
            OPTION 1                                                                                                                        OPTION 2
Single
                            Single User                                                                                                                Within Single Department


                                                                                                                                                                                              Option 2.
                        Non-Authoritative Data                                                                         Cross Departments                  Non-Authoratative
                                                                                                                       Authoritative Data
                                                                                                                                                                                  Read Only


User                                                                                                                                                         Access                           Shared
                                                                                                                                                    File

                         Access
                                                                                                                                                   Maker
                                                                                                                                                                                              Department
                        File Maker
                                                                                                                                                                                              Data
                                                               Dept A                                                             Dept B
                        Application
                             2
                                                                                                               `
                                                                                                                                                                                              (Fat Client)
                                                                                                                                                                                                    19
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
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
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
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
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
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
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
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
Architecture

       Web Browser
                           `




PHPRunner Application Server
      (Web Server)




    SQL Server Database


                               28
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 performance


Desired:
- 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
A few options
•   MSAccess
•   Filemaker
•   PHPRunner
•   MetaStorm
•   Custom Web Develop? (Mason,Perl,CGI)
•   Other?


                                           30
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 solution
would save the gallery the most money.. The
      Web should be a requirement.
                                                      31
Filemaker !
Required:
- Must be easy to build – Low Maintenance
- Must use database standards
- Must have Security
- Must have adequate performance

Desired:
- 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
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 …
    Isn't that a feature a feature of Filemaker server?
Desired: that called ESS (External Data Sources)?
      Isn't
- 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
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
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
Filemaker (My Last Straw)
From: John Blakeley [mailto:john@fbsl.co.nz]
Sent: Tue 1/8/08 2:27 PM
To: Nicewick, Arthur
Subject: RE: your post on Filemaker about ODBC conversion errors
Hi Arthur
Thanks 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 the
end we scheduled a script to run that exported data on an hourly basis. SQL would then
import it. We had to use MS scheduled tasks to open a FM file that would autostart an
export script as FM server schedule cannot run scripts that aren't web compatible.
Nothing is ever simple in Filemaker! One day...
Cheers
John Blakeley

John Blakeley Mobile: + 64 21 948037
Email: john@fbsl.co.nz
Skype: john.blakeley
 Bayview
North Shore
New Zealand
                                                                                        36
Filemaker (My Last Straw)
From: John Blakeley [mailto:john@fbsl.co.nz]
Sent: Tue 1/8/08 2:27 PM
To: Nicewick, Arthur
Subject: RE: your post on Filemaker about ODBC conversion errors
Hi Arthur
Thanks 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 the
end we scheduled a script to run that exported data on an hourly basis. SQL would then
import it. We had to use MS scheduled tasks to open a FM file that would autostart an
export script as FM server schedule cannot run scripts that aren't web compatible.
Nothing is ever simple in Filemaker! One day...
Cheers
      “We gave up on the idea of pulling data
John Blakeley

John from Filemaker using it as a linked server”
     Blakeley Mobile: + 64 21 948037
Email: john@fbsl.co.nz
Skype: john.blakeley
Bayview
North Shore
New Zealand
                                                                                        37
Not Filemaker – Then what?




                             38
Prototyped


                            Typical “Types” of Assets , with issue numbers
                            mapped




“Lookup” provides means to search for Issuance




                                                                             39
Rated the best
                                 Easy to Learn  Use
                                  Can be extended
                          Can integrate with Cots Packages
                                 “Open” Architecture




            Java Server      Ruby on Rails     Alpha          Cold
                                                                      .Net
PHPRunner      Faces        Active Scaffold   Five          Fusion
             Netbeans




                                                                             40
PHPRunner
Required:
- 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 testing
Desired:
- 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
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 des
Co 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
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 des
Co 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
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 Security
•   Version 2 expected in the summer




                                       51
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
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
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
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
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
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
Metastorm and Workflow
• RADVisual development of Workflow is what
  Metatstorm is good at!
• A good standard for Workflow application in the Gallery




                                                            58
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      ignore

Names ) Kids                 Cars)
  (e.g.
                                                                       ignore      ignore    ignore   ignore
   Names)

                                                            ignore                 ignore    ignore   ignore




                                                                                                        59
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_id
WorkOrderTypes                                    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
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture
Data sharing architecture

Contenu connexe

Tendances

Fi nf068c73aef66f694f31a049aff3f4
Fi nf068c73aef66f694f31a049aff3f4Fi nf068c73aef66f694f31a049aff3f4
Fi nf068c73aef66f694f31a049aff3f4Shawn D'souza
 
Introducing Open XDX Technology for Open Data API development
Introducing Open XDX Technology for Open Data API developmentIntroducing Open XDX Technology for Open Data API development
Introducing Open XDX Technology for Open Data API developmentBizagi Inc
 
Social network architecture - Part 3. Big data - Machine learning
Social network architecture - Part 3. Big data - Machine learningSocial network architecture - Part 3. Big data - Machine learning
Social network architecture - Part 3. Big data - Machine learningPhu Luong Trong
 
The fillmore-group-aese-presentation-111810
The fillmore-group-aese-presentation-111810The fillmore-group-aese-presentation-111810
The fillmore-group-aese-presentation-111810Gennaro (Rino) Persico
 
Why Every NoSQL Deployment Should Be Paired with Hadoop Webinar
Why Every NoSQL Deployment Should Be Paired with Hadoop WebinarWhy Every NoSQL Deployment Should Be Paired with Hadoop Webinar
Why Every NoSQL Deployment Should Be Paired with Hadoop WebinarCloudera, Inc.
 
SharePoint Performance - Tales from the Field
SharePoint Performance - Tales from the FieldSharePoint Performance - Tales from the Field
SharePoint Performance - Tales from the FieldChris McNulty
 
Track 2, Session 2, worlds most powerful intelligent and trusted storage syst...
Track 2, Session 2, worlds most powerful intelligent and trusted storage syst...Track 2, Session 2, worlds most powerful intelligent and trusted storage syst...
Track 2, Session 2, worlds most powerful intelligent and trusted storage syst...EMC Forum India
 
2009/12 Database Architechs Presentation
2009/12   Database Architechs Presentation2009/12   Database Architechs Presentation
2009/12 Database Architechs Presentationguest248edc
 
Summit 2011 infra_dbms
Summit 2011 infra_dbmsSummit 2011 infra_dbms
Summit 2011 infra_dbmsPini Cohen
 
Analytics on Hadoop
Analytics on HadoopAnalytics on Hadoop
Analytics on HadoopEMC
 
Sap BPC nw 10.0 master data load from BPC to BW
Sap BPC nw 10.0 master data load from BPC to BWSap BPC nw 10.0 master data load from BPC to BW
Sap BPC nw 10.0 master data load from BPC to BWCloneskills
 
Self-Service Access and Exploration of Big Data
Self-Service Access and Exploration of Big DataSelf-Service Access and Exploration of Big Data
Self-Service Access and Exploration of Big DataInside Analysis
 
Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30Cary Millsap
 

Tendances (16)

Ta3
Ta3Ta3
Ta3
 
Fi nf068c73aef66f694f31a049aff3f4
Fi nf068c73aef66f694f31a049aff3f4Fi nf068c73aef66f694f31a049aff3f4
Fi nf068c73aef66f694f31a049aff3f4
 
1 ieee98
1 ieee981 ieee98
1 ieee98
 
Introducing Open XDX Technology for Open Data API development
Introducing Open XDX Technology for Open Data API developmentIntroducing Open XDX Technology for Open Data API development
Introducing Open XDX Technology for Open Data API development
 
Social network architecture - Part 3. Big data - Machine learning
Social network architecture - Part 3. Big data - Machine learningSocial network architecture - Part 3. Big data - Machine learning
Social network architecture - Part 3. Big data - Machine learning
 
The fillmore-group-aese-presentation-111810
The fillmore-group-aese-presentation-111810The fillmore-group-aese-presentation-111810
The fillmore-group-aese-presentation-111810
 
DEX presentation for GDM 2011
DEX presentation for GDM 2011DEX presentation for GDM 2011
DEX presentation for GDM 2011
 
Why Every NoSQL Deployment Should Be Paired with Hadoop Webinar
Why Every NoSQL Deployment Should Be Paired with Hadoop WebinarWhy Every NoSQL Deployment Should Be Paired with Hadoop Webinar
Why Every NoSQL Deployment Should Be Paired with Hadoop Webinar
 
SharePoint Performance - Tales from the Field
SharePoint Performance - Tales from the FieldSharePoint Performance - Tales from the Field
SharePoint Performance - Tales from the Field
 
Track 2, Session 2, worlds most powerful intelligent and trusted storage syst...
Track 2, Session 2, worlds most powerful intelligent and trusted storage syst...Track 2, Session 2, worlds most powerful intelligent and trusted storage syst...
Track 2, Session 2, worlds most powerful intelligent and trusted storage syst...
 
2009/12 Database Architechs Presentation
2009/12   Database Architechs Presentation2009/12   Database Architechs Presentation
2009/12 Database Architechs Presentation
 
Summit 2011 infra_dbms
Summit 2011 infra_dbmsSummit 2011 infra_dbms
Summit 2011 infra_dbms
 
Analytics on Hadoop
Analytics on HadoopAnalytics on Hadoop
Analytics on Hadoop
 
Sap BPC nw 10.0 master data load from BPC to BW
Sap BPC nw 10.0 master data load from BPC to BWSap BPC nw 10.0 master data load from BPC to BW
Sap BPC nw 10.0 master data load from BPC to BW
 
Self-Service Access and Exploration of Big Data
Self-Service Access and Exploration of Big DataSelf-Service Access and Exploration of Big Data
Self-Service Access and Exploration of Big Data
 
Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30
 

En vedette

Art Handling
Art HandlingArt Handling
Art HandlingArtLinks
 
Strategy for Optimal Documentation of Museum Objects
Strategy for Optimal Documentation of Museum ObjectsStrategy for Optimal Documentation of Museum Objects
Strategy for Optimal Documentation of Museum ObjectsDaniel Pletinckx
 
FISMA Compliance
FISMA ComplianceFISMA Compliance
FISMA Complianceanicewick
 
Analisi di Vitalità Parte 2^ [Standards internazionali per la Conservazione]
Analisi di Vitalità Parte 2^ [Standards internazionali per la Conservazione]Analisi di Vitalità Parte 2^ [Standards internazionali per la Conservazione]
Analisi di Vitalità Parte 2^ [Standards internazionali per la Conservazione]Antonello Pollutri
 
Donna Williams - The Met's Multicultural Audience Development Inititiative
Donna Williams - The Met's Multicultural Audience Development InititiativeDonna Williams - The Met's Multicultural Audience Development Inititiative
Donna Williams - The Met's Multicultural Audience Development InititiativeCitiesTelAviv
 
Object Report for Managing Collections & Heritage Sites Unit (MMHS, Sydney Uni)
Object Report for Managing Collections & Heritage Sites Unit (MMHS, Sydney Uni)Object Report for Managing Collections & Heritage Sites Unit (MMHS, Sydney Uni)
Object Report for Managing Collections & Heritage Sites Unit (MMHS, Sydney Uni)Antony Skinner
 
Semantic web2
Semantic web2Semantic web2
Semantic web2anicewick
 
Storage And Transportation Of Art Objects
Storage And Transportation Of Art ObjectsStorage And Transportation Of Art Objects
Storage And Transportation Of Art ObjectsMatthew Wettergreen
 
La raza de perros schnauzers
La raza de perros  schnauzersLa raza de perros  schnauzers
La raza de perros schnauzers4811149
 
10 grandes citas para Emprendedores. 1a Sesión de Coaching Gratis
10 grandes citas para Emprendedores. 1a Sesión de Coaching Gratis10 grandes citas para Emprendedores. 1a Sesión de Coaching Gratis
10 grandes citas para Emprendedores. 1a Sesión de Coaching GratisDilmerAlvarado
 
TECNOLOGÍA EDUCATIVA
TECNOLOGÍA EDUCATIVATECNOLOGÍA EDUCATIVA
TECNOLOGÍA EDUCATIVABokia Santin
 
Revista MOTORSPOT RACING #4
Revista MOTORSPOT RACING #4Revista MOTORSPOT RACING #4
Revista MOTORSPOT RACING #4MOTORSPOT
 
Copy of the changing times
Copy of the changing timesCopy of the changing times
Copy of the changing times2016730
 
La Generación Móvil
La Generación MóvilLa Generación Móvil
La Generación Móvilctabernero
 
Diapositivas caro _informatica
Diapositivas caro _informaticaDiapositivas caro _informatica
Diapositivas caro _informaticanany1116
 

En vedette (20)

Art Handling
Art HandlingArt Handling
Art Handling
 
Strategy for Optimal Documentation of Museum Objects
Strategy for Optimal Documentation of Museum ObjectsStrategy for Optimal Documentation of Museum Objects
Strategy for Optimal Documentation of Museum Objects
 
FISMA Compliance
FISMA ComplianceFISMA Compliance
FISMA Compliance
 
Analisi di Vitalità Parte 2^ [Standards internazionali per la Conservazione]
Analisi di Vitalità Parte 2^ [Standards internazionali per la Conservazione]Analisi di Vitalità Parte 2^ [Standards internazionali per la Conservazione]
Analisi di Vitalità Parte 2^ [Standards internazionali per la Conservazione]
 
Donna Williams - The Met's Multicultural Audience Development Inititiative
Donna Williams - The Met's Multicultural Audience Development InititiativeDonna Williams - The Met's Multicultural Audience Development Inititiative
Donna Williams - The Met's Multicultural Audience Development Inititiative
 
Object Report for Managing Collections & Heritage Sites Unit (MMHS, Sydney Uni)
Object Report for Managing Collections & Heritage Sites Unit (MMHS, Sydney Uni)Object Report for Managing Collections & Heritage Sites Unit (MMHS, Sydney Uni)
Object Report for Managing Collections & Heritage Sites Unit (MMHS, Sydney Uni)
 
Semantic web2
Semantic web2Semantic web2
Semantic web2
 
Storage And Transportation Of Art Objects
Storage And Transportation Of Art ObjectsStorage And Transportation Of Art Objects
Storage And Transportation Of Art Objects
 
CVGENI Timor Leste
CVGENI Timor LesteCVGENI Timor Leste
CVGENI Timor Leste
 
Horno Teka HR 550
Horno Teka HR 550Horno Teka HR 550
Horno Teka HR 550
 
La raza de perros schnauzers
La raza de perros  schnauzersLa raza de perros  schnauzers
La raza de perros schnauzers
 
10 grandes citas para Emprendedores. 1a Sesión de Coaching Gratis
10 grandes citas para Emprendedores. 1a Sesión de Coaching Gratis10 grandes citas para Emprendedores. 1a Sesión de Coaching Gratis
10 grandes citas para Emprendedores. 1a Sesión de Coaching Gratis
 
Sap presentación
Sap   presentaciónSap   presentación
Sap presentación
 
Update laboral Análisis de las últimas sentencias del Tribunal Supremo en mat...
Update laboral Análisis de las últimas sentencias del Tribunal Supremo en mat...Update laboral Análisis de las últimas sentencias del Tribunal Supremo en mat...
Update laboral Análisis de las últimas sentencias del Tribunal Supremo en mat...
 
TECNOLOGÍA EDUCATIVA
TECNOLOGÍA EDUCATIVATECNOLOGÍA EDUCATIVA
TECNOLOGÍA EDUCATIVA
 
Revista MOTORSPOT RACING #4
Revista MOTORSPOT RACING #4Revista MOTORSPOT RACING #4
Revista MOTORSPOT RACING #4
 
Copy of the changing times
Copy of the changing timesCopy of the changing times
Copy of the changing times
 
Normativa acustica
Normativa acusticaNormativa acustica
Normativa acustica
 
La Generación Móvil
La Generación MóvilLa Generación Móvil
La Generación Móvil
 
Diapositivas caro _informatica
Diapositivas caro _informaticaDiapositivas caro _informatica
Diapositivas caro _informatica
 

Similaire à Data sharing architecture

Relational
RelationalRelational
Relationaldieover
 
Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)James Serra
 
Data Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningData Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningSergey Karayev
 
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011Cloudera, Inc.
 
Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)James Serra
 
Hadoop - Architectural road map for Hadoop Ecosystem
Hadoop -  Architectural road map for Hadoop EcosystemHadoop -  Architectural road map for Hadoop Ecosystem
Hadoop - Architectural road map for Hadoop Ecosystemnallagangus
 
20130204 graph to-pacer-xml
20130204 graph to-pacer-xml20130204 graph to-pacer-xml
20130204 graph to-pacer-xmlDavid Colebatch
 
Integrating hadoop - Big Data TechCon 2013
Integrating hadoop - Big Data TechCon 2013Integrating hadoop - Big Data TechCon 2013
Integrating hadoop - Big Data TechCon 2013Jonathan Seidman
 
Silicon valley nosql meetup april 2012
Silicon valley nosql meetup  april 2012Silicon valley nosql meetup  april 2012
Silicon valley nosql meetup april 2012InfiniteGraph
 
Shaping the Role of a Data Lake in a Modern Data Fabric Architecture
Shaping the Role of a Data Lake in a Modern Data Fabric ArchitectureShaping the Role of a Data Lake in a Modern Data Fabric Architecture
Shaping the Role of a Data Lake in a Modern Data Fabric ArchitectureDenodo
 
Ugif 04 2011 france ug04042011-jroy_part1
Ugif 04 2011   france ug04042011-jroy_part1Ugif 04 2011   france ug04042011-jroy_part1
Ugif 04 2011 france ug04042011-jroy_part1UGIF
 
So You Want to Build a Data Lake?
So You Want to Build a Data Lake?So You Want to Build a Data Lake?
So You Want to Build a Data Lake?David P. Moore
 
Cloud - NDT - Presentation
Cloud - NDT - PresentationCloud - NDT - Presentation
Cloud - NDT - PresentationÉric Dusablon
 
ADV Slides: When and How Data Lakes Fit into a Modern Data Architecture
ADV Slides: When and How Data Lakes Fit into a Modern Data ArchitectureADV Slides: When and How Data Lakes Fit into a Modern Data Architecture
ADV Slides: When and How Data Lakes Fit into a Modern Data ArchitectureDATAVERSITY
 
Business Intelligence and Data Analytics Revolutionized with Apache Hadoop
Business Intelligence and Data Analytics Revolutionized with Apache HadoopBusiness Intelligence and Data Analytics Revolutionized with Apache Hadoop
Business Intelligence and Data Analytics Revolutionized with Apache HadoopCloudera, Inc.
 
How Apache Hadoop is Revolutionizing Business Intelligence and Data Analytics...
How Apache Hadoop is Revolutionizing Business Intelligence and Data Analytics...How Apache Hadoop is Revolutionizing Business Intelligence and Data Analytics...
How Apache Hadoop is Revolutionizing Business Intelligence and Data Analytics...Amr Awadallah
 
Hafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practiceHafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practiceLars Marius Garshol
 
Lecture 3.31 3.32.pptx
Lecture 3.31  3.32.pptxLecture 3.31  3.32.pptx
Lecture 3.31 3.32.pptxRATISHKUMAR32
 

Similaire à Data sharing architecture (20)

Relational
RelationalRelational
Relational
 
Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)
 
Data Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningData Management - Full Stack Deep Learning
Data Management - Full Stack Deep Learning
 
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
 
Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)
 
Poster for ISGC
Poster for ISGCPoster for ISGC
Poster for ISGC
 
Hadoop - Architectural road map for Hadoop Ecosystem
Hadoop -  Architectural road map for Hadoop EcosystemHadoop -  Architectural road map for Hadoop Ecosystem
Hadoop - Architectural road map for Hadoop Ecosystem
 
20130204 graph to-pacer-xml
20130204 graph to-pacer-xml20130204 graph to-pacer-xml
20130204 graph to-pacer-xml
 
Integrating hadoop - Big Data TechCon 2013
Integrating hadoop - Big Data TechCon 2013Integrating hadoop - Big Data TechCon 2013
Integrating hadoop - Big Data TechCon 2013
 
Silicon valley nosql meetup april 2012
Silicon valley nosql meetup  april 2012Silicon valley nosql meetup  april 2012
Silicon valley nosql meetup april 2012
 
Shaping the Role of a Data Lake in a Modern Data Fabric Architecture
Shaping the Role of a Data Lake in a Modern Data Fabric ArchitectureShaping the Role of a Data Lake in a Modern Data Fabric Architecture
Shaping the Role of a Data Lake in a Modern Data Fabric Architecture
 
Ugif 04 2011 france ug04042011-jroy_part1
Ugif 04 2011   france ug04042011-jroy_part1Ugif 04 2011   france ug04042011-jroy_part1
Ugif 04 2011 france ug04042011-jroy_part1
 
So You Want to Build a Data Lake?
So You Want to Build a Data Lake?So You Want to Build a Data Lake?
So You Want to Build a Data Lake?
 
unit 1 big data.pptx
unit 1 big data.pptxunit 1 big data.pptx
unit 1 big data.pptx
 
Cloud - NDT - Presentation
Cloud - NDT - PresentationCloud - NDT - Presentation
Cloud - NDT - Presentation
 
ADV Slides: When and How Data Lakes Fit into a Modern Data Architecture
ADV Slides: When and How Data Lakes Fit into a Modern Data ArchitectureADV Slides: When and How Data Lakes Fit into a Modern Data Architecture
ADV Slides: When and How Data Lakes Fit into a Modern Data Architecture
 
Business Intelligence and Data Analytics Revolutionized with Apache Hadoop
Business Intelligence and Data Analytics Revolutionized with Apache HadoopBusiness Intelligence and Data Analytics Revolutionized with Apache Hadoop
Business Intelligence and Data Analytics Revolutionized with Apache Hadoop
 
How Apache Hadoop is Revolutionizing Business Intelligence and Data Analytics...
How Apache Hadoop is Revolutionizing Business Intelligence and Data Analytics...How Apache Hadoop is Revolutionizing Business Intelligence and Data Analytics...
How Apache Hadoop is Revolutionizing Business Intelligence and Data Analytics...
 
Hafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practiceHafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practice
 
Lecture 3.31 3.32.pptx
Lecture 3.31  3.32.pptxLecture 3.31  3.32.pptx
Lecture 3.31 3.32.pptx
 

Dernier

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Dernier (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Data sharing architecture

  • 1. Data Sharing Architecture 1 Art Nicewick
  • 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. 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. 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 Problem AI $ 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. 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 data Raisers Edge Many users shared, expensive, little- TMS customization Internet Enterprise-wide and beyond. 6 Intranet
  • 7. Database ? • The gallery has two definitions of a database. – MSAccessFilemaker (Single Platform) – SQL ServerPostgress (Multiple Platform) 7
  • 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. Documentation (UDB) Project to Define when and how to define different application architectures (Nov, 2007) Project Folder • ngagrouptTDPProjectsUDB - User Database Deployment Documents – 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. Fate of UDB project There was concern at the time, that the UDB approach would cause “End Users” to be involved in the development process and that TDP would be unable to control their development demands. The contrarian position was that TDP would still be the primary developers for any enterprise component of the architecture (e.g. Data Model) and the proposed solution would eliminate the current practice of users “independently” developing on systems that could not be shared, secured or extended to the enterprise (e.g. Filemaker, MSAccess, …) These considerations were never resolved and the project was cancelled in February of 2008. However, the issues still exist, and the proposed architecture is still worth reviewing. 10
  • 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-Product 010010101001010101010101010101 Database Technologist View What is a (Storage) Database? 010101010101010100010010010101 11
  • 12. Examples of “Single” verses “Multi” software applications Application Front End Business Rules Database Storage Development Presentation Application Environment Single product Systems Gallery Archives DB File Maker Request Management System File Maker Purchase Card MS Access Excel Excel Multi-Product Systems Asset Inventory MS Access MSSQL MS Access Employee Database MS Access MSSQL MS Access Portfolio Extensis (Service) Web Portfolio MSSQL Vendor Inside.Nga.Gov Web MasonPerlCGI PostgresSQL Eclipse IRIS Web Metastorm MSSQL Metastorm FMS Java Applet J2EE Oracle OracleForms TMS Visual Basic Visual Basic MSSQL Visual Basic Raisers Edge Visual Basic Visual Basic MSSQL Visual Basic Paper Conservation Web PHP MSSQL PHPRunner 12
  • 13. Where is the Data • Single version of Truth 13
  • 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 = XX Exhibition Code : 23 = YY Exhibition Code : 21 = AA Exhibition Code: 21 = AA Exhibition Code: 21 = ZZ 14
  • 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 000 Keeping local copies of data caused obvious problems. Manual Synchronization process are difficult to maintain. 15
  • 16. Goal • Single version of truth • Defined Source of Authoritative data Exhibition Code: 23 = XX 16
  • 17. Using Authoritative Source Authoritative Source I have the I need an latest phone Arts numbers Phone # Official Phone Book Using a single source for the data, provides all the systems with the latest up to data information 17
  • 18. Not one answer ! • Different users • Different needs 18
  • 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 C Option 1. OPTION 4 OPTION 1 OPTION 2 Single Single User Within Single Department Option 2. Non-Authoritative Data Cross Departments Non-Authoratative Authoritative Data Read Only User Access Shared File Access Maker Department File Maker Data Dept A Dept B Application 2 ` (Fat Client) 19
  • 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. 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. 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. 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. 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. 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. 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. 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. Architecture Web Browser ` PHPRunner Application Server (Web Server) SQL Server Database 28
  • 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 performance Desired: - 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. A few options • MSAccess • Filemaker • PHPRunner • MetaStorm • Custom Web Develop? (Mason,Perl,CGI) • Other? 30
  • 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 solution would save the gallery the most money.. The Web should be a requirement. 31
  • 32. Filemaker ! Required: - Must be easy to build – Low Maintenance - Must use database standards - Must have Security - Must have adequate performance Desired: - 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. 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 … Isn't that a feature a feature of Filemaker server? Desired: that called ESS (External Data Sources)? Isn't - 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. 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. 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. Filemaker (My Last Straw) From: John Blakeley [mailto:john@fbsl.co.nz] Sent: Tue 1/8/08 2:27 PM To: Nicewick, Arthur Subject: RE: your post on Filemaker about ODBC conversion errors Hi Arthur Thanks 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 the end we scheduled a script to run that exported data on an hourly basis. SQL would then import it. We had to use MS scheduled tasks to open a FM file that would autostart an export script as FM server schedule cannot run scripts that aren't web compatible. Nothing is ever simple in Filemaker! One day... Cheers John Blakeley John Blakeley Mobile: + 64 21 948037 Email: john@fbsl.co.nz Skype: john.blakeley Bayview North Shore New Zealand 36
  • 37. Filemaker (My Last Straw) From: John Blakeley [mailto:john@fbsl.co.nz] Sent: Tue 1/8/08 2:27 PM To: Nicewick, Arthur Subject: RE: your post on Filemaker about ODBC conversion errors Hi Arthur Thanks 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 the end we scheduled a script to run that exported data on an hourly basis. SQL would then import it. We had to use MS scheduled tasks to open a FM file that would autostart an export script as FM server schedule cannot run scripts that aren't web compatible. Nothing is ever simple in Filemaker! One day... Cheers “We gave up on the idea of pulling data John Blakeley John from Filemaker using it as a linked server” Blakeley Mobile: + 64 21 948037 Email: john@fbsl.co.nz Skype: john.blakeley Bayview North Shore New Zealand 37
  • 38. Not Filemaker – Then what? 38
  • 39. Prototyped Typical “Types” of Assets , with issue numbers mapped “Lookup” provides means to search for Issuance 39
  • 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 .Net PHPRunner Faces Active Scaffold Five Fusion Netbeans 40
  • 41. PHPRunner Required: - 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 testing Desired: - 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. 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 des Co 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. 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 des Co 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. UI Templates Layouts 44
  • 45. UI Styles 45
  • 46. UI Templates Layouts 46
  • 47. Field Name and Column Order 47
  • 48. Charts 48
  • 49. Reports 49
  • 50. Searchable (Advanced and Simple) Reports, Charts, Tables, … 50
  • 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. 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. 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. 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. 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. 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. 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. Metastorm and Workflow • RADVisual development of Workflow is what Metatstorm is good at! • A good standard for Workflow application in the Gallery 58
  • 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 ignore Names ) Kids Cars) (e.g. ignore ignore ignore ignore Names) ignore ignore ignore ignore 59
  • 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_id WorkOrderTypes 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