Dynamic archive management, a framework for dynamic database schemas

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Dynamic archive management, a framework for dynamic database schemas - Presentation Transcript

    1. Dynamic archive management Dynamic Archive Management a framework for dynamic database schemas Michiel Overeem Center for Software Technology, Universiteit Utrecht August 31, 2007 Dr. B. J. Heeren Drs. Ing. P. van Diermen Drs. L. Herlaar Center for Software Technology Michiel Overeem
    2. Dynamic archive management Context 1 Objectives 2 Using dynamic database schemas 3 Meta-data GUI Managing database schemas 4 Synchronization Version control system Conclusion 5 Center for Software Technology Michiel Overeem
    3. Dynamic archive management > Context Database schema coupling ... 50% or more of programmer effort arises as a result of system modifications after implementation ... Database schemas are knowledge, compiled into applications communicating with the database. As a result schema modifications lead to application code modifications. Center for Software Technology Michiel Overeem
    4. Dynamic archive management > Context Web applications Web applications are shifting from dynamic websites to the WebOS. Web applications consist of (X)HTML, CSS, and JavaScript. Design is done with CSS, however, structure is defined in (X)HTML. Different approaches exist to decouple the interface from the logic in web applications. Center for Software Technology Michiel Overeem
    5. Dynamic archive management > Context Web-based archive management Archive management systems: Management of documents (such as photos, certificates, books, and newspapers). Not only bookkeeping, but also opening up to a wide, anonymous audience. Data intensive: tight coupling with database schema. On the document level: basic CRUD functionality. On the collection level: search, report, and more. Center for Software Technology Michiel Overeem
    6. Dynamic archive management > Context Web-based archive management - cont’d Intranet interface: branding not required Intranet is used for management: more advanced features design does not have to be customizable Internet interface: branding often required Internet is used to open up documents to anonymous visitors: design is more important, customers want to present their collection in their style focus is not on management, but on presentation sometimes anonymous visitors can help the archive in a Wiki-like style Center for Software Technology Michiel Overeem
    7. Dynamic archive management > Context DEVENTit & Existing framework DEVENTit has developed a framework for generic database access: Framework deals with retrieval and synchronization of changes. Meta-data (the dictionary), containing database schema, is fed into framework. Center for Software Technology Michiel Overeem
    8. Dynamic archive management > Context DEVENTit & Existing framework DEVENTit has developed a framework for generic database access: Framework deals with retrieval and synchronization of changes. Meta-data (the dictionary), containing database schema, is fed into framework. How is the current framework used? 1 Database schema is designed in custom management application. Center for Software Technology Michiel Overeem
    9. Dynamic archive management > Context DEVENTit & Existing framework DEVENTit has developed a framework for generic database access: Framework deals with retrieval and synchronization of changes. Meta-data (the dictionary), containing database schema, is fed into framework. How is the current framework used? 1 Database schema is designed in custom management application. 2 Management application generates code files containing all meta-data. Center for Software Technology Michiel Overeem
    10. Dynamic archive management > Context DEVENTit & Existing framework DEVENTit has developed a framework for generic database access: Framework deals with retrieval and synchronization of changes. Meta-data (the dictionary), containing database schema, is fed into framework. How is the current framework used? 1 Database schema is designed in custom management application. 2 Management application generates code files containing all meta-data. 3 The code files are put in the codebase. Center for Software Technology Michiel Overeem
    11. Dynamic archive management > Context DEVENTit & Existing framework DEVENTit has developed a framework for generic database access: Framework deals with retrieval and synchronization of changes. Meta-data (the dictionary), containing database schema, is fed into framework. How is the current framework used? 1 Database schema is designed in custom management application. 2 Management application generates code files containing all meta-data. 3 The code files are put in the codebase. 4 Webpages are designed that show (part of) the database schema. Center for Software Technology Michiel Overeem
    12. Dynamic archive management > Context DEVENTit & Existing framework DEVENTit has developed a framework for generic database access: Framework deals with retrieval and synchronization of changes. Meta-data (the dictionary), containing database schema, is fed into framework. How is the current framework used? 1 Database schema is designed in custom management application. 2 Management application generates code files containing all meta-data. 3 The code files are put in the codebase. 4 Webpages are designed that show (part of) the database schema. 5 Application is compiled and deployed. Center for Software Technology Michiel Overeem
    13. Dynamic archive management > Context DEVENTit & Existing framework DEVENTit has developed a framework for generic database access: Framework deals with retrieval and synchronization of changes. Meta-data (the dictionary), containing database schema, is fed into framework. How is the current framework used? 1 Database schema is designed in custom management application. 2 Management application generates code files containing all meta-data. 3 The code files are put in the codebase. 4 Webpages are designed that show (part of) the database schema. 5 Application is compiled and deployed. 6 If a change is required: start at 1. Center for Software Technology Michiel Overeem
    14. Dynamic archive management > Context Framework diagram Webpages Dictionary ' E E Framework ' c c Database Center for Software Technology Michiel Overeem
    15. Dynamic archive management > Objectives Why this thesis? Why? No longer deployment cycles for schema changes: no compile-time linking to meta-data, or webpage. No longer developers to make small modifications. No longer manual synchronization of schema design environment with live database. ⇓⇓ Flexible, document independent archive management application Center for Software Technology Michiel Overeem
    16. Dynamic archive management > Objectives Project definition 1 How can a framework for archive management systems be constructed that removes the tight, compile-time coupling between a database schema and application logic, and b database schema and the user interface? 2 How can non-technical people modify a database schema used in an application built with the framework as described by 1? Center for Software Technology Michiel Overeem
    17. Dynamic archive management > Objectives Project definition 1 How can a framework for archive management systems be constructed that removes the tight, compile-time coupling between a database schema and application logic, and b database schema and the user interface? 2 How can non-technical people modify a database schema used in an application built with the framework as described by 1? We focus on the documents, not the entire database schema. We focus on CRUD pages for those documents. The document definitions become run-time mutable for non-technical users. Center for Software Technology Michiel Overeem
    18. Dynamic archive management > Using dynamic database schemas > Meta-data Extension of the framework, meta-data We want to loose the compile-time coupling No longer code generation: instead the framework accesses the meta-data (stored in a database) directly. ⇓ The meta-data is no longer static, thus reloading is required. Center for Software Technology Michiel Overeem
    19. Dynamic archive management > Using dynamic database schemas > Meta-data Extension of the framework, meta-data - cont’d The framework has to use correct, not out-dated information! The data model used in-memory has to contain the right information: the data model is a proxy between the framework and the 1 database the data model uses caching: pulling and pushing keeps the data 2 up to date Center for Software Technology Michiel Overeem
    20. Dynamic archive management > Using dynamic database schemas > GUI Extension of the framework, interface No longer webpages defined in a programming language XForms template engine Standardized Custom built Too technical Only what and where Bad support HTML, CSS output Center for Software Technology Michiel Overeem
    21. Dynamic archive management > Using dynamic database schemas > GUI Extension of the framework, interface No longer webpages defined in a programming language XForms template engine Standardized Custom built Too technical Only what and where Bad support HTML, CSS output ... <div> <field id=\"ADD CERTIFICATES DATE\" type=\"header\"/>: <field id=\"ADD CERTIFICATES DATE\" /> </div> ... Center for Software Technology Michiel Overeem
    22. Dynamic archive management > Using dynamic database schemas > GUI Framework diagram Webpages Dictionary ' E E Framework ' c c Database Center for Software Technology Michiel Overeem
    23. Dynamic archive management > Managing database schemas The meta-data The dictionary represents the relational model: tables, columns, and foreign keys. Lots of details that can be hard for non-educated users. Center for Software Technology Michiel Overeem
    24. Dynamic archive management > Managing database schemas The meta-data Persons The dictionary represents the relational model: tables, columns, and foreign keys. Lots of details that can be hard for non-educated users. ID Certificates ' E Name PersonAndRoles ID ID Date E CertificatesID Roles Description NameID ID RoleID Role Center for Software Technology Michiel Overeem
    25. Dynamic archive management > Managing database schemas The meta-data The dictionary represents the relational model: tables, columns, and foreign keys. Lots of details that can be hard for non-educated users. Abstraction from this model to simplify things: entities, fields, and relations. Relations do not have a direction, but a multiplicity: 1 to many, many to 1, or many to many. Users modify the abstraction. Center for Software Technology Michiel Overeem
    26. Dynamic archive management > Managing database schemas The meta-data The dictionary represents the relational model: tables, columns, and Persons foreign keys. Lots of details that can be hard for non-educated users. 1-to-m m-to-1 Name Certificates PersonAndRoles Abstraction from this model to simplify things: entities, fields, and Date relations. Relations do not have a direction, but a multiplicity: 1 to m-to-1 Description many, many to 1, or many to many. Roles Role Users modify the abstraction. Center for Software Technology Michiel Overeem
    27. Dynamic archive management > Managing database schemas The application Center for Software Technology Michiel Overeem
    28. Dynamic archive management > Managing database schemas > Synchronization Synchronize dictionary and schema The applications based on the framework use two things: dictionary (meta-data) and the database schema, in which the data is stored. Both have to be synchronized at all times: the meta-data is used to build queries to pull data from the database. These queries fail if the dictionary is different from the database. Dictionary Database ' ' E Framework c Center for Software Technology Michiel Overeem
    29. Dynamic archive management > Managing database schemas > Synchronization Synchronize dictionary and schema - cont’d The user opens a dictionary and starts an edit session. The edit session results in a collection of actions: addition, modification, and removal of entities, fields, and relations. These actions have to be applied on the database schema, but in order! Center for Software Technology Michiel Overeem
    30. Dynamic archive management > Managing database schemas > Synchronization Synchronize dictionary and schema - cont’d   MC AR                          MT E RR E RC E RT E AT      d d d d d  d  ‚ d ‚ d MR AC   Center for Software Technology Michiel Overeem
    31. Dynamic archive management > Managing database schemas > Synchronization Synchronize dictionary and schema - cont’d   MC AR                          MT E RR E RC E RT E AT      d d d d d  d  ‚ d ‚ d MR AC   ∀c, t : MT (t) ∈ A ∧ MC (c, t) ∈ A : MT (t) MC (c, t) The table can be renamed, but the modification of columns have to use the new name. Center for Software Technology Michiel Overeem
    32. Dynamic archive management > Managing database schemas > Synchronization Synchronize dictionary and schema - cont’d ∀c, t : RC (c, t) ∈ A ∧ RT (t) ∈ A : RC (c, t) RT (t) First remove the columns, before the tables can be removed.   MC AR                          MT E RR E RC E RT E AT      d d d d d  d  ‚ d ‚ d MR AC   Center for Software Technology Michiel Overeem
    33. Dynamic archive management > Managing database schemas > Synchronization Synchronize dictionary and schema - cont’d ∀c, t : AT (t) ∈ A ∧ AC (c, t) ∈ A : AT (t) AC (c, t) First add the table, before we can add a column to it.   MC AR                          MT E RR E RC E RT E AT      d d d d d  d  ‚ d ‚ d MR AC   Center for Software Technology Michiel Overeem
    34. Dynamic archive management > Managing database schemas > Version control system Version control system The users are just like developers: they make mistakes. Therefore a version control system is built into the management application. The control system is delta-based: only the diffs are stored. Center for Software Technology Michiel Overeem
    35. Dynamic archive management > Managing database schemas > Version control system Version control system Persons 1-to-m m-to-1 Name Certificates PersonAndRoles The users are just like developers: they make mistakes. Therefore a Date m-to-1 Description version control system is built into the management application. Roles The control system is delta-based: only the diffs are stored. Role  V0  Center for Software Technology Michiel Overeem
    36. Dynamic archive management > Managing database schemas > Version control system Version control system Persons 1-to-m m-to-1 Name Certificates PersonAndRoles Address The users are just like developers: they make mistakes. Therefore a Date m-to-1 Description version control system is built into the management application. Roles The control system is delta-based: only the diffs are stored. Role   V0 E δ1   Center for Software Technology Michiel Overeem
    37. Dynamic archive management > Managing database schemas > Version control system Version control system Persons 1-to-m m-to-1 Name Certificates PersonAndRoles Address Date The users are just like developers: they make mistakes. Therefore a Description m-to-1 version control system is built into the management application. Roles Location The control system is delta-based: only the diffs are stored. Role    V0 E δ1 E δ2    Center for Software Technology Michiel Overeem
    38. Dynamic archive management > Managing database schemas > Version control system Version control system Persons 1-to-m m-to-1 Name Certificates PersonAndRoles Address Date The users are just like developers: they make mistakes. Therefore a Description m-to-1 OrderNr version control system is built into the management application. Roles Location The control system is delta-based: only the diffs are stored. Role     V0 E δ1 E δ2 E δ3     Center for Software Technology Michiel Overeem
    39. Dynamic archive management > Managing database schemas > Version control system Version control system Persons 1-to-m m-to-1 Name Certificates PersonAndRoles Address Date The users are just like developers: they make mistakes. Therefore a Description m-to-1 OrderNr version control system is built into the management application. Roles Location The control system is delta-based: only the diffs are stored. Role     V0 E δ1 E δ2 E δ3     Deltas can be switched off and on! Center for Software Technology Michiel Overeem
    40. Dynamic archive management > Managing database schemas > Version control system Version control system Persons 1-to-m m-to-1 Name Certificates PersonAndRoles Address Date The users are just like developers: they make mistakes. Therefore a Description m-to-1 OrderNr version control system is built into the management application. Roles Location The control system is delta-based: only the diffs are stored. Role     V0 δ1 δ2 E δ3     Deltas can be switched off and on! Center for Software Technology Michiel Overeem
    41. Dynamic archive management > Managing database schemas > Version control system Version control system Persons 1-to-m m-to-1 Name Certificates PersonAndRoles Address Date The users are just like developers: they make mistakes. Therefore a Description m-to-1 OrderNr version control system is built into the management application. Roles Location The control system is delta-based: only the diffs are stored. Role But deltas have dependencies! If delta a is switched off,     too! all dependent deltas are switched off V0 δ1 δ2 E δ3     Deltas can be switched off and on! Center for Software Technology Michiel Overeem
    42. Dynamic archive management > Managing database schemas > Version control system Branching and merging Branches are used to experiment with alternative solutions, or to design in a modular way (not parallel!).    δ4 E δ5 E δ6                 V0 E δ1 E δ2 E δ3     Center for Software Technology Michiel Overeem
    43. Dynamic archive management > Managing database schemas > Version control system Branching and merging Branches are used to experiment with alternative solutions, or to design in a modular way (not parallel!).    δ4 E δ5 E δ6                 V0 E δ1 E δ2 E δ3     Merge the changes from the upper branch in the lower branch: Merge V123 and V456 using V0 , the result is Vm . Calculate the delta between V123 and Vm . Store that delta as δ7 , connected to δ3 . Center for Software Technology Michiel Overeem
    44. Dynamic archive management > Managing database schemas > Version control system Branching and merging Branches are used to experiment with alternative solutions, or to design in a modular way (not parallel!).    δ4 E δ5 E δ6                  V0 E δ1 E δ2 E δ3 E δ7      Merge the changes from the upper branch in the lower branch: Merge V123 and V456 using V0 , the result is Vm . Calculate the delta between V123 and Vm . Store that delta as δ7 , connected to δ3 . Center for Software Technology Michiel Overeem
    45. Dynamic archive management > Managing database schemas > Version control system Branching and merging - cont’d Merging is done in two situations: Branches Application updates But conflict-free merging is impossible! But conflicts are not user friendly! The first case is rather easy: let the user decide how to solve the conflict, he knows best . . . The second case is solved with annotations: let the developers decide . . . Center for Software Technology Michiel Overeem
    46. Dynamic archive management > Conclusion Conclusion 1 How can a framework for archive management systems be constructed that removes the tight, compile-time coupling between a database schema and application logic, and b database schema and the user interface? Center for Software Technology Michiel Overeem
    47. Dynamic archive management > Conclusion Conclusion 1 How can a framework for archive management systems be constructed that removes the tight, compile-time coupling between a database schema and application logic, and b database schema and the user interface? This is done by extending the existing framework. The framework can now load the meta-data at runtime, and keep it up-to-date. Templates are used that are mutable after compilation. Center for Software Technology Michiel Overeem
    48. Dynamic archive management > Conclusion Conclusion 1 How can a framework for archive management systems be constructed that removes the tight, compile-time coupling between a database schema and application logic, and b database schema and the user interface? This is done by extending the existing framework. The framework can now load the meta-data at runtime, and keep it up-to-date. Templates are used that are mutable after compilation. 2 How can non-technical people modify a database schema used in an application built with the framework as described by 1? Center for Software Technology Michiel Overeem
    49. Dynamic archive management > Conclusion Conclusion 1 How can a framework for archive management systems be constructed that removes the tight, compile-time coupling between a database schema and application logic, and b database schema and the user interface? This is done by extending the existing framework. The framework can now load the meta-data at runtime, and keep it up-to-date. Templates are used that are mutable after compilation. 2 How can non-technical people modify a database schema used in an application built with the framework as described by 1? The management application allows non-technical users to modify the schema, keeping the database synchronized, in a save environment. History reviewing and undo/redo makes it possible to experiment. Center for Software Technology Michiel Overeem
    50. Dynamic archive management > Conclusion Implementation Large part of is implemented: The runtime looking of meta-data. The template engine. The management application: The synchronization algorithm. Version control with separate copies. Undo/redo system. Center for Software Technology Michiel Overeem
    51. Dynamic archive management > Conclusion Future work Some things need more work: The templates are not integrated into the version control system, they are disconnected from the meta-data, they are by no means user-friendly. The management application could be used as off-line database schema manager. It could offer automatic generation of update scripts and so on, everything to help developers with their schemas. Center for Software Technology Michiel Overeem

    + michielovereemmichielovereem, 6 months ago

    custom

    207 views, 0 favs, 0 embeds more stats

    Creating a framework as a base for a generic databa more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 207
      • 207 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories