Download Date 04/10/2021 15:09:36

Total Page:16

File Type:pdf, Size:1020Kb

Download Date 04/10/2021 15:09:36 Database Metadata Requirements for Automated Web Development. A case study using PHP. Item Type Thesis Authors Mgheder, Mohamed A. Rights <a rel="license" href="http://creativecommons.org/licenses/ by-nc-nd/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by- nc-nd/3.0/88x31.png" /></a><br />The University of Bradford theses are licenced under a <a rel="license" href="http:// creativecommons.org/licenses/by-nc-nd/3.0/">Creative Commons Licence</a>. Download date 04/10/2021 15:09:36 Link to Item http://hdl.handle.net/10454/4907 University of Bradford eThesis This thesis is hosted in Bradford Scholars – The University of Bradford Open Access repository. Visit the repository for full metadata or to contact the repository team © University of Bradford. This work is licenced for reuse under a Creative Commons Licence. Database Metadata Requirements for Automated Web Development Mohamed Ahmed Mgheder PhD 2009 i Database Metadata Requirements for Automated Web Development A case study using PHP Mohamed Ahmed Mgheder BSc. MSc. Submitted for the degree of Doctor of Philosophy Department of Computing School of Computing, Informatics and Media University of Bradford 2009 ii Acknowledgements I am very grateful to my Lord Almighty ALLAH who helped me and guided me throughout my life and made it possible. I could never have done it by myself! I would like to acknowledge with great pleasure the continued support, and valuable advice of my supervisor Mr. Mick. J. Ridley, who gave me all the encouragement to carry out this work. I owe my loving thanks to my wife, and my children. They have lost a lot due to my research. Without their encouragement and understanding it would have been impossible for me to finish this work. My special gratitude is due to my parents and brothers and sisters for their loving support. iii Mohamed A. Mgheder “Database Metadata Requirements for Automated Web Development” Database, Metadata, PHP, Web Development, HTML, WWW Abstract The Web has come a long way. It started as a distributed document repository and quickly became the spring board for a new type of application. Propped on top of the original HTML+HTTP architecture, this new application platform shifted the way the architecture was used so that commands and functionality were embedded in the form data of Web requests rather than in the HTTP command conveying the request. This approach enabled Web requests to convey any type of data, not just document operations. This is occurring because the Web provides such a powerful platform on which to create applications. This is occurring because web development methods are still evolving toward the structure and stability required taking on this enormous new role. As the needs of developers change, certain themes that arise more frequently than others become embedded into new environments to support those needs. Until recently, Web application programming has largely been done with a set of keywords and metaphors developed long before the Web became a popular place to program. APIs have been developed to support Web specific features, but they are no replacement for fundamental changes in the programming environment itself. The growth of Web applications requires a new type of programming designed specifically for the needs of the Web. This thesis aims to contribute towards the development of an abstract framework to generate abstract and dynamic Web user interfaces that are not developed to a specific iv platform. To meet this aim, this thesis suggests a general implementation of a prototype system that uses the information in database metadata in conjunction with PHP. Database metadata is richer in providing the information needed to build dynamic user interfaces. This thesis uses PHP and the abstract library ADOdb to provide us with a generalised database metadata based prototype. PHP does not have any restrictions on accessing and extracting database metadata from numerous database management systems. As a result, PHP and relational database were used to build the proposed framework. Additionally, ADOdb was used to link the two mentioned technologies. The implemented framework in this thesis demonstrates that it is possible to generate different automatic Web entry forms that are not specific at any platform. v List of Author’s Publications Related to this Thesis 1. M. A. Mgheder and M. J. Ridley, "Automatic Generation of Web User Interfaces in PHP Using Database Metadata," presented at The Third International Conference on Internet and Web Applications and Services (ICIW 2008). IEEE Computer Society (2008). 2. M. A. Mgheder and M. J. Ridley, "Classification and Use of Database Defaults to Derive Web Interfaces," presented at The IASK International Conferences, E- Activity and Leading Technologies & InterTIC 2009 Seville, Spain, June 2009. vi Contents Chapter 1 ........................................................................................................................... 1 1.0 Introduction ........................................................................................................... 1 1.1 Motivations ......................................................................................................... 2 1.2 Aims and Objectives .......................................................................................... 3 1.3 Thesis Outline ..................................................................................................... 4 Chapter 2 ........................................................................................................................... 5 Web Technologies ............................................................................................................. 5 2.0 Introduction ........................................................................................................... 5 2.1 HTML ................................................................................................................. 5 2.1.1 The Evolution of HTML ............................................................................. 6 2.1.2 Structure of an HTML Document ............................................................. 12 2.1.3 Forms ........................................................................................................ 13 2.1.3.1 HTML Form Controls ........................................................................ 16 2.1.4 Cascading Style Sheets (CSS) ................................................................... 19 2.2 Client-side processing ...................................................................................... 25 2.2.1 JavaScript .................................................................................................. 25 2.3 Server-side processing ...................................................................................... 28 2.3.1 CGI ............................................................................................................ 29 2.3.2 FastCGI ..................................................................................................... 30 2.3.3 PERL ......................................................................................................... 30 2.3.4 Java Servlets .............................................................................................. 31 2.3.5 Java Server Pages (JSP) ............................................................................ 32 vii 2.3.6 Active Server Pages (ASP) ....................................................................... 34 2.4 PHP ................................................................................................................... 35 2.4.1 Introduction ............................................................................................... 35 2.4.2 PHP history ............................................................................................... 36 2.4.3 PHP General Features ............................................................................... 38 2.4.4 PHP Syntax ............................................................................................... 40 2.4.5 PHP data types .......................................................................................... 43 2.4.6 PHP Libraries ............................................................................................ 44 2.5 PHP and Database ............................................................................................ 45 Chapter 3 ......................................................................................................................... 50 Database Development.................................................................................................... 50 3.0 Introduction ......................................................................................................... 50 3.1 Relational Database .......................................................................................... 51 3.2 SQL Overview .................................................................................................. 52 3.3 Database Metadata ........................................................................................... 54 3.4 Database-independent programming interfaces ............................................... 58 3.4.1 Introduction ............................................................................................... 58 3.4.2 JDBC ........................................................................................................
Recommended publications
  • Mariadb / Mysql for Web Developers
    www.fromdual.com MariaDB / MySQL for Web Developers Web Developer Congress 2020, remote Oli Sennhauser Senior MariaDB & MySQL Consultant at FromDual GmbH https://www.fromdual.com/presentations 1 / 27 About FromDual GmbH www.fromdual.com Support Consulting remote-DBA Training 2 / 27 Contents www.fromdual.com MariaDB / MySQL for Web Developers ➢ Databases ➢ Connecting to the database ➢ Basic database queries (SELECT) ➢ Changing Data (DML) ➢ Transactions ➢ Error Handling and Debugging ➢ Joining Tables ➢ Indexing 3 / 27 What are databases for? www.fromdual.com ● Primarily: Relational DBMS (RDBMS) ● Storing Business Information: ● CRM, ERP, Accounting, Shop, Booking, etc. ● What are they NOT for (non optimal)? ● Logs → Files, Logstash ● Images, PDFs, huge texts → Filer, Solr ● Trash → Waste bin 4 / 27 Different types of databases www.fromdual.com ● Flat files, CSV, ISAM ● Hierarchical database ● Relational databases (RDBMS) ● Network databases ● Object Oriented databases (OODBMS) ● Object Relational DBMS (ORDBMS) ● Graph databases ● Column Stores (MariaDB CS) ● "Document" Stores (JSON, MongoDB) ● Wide Column Stores (Cassandra, HBase) 5 / 27 Common Relational DBMS www.fromdual.com ● MariaDB ● more in the Web-Client-Server field (LAMP) ● MySQL ● more in the Web-Client-Server field (LAMP) ● PostgreSQL ● more in the fat-Client-Server Business Software field ● SQLite ● Not a real "Client-Server-DBMS" → Library ● Embedded DBMS (Industry, Firefox, etc.) 6 / 27 Connection to the DBMS www.fromdual.com ● GUI (MySQL Workbench, HeidiSQL) ● CLI (mariadb,
    [Show full text]
  • Mysql Connector/ODBC Release Notes
    MySQL Connector/ODBC Release Notes Abstract This document contains release notes for the changes in each release of MySQL Connector/ODBC. For additional Connector/ODBC documentation, see MySQL Connector/ODBC Developer Guide. Updates to these notes occur as new product features are added, so that everybody can follow the development process. If a recent version is listed here that you cannot find on the download page (https://dev.mysql.com/ downloads/), the version has not yet been released. The documentation included in source and binary distributions may not be fully up to date with respect to release note entries because integration of the documentation occurs at release build time. For the most up-to-date release notes, please refer to the online documentation instead. For legal information, see the Legal Notices. For help with using MySQL, please visit the MySQL Forums, where you can discuss your issues with other MySQL users. Document generated on: 2021-09-23 (revision: 23350) Table of Contents Preface and Legal Notices ............................................................................................................ 3 Changes in MySQL Connector/ODBC Version 8.0 ......................................................................... 4 Changes in MySQL Connector/ODBC 8.0.26 (2021-07-20, General Availability) ....................... 4 Changes in MySQL Connector/ODBC 8.0.25 (2021-05-11, General Availability) ....................... 5 Changes in MySQL Connector/ODBC 8.0.24 (2021-04-20, General Availability) ....................... 5 Changes in MySQL Connector/ODBC 8.0.23 (2021-01-18, General Availability) ....................... 6 Changes in MySQL Connector/ODBC 8.0.22 (2020-10-19, General Availability) ....................... 7 Changes in MySQL Connector/ODBC 8.0.21 (2020-07-13, General Availability) ....................... 8 Changes in MySQL Connector/ODBC 8.0.20 (2020-04-27, General Availability) ......................
    [Show full text]
  • Database Performance Study
    Database Performance Study By Francois Charvet Ashish Pande Please do not copy, reproduce or distribute without the explicit consent of the authors. Table of Contents Part A: Findings and Conclusions…………p3 Scope and Methodology……………………………….p4 Database Performance - Background………………….p4 Factors…………………………………………………p5 Performance Monitoring………………………………p6 Solving Performance Issues…………………...............p7 Organizational aspects……………………...................p11 Training………………………………………………..p14 Type of database environments and normalizations…..p14 Part B: Interview Summaries………………p20 Appendices…………………………………...p44 Database Performance Study 2 Part A Findings and Conclusions Database Performance Study 3 Scope and Methodology The authors were contacted by a faculty member to conduct a research project for the IS Board at UMSL. While the original proposal would be to assist in SQL optimization and tuning at Company A1, the scope of such project would be very time-consuming and require specific expertise within the research team. The scope of the current project was therefore revised, and the new project would consist in determining the current standards and practices in the field of SQL and database optimization in a number of companies represented on the board. Conclusions would be based on a series of interviews with Database Administrators (DBA’s) from the different companies, and on current literature about the topic. The first meeting took place 6th February 2003, and interviews were held mainly throughout the spring Semester 2003. Results would be presented in a final paper, and a presentation would also be held at the end of the project. Individual summaries of the interviews conducted with the DBA’s are included in Part B. A representative set of questions used during the interviews is also included.
    [Show full text]
  • (UCP) in a Tomcat Application Container Requires the Following Steps
    Design and Deploy TomCat AppliCations for Planned, Unplanned Database Downtimes and Runtime Load BalanCing with UCP In OraCle Database RAC and Active Data Guard environments ORACLE WHITE PAPER NOVEMBER 2017 DESIGN AND DEPLOY TOMCAT SERVLETS FOR PLANNED AND UNPLANNED DATABASE DOWNTIME AND LOAD BALANCING WITH UCP Table of Contents IntroduCtion 3 Issues to be addressed 3 OraCle Database 12C High-Availability and Load BalanCing ConCepts 4 Configure TomCat for UCP 4 Create a New Database Resource 4 Create a JNDI lookup in the servlet 5 Create a web.xml for the servlet 6 Hiding Planned MaintenanCe from TomCat Servlets 6 Web Applications Steps 6 DBA or RDBMS Steps 7 Hiding Unplanned Database downtime from TomCat Servlets 9 Developer or Web Application Steps 9 DBA or RDBMS Steps 10 Application Continuity Checklist 10 Runtime Load BalanCing (RLB) with TomCat Servlets 12 Web AppliCation steps 12 Appendix 13 Enable JDBC & UCP logging for debugging 13 ConClusion 14 2 DESIGN AND DEPLOY TOMCAT SERVLETS FOR PLANNED AND UNPLANNED DATABASE DOWNTIME AND LOAD BALANCING WITH UCP IntroduCtion Achieving maximum appliCation uptime without interruptions is a CritiCal business requirement. There are a number of requirements such as outage detection, transparent planned maintenanCe, and work load balanCing that influenCe appliCation availability and performance. The purpose of this paper is to help Java Web applications deployed with ApaChe TomCat, achieve maximum availability and sCalability when using Oracle. Are you looking for best praCtiCes to hide your tomCat applications from database outages? Are you looking at, smooth & stress-free maintenanCes of your tomCat appliCations? Are you looking at leveraging Oracle Database’s runtime load balancing in your tomCat web appliCations? This paper Covers the configuration of your database and tomCat servlets for resilienCy to planned maintenanCe, unplanned database outages, and dynamic balancing of the workload across 1 database instances, using RAC, ADG, GDS , and UCP.
    [Show full text]
  • Summer Internship Project Report on Open Source Intrusion Detection
    Summer Internship Project Report On Open Source Intrusion Detection System Carried Out At IDRBT Hyderabad 29 th May 2014 to 30 th July 2014 Submitted By: Guided By: Sambit Sarkar Dr. N.P.Dhavale Roll No.: 114112079 Deputy General Manager B.Tech.: Production (2 nd year) IDRBT Hyderabad Indian Institute of Technology Acknowledgement It gives me immense pleasure in presenting my summer internship report. I would like to take this opportunity to express my deepest gratitude to the people, who would have contributed their valuable time for helping me to successfully complete this internship. With great pleasure and acknolodgement I extend my deep gratitude to Shri B. Sambamurthy, Director, IDRBT Hyderabad, for giving me opportunity to accomplish internship at this esteemed organization. It is my profound privilege to express my deep sense of gratitude to Dr. N.P.Dhavale, Deputy General Manager, IDRBT Hyderabad for his precious guidance, constructive encouragement and support throughout the development of the project. Without his help and guidence, it was really difficult to complete this project on time. I am also thankfull to the Shri V.S.Mahesh, Assistant General Manager, IDRBT Hyderabad, Shri E. Shrihari, Project Officer, IDRBT Hyderabad and Shri Sudhir Kumar Jha, Manager, IDRBT Hyderabad for their guidance and support. Finally, I would like to thank the Institute for Development and Research in Banking Technology Hyderabad for conducting such kind of training and I am also grateful to all the other people who have directly or indirectly helped me in my summer internship. Sambit Sarkar B.Tech. (2 nd year) Production Engineering National Institute Of Technology Trichy Certificate This is to verify that the summer internship project report entitled Open Source Intrusion Detection System submitted by Sambit Sarkar, B.
    [Show full text]
  • Portable Database Access for Javascript Applications Using Java 8 Nashorn
    Portable Database Access for JavaScript Applications using Java 8 Nashorn Kuassi Mensah Director, Product Management Server Technologies October 04, 2017 Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 3 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 4 Speaker Bio • Director of Product Management at Oracle (i) Java integration with the Oracle database (JDBC, UCP, Java in the database) (ii) Oracle Datasource for Hadoop (OD4H), upcoming OD for Spark, OD for Flink and so on (iii) JavaScript/Nashorn integration with the Oracle database (DB access, JS stored proc, fluent JS ) • MS CS from the Programming Institute of University of Paris • Frequent speaker JavaOne, Oracle Open World, Data Summit, Node Summit, Oracle User groups (UKOUG, DOAG,OUGN, BGOUG, OUGF, GUOB, ArOUG, ORAMEX, Sangam,OTNYathra, China, Thailand, etc), • Author: Oracle Database Programming using Java and Web Services • @kmensah, http://db360.blogspot.com/, https://www.linkedin.com/in/kmensah Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Program Agenda 1 The State of JavaScript 2 The Problem with Database Access 3 JavaScript on the JVM - Nashorn 4 Portable Database Access 5 Wrap Up Copyright © 2017, Oracle and/or its affiliates.
    [Show full text]
  • Planned/Unplanned Downtime and Runtime Load Balancing with UCP
    Design and Deploy WebSphere Applications for Planned, Unplanned Database Downtimes and Runtime Load Balancing with UCP In Oracle Database RAC and Active Data Guard environments ORACLE WHITE PAPER AUGUST 2015 DESIGN AND DEPLOY WEBSPHERE SERVLETS FOR PLANNED AND UNPLANNED DATABASE DOWNTIME AND LOAD BALANCING WITH UCP Table of Contents Introduction 3 Issues to be addressed 3 Oracle Database 12c High-Availability and Load Balancing Concepts 4 Configure WebSphere for UCP 4 Create a New JDBC Provider 4 Create a New DataSource 8 Create a JNDI context in the servlet 19 Create a web.xml for the Servlet 20 WebSphere Tips 20 Hiding Planned Maintenance from WebSphere Applications 20 Developer or Web Applications Steps 21 DBA or RDBMS Steps 22 Hiding Unplanned Database Downtime from WebSphere applications 23 Developer or Web Application Steps 23 DBA or RDBMS Steps 24 Runtime Load Balancing (RLB) with WebSphere Servlets 24 Developer or Web Application steps 25 Appendix 26 Enable JDBC & UCP logging for debugging 26 Conclusion 27 DESIGN AND DEPLOY WEBSPHERE SERVLETS FOR PLANNED AND UNPLANNED DATABASE DOWNTIME AND LOAD BALANCING WITH UCP 2 Introduction Achieving maximum application uptime without interruptions is a critical business requirement. There are a number of requirements such as outage detection, transparent planned maintenance, and work load balancing that influence application availability and performance. The purpose of this paper is to help Java Web applications deployed with IBM WebSphere, achieve maximum availability and scalability when using Oracle. Are you looking for best practices to hide your web applications from database outages? Are you looking at, smooth & stress-free maintenances of your web applications? Are you looking at leveraging Oracle Database’s runtime load balancing in your WebSphere applications? This paper covers the configuration of your database and WebSphere Servlets for resiliency to planned, unplanned database outages and dynamic balancing of the workload across database instances, using RAC, ADG, GDS1, and UCP.
    [Show full text]
  • Lead Database Support Technologist LOCATION
    Office of Human Resources POSITION DESCRIPTION POSITION: Lead Database Support Technologist LOCATION: Information Technology REPORTS TO: Manager-Systems Development GRADE: PSA 14 WORK SCHEDULE: Non-Standard, 35 hours per week SUPERVISES: May exercise supervision over part-time and student employees. JOB SUMMARY: The Database Administrator (DBA) role is to design, install, monitor, maintain, and performance tune production, test/development, and QA database environments while ensuring high levels of data availability. This individual is also responsible for developing, implementing, and overseeing database policies and procedures to ensure the integrity and availability of all databases and their accompanying software. The DBA will design and implement redundant systems, policies and procedures for disaster recovery and data archiving to ensure effective protection and integrity of data assets, and will remain current with the latest technologies and industry/business trends. ESSENTIAL DUTIES AND RESPONSIBILITIES: Install, monitor, maintain and performance tune all Production, Test & Development databases including but not limited to Oracle and SQL server. Upgrade database management systems, including but not limited to Oracle and SQL server. Developing, implementing, and overseeing database policies and procedures to ensure the integrity and availability of Oracle databases and their accompanying software. Install and upgrade database applications by applying patches and upgrades on a regular schedule. Knight Campus 400 East Avenue, Warwick, RI 02886-1807 P: 401.825.2311 F: 401.825.2345 Provides technical support to application development teams. This is usually in the form of a help desk. The DBA is usually the point of contact for Oracle Support. Install, configure and upgrade server and database application components including but not limited to the portal platform, LDAP server, messaging server, calendar server, web server, payment gateway, internet based forms and self-service applications.
    [Show full text]
  • Developing Database Applications
    Developing Database Applications JBuilder® 2005 Borland Software Corporation 100 Enterprise Way Scotts Valley, California 95066-3249 www.borland.com Refer to the file deploy.html located in the redist directory of your JBuilder product for a complete list of files that you can distribute in accordance with the JBuilder License Statement and Limited Warranty. Borland Software Corporation may have patents and/or pending patent applications covering subject matter in this document. Please refer to the product CD or the About dialog box for the list of applicable patents. The furnishing of this document does not give you any license to these patents. COPYRIGHT © 1997–2004 Borland Software Corporation. All rights reserved. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the United States and other countries. All other marks are the property of their respective owners. For third-party conditions and disclaimers, see the Release Notes on your JBuilder product CD. Printed in the U.S.A. JB2005database 10E13R0804 0405060708-987654321 PDF Contents Chapter 1 Chapter 4 Introduction 1 Connecting to a database 27 Chapter summaries . 2 Connecting to databases . 28 Database tutorials. 3 Adding a Database component to your Database samples . 3 application . 28 Related documentation . 4 Setting Database connection properties . 29 Documentation conventions . 6 Setting up JDataStore . 31 Developer support and resources. 7 Setting up InterBase and InterClient. 31 Contacting Borland Developer Support . 7 Using InterBase and InterClient with JBuilder . 32 Online resources. 7 Tips on using sample InterBase tables . 32 World Wide Web . 8 Adding a JDBC driver to JBuilder .
    [Show full text]
  • COSC 304 Database Introduction
    COSC 304 - Dr. Ramon Lawrence COSC 304 What is a database? Introduction to Database Systems A database is a collection of logically related data for a particular domain. Database Introduction A database management system (DBMS) is software designed for the creation and management of databases. Dr. Ramon Lawrence e.g. Oracle, DB2, Access, MySQL, SQL Server, MongoDB University of British Columbia Okanagan [email protected] Bottom line: A database is the data stored and a database system is the software that manages the data. Page 2 COSC 304 - Dr. Ramon Lawrence COSC 304 - Dr. Ramon Lawrence Databases in the Real-World Example Problem Databases are everywhere in the real-world even though you Implement a system for managing products for a retailer. do not often interact with them directly. Data: Information on products (SKU, name, desc, inventory) $25 billion dollar annual industry Add new products, manage inventory of products Examples: Retailers manage their products and sales using a database. How would you do this without a database? Wal-Mart has one of the largest databases in the world! Online web sites such as Amazon, eBay, and Expedia track orders, shipments, and customers using databases. The university maintains all your registration information and What types of challenges would you face? marks in a database. Can you think of other examples? What data do you have? Page 3 Page 4 COSC 304 - Dr. Ramon Lawrence COSC 304 - Dr. Ramon Lawrence Why do we need databases? File Processing Diagram Without a DBMS, your application must rely on files to store its data persistently.
    [Show full text]
  • Conversion of Microsoft SQL/ASP Applications to Postgresql
    Conversion of Microsoft SQL/ASP applications to PostgreSQL Written by Ethan Townsend, Produced by Project A 6/23/05 Introduction: This manual was compiled by Project A Web Development (http://www.projecta.com) as a project supported by Jim Teece. It was written by Ethan Townsend as a documented means of migrating our ADO ASP application, SIB (Site-in-a- box), from Microsoft SQL Server 7.0 to an open source database. SIB is a large database- driven application that includes many views, stored procedures, and complex SQL executed from the ASP pages. The primary goals were to: 1) Modify the application so that it could seamlessly switch between the existing SQL Server database and the new open source database. 2) Have the ability to offload existing databases from SQL Server to the new database server. 3) Make no modifications to the existing, working SQL Server. 4) Maximize ease-of-use, stability, performance, and security. The following open source database servers were installed and analyzed to determine their feasibility in replacing SQL Server: ● MySQL 4.1: The stable version of MySQL at the time of testing. ● MySQL 5: The development version of MySQL. ● PostgreSQL 7.4: ● PostgreSQL 8.0.3: ● Firebird 1.5.3: ● MaxDB 7.5: ● MaxDB 7.6: After reviewing the alternatives, we settled on PostgreSQL 8.0 for the following reasons: ● Good documentation, ● Best performance on Windows platform (using the included ODBC driver). ● Custom operators and functions allowed a compatibility layer to minimize code changes (only about 300 changes were necessary in ~700,000 lines of code).
    [Show full text]
  • Design and Implementation of a Document Database Extension
    Design and Implementation of a Document Database Extension Stefania Leone1, Ela Hunt2, Thomas B. Hodel2, Michael Boehlen3, and Klaus R. Dittrich1 1 University of Zurich, Department of Informatics, Winterthurerstrasse 190, 8057 Zurich, Switzerland {leone,dittrich}@ifi.unizh.ch 2 Swiss Federal Institute of Technology (ETH Zurich), 8092 Zurich, Switzerland, [email protected], [email protected] 3 Free University of Bolzano-Bozen, Piazza Domenicani 3, 39100 Bolzano, Italy, [email protected] Abstract. Integration of text and documents into database manage- ment systems has been the subject of much research. However, most of the approaches are limited to data retrieval. Collaborative text editing, i.e. the ability for multiple users to work on a document instance simulta- neously, is rarely supported. Also, documents mostly consist of plain text only, and support very limited meta data storage or search. We address the problem by proposing an extended definition of document data type which comprises not only the text itself but also structural information such as layout, template and semantics, as well as document creation meta data. We implemented a new collaborative data type Document which supports document manipulation via a text editing API and ex- tended SQL syntax (TX SQL), as detailed in this work. We report also on the search capabilities of our document management system and present some of the future challenges for collaborative document management. 1 Introduction Text documents are produced by the million in companies, government offices and universities. Papers, reports and business documents contain a large part of an organization’s knowledge. These documents are mostly stored in a hierarchical folder structure on file servers, and are often difficult to find, even if a document management system is used.
    [Show full text]