1. 语义web的体系结构
下图描述了语义Web的七层体系结构: 自描述
文档 数据 数据 规则 信任 证明 数
字
签
名 逻辑 本体 RDF+RDF Schema XML+NS+XML Schema 名称空间 Unicode URI 第一层:Unicode和URI。
Unicode是一个字符集,这个字符集中所有字符都用两个字节表示,可以表示65536个字符,基本上包括了世界上所有语言的字符。数据格式采用Unicode的好处就是它支持世界上所有主要语言的混合,并且可以同时进行检索。URI(Uniform ResourceIdentifier),即统一资源定位符,用于唯一标识网络上的一个概念或资源。在语义Web体系结构中,该层是整个语义Web的基础,其中Unicode负责处理资源的编码,URI负责资源的标识。
第二层:XML+NS+xmlschema。
XML是一个精简的标准通用标记语言,它综合了标准通用标记语言的丰富功能与HTML的易用性,它允许用户在文档中加入任意的结构,而无需说明这些结构的含意。NS(NameSpace)即命名空间,由URI索引确定,目的是为了避免不同的应用使用同样的字符描述不同的事物。XML Schema是文档类型定义(外语缩写:DTD)的替代品,它本身采用XML语法,但比DTD更加灵活,提供更多的数据类型,能更好地为有效的XML文档服务并提供数据校验机制。正是由于XML灵活的结构性、由URI索引的NS而带来的数据可确定性以及XMLSchema所提供的多种数据类型及检验机制,使其成为语义Web体系结构的重要组成部分。该层负责从语法上表示数据的内容和结构,通过使用标准的语言将网络信息的表现形式、数据结构和内容分离。
第三层:RDF+rdfschema。
资源描述框架(外语缩写:RDF)是一种描述WWW上的信息资源的一种语言,其目标是建立一种供多种元数据标准共存的框架。该框架能充分利用各种元数据的优势,进行基于Web的数据交换和再利用。RDF解决的是如何采用XML标准语法无二义性地描述资源对象的问题,使得所描述的资源的元数据信息成为机器可理解的信息。如果把XML看作为一种标准化的元数据语法规范的话,那么RDF就可以看作为一种标准化的元数据语义描述规范。Rdfschema使用一种机器可以理解的体系来定义描述资源的词汇,其目的是提供词汇嵌入的机制或框架,在该框架下多种词汇可以集成在一起实现对Web资源的描述。
第四层:“本体词汇”(Ontology vocabulary)。
该层是在RDF(S)基础上定义的概念及其关系的抽象描述,用于描述应用领域的知识,描述各类资源及资源之间的关系,实现对词汇表的扩展。在这一层,用户不仅可以定义概念而且可以定义概念之间丰富的关系。
第五至七层:Logic、Proof、Trust。
Logic负责提供公理和推理规则,而Logic一旦建立,便可以通过逻辑推理对资源、资源之间的关系以及推理结果进行验证,证明其有效性。通过Proof交换以及数字签名,建立一定的信任关系,从而证明语义Web输出的可靠性以及其是否符合用户的要求。
2. 什么是web五层结构
就是B/W/C/D/C结构
B: Browser; W: Web Server; C: CRUBA Server; D: Database; C: Client
传统的Web数据库B/W/D结构也逐渐暴露出了许多不足:
(1)由于浏览器只是为了进行Web浏览而设计的,当其应用于Web应用系统时,许多功能不能实现或实现起来比较困难。比如:通过浏览器进行大量的数据的录入,或进行报表答应都是非常困难和不便的。
(2)复杂应用构造困难。虽然可以用ActiveX,Java等技术开发较为复杂的应用,但是相对于发展已经非常成熟C/S的一系列应用工具来说,这些技术的开发复杂,并没有完全成熟的技术供使用。
(3)Web Server成为Database的唯一的客户端,所有对数据库的连接都通过该服务器实现,Web服务器同时要处理与客户请求及数据库服务器的连接,当访问量大时,Server负载过重。
2.1 Web数据库的五层体系结构
正是由于B/W/D结构自身具有的这些弱点,为了改善其不足,在其基础上,提出了一新的结构体系—— B/W/C/D/C结构
五层体系结构有如下优点:
(1)充分发挥了B/S结构与C/S结构系统的优势,扬长避短。充分考虑用户利益,保证浏览查询者操作方便的同时也使得系统的更新简单,维护简单灵活,易于操作。
(2)信息发布端采用B/S结构,保持了瘦客户端的优点。装入客户机的软件可以采用统一的WWW浏览器。而且由于WWW浏览器和网络综合服务器都基于工业标准,可以在所有平台上工作。客户机或服务器的操作系统也可以完全统一,客户端存在的各种问题迎刃而解。
(3)数据库端采用C/S结构,通过ODBC/JDBC进行连接。这一部分的功能只涉及到系统维护,数据更新等,客户端很少,不存在完全采用C/S结构带来的客户端维护工作量大等缺点。并且,在客户端上可以构造非常复杂的应用,界面友好灵活,易于操作,能解决许多B/S存在的固有的缺点。
(4)许多原有的基于C/S结构的系统可以非常容易地升级到五层体系结构,只需要开发用于发布的WWW界面,可以保留原有的C/S结构的某些子系统,充分地利用现有资源。使得现有系统或资源无需进行大的改造即可以连接使用,保护了用户以往的投资。
(5)由于应用了CORBA服务器,对数据库的访问提供了一个统一的接口,使CORBA服务器具有共享性,形成了模块性更强的结构,更易扩充,升级。
3. 电子商务作业:1,Internet最新应用,并解释其原理。2,web体系结构的组成及工作原理,并说明三层体系结构
1,internet 的原理太多了,不好说,反正就是iso/osi的七层模型了。应用就多了,控制,B2C,B2B等等
2,一般来说,组成Web站点体系结构有如下几个基本元素。
浏览器
因为Web浏览器标准、简单且普遍使用,所以它可以称得上是一个接近理想状态的图形用户接口(Graphical User Interface,GUI)。
目前比较流行的浏览器有:IE,firefox,opera,safari等,所以必须要了解其的相关特性,这也利于更好的利用这些特性来做相关架构的设计。
负载均衡
最简单的莫属DNS轮询(Round Robin DNS)方式了,但是不建议使用,因为下面的三个原因迫使你特别小心:
1. Round Robin DNS无法实现真正的负载均衡,但是在一些简单情况下还是能够均衡负载。真正的负载均衡是监测服务器的使用情况,以及根据该使用情况来分配连接,以便能始终将连接分配给那些有足够的容量来处理这些连接的服务器。
当Round Robin集中的一台服务器比其他服务器慢很多时,就会产生一种称为”护航(convoying)“的特殊情况,这时用户会列队等待速度较慢的服务器,而较快的服务器则未被使用。真正的负载均衡不会出现这样的问题。
2. RRDNS不会视图解决服务器的失效问题。用户仍然会被引导到失效的服务器上。真正的负载均衡可以提高站点的可用性,因为如果一台服务器出现故障,那么其他的服务器会自动接过该服务器的负载。
3. RRDNS很难保持用户的状态,特别是使用session的业务,比如某个用户在发表文章或者回复的时候,应用程序会对该用户的session保存在当前的服务器上,但是当用户写好文章或者回复开始提交后,因为RRDNS,结果发现用户提交到了另外的服务器上,因为新的服务器上没有用户的session,提示用户未登陆等警告信息,所以会导致提交失败。
很多情况,情况当要从dns里删除失效的IP时,会发现DNS的更新非常慢,因为很多LOCAL DNS并不遵循相关规范,这样有许多用户的LOCAL DNS服务器的缓存里仍会保留这个失效的IP,而且保留的时候甚至会很久,在国内特别是小的ISP常会这么做。
IP级别的负载均衡
这里常见的软件的实现方式有LVS,值得骄傲的是LVS是由国人章文嵩开发的,其简单高效,当然也需要配合其他的HA软件来实现”三H“。通过IP级别的负载均衡可以避免上述的RRDNS弊端。
当然也可以使用硬件均衡设备。
Web服务器
目前常用开源的Web服务器有:Apache、Nginx、Lighttpd等。
Web服务器的内容和日志应当分开保存到各自专用的磁盘上,这样可以避免他们相互干扰。
中间件
任何与一端的Web服务器和另一端的数据库交互的软件都可以被成为中间件。中间件的好处可以使结构清晰简单,可以提高整体性能。
数据库
数据库表可以通过某种方式被定义、镜像、分割、部署,以使之发挥最大的性能。数据库的优化是们深奥的学问,一个好的数据库管理员(Database Administrator,DBA)身价也是不菲的。
目前常见的DB有:mysql、oracle等。
虽然Web站点体系基本上是上述几个方面,但是影响Web性能确有更多的因素,只要把握上述几个方面,逐步排除和优化,我想结果一定不会差。
4. Web应用的三层体系架构中的三层是 ( ) 、 ( ) 和 ( ) 。
web三层从内到外分别为数据层,业务层和展示层。
三个编译指令为:page、include、taglib。
JavaBean密切相关的三个JSP元素是:useBean、getproperty和setproperty
5. Web Service
Web Service 技术是原来的组件技术思想在 Internet 时代中的进一步发展,更准确地说,Web Service 是封装成单个实体发布到网络上,并提供 API 以提供其他程序使用的功能集合,是在 Internet 上进行分布式计算的基本构造块,是可用 URL 定位服务资源。简言之,Web Service 是可远程调用的应用程序组件。Web Service 的本质目的是提供一个与操作系统、程序设计语言、机器类型、运行环境均无关的平台,实现 Internet 中应用程序的共享。Web Service 基于一系列的标准协议,其协议构架如图 4.4 示。
图 4.4 Web Service 协议架构
统一描述、发现与集成协议 UDDI(UniversalDescription,Discovery and Integration )用 于 构 建Web Service 的服务注册中心,实现服务发现功能。Web 服务描述语言 WSDL(Web Service DescriptionLanguage)驻 留 在 服务 容 器 中, 定义 了 一 种提供Web 服务 描述 的 标 准化 方 式。简 单 对 象 访 问协议SOAP(Simple Object Access Protocol)提供传输数据的标准方式,充当在服务提供方和服务请求方之间激活服务的消息交换服务。可扩展标记语言 XML(Extensible Markup Language)是 Internet 上数据交换的标准,在 Web Service 中实现信息表达,用于 SOAP,WSDL 和 UDDI。超文本传输协议 HTTP(Hyper Text Transfer Protol)是 Web Service 最流行的传输协议。Web Service 体系结构是一种面向服务的结构,典型的Web Service 组件架构如图 4.5 示。
Web Service 体系结构主要由服务请求者、服务注册中心和服务提供者三部分组成。其实现过程包括服务发布与注册、服务查询与发现、服务绑定与调用三个过程。服务请求者指查询、调用服务的客户端程序; 服务提供者即服务的所有者和部署服务的平台; 服务注册中心指用来存储服务信息的信息库,服务提供者在这里发布、注册服务、而服务请求者在这里查询、绑定服务,最终实现调用服务提供者的服务。
图 4.5 Web Service 组件架构
Web Service 有两大核心优势,即分布性和互操作性。在 Web Service 架构下,服务提供者和服务请求者都可以是分布式的,一个服务请求者可以远程调用多个服务提供者的服务,服务提供者也可以同时为多个服务请求者提供服务,这为服务共享提供了一个最佳的方式。
互操作性也是服务共享的关键问题。Web Service 的信息表达基于标准通用的 XML 语言,在 XML 语言的基础上,使用 WSDL 和 UDDI 实现服务注册与发现,使用 SOAP 实现服务调用。基于这些标准的协议,Web Service 实现了服务的跨平台、跨语言的共享。XML、SOAP、WSDL 和 UDDI 是用于构建和使用 Web Service 的核心标准和技术。以下将分别介绍这四种标准和技术。
4.2.2.1 XML
XML 是一种数据描述语言,为 Internet 上数据交换的标准。XML 定义了应用系统间传递数据的结构,而且这种结构的描述不是基于二进制的、只能由程序去判读的代码,而是一种简单的、能够用通用编辑器读取的文本。XML 的基本概念包括元素、属性、DTD,Schema 和命名空间等。元素是 XML 文档内容的基本单元。语法上而言,一个元素包括一个起始标记、结束标记以及标记之间的数据内容。形式上为: < tag > 数据内容 < tag > 。元素内容可以为其他的元素或未处理文本或两者的混合,还可以是空的。元素的嵌套使得文档的层次结构很容易表示。一个元素可以有多个属性。属性是一个名称数据对,表示为字符串。用户可以根据需要自己定义。一个元素不能有同名的两个属性。
XML 的精髓是允许文档编写者制定基于信息描述、体现数据间逻辑关系的自定义标记。如果不对文档标记作明确定义,而是任意地使用它们,则生成的文档是无法识别的。DTD 是对文档结构的一个清晰描述,定义了特定文档中允许出现的元素类型、属性和实体,给出了文档的整体结构和语法。XML Schema 是定义 XML 的数据定义文件。XMLSchema 也规定了一套特定文档的结构,这是与 DTD 的相同之处。与 DTD 相比,最大的不同在于它本身也是 XML 文档。此外还有以下的不同: XML Schema 可以用 XML 解析器来解析; 允许使用全局性元素(在整个 XML 文档中用相同的方式使用元素)和局部元素(特定的上下文中元素有不同的含义); 提供丰富的数据类型(整型、布尔型、日期类型等),且元素的数据类型可以自定义。
XML 命名空间是一组可以用作 XML 文档的元素或属性名称的名称集,就是将元素或属性的名称归类。因为 XML 的开放性,允许任何人创建属于他们自己的元素或属性名称,这样就不可避免地出现不同的人或组织定义的元素名称或属性名称重复,使得相同的名称表达不同的语义。为了避免元素之间出现相同名称的冲突,命名空间限定这些元素或属性名称在命名空间内是唯一的。一般命名空间由这些统一资源标识符 URI(Universal Resource Identifier)来识别。URI 在 Internet 上是全球唯一的,用 URI 来限定 XML 元素名称或属性名称也就确保是全球唯一的。XML 主要具有四大优势:
(1)XML 用文本格式表示数据,方便在 Internet 上的传输。这一点使 XML 数据可以方便地利用现有的 Internet 上基于文本的各种传输协议(如 HTTP)进行传输,可以安全的穿越防火墙。
(2)XML 是可扩展的。XML 是一个元语言(MetaLanguage),它使用了标准化的方法定义其他语言。它只是为结构文档提供了一个数据格式,而没有深入该数据本身,定义它的词汇列表。这使自定义标记语言成为可能,每个行业,每个部门,甚至每个人都可以定义自己的标记语言。
(3)XML 可以对信息进行很好的层次描述。它基于信息内容的描述,对信息的表达清晰。
(4)XML 可以进行数据完整性的自动检验。XML DTD 和 Schema 机制使得 XML 解析器可以检验 XML 文档是否与 DTD 或 Schema 相配。
4.2.2.2 SOAP
SOAP 通过定义一个关于远程组件如何请求信息和如何递交信息的标准,实现 Internet中不同应用之间的集成和交互。SOAP 是一个基于 HTTP 和 XML 的请求、响应 RPC 协议。SOAP 把 XML 使用代码化为请求和响应参数编码模式,并用 HTTP 传输。SOAP 本身没有定义任何应用程序语义,如编程模型或特定语义的实现,实际上它通过提供一个有标准组件的包模型和在模块中编码数据的机制,定义了一个简单的表示应用程序语义的机制。这使得 SOAP 能够被用于从消息系统到 RPC(远程进程调用)的各种应用中。
SOAP 规范主要由信封(Envelop)、编码规则(Encoding Rules)和 RPC 表示(RPC Representation)三部分组成。①SOAP 信封构造定义了一个整体的 SOAP 消息表示框架,可以用于表示消息中的内容是什么,是谁发送的,谁接受并处理它,以及这些处理操作是可选的还是必需的等。②SOAP 编码规则定义了一个数据的编码机制,通过这样一个编码机制来定义应用程序中需要使用的数据类型,并可用于交换由这些应用程序定义的数据类型所衍生的实例。③SOAP RPC 表示定义了一个用于表示远程过程调用和响应的约定,例如,如何使用 HTTP 或 SMTP 协议于 SOAP 绑定,如何传输过程调用,在具体传输协议的哪个部分传输过程响应,如可以在 HTTP 的响应的时候传递过程响应。这三部分在功能上是彼此独立的。特别的,信封和编码规则是被定义在不同的 XML 命名空间中,这样有利于通过模块化获得定义和实现的简明性。
SOAP 消息是 SOAP 应用中的主体要素。SOAP 为在一个松散的、分布的环境中使用XML 对等地交换结构化地和类型化的消息提供了一个简单的轻量级机制。SOAP 消息的描述框架格式是以 SOAP 信封为根元素,内含 SOAP Header 和 SOAP Body 子元素的一个XML 文档。所有的 SOAP 消息都是使用 XML 格式来编码的。SOAP 消息必须不包含 DTD与 PI(Processing Instructions)。除 SOAP must understand attribute 和 SOAP actor attribute外,一般允许属性及属性值自由地选择是在 XML 实例中描述还是在 XML Schema 中描述。SOAP 是一种基于 XML 的轻量级消息交换协议,它是建立在现有行业标准之上的,所以在支持这些标准的平台上运行的应用程序可以通过 SOAP 消息与其他平台上运行的应用程序有效地进行通信,而且能够穿越防火墙,因而得到了业界的广泛支持。
4.2.2.3 WSDL
Web 服务描述语言 WSDL(Web Services Description Language)是基于 XML 模式的规范,用于将 Web 服务描述为操作集,并将数据输入/输出参数描述为消息。WSDL 还定义使用绑定机制将任何传输协议、数据格式或结构附加到抽象消息、操作或终端的通信模型。
WSDL 将 Web 服务描述为一组服务访问点,或称为一组 “端口”,客户端可以通过这些端口对包含面向文档信息或面向过程调用的服务进行访问。一个端口定义了一个 “服务”项目的提供地点。一个服务可以有多个提供地点,但只能对一组事先定义好的 “信息”做出响应。“信息”是对通信数据的描述,每条信息由一组数据组成,这些数据必须定义为收、发双方都能识别的 “类型”。端口和信息结合在一起代表了一组 “操作”,并定义了这个服务访问点的 “端口类型”。把一种协议和一种数据格式关联在一起就定义出了一种可重复使用的 “绑定”。把一个网址和一个绑定关联在一起就定义了一个端口,相关的具体部署的端点通过组合就成为抽象的 Web 服务。综上所述,WSDL 文档的根元素是 definitions 元素,该元素又包含 6 个子元素:
(1)Types: 包含可由服务器收发的消息的架构定义。最常见的表示架构的方法是使用 XML 架构;
(2)Message: 充当一个将架构中的消息与消息的定义关联起来的交叉引用。简单地说,就是定义通信中的数据,包括数据输入和输出。
(3)PortType: 定义一组 Web 服务可公开的接口。一个接口与一个或多个消息关联。
(4)Operation: 它是对服务端所实现功能的抽象定义。
(5)Binding: 将 PortType 定义与某个特定的协议关联。
(6)Service: 定义 Web 服务公开的相关端点(端口)的集合。
4.2.2.4 UDDI
统一描述、发现和集成协议 UDDI(Universal Description,Discovery and Integration)是一套基于 Web 的、分布式的、为 Web 服务提供信息注册中心的实现标准规范,同时也包含一组使不同的人或组织能将自身提供的 Web 服务注册以使得他人或其组织能够发现的访问协议的实现标准。UDDI 注册的工作流程如图 4.6。
UDDI 注册中心是 Web 服务注册、用户集中管理的地方,通过它可以发布、查询、调用 Web Service,也可以查询特定服务的描述信息,并动态绑定到该服务上。UDDI 注册中心同时还提供服务结点管理、用户管理、权限管理、计费管理等功能。服务提供者提供服务需要到 UDDI 注册中心进行服务的注册、登记,这样用户就可以通过 UDDI 注册中心获取所需要服务的基本信息与技术细节信息,再通过对服务的绑定得到服务和产品。
图 4.6 UDDI 注册工作流程
6. 构成Web有几大要素
构成web的要素有:文字、图片、多媒体以及底层代码。
文字与图片是构成一个网页的两个最基本的元素。你可以简单的理解为:文字,就是网页的内容,图片,就是网页的美观。除此之外,网页的元素还包括动画、音乐、程序等等。
在网页上点击鼠标右键,选择菜单中的 “ 查看源文件 ” ,就可以通过记事本看到网页的实际内容。可以看到,网页实际上只是一个纯文本文件,它通过各式各样的标记对页面上的文字、图片、表格、声音等元素进行描述(例如字体、颜色、大小),而浏览器则对这些标记进行解释并生成页面,于是就得到你现在所看到的画面。 为什么在源文件看不到任何图片? 网页文件中存放的只是图片的链接位置,而图片文件与网页文件是互相独立存放的,甚至可以不在同一台计算机上。
7. 简述web技术的结构
它是超级文本的简称。 二、超媒体(hypermedia) 超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合。它是超级媒体的简称。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。 Internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Internet上。Web就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。而是可以从一个位置跳到另外的位置。可以从中获取更多的信息。可以转到别的主题上。想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多连接性把它称为Web。 三、超文本传输协议(HTTP) Hypertext Transfer Protocol超文本在互联网上的传输协议。 当你想进入万维网上一个网页, 或者其他网络资源的时候,通常你要首先在你的浏览器上键入你想访问网页的统一资源定位符(UniformResourceLocator),或者通过超链接方式链接到那个网页或网络资源。这之后的工作首先是URL的服务器名部分,被名为域名系统的分布于全球的因特网数据库解析,并根据解析结果决定进入哪一个IP地址(IP address)。 接下来的步骤是为所要访问的网页,向在那个IP地址工作的服务器发送一个HTTP请求。在通常情况下,HTML文本、图片和构成该网页的一切其他文件很快会被逐一请求并发送回用户。 网络浏览器接下来的工作是把HTML、CSS和其他接受到的文件所描述的内容,加上图像、链接和其他必须的资源,显示给用户。这些就构成了你所看到的“网页”。 大多数的网页自身包含有超链接指向其他相关网页,可能还有下载、源文献、定义和其他网络资源。像这样通过超链接,把有用的相关资源组织在一起的集合,就形成了一个所谓的信息的“网”。这个网在因特网上被方便使用,就构成了最早在1990年代初蒂姆·伯纳斯-李所说的万维网。 传统的Web数据库系统体系结构 传统的Web数据库系统一般实现Web数据库系统的连接和应用可采取两种方法,一种是在Web服务器端提供中间件来连接Web服务器和数据库服务器,另一种是把应用程序下载到客户端并在客户端直接访问数据库。中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态HTML页面,或执行用户查询,并将查询结果格式化成HTML页面。通过Web服务器返回给Web浏览器。最基本的中间件技术有通过网关接口CGI和应用程序接口API两种。 (一)、基于通用网关接口CGI CGI是WWW服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时间可以生成HTML文档,并将文档返回WWW服务器。CGI应用程序能够与浏览器进行交互作用,还可以通过数据库的API与数据库服务器等外部数据源进行通信,如一个CGI程序可以从数据库服务器中获取数据,然后格式化为HTML文档后发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎使用的服务器软件都支持CGI,开发人员可以使用任何一种WWW服务器内置语言编写CGI,其中包括流行的C、C、VB和Delphi等。 从体系结构上来看,用户通过Web浏览器输入查询信息,浏览器通过HTTP协议向Web服务器发出带有查询信息的请求,Web服务器按照CGI协议激活外部CGI程序,由该程序向DBMS发出SQL请求并将结果转化为HTML后返回给Web服务器。再由Web服务器返回给Web浏览器。这种结构体现了客户/服务器方式的三层模型,其中Web服务器和CGI程序实际起到了HTML和SQL转换的网关的作用。CGI的典型操作过程是:分析CGI数据;打开与DBMS的连接;发送SQL请求并得到结果;将结果转化为HTML;关闭DBMS的连接;将HTML结果返回给Web服务器。 基于Web的数据库访问利用已有的信息资源和服务器。其访问频率大,尤其是热点数据。但其主要的缺点是:①客户端与后端数据库服务器通信必须通过Web服务器,且Web服务器要进行数据与HTML文档的互相转换,当多个用户同时发出请求时,必然在Web服务器形成信息和发布瓶颈。②CGI应用程序每次运行都需打开和关闭数据库连接,效率低,操作费时;③CGI应用程序不能由多个客户机请求共享,即使新请求到来时CGI程序正在运行,也会启动另一个CGI应用程序,随着并行请求的数量增加,服务器上将生成越来越多的进程。为每个请求都生成进程既费时又需要大量内存,影响了资源的使用效率,导致性能降低并增加等待时间;④由于SQL与HTML差异很大,CGI程序中的转换代码编写繁琐,维护困难;⑤安全性差,缺少用户访问控制,对数据库难以设置安全访问权限;⑥HTTP协议是无状态且没有常连接的协议,DBMS事务的提交与否无法得到验证,不能构造Web上的OLTP应用。 (二)、基于服务器扩展的API 为了克服CGI的局限性,出现的另一种中间件解决方案是基于服务器扩展API的结构。与CGI相比,API应用程序与Web服务器结合得更加紧密,占用的系统资源也少得多,而运行效率却大大提高,同时还提供更好的保护和安全性。 服务器API一般作为一个DLL提供,是驻留在WWW服务器中的程序代码,其扩展WWW服务器的功能与CGI相同。WWW开发人员不仅可以API解决CGI可以解决的一切问题,而且能够进一步解决基于不同WWW应用程序的特殊请求。各种API与其相应的WWW服务器紧密结合,其初始开发目标服务器的运行性能进一步发掘、提高。用API开发的程序比用CGI开发的程序在性能上提高了很多,但开发API程序比开发CGI程序要复杂得多。API应用程序需要一些编程方面的专门知识,如多线程、进程同步、直接协议编程以及错误处理等。目前主要的WWWAPI有Microsoft公司的ISAPI、Netscape公司的NSAPI和OReily公司的WSAPI等。使用ISPAI开发的程序性能要优于用CGI开发的程序,这主要是因为ISAPI应用程序是一些与WWW服务器软件处于同一地址空间的DLL,因此所有的HTTP服务器进程能够直接利用各种资源这显然比调用不在同一地址空间的CGI程序语句要占用更少的系统时间。而NSAPI同ISAPI一样,给WWW开发人员定制了NetscapeWWW服务器基本服务的功能。开发人员利用NSAPI可以开发与WWW服务器的接口,以及与数据库服务器等外部资源的接口。 虽然基于服务器扩展API的结构可以方便、灵活地实现各种功能,连接所有支持32位ODBC的数据库系统,但这种结构的缺陷也是明显的:①各种API之间兼容性很差,缺乏统一的标准来管理这些接口;②开发API应用程序也要比开发CGI应用复杂得多; ③这些API只能工作在专用Web服务器和操作系统上。 (三)、基于JDBC的Web数据库技术 Java的推出,使WWW页面有了活力和动感。Internet用户可以从WWW服务器上下载Java小程序到本地浏览器运行。这些下载的小程序就像本地程序一样,可独立地访问本地和其他服务器资源。而最初的Java语言并没有数据库访问的功能,随着应用的深入,要求Java提供数据库访问功能的呼声越来越高。为了防止出现对Java在数据库访问方面各不相同的扩展,JavaSoft公司指定了JDBC,作为Java语言的数据库访问API。 采用JDBC技术,在JavaApplet中访问数据库的优点在于:直接访问数据库,不再需要Web数据库的介入,从而避开了CGI方法的一些局限性;用户访问控制可以由数据库服务器本地的安全机制来解决,提高了安全性;JDBC是支持基本SQL功能的一个通用低层的应用程序接口,在不同的数据库功能的层次上提供了一个统一的用户界面,为跨平台跨数据库系统进行直接的Web访问提供了方案。从而克服了API方法一些缺陷;同时,可以方便地实现与用户地交互,提供丰富的图形功能和声音、视频等多媒体信息功能。 JDBC是用于执行SQL语句的Java应用程序接口API,由Java语言编写的类和接口组成。Java是一种面向对象、多线程与平台无关的编程语言,具有极强的可移植性、安全性和强健性。JDBC是一种规范,能为开发者提供标准的数据库访问类和接口,能够方便地向任何关系数据库发送SQL语句,同时JDBC是一个支持基本SQL功能的低层应用程序接口,但实际上也支持高层的数据库访问工具及API。所有这些工作都建立在X/Open SQL CLI基础上。JDBC的主要任务是定义一个自然的Java接口来与X/OpenCLI中定义的抽象层和概念连接。JDBC的两种主要接口分别面向应用程序的开发人员的JDBC API和面向驱动程序低层的JDBC DriverAPI。JDBC完成的工作是:建立与数据库的连接;发送SQL语句;返回数据结果给Web浏览器。
8. web中的信息资源的基本构成是什么
构成Web
(World Wide Web、万维网)体系结构的五大基本元素是:Web服务器、Web浏览器、浏览器与服务器之间的通信协议HTTP(Hypertext Transfer Protocol 、超文本传输协议)、写Web文档的语言HTML(Hypertext Markup Language、超文本标记语言)、以及用来标识Web上资源的URL(Universal Resource Locator 、统一资源定位器)。
Web系统的组成部分:
页面:超文本文档在用户端显示为页面(Page)
浏览器:页面通过一个称作浏览器(Browser)的程序观看。
超链接:页面内链接到其它页面的文本串叫超链接,一般突出显示。
主页(Homepage)是首页,整个文件的起始点和汇总点。
标识页面的方法是采用统一资源定位器URL (Uniform Resource Locator) 有效地作为页面的世界性名字。也称为网页在Internet上的地址(网址)。如:http://www.cug.e.cn/welcome.html
Web系统的结构:
Web系统是客户 —— 服务器模式:
Web客户机:客户端的浏览器
Web服务器:多媒体资源存放的主机
中间件:可以调用Web服务器中的数据库和其它应用程序,满足客户的各种应用要求。
Web系统的请求与应答:
客户机使用特定的协议如 HTTP 与服务器建立连接,客户机发送请求服务器接受并执行客户请求的操作,再将结果返回客户。
Web客户-服务器系统的功能:
信息取得,资料和交易的管理以及共享信息。
9. web技术架构的重要组成包括哪些
不知道你问的是不是这样的:提供一种统一的、面向组件的编程模型。
Web Service的体系结构描述了三个角色(服务提供者、服务请求者、服务代理者)以及三个操作(发布、查找、绑定)。
Web主要技术特征:在传输层和网络层采用TCP/IP协议,缺省断口的80;在应用层采用HTTP协议,使用HTML文档实现信息交互;基本上运行在C/S模式下。
10. 什么是web服务体系结构web服务体系结构具有哪些特征
Web Services体系结构是面向对象分析与设计(OOAD)的一种合理发展(logical evolution),同时也是电子商务解决方案中,面向体系结构、设计、实现与部署而采用的组件化的合理发展(logical evolution of components geared towards the architecture, design, implementation, and deployment of e-business solutions)。这两种方式在复杂的大型系统中经受住了考验。和面向对象系统一样,封装、消息传递、动态绑定、服务描述和查询也是Web Services中的基本概念,而且,Web Services另外一个基本概念就是:所有东西都是服务,这些服务发布一个API供网络中的其他服务使用,并且封装了实现细节。
具体见:
http://blog.chinaunix.net/uid-714081-id-2678597.html