数据库开发(6)应用设计与开发

来源:互联网 发布:苹果电脑装cad软件 编辑:程序博客网 时间:2024/06/11 09:57

1、几乎所有的用户与数据库之间的交互都是通过应用程序间接发生的。一个典型的应用程序包括一个处理用户界面的前端部分,一个和数据库通信的后端部分,一个包含“业务逻辑”的中间层,即执行特定的信息请求或更新代码。

2、超文本标记语言HTML标准,它既支持信息的格式化显示,又支持基于表格的界面的创建。

3、统一资源定位符URL是Web上每个可访问文档在全球唯一的名字。例如http://www.acm.org/sigmod

http表明文档将使用超文本传输协议。

4、Web服务器:

是运行于服务器上的程序,它接收来自于Web浏览器的请求并以HTML文档的形式返回结果。

5、公共网关接口CGI标准定义了Web服务器如何与应用程序通信。应用程序通常通过ODBC、JDBC或其他协议与数据库服务器通信,以获取或存储数据。

6、三层Web应用体系结构:

包括一个Web服务器、一个应用服务器和一个数据库服务器。

7、两层Web应用体系结构:

在客户端与Web服务器之间不存在持续的连接;当Web服务器接收到一个请求时,临时创建一个连接以发送请求并接收来自Web服务器的响应。但是该连接可能会关闭,且下一个请求可以生成一个新的连接。大多数Web应用需要会话信息,以允许有意义的用户交互。每次会话应进行一次认证,会话中进一步的交互应不需要重新认证。

8、网络跟踪器(cookie):

将额外信息保存在客户端。一个cookie是一小段包含标识信息的文本,并关联一个名字。

一个域(Web站点)只能获取它自己设置的cookie,而不能得到别的站点设置的cookie,而且cookie名可以跨域复用。

对于一些公开的站点,其cookie可以永久存储在浏览器和服务器中。

9、使一个会话失效仅仅是在应用服务器中的活动会话列表里丢弃该会话标识符。

10、servlet:

是在服务器上运行的小程序。服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口(CGI)应用程序完成的。然而,在服务器上运行Java,这种程序可使用Java编程语言实现。在通信量大的服务器上,Javaservlet的优点在于它们的执行速度更快于CGI程序。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。

11、servlet通常用于对HTTP请求动态生成响应。当服务器启动或者服务器接收到远程的HTTP请求执行某个特定servlet时,servlet的代码被加载到Web服务器中。servlet的任务是处理这种可能涉及访问数据库撷取必要信息,并动态生成HTML页面返回给客户端浏览器的请求。

12、servlet会话:

浏览器和Web服务器之间的交互是无状态的。即每次浏览器向服务器发出一个请求,浏览器都要连接服务器,请求某些信息,然后从服务器断开连接。cookie可以用来识别一个请求与前一个请求是来自于同一个浏览器会话。

13、为了创建一个新的会话,Web服务器内部执行以下任务:

在客户的浏览器中设置一个cookie,用会话标识符作为它所关联的值,创建一个新的会话对象,并将会话标识符的值与会话对象关联。

每个servlet实例仅在加载的时候初始化一次。

如果一个servlet文件修改,某些应用服务器能够监测到,然后透明地重新编译并重新加载该servlet。

14、服务器端脚本:

脚本语言提供了可嵌入HTML文档中的结构。在服务器端脚本中,服务器会在传送Web页面之前执行嵌入在HTML页面内容中的脚本。每段脚本在执行时会生成加入到页面中的文本(或可能甚至从页面中删除内容)。执行的脚本可能包含数据库上执行的SQL代码。

15、JSP:

一种允许HTML程序员将静态的HTML和动态生成的HTML混合在一起的脚本语言。

当浏览器请求一个JSP页面时,应用服务器根据该页面生成HTML输出,并发送回浏览器。

16、客户端脚本:

文档中程序代码的嵌入运行Web页是活动的,通过在本地执行程序以实现活动,例如动画。

客户端脚本语言是用于在客户端的Web浏览器上执行的语言。

17、Java代码能够编译成独立于平台的“字节码”,它可以在任意支持Java的浏览器上执行。

用JavaScript编写的程序和Web服务器异步通信(即在后台,不阻断用户和Web浏览器的交互),并能够获取数据并显示。

18、用户界面层:处理用户交互。

业务逻辑层:提供对数据和数据操作的高级视图。

数据访问层:提供业务逻辑层和底层数据库间的接口。

其中,MVC架构(模型-视图-控制器):模型对应于业务逻辑层,视图定义数据的显示,控制器接收事件(用户操作),在模型上执行操作,并返回一个视图给用户。

19、面向对象数据库:

一个本身存储对象和对象之间关系的数据库系统。

在最简单的场景中,业务逻辑层和数据库使用相同的数据模型,数据访问层只是隐藏了与数据库连接的细节。业务逻辑包含工作流,它描述如何处理一个涉及多个参与者的特定任务。

20、报表生成器:

从数据库生成人们可读的概要报告的工具。它将生成格式化文本和概要图表与查询数据库集成在一起。

21、多种缓存技术用于充分利用事务之间的共性。比如连接池,缓存响应,并行处理等。

22、单点登录:

系统允许用户值认证一次,且多个应用通过一个认证服务对用户的身份进行验证,而不需要再次验证。

安全断言标记语言(SAML):是一个在不同安全域间交换认证和授权信息的标准,以提供跨机构单点登录。

23、审计追踪:

是关于应用程序数据的所有更改(插入/删除/更新)的日志,以及一些信息,如哪个用户执行了更改和什么时候执行的更改。

24、加密解密技术:

1)对称密钥:加密密钥也用于解密数据。

2)公钥加密:公钥和私钥分别加密和解密数据。所有公钥都是公开的,每个私钥只有拥有它的用户知道。

25、在一个高级别上,关系中指定的(或所有的)属性可以用加密的形式存储。一个需要访问加密属性的数据库的连接必须提供主密钥。

在数据库中执行加密的另一个方法是在数据发送到数据库之前对其加密。

26、数字签名:

用来验证数据的真实性;私钥用来对数据”签名“,即加密,且签名后的数据可以公开。

27、数字证书:

通常认证是一个双向的过程,交互实体的双方都要向对方认证自己的身份。认证可以通过数字证书系统来处理,公钥由一个公钥公开的认证机构签名。广泛应用于为用户认证Web站点,以防止恶意站点冒充成其他Web站点。

数字证书也可以用于认证用户。

0 0