《Caché脚本语言开发数据库的Web应用程序.doc》由会员分享,可在线阅读,更多相关《Caché脚本语言开发数据库的Web应用程序.doc(30页珍藏版)》请在三一办公上搜索。
1、Cach脚本语言开发数据库的Web应用程序摘要Cach 是新型的后关系型数据库(Post-Relational Database),也是独树一帜的edbms。同时,它是一个先进而成熟的技术,它以 ANSI 和 ISO 标准 M 语言的独特多维数据模型为基石。 Cach 中的对象模型具备了符合ODMG 标准的完整的对象特性,而且融合了为 OLTP 专门优化过的 SQL 技术,并无缝集成了为实现快速开发 Web 应用的最新技术。这种数据库创新地摆脱了传统关系数据库的局限性,它在性能上全面超越了关系数据库。Cach能够更好地满足 Internet 时代对于能处理复杂数据存储的数据库技术的迫切要求。关
2、键词:Cach;后关系型数据库;面向对象;脚本语言Cach Script Language Empolder Date-base of Wed ApplicationAbstractCach is new Post-Relational Database, it also is e-dbms which is only one.At the same time, it is one advanced and the mature technology, it take ANSI and ISO the standard M language unique multi-dimensional d
3、ata model as thecornerstone. Cachs object model has conformed to the ODMG standard integrity object characteristic, moreover fused SQL technique , it optimized specially for the OLTP, and seamless integrated has developed the Web application fast for the realization the newest technology. This kind
4、of database innovation got rid of limitation ,which belong to the tradition relational database,it had surmounted the relational database comprehensively in the performance. Cach can well satisfy the data bank technology urgent need which the complex data saves in Internet time.Key Words: Cach; Post
5、-Relational Database; Object-oriented; Script langua目录1引言.11.1 设计背景.11.2 设计目标.21.3 项目设计提出的意义.22程序设计应用的运行环境及工具22.1程序的运行环境.32.2程序设计应用的工具.32.2.1 Cach系统的介绍.32.2.2 脚本语言.51、脚本语言的一般问题.52、Cach地脚本语言52.3 数据库及管理系统.62.4 Wed访问数据库技术.92.4.1 Wed的开发.92.4.2 CSP的开发应用.93程序系统需求分析.103.1需求分析.103.2系统性能分析.104程序总体设计与分析.114.1
6、程序功能模块图.114.2 数据库设计114.3 程序设计的数据流图155代码实现.155.1 程序设计原代码165.2运行代码.195.3代码调试.196系统测试及运行维护.206.1 Cach的安装.206.2 数据备份217总结.22参考文献.23致谢.241引言21世纪的今天是网络的世纪,与我们息息相关的事物都与网络有关,伴随着信息化技术的发展,丰富多彩的网站不断地出现在我们眼前。而我们接受了不断变化的网络知识时,接着的是更广阔的应用。本文所设计的程序应用在一个新型的后关系型数据库(Post-Relational Database) Cach 上。该程序的实现一方面是为了让更多的人认识
7、到Cach这个新事物,一个方面是为了更方便更简洁地应用新知识来创建网站。本程序的实现首先介绍了Cach、Cach脚本语言、数据库方面的知识,在Cach中用CSP来实现网站的创建。1.1设计背景 1970 年之前出现了关系型数据库理念和在 1980 年出现了第一个商品化的关系数据库产品之后,关系型数据库在它的技术演变和应用规模上有了很大的发展,曾被誉为数据库领域的重大的创新之一。关系型数据库用统一的数据结构取代了以前单一的、结构不一的数据库,将数据以表格形式进行存储;任何懂一些 SQL 查询语言的人,都可以访问数据,它在这些方面取得了成功,然而,在实践中人们发现关系型数据库系统虽然技术已相当成熟
8、,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。作为一种旧技术,关系型技术有很多的局限性,使得它在当今世界的适应性大大降低,主要表现在它的效率性能、可扩展性、和使用的简洁性较差,以及难于适应和现代快速应用开发技术相匹配的新需求。计算机应用程序的广泛使用、复杂性的快速升级和当今系统不断增长的处理需求已经超过了关系型技术的能力。许多要求高性能和高扩展能力的关键应用有许多是从来没有在关系数据库实现或迁移到关系型数据库上的,现在即使很简单的应用也开始触及到传统关系型技术的性能极限。关系型数据库和当今开发技术的“阻抗不匹配”现象已经成为了
9、一个严重的问题,它使得开发过程更加复杂,失败机率大为增高。尽管表格结构的简洁可以支持了强大的 SQL 查询语言的使用,但现实世界的复杂数据是很难分解为这种简单的行列结构的。其结果就是是数据库应用中产生了大量的表,表和表之间的关系就变得很难记忆和表达。行列结构是简单,但是留给程序完成的外连接、存储过程、触发器就不是这么简单了。 现代的应用程序通常都是使用面向对象的技术编写的,这种技术更加简单、直观、可靠和有效,并且可以大大缩短开发周期和提高健壮可用性。所以,我们需要一种可以解决这个问题的数据库产品,这就是融合了对象技术和关系两大技术长处的 Cach。它既克服了以往关系型数据库和不成熟的“纯粹的对
10、象数据库”存在的缺陷,又不会出现在所谓的“对象关系数据库”中存在的难以实现高性能的弱点。在 Cach 数据库中具有与众不同的独特的多维数据结构,并且同时具备高速性能、高可伸缩性、面向对象和面向 Web 应用的特色;它不仅不会出现关系型数据库那种固有的局限性,而且保持了可以继续使用 SQL 查询语言的便利。1.2设计目标在本论文的设计中,我们的设计目标是运用新的事物,以更有效率的开发速度,和便捷的方法来进行对数据库的访问及在网页中显视出来。我们要向更多的人推广运用后关系型数据库Cach进行对网页的开发。Cach 为开发复杂的、基于网页应用程序提供了丰富的集成开发环境。Cach Service P
11、age(CSP)技术可以进行快速开发,动态产生。上千个用户甚至在在比较差的硬件条件下也可以同时访问数据上的应用程序。对于那些不基于浏览器的应用,用户接口可以用任何一个流行的程序设计语言来编写,例如可以任意选用程序员自己熟悉的 VB,Delphi,Java,或者 C+来编程。剩下的工作都交给 Cach 运行,这样可以得到最好的结果(最快的编程效率,最高的性能,最低的维护成本)。另一方面,Cach 也提供了与其他技术的交互,支持大多数通用的开发工具,所以开发方法的选择范围很大。1.3项目设计提出的意义要对一种新的技术推广不是一件容易的事情,需要做很多的工作,让更多的人认识到这个新事物的可取之处,让
12、更多的人了解并运用这种新技术。本项目设计的提出就是为了推广Cach这个新事物,并能帮助更多的人快速地完成一些工作。2程序设计应用的工具及运行环境2.1程序的运行环境2.1.1硬件环境:在本机系统Windows XP Professional 版本2002 Service Pack2,硬件Intel(R)架构的微机上,CPU类型为Celeron(R) CPU 2.26GHz,504MB的内存。2.1.2软件环境:Cach系统,网页制作工具Dreamweaver8。2.2程序设计应用的工具2.2.1Cach系统的介绍 Cach 是新一代高性能数据库技术,被誉为创新的“后关系型”数据库(Post-r
13、elational Database)。作为后关系型数据库,它整合了对象数据库访问、高性能的 SQL 访问、强大的多维数据访问这三种方法能够天衣无缝地同时访问相同的数据。数据只要在单一的整合数据字典中描述一次,就可被这三种方法访问。Cach 提供了比关系型技术更加高效的性能,更大的扩展性,更快速的编程能力和更加便捷的使用性能。 Cach 提供的不仅是一种单纯的数据库技术。在 Cach 中包括一个应用服务器,这个服务器提供高级对象编程,并且可以很容易地与很多技术集成。Cach 还提供高性能的运行环境,这一运行环境采用了独特的分布式数据缓存协议技术。后关系型数据库 Cach 的特点是高效率、很好的
14、延展性、应用程序的快速开发能力、和低成本。这些特点可以从 Cach 基本架构得到反映。 Cach 使用的是一种高效的多维数组形式存储数据,即使在使用比其他数据库系统配置更低的硬件条件下高负荷运行也能保证高效率。此外, Cach 能运用各种技术存取数据,开发者可以选择使用自己熟悉的和易于得到的开发工具,这就大大提高了开放性和应用程序开发的能力。与关系型数据库不同,Cach 以多维数组存储数据,而关系数据库以两维表存储数据。Cach 除了使现实数据建模成为可能,还因为减少了表连接等处理过程(这在关系型数据库中是非常频繁的),所以运用多维数组能更快地存取数据。Cach 从它的独特的数据机构中获得了许
15、多强大功能,关键之处在于Cach 的数据库引擎为我们提供了一套完整的服务:包括数据存储、并发管理、事务处理、和过程管理,这就为我们提供了强大的可用于建立复杂管理系统的功能和工具。 Cach 的另一个提高性能的特征就是 Cach 具有独特的分布式缓存协议,它大大减少了分布式系统中的网络通信吞吐量。在有的客户所进行的数据库应用程序性能的比较测试中,Cach 数据库的响应性能要比关系型数据库快 20 倍。虽然在 Cach 中数据是以多维数据结构形式存储的,但 Cach 允许开发者用任何他们选择的方式进行数据建模:对象,表格,或者多维数组。Cach 拥有一个非常易用的图形界面开发环境来建立和开发 Ca
16、ch 对象。 Cach 还可以接受从 Rational Rose 对象建模工具或以 DDL 文件(数据库定义语言)形式的导入。Cach 统一的数据架构使所有数据都能以对象和表格形式被访问。既不需要为从一种数据形式到另一种数据形式进行映射,也不需要为不同数据形式的转换进行处理。统一的数据架构提高了编程效率和应用程序性能。 Cach 提供了可以用多种技术编写数据库和业务逻辑的能力。 Cach 的 ObjectScript 支持所有数据存取方法:对象,SQL,多维和嵌入式 HTML 。Cach Basic 与 Visual Basic 非常相似,只是做了很少的调整扩展,以便利用 Cach 独特的性能
17、。Cach 提供了与 Web 连接和其应用程序开发平台,这些都进一步提高了效率和延展性。在 Cach 独特的网络架构中, Cach 服务器页面( Cach Sever Pages )在数据服务器上运行,与他们要存取的数据放在一处。这样不但提高了效率而且通过降低网络服务器的负荷而大大提高了延展性,从而能处理更多的浏览器请求。Cach 运用对象技术的快速开发能力来开发 Cach 服务器页面。每一个 Cach 服务器页面本身就是一个对象,它能从 InterSystems 提供的系统对象中继承会话管理方法和各层安全策略。这就使应用程序开发者不需要再开发大量单调的系统代码来维护使用会话期( Sessio
18、n )对象的状态。利用对象继承也保证了能快速地浏览应用程序的所有页面。 此外,因为允许网页设计者和应用程序开发者可以平行地进行开发来完成任务,Cach 便简化和加速了 web 应用开发过程。网页设计者可以运用熟悉而易用的工具,通过添加Cach 应用程序标记( CAT )来增加网页功能,这项工作类似于通常的添加标准的 HTML 标记的工作。 Cach 不仅提供了一些标准功能的 CAT ,而且还可以支持用户自己定制 CAT 。当应用程序开发者编写 CAT 来完成实用的功能时,不需要考虑包含它们的网页风格样式的设计。这样就能更快和更有效地开发web 应用程序,缩短产品进入市场的时间。当今,所有新应用
19、程序的开发都是运用对象建模技术。用对象来进行数据建模使开发者能以一个自然而直观的方式思考数据。因为对象是模块化的,接口定义明确,所以它们可以重复使用,可以被多个应用程序共享,这样编程的效率就能大大提高。 Cach 支持多种对象建模技术,包括多重继承,封装,多态,引用,采集,关系和 BLOB 。 Cach 对象能通过 Cach Studio 图像界面和 Rational Rose (一种流行的对象建模工具, Cach 与之有双向接口)开发。与一些“对象关系型”数据库系统不同, Cach 可以改进数据模型,使得对象定义能不断修改以适应应用程序变化的需要。 Cach 统一的数据架构使得所有 Cach
20、 对象都自动兼容 ODBC 。 2.2.2脚本语言 脚本语言就是一种简单的程序,它由一些ASCII码组成,并可以用“记事本”等文本编辑器直接对其进行开发。有些程序,如C、C+、Java等则必须先经过编译,将源代码转换为二进制代码之后才可执行。而像Perl、JavaScript、VBScript等则不需要事先编译,只要利用合适的解释器便可以执行代码。网站发展的初期,所有的程序都是在服务器端执行,然后再将执行结果发送到客户端。随着客户端计算机的功能越来越强大,CPU速度越来越快,如果将部分简单的操作交给客户端的计算机处理,这样就可以大大提高服务器的工作效率。这时候网页脚本语言就应运而生了,因为这种
21、脚本语言能够与一般的HTML语言交互使用。在读取网页的同时,脚本语言编写的小程序也被传输到客户机上,并在客户机上执行。1、脚本语言的一般问题 脚本语言(JavaScript,VBscript等)介于HTML和C,C+,Java,C#等编程语言之间。HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。脚本语言与编程语言有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些。脚本语言一般都是以文本形式存在,类似于一种命令。2、Cach的脚本语言 Cach ObjectScript 语言,它是一种非常
22、有用的对象脚本语言,针对 Cach 数据库应用的实际需要,重点增加了面向对象设计数据库的功能,不仅丰富了语言本身,而且极大便利了 Cach 数据库应用系统的设计。在使用 Cach 以前,您需要对 Cach 为你提供的数据库程序设计语言进行了解,那就是 Cach ObjectScript 语言。 Cach ObjectScript 对象脚本语言是一种以面向对象技术为基础的数据库库设计语言。Cach ObjectScript 的对象的建立和函数的编写和目前通用的面向对象的编程语言是类似的。所以,熟悉面向对象编程的程序员使用 Cach 是很容易上手的。Cach ObjectScript 不限定变量的
23、长度。然而只有前 31 个字符是重要的,如果前 31 个字符是一样的变量,是被看作为一个的。变量的名称必须是以大写或者小写的字符或者是用%符来开头。Cach ObjectScript 的变量的定义一共有 3 个函数:Set、Read 和 For。Kill 命令是用来删除变量的。ObjectScript 的变量的使用是不需要象 C 里面那样声明的。 Cach ObjectScript 提供的运算符有两种:一种是单元的运算符,另一种是二元的运算符。二元的运算符包括了:算术运算符;字符串运算符;逻辑运算符;比较运算符。Cach ObjectScript 里面的表达式是由一些表达式的元素和一些运算符连
24、接构成的。表达式的元素可以是:本地或者全局变量、特殊变量、函数、用户定义的函数、用户定义的变量、数字、文字、系统变量、在括号中的表达式。在 Cach ObjectScript 中还有很多的命令是以 Z 开头的,一般来说这些命令可以被看作系统命令。它们主要有 3 个方面的功能。 第一、在程序中之用来编辑程序模块即 routine 的; 第二、用于设定断点和捕获出错信息的; 第三、系统的低端命令,一般是用来设置一些系统属性。Cach ObjectScript 语言提供了很多内部函数,这些函数可以被作为一个表达式那样调用。它们也可以把对方作为自己的参数。Cach ObjectScript 语言对 R
25、outine 的使用中,我们可以把 Routine 理解为“小程序”或程序模块。Cach ObjectScript 对Routine 的使用类似于传统关系型数据库的存储过程,但是和存储过程也有不一样的地方。例如,对一个类或者对对象实例的操作的存储过程,在 Cach 中通常是被封装为类方法或者是对象方法。而 Routine 实现的功能和应用也比存储过程要多一些。而且 Routine 可以嵌入很多其它语言的程序段,或者可以调用一些外部函数。2.3数据库及管理系统目前,主流的编程语言都是以面向对象技术为基础的,当今数据库的发展也是以采用面向对象技术作为分水岭的。但是,过去我们常用的关系型数据库却都是
26、基于关系型的思维建立数据库的。由于这样的情况造成了我们的设计者在用以往传统的关系数据库设计开发的过程中,需要首先试图把现实世界中的对象实体拆分成为若干个二维关系的表,并将程序中对象的属性与表里面的字段联系起来。这样的工作往往既困难又费时,占据了开发初期的 30%以上的时间,而且拆分的工作,会造成数据库空间的浪费,也会造成相当一部分的磁盘空间的浪费。并且,在实施开发的过程中,也会因为原设计的不足而需要增加新的表或者字段,而最终造成更大的时间消耗和更多的空间浪费。关系数据库的缺点不仅使数据库的设计和优化复杂和难以驾驭。而且由于在数据库检索和输出时需要将所拆分的大量的表连接起来,这就必然会影响数据库
27、应用系统的性能,使其难于实现用户所需的高速响应性能。甚至,在一些比较复杂的开发中,许多现实生活中的对象及其关系是根本不能很好用二维的关系表达或拆分的。这样,我们迫切的需要一种新型的可以解决这个问题的数据库,而随着多媒体技术和 Internet 应用的迅猛发展,这种需求显得更为迫切,在适应当代的面向对象和面向 web 应用的新需求背景和推动下出现了 Cach。至此,我们可使用新型的 Cach 数据库和它的 Cach ObjectScript 语言功能来开发出各种高性能、高伸缩性和高可用性的数据库应用系统,这种先进而成熟的技术使得我们的数据库的建立也实现了以面向对象技术为基础。面向对象数据库系统(
28、简称OODBS) 是数据库技术与面向对象程序设计方法相结合的产物。面向对象数据库将面向对象的能力赋予了数据库设计人员和数据库应用开发人员,从而扩展了数据库系统的应用领域,并能提高开发人员的工作效率和应用系统的质量。面向对象数据库把面向对象的方法和数据库技术结合起来,使得数据库的分析、设计最大程度地与人们对客观世界的认识相一致,是数据库技术中巨大的进步。面向对象数据库将面向对象的能力赋予了数据库设计人员和数据库应用开发人员,从而扩展了数据库系统的应用领域,能提高开发人员的工作效率和应用系统的质量。面向对象数据库具有数据库管理系统的基本功能。首先,数据库中的数据是永久保存的;其次是在存储管理方面,
29、包括索引管理、数据聚集、数据缓冲、存取路径选择、查询优化等;三是能够并发控制,提供高于当前已有数据库管理系统同样级别的、对多个用户并发操作的支持;四是故障恢复能力,提供不低于当前已有的数据库管理系统同样级别的、将数据库从故障后的错误状态中恢复到某个正确状态的功能;五是交互式查询功能,且是非过程化的、高效的、独立应用的。面向对象数据库是一个面向对象的系统。其具有支持面向对象数据库模型,支持复杂对象,具有运用各种构造机制从简单对象组成复杂对象的能力。复杂对象构造能力加强了对客观现实世界的模拟能力,且方法自然、易理解;具有对象标识,对象标识具独立于其值而存在的特性,可以极大地加快查询速度;具有封装性
30、,对象封装了数据,实现了信息隐藏,使用户不必知道操作的实现细节,只需利用设计者提供的消息即可访问对象;具备类型/ 类、类型层次/ 类层次能力,因而支持继承性这一强有力的建模工具;具有可扩充性等优良特性。面向对象数据库具备应用领域所需要的一些特性,且相对于传统数据库优势明显面向对象数据库对数据语义的扩展更大,允许定义任何复杂的数据类型和提供与数据相关联的行为。面向对象数据的语义更接近于面向对象程序设计语言的语义。具有表示和构造复杂对象的能力,可以模拟复杂的现实世界,其对象的取值可以是另外一个对象,实际存储的又是该对象的标识,这样的表示既自然又容易理解,且查询速度较关系数据库系统快得多。面向对象技
31、术强调与数据相关软件的组织而不是强调控制流,从而把程序员的注意力转向数据库设计者的意图,面向对象语言和面向对象数据库相互形成天然的互补。语言强调的是处理过程、复杂的结构化和局部数据,而数据库强调的是更为明确的方法、应用领域之外的数据共享和对大量数据的支持。面向对象语言和面向对象数据库的共同目标之一是在它们之间建立一个清晰的联合,且保持它们各自的长处。Cach 后关系型数据库的服务器后端可以是数据库服务器和应用服务器的集合。 Cach 是面向对象的多维数据库,同时它也通过它独特的统一数据结构和 SQL 访问支持类似于关系型数据库的技术。在 Cach 中编写代码时不需要作对象-关系的转换或映射,开
32、发人员可以专注于相关领域的业务逻辑开发。Cach 不仅能实现数据的持久化存储,而且可以封装业务逻辑,并通过面向对象技术将这两者结合在一起。而且,Cach 提供了优化措施(ECP 网络)来保证数据库和应用服务器之间的联系更加紧密;通过 ECP(Enterprise Cache Protocol,企业缓存协议)可以在内存、应用服务器和数据库服务器上等地点自动设置高速缓存,并且在多个应用服务器和数据服务器之间形成一个可相互共享的网络,提高了整个系统的性能(Performance)和可伸缩性(Scalability)。Cach 支持面向服务的架构,由于 Cach 紧密结合了数据和逻辑,而这两者结合到一
33、起就成为服务(Service),可以说客户端程序访问的是 Cach 提供的服务,这样的架构称作面向服务的架构(Service-Oriented Architecture,SOA)。同样的服务可以被任何形式的客户所访问,无论它是基于 Windows Form,Java UI,浏览器或 Web Service 客户端。所以,最好的基于 Cach 的应用架构中将会用 Cach 构建整个服务(包括数据存储和业务逻辑),而不仅仅是保存数据。这样不仅会带来性能的提升,还可使整个服务具备客户端无关性,即可以用各种客户端技术访问 Cach 服务,而服务器端不需要因为客户端类型变化而作改变。Cach 对于前端开
34、发提供了很广泛的选择性,所有主流的前端开发技术都可以连接到 Cach 上来。不同的前端技术连接 Cach 的方式各不相同。目前有以下几种主要的方式:基于浏览器的客户端。 CSP(Cach Server Pages)技术。 CSP 是一种服务器端的脚本技术,是 Cach 自身提供的前端实现方式。它工作在服务器端,使用它进行开发可以达到与 Cach 服务器端最紧密的配合,并提供了许多其它服务器端脚本技术没有的特性。J2EE 和 EJB 技术。Cach 的类可以映射成 BMP 型的 EJB,使得 EJB 在持久化时不必进行 O-R 转换。这样 Cach 可以为 J2EE 客户端提供服务。还有其它服务
35、器端脚本如JSP、ASP、PHP 等可以通过关系型的方式访问 Cach 数据库,用法和其它关系型数据库相同。2.4 Wed数据库访问技术目前来说常用Wed数据库访问技术有:(1) JSP技术。JSP是根植于Java的一种动态网页制作和Wed数据库信息发布新技术。(2) ASP技术。ASP是开放式Wed服务器应用程序开发技术,是一种技术框架,是一种服务器端的脚本运行环境。(3) PHP技术。PHP与ASP类似,也是一种服务器端的脚本运行环境,可以说它是UNIX系统上的ASP。2.4.1 Wed的开发Wed的开发分成两部分,一是客户端的开发,一是服务端的开发。客户端的开发技术主要是:HTML、CS
36、S、脚本、XML。Wed服务器端应用程序的主要功能是生成和提供动态内容,其开发技术主要是:CGI技术、JSP技术、ASP与ASP.NET技术、PHP技术。2.4.2 CSP的开发应用 为了适应现在越来越多的 Web 应用程序的需要,Cach 也提供了自己的 Cach Server Page(CSP)技术。CSP 让你能够建立和部署高性能的、高可伸缩性的 Web 应用。开发人员可以通过两种方式来开发 Web 应用,一种是使用 Cach 类建立对象框架来创建动态网页,一种是通过基于 HTML 的标记语言把 Cach 脚本嵌入到 HTML 中去。当然,开发人员可以在一个应用中同时使用者两种方法。 C
37、SP 的各个请求都是利用标准的 Web 服务器和 HTML 协议处理的。当一个 HTML 的客户端,通常是一个 Web 浏览器,通过 HTML 向 Web 服务器发出请求的时候,如果 Web 服务器认为这个请求是 CSP 的请求,那么 Web 服务器会把这个请求转送到 Cach,在 Cach 中正在运行的 CSP 服务便处理这个请求并且送回一个页面给 Web 服务器,再由这个 Web 服务器把该页面送给发出请求的浏览器。CSP 不仅管理着 Web 服务器和 Cach 之间的通讯,并且引用应用程序代码来生成页面。Web 服务器和 Cach 服务器都是抽象的组件,它们可以被部署在一台或者多台计算机
38、上。在开发期间,所有的组件都可以在同一台计算机上。在大规模的系统部署时则可以根据需要部署成为多台 Web 服务器和 Cach 服务器位于两层或者三层的体系结构中。3程序系统需求分析3.1需求分析本论文的设计是运用面向对象的后关系型数据库Cach创建一个数据库,然后在一个网页中实现对数据库的访问。而Cach系统是一个功能非常齐全的面向对象的系统,它本身有附带创建数据库的功能,所以运用起来非常方便。在创建数据库中我们在这里实现创建类及类的属性。3.2系统性能分析系统的性能主要表现在运用这个面向对象的后关系型数据库Cach来实现开发Web程序所体现的优越性。比较以往我们开发Web的其他一些应用程序及
39、系统,Cach相对地更加的方便、简单。在本论文的这个系统中,要实现数据库的创建,在显视的网页中实现对数据库的实例化。4程序总体设计与分析4.1程序功能模块图程序的功能模块图如图4.1所示:Cinema Film TitlePlayingnowTicketsSoldDescription图4.1 功能模块图4.2 数据库设计 本设计中,数据库方面的设计是非常便捷的。在Cach系统的Configuration Mamager中实现对数据库的各项操作。首先创建一个包名为Lan的包和名为Lan的命名空间。在创建数据库之前先在我们要为它创建一个用来存放 CACHE.DAT 文件的目录:在 Windows
40、 中,新建一个目录:“c:Lan”。(1) 创建Datebasses。打开Cach系统的Configuration Mamager管理器,在Datebasses中点击Add按钮弹出 数据库向导(Database Wizard),输入Database的名称LAN后点击下一步,保存在“c:Lan”,点击下一步后点击“Finish”。最后点击“OK”击活它。如图4.2.1所示:图4.2.1(2) 创建Namespace。打开输入命名空间名称:打开Cach系统的Configuration Mamager管理器,在Namespace中点击Add按钮,弹出命名空间向导(Namespace Wizard)。
41、在 Namespace 栏中输入命名空间名称 “LAN”,点击 按钮 “Next”,选择所对应的数据库:从列表框中选择 “LAN”,点击 按钮 “Next”,完成命名空间LAN 的创建。点击 按钮 “Finish” 完成。点击 按钮 “OK”,选择 “Activate” 激活。如图4.2.2所示:图4.2.2完成了以上的操作,接下来就要实现创建类“Cinema”。(3)要在 Cach 中创建类定义,首先要启动开发环境,在 Windows 中,选择 立方体-Studio ,打开 Cach 工作室(Cach Studio)。选择菜单 File-New ,弹出 新建(New) 窗口, 选择 Gene
42、ral 页面标签下的 Cach Class Definition (CDL,类定义文件) ,点击 按钮 “OK”,弹出 新建类向导(New Class Wizard)。要在这一步的操作中输入一个包(Package)和类(Class)名称,包名输入 “Cinema”作为包的名字,类名输入 “Film”作为类的名字,点击 按钮 “下一步”.。使用默认值 Persistent(持久类), 点击 按钮 “完成”,这里就完成了创建类定义。如图4.2.3所示:图4.2.3(4)完成创建类定义,然后就接着创建类属性。在 Cach 工作室中,选择菜单 Class-Add-New Property ,弹出 新建
43、属性向导(New Property Wizard) 窗口。输入属性的名称“Title”及属性“Title”的索引“Title of a film”,点击 按钮“下一步”。选择属性的类型为默认的字符串类型 “%String”,直接点击 “下一步” 按钮。出来下一个页面后勾选上 “Required”,电影的名字不允许为空值,勾选上 “Indexed”,为人名创建索引,点击 按钮 “完成”。结果如图4.2.4所示:图4.2.4到这里就完成了第一个类属性的创建。接下来我们还要创建另外三个类属性,分别是“TicketsSold”、“PlayingNow”、“Description”。与上一个类属性的创建
44、类似,“TicketsSold”、“PlayingNow”、“Description”的创建也是在Cach 工作室中完成,选择菜单 Class-Add-New Property ,弹出 新建属性向导(New Property Wizard) 窗口。分别输入属性的名称“TicketsSold”、“PlayingNow”、“Description”,点击 按钮“下一步”。选择属性的类型为依次对应为:“Integer”、“Boolean”、“%String”,创建“Description”的窗口点击 “下一步” 按钮,在“Proporty Parameters”窗口设置MAXLEN的值为300,然后点击“完成”按钮。创建“TicketsSold”、“PlayingNow”的窗口则直接点击“下一步”按钮,然后在Cach 工作室的Class 里选择Property 设置“InitialExpression”依次为“0”、“1”。做到这一步就完成了对类属性的创建。然后运行操作的代码,结果如图4.2.5所示: 图4.2.5我们这里就已完成了对数据库设计。 4.3程序设计的类图