Building database-backed Web applications: Process and issues (2002)

In this article, the process of implementing database-backed Web applications from initial planning to final implementation and beyond will be explored. Both technical and issues will be addressed, including choosing hardware and database platforms; selection of development tools and approaches; making decisions on the allocation of time, personnel, and equipment; and assigning data and system administration tasks. (1) It is necessary to consider these points, even if a project seems simple, to ensure that no issues have been overlooked. Carefully thinking through all aspects beforehand can minimize the number of problems one will encounter later. ********** There is a growing body of literature on database-backed Web pages, both on general topics and specific platforms. (2) The library press is also beginning to publish in this area, including articles by Antleman, Mischo and Schlembach, Kiehl, Summers, and Westman. (3) There are several clear advantages of using a database rather than relying solely on static HTML pages: (1) it allows one to focus on inputting rather than formatting data; (2) it reduces the time required to maintain Web pages; and (3) it permits the reuse of information in a variety of situations and to serve a multiplicity purposes. However, when implementing this technology, one needs to undertake careful planning and weigh the costs versus the benefits. One will need to address a number of issues and make a number of decisions. Knowing what to expect will help to ensure success. * Planning Deciding What You Want When beginning, it is important to define the desired goal of the project and determine whether a database is the appropriate tool for that goal. Database-backed applications generally: ** use structured data where output via different parameters such as subject or material type is desired; ** enable searching of the data by various parameters; ** manage constantly changing data; and ** allow the reuse of information in different contexts and pages. Get Everybody on Board Once it is determined that a database is the appropriate tool for the job, it is necessary to get buy-in from two areas, administration and staff, before proceeding. Database-backed Web projects can consume significant staffing resources, may require a substantial financial investment in the short-run, and involve ongoing support in the long run. It is therefore critical that the library administration understands and fully supports the project. To obtain this understanding and support, answers must be provided to a number of questions: 1. What will be the benefit of this project? Answers can include saving time, providing better access to information, or allowing for more efficient workflow. 2. What will the costs be in terms of money and staff time? What will need to be dropped to do this? What new hardware, software, and personnel will be needed? Can it be done with existing infrastructure? 3. How is this project to be accomplished? What is the timeframe for its implementation? What are the steps to be taken and when should each step be completed? What expertise is needed? Does such expertise exist in-house or can it be acquired? 4. How much time and effort will it take to maintain this application? How much data inputting and updating will be involved? Will it be worth the investment? What subsequent programming and technical resources will be needed? It is also important to identify the persons who will fill various roles in the project. Note that one person may perform more than one role. Necessary functions include: ** Project coordinator--the person who oversees the project and makes sure things stay on-track ** Data users--the people who will help define the data and the functionality to be included in the application ** Designer--the person who finds out what data are needed and then creates the required data models ** Database administrator--the person who implements the data model and who administers the database management system (often the same person as the designer) ** Developer/programmer--the person who programs the application ** Testers--users who test the application (4) The project coordinator, by having the answers to these questions when approaching the library administration, can provide the administration with the information needed to make an informed decision. …