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异常错误处理英文文献和中文翻译
-
-
-
-
-
-
-
C++最短路径算法研究和程序设计
中国传统元素在游戏角色...
高警觉工作人群的元情绪...
浅析中国古代宗法制度
NFC协议物理层的软件实现+文献综述
现代简约美式风格在室内家装中的运用
g-C3N4光催化剂的制备和光催化性能研究
巴金《激流三部曲》高觉新的悲剧命运
上市公司股权结构对经营绩效的影响研究
江苏省某高中学生体质现状的调查研究