Application Design and Development Practically all use of databases occurs from within application programs. Correspondingly, almost all user interaction with databases is indirect, via application programs. Not surprisingly, therefore, database systems have long supported tools such as form and GUI builders, which help in rapid development of applications that interface with users. In recent years, the Web has become the most widely used user interface to databases.39145
In this chapter, we study tools and technologies that are used to build applications, focussing on interactive applications that use databases to store data.
After an introduction to application programs and user interfaces in Sec-tion 9.1, we focus on developing applications with Web-based interfaces.We start with an overview of Web technologies in Section 9.2, and discuss the Java Servlets technology, which is widely used for building Web applications, in Section 9.3. A short overview of Web application architectures in presented Section 9.4. In Sec-tion 9.5, we discuss tools for rapid application development, while in Section 9.6 we cover performance issues in building large Web applications. In Section 9.7,we discuss issues in application security. We conclude the chapter with Section 9.8,which covers encryption and its use in applications.
Application Programs and User Interfaces
Although many people interact with databases, very few people use a query language to interact with a database system directly. The most common way in which users interact with databases is through an application program that provides a user interface at the front end, and interfaces with a database at the back end. Such applications take input from users, typically through a forms-based interface, and either enter data into a database or extract information from a database based on the user input, and generate output, which is displayed to the user.
As an example of an application, consider a university registration system.Like other such applications, the registration system first requires you to identify and authenticate yourself, typically by a user name and password. The applica-tion then uses your identity to extract information, such as your name and the courses for which you have registered, from the database and displays the infor-mation. The application provides a number of interfaces that let you register for courses and query a variety of other information such as course and instructor information. Organizations use such applications to automate a variety of tasks,such as sales, purchases, accounting and payroll, human-resources management,and inventory management, among many others.
Application programs may be used even when it is not apparent that they are being used. For example, a news site may provide a page that is transparently customized to inpidual users, even if the user does not explicitly fill any forms when interacting with the site. To do so, it actually runs an application program that generates a customized page for each user; customization can, for example,be based on the history of articles browsed by the user.
A typical application program includes a front-end component, which deals with the user interface, a back-end component, which communicates with a database, and a middle layer, which contains“business logic,”that is, code that executes specific requests for information or updates, enforcing rules of business such as what actions should be carried out to execute a given task, or who can carry out what task.
Application architectures have evolved over time, as illustrated in Figure 9.1.Applications such as airline reservations have been around since the 1960s. In the early days of computer applications, applications ran on a large“mainframe”computer, and users interacted with the application through terminals, some of which even supported forms.
With the widespread use of personal computers, many organizations used a different architecture for internal applications, with applications running on the user’s computer, and accessing a central database. This architecture, often called a“client–server”architecture, allowed the creation of powerful graphical user interfaces, which earlier terminal-based applications did not support. However,software had to be installed on each user’s machine to run an application, making tasks such as upgrades harder. Even in the personal computer era, when client–server architectures became popular, mainframe architecture continued to be the choice for applications such as airline reservations, which are used from a large number of geographically distributed locations.
- 上一篇:云计算英文文献及中文翻译
- 下一篇:java异常错误处理英文文献和中文翻译
-
-
-
-
-
-
-
java+mysql车辆管理系统的设计+源代码
乳业同业并购式全产业链...
电站锅炉暖风器设计任务书
当代大学生慈善意识研究+文献综述
酸性水汽提装置总汽提塔设计+CAD图纸
十二层带中心支撑钢结构...
中考体育项目与体育教学合理结合的研究
河岸冲刷和泥沙淤积的监测国内外研究现状
大众媒体对公共政策制定的影响
杂拟谷盗体内共生菌沃尔...