




已阅读5页,还剩52页未读, 继续免费阅读
(计算机软件与理论专业论文)一种电子销售系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北工业大学硕士学位论文 摘要 网络技术、通信技术和信息技术的迅速发展,i n t e r n e t 技术的全球普及, 使得商务活动的内容发生了质的变化,由传统的现金交易向电子交易转换。电 子商务已成为商务活动发展的必然趋势。但是,由于网络安全还存在很多问题, 网上支付有很大的风险,给电子商务的普及造成了一定的障碍。 本文所设计和实现的电子销售系统将电子商务概念和传统的支付方法相结 合避开了网上支付的难关,旨在将电子商务应用于更多的中小型企业。本文 除了论述该系统的设计和实现过程之外对于本系统所使用的后台数据库和独 特的电子商务开发工具m a g i c 及其编程技术也做了必要的介绍和探讨。本文的 主要研究工作如下: 1 在对系统的业务流仔细分析的基础上,确定了系统功能; 2 分析了系统所处的网络环境,设计了网络拓扑图; 3 从数据完整性、并发性和安全性出发,进行了系统数据库设计: 4 对系统的公用程序和主要模块的设计原理和实现方法进行了描述。 由于本系统所使用的独特的电子商务开发工具,加快了开发速度,实现了系 统对用户需求变化的快速响应,满足了企业对低成本和高效率的追求,体现了 商务系统的独特优势,因此具有一定的市场和潜力。 本文所设计和开发的电子销售系统是国际合作项目,其产品已经投入使用, 效果良好。 关键词:电子商务,电子销售系统,m a g i c 技术,事务型数据库,b t r i e v e 西北工业大学硕士学位论文 a b s t r a c t w l t ht h ed e v e l o p m e n to fn e t w o r k ,c o m n l u n i c a t i o na n di n t e r n e ta l lo v e r t h ew o r l d ,t h ec o n t e n to ft h eb u s i o e s sa c t i v i t yh a sb e e ng r e a t l y c h a n g e d t h et r a d i t i o n a lc a s ht r a d eh a sb e g u nt oc h a n g ei n t oe l e c t r o n i cc o m m e r c e ( e c ) e ch a sb e c o m eat r e n do fb u s i h e s sa c t i v i t y b u ta st h e r ea r es t i l l m a n yp r o b l e m si nn e t w o r ks e c u r 5 t y ,s op a y m e n ti nn e t w o r kh a sm u c hr i s k , w h i c hp r e v e n tt h ed e v e l o p m e n to fe c t h ee l e c t r o n i cs a l e ss y s t e mt h a td i s c u s s e di nt h i sp a p e rc o m b i d e st h e e cc o n c e p ta n dt r a d i t i o n a lp a y m e n tm e t h o dt o g e t h e r ,w h i c ha v o i d st h e p r o m e mo fp a y m e n ti nn e t w o r k i ta i m sa ta p p l y i n ge cs y s t e mi n t om o r e s m a l la n dm e d i u m e n t e r p r i s e s t h i sp a p e r d e s c r i b e st h e d e s i g n a n d i m p l e m e n to ft h es y s t e m 。a n da l s oi n t r o d u c e st h ed a t a b a s e su s e di nt h e s y s t e m a n dt h e s p e c i a lp r o g r a m m i n g t o o l s p e c i a l l y u s e df o re c s y s t e m n a g i c t h em a i nc o n t e n to ft h ep a p e ra r ea sf o l l o w s : 1 a n a l y z et h es y s t e mb u s i n e s sf l o wa n dd e s i g nt h es y s t e mf u n c t i o n s 2 a n a l y z et h en e t w o r ke n v i r o n m e n ta n dd e s i g nt h en e t w o r kt o p o l o g y d i a g r a m 3 d e s i g nt h es y s t e md a t a b a s eo nt h ed a t ai n t e g r i t y ,d a t as e c u r i t y a n dc o n c u r r e n c e 4 d e s c r i b et h ed e s i g na n di m p l e m e n to ft h ec o m m o np r o g r a m sa n dm a i n m o d u l e s a st h es y s t e md e v e l o p e db yt h es p e c i a lt o o l ,i th a sb e e nd e v e l o p e d i nar a p i dp r o g r e s sa n dc a nr e s p o n s et ot h eu s e r sn e e d sw i t hr a p i ds p e e d , w h i c hm e e t st h en e e d so fl o wc o s ta n dh i g he f f i c i e n c yt h e e n t e r p r i s e s p u r s u e s ot h es y s t e mh a si t ss p e c i a la d v a n t a g ea n dp o t e n t i a l i t yt h a t a d a p t st ot h em a r k e t t h ee l e c t r o n i cs a l e ss y s t e md e s i g n e da n di m p l e m e n t e di sa c o o p e r a t i v e p r o j e c t ,w h i c hh a sb e e np u ti n t ou s ea n dh a sg o o dp e r f o r m a n c e k e y w o r d s :e l e c t r o n i cc o m m e r c e ,e l e c t r o n i cs a l e ss y s t e m ,n a g i ct e c h n i q u e t r a n s a c t i o n a ld a t a b a s e b t r i e v e 两北r 业人学坝i j 学位论义 第一章绪论 1 1 电子商务技术的背景分析 1 1 1 基本概念 电子商务源于英文e 1 e c t r o n i cc o m m e r c e ,简写为e c 。顾名思义,其含义 包含两个方面,一是电子方式,二是商务活动。电子商务指的是利用简单、快 捷、低成本的电子通讯方式,买卖双方不谋面地进行各种商贸活动“。 电子商务可以通过多种电子通讯方式来完成。简单地讲,通过打电话或发 传真的方式来与客户进行商贸活动,就是一种广义上的电子商务。狭义上讲的 电子商务主要是以e d i ( 电子数据交换) 和i n t e r n e t 来完成的。 从贸易活动的角度分析,电子商务可以在多个环节实现,由此也可以将电 子商务分为两个层次,较低层次的电子商务如电子商情、电子贸易、电子合同 等;较高层次的电子商务是利用i n t e r n e t 网络能够进行全部的贸易活动,即在 网上将信息流、资金流和部分的物流完整地实现,也就是说,从寻找客户开始, 一直到洽谈、订货、在线付( 收) 款、开据电子发票以至到电子报关、电子纳 税等通过i n t e r n e t 一气呵成。要实现完整的电子商务还会涉及到很多方面,除 了买家、卖家外,还要有银行或金融机构、政府机构、认证机构、配送中心等 机构的加入。 1 1 2 电子商务的历史背景 随着网络技术、通信技术和信息技术的迅速发展,i n t e r n e t 技术的全球普 及,商务活动的内容发生了质的变化,由传统的现金交易向电子交易转换。电 子商务已成为商务活动发展的必然趋势”1 。 电子商务在发展中具有不同模式和阶段,早期是电子版本的企业介绍、产 品目录,可在网上公告宣传,也可上网检索这时电子商务的代表是雅虎 ( y a h o o ”表现为一种注意力经济;随后出现网上购物与网上拍卖( b 2 c 或 c 2 c ) ,是一种社会性很强的专业性的网络经济,具有无时空边界、个性化服务、 比较销售和讨价还价等特征,这种电子商务的代表是亚马逊( a m a z o n c o m ) 和 伊贝( e b a y ) ;与此同时又出现了企业之间网上交易( b 2b ) ,即在线大额交易, 这些都推动了电子商务的发展。由此我们可以看到,网络经济蕴藏着巨大的商 业机会,这个机会并不是仅仅青睐高科技企业,实际上任何一个积极反应并能 t 州北t 业。学坝l 学位论艾 够及时将高新技术融入自身企业发展战略的企业,都将可以从网络经济的发展 中获得h 大发展。但是,电子商务同时也存在着一些缺点比如投资的风险性, 嘲上支付问题的解决。由于月前金融体制、商业环境、商业信用等方面还存在 很多需要改进、提高之处,因此现阶段要消费者接受一种无纸化交易的网上购 物方式,无论是安全性、可靠性还是信任度上都无法让许多消费者接受,从 而制约了广大消费者的网上消费。 1 1 3 电子商务的特点 电子商务具有丌放性、全球性、低成本、高效率的特点,它超越了作为一 种新的贸易形式所具有的价值,它不仅会改变企业本身的生产、经营、管理活 动,而且将影响到整个社会的经济运行与结构”1 。 1 电子商务将传统的商务流程电子化、数字化,一方面以电子流代替了实 物流,可以大量减少人力、物力,降低了成本;另一方面突破了时间和空间的 限制,使得交易活动可以在任何时间、任何地点进行从而大大提高了效率。 2 电子商务所具有的开放性和全球性的特点,为企业创造了更多的贸易机 会。 3 ,电子商务使企业可以以相近的成本进入全球电子化市场,使得中小企业 有可能拥有和大企业一样的信息资源提高了中小企业的竞争能力。 4 电子商务重新定义了传统的流通模式,减少了中间环节,使得生产者和 消费者的直接交易成为可能,从而在一定程度上改变了整个社会经济运行的方 式。 5 电子商务一方面破除了时空的壁垒,另一方面又提供了丰富的信息资源, 为各种社会经济要素的重新组合提供了更多的可能,这将影响到社会的经济布 局和结构。 1 1 4 电子商务模型 根据交易双方的关系和角色,电子商务可以分成如下几种模型“。: ( 1 ) 商家对消费者( b u s i h e s st oc o n s u m e r ,bt oc 或者b 2 c ) 。这种电 子商务模式相当于网上零售业。商家通过i n t e r n e t 网站开办网上商 店,为消费者提供各种商品的网上零售业务:消费者通过i n t e r n e t 访问这种网上商店进行网上购物和网上支付,不受时间和空间的限 制,减少了中间环节,降低了商品的流通成本,商家让利于消费者。 ( 2 ) 商家对商家( bt ob 或b 2 b ) 。这种电子商务模式是指企业或公司 之间直接进行网上商品交易。销售商通过i n t e r n e t 网站发布商品信 息、接受客户订货、签订商贸合同,并在网上结算。 ( 3 ) 消费者对消费者( ct oc 或c 2 c ) 。这种电子商务模式相当于网上跳 两北t 业 学坝l 擘位论义 蚤市场,消费者在i n t e r n e t 网站上租用柜台发柿商品信息,出售或 拍卖商品。 ( 4 )商家对政府( bt og 或b 2 g ) 。这种电子商务模式主要是用于支持网 上政府采购。政府机构通过i n t e r n e t 向企业定购大宗商品,这是b 2 c 的一个特例。 1 1 5 传统电子商务系统的基本构成 随着电子商务技术的发展,还会不断出现新的电子商务模式。尽管每种模 式在交易方式上存在一定的差异,但都要解决信息发布、货款支付和货物配送 等问题“:。 ( 1 ) 信息发布:商家必须在i n t e r n e t 上建立一个信息中心或网站发布有关商 品信息,客户能够使用浏览器链接到这个网站,查看和检索这些商品信 息,选择所需的商品。此外商家依然可以采用传统的媒体、报刊和广 告的方式来发布信息。 ( 2 ) 货款支付:客户按商家提供的付款方式支付货款。付款方式可以是网上 支付、银行汇款、银行转账或邮局汇款等,其中网上支付是指使用该网 上商店指定的信用卡和其它电子支付卡通过网络直接划付。 ( 3 ) 货物配送:商家通常采用款到发货的方式,即客户的付款被确认之后, 商家按货单配齐货物并送达客户。 三者的关系如下图所示。其中,客户可以是消费者也可以是商家。 图卜l 电子商务的基本构成 1 1 6 传统电子商务中存在的问题 安全问题是企业应用电子商务最担心的问题,而如何保障电子商务活动的 安全,将一直是电子商务的核心研究领域 7 t 作为一个安全的电子商务系统 首先必须具有一个安全、可靠的通信网络。以保证交易信息安全、迅速地传递: 其次必须保证数据库服务器绝对安全,防止黑客闯入网络盗取信息。但是,网 3 两北t 业 学坝l 学位论史 络出于受到技术、人为等因素的影响,本身就隐减着不安全隐患,虽然网络技 术的发展提出了很多有效的安全手段,例如,电子签名和认证等,但这些远远 ,f ;能达到应用的要求。 安全性问题导致电子商务的核心内容一一网上支付成为系统的瓶颈。另外, 银行网络选用的通信平台不统一,不利于各银行洲跨行业务的互联、互通和中 央银行的会融监管以及宏观调控政策的实施。另外,各行信用卡标准不一样, 也影响了网上支付的实施。因此,网上支付成为了传统电子商务中的核心问题。 1 1 7 本系统所采用的电子商务解决方案 由于传统的电子商务所存在的缺点,我们提出了一种将传统的消费方式与 新型的网上消费相结合的电子商务的解决方案。建立一种电子销售系统,用束 为商家管理各种销售信息,顾客信息,供货商信息,商品信息并负责处理各 种票据的打印。商家通过网络、新闻媒体及各种媒介对自己的产品进行宣传, 用户可以通过电话、传真、电子邮件的形式与商家联系,订购某种商品。支付 方式可以采用邮局汇款、信用卡及现金的方式,商家按用户要求发货,查收付 款。将顾客信息、出售商品信息、支付信息入库。这种方式类似于电子商务的 商务流程,但却避开了网上支付这个难关,将商务中的支付部分留给传统的大 家都信任的金融机关。这样,必然会有更多的消费者参与到电子商务的活动中 来。因此,构建这样的一种系统有很大的现实意义。 1 2 项目简介及来源 由于电子商务是信息流、物流与资金流结台起来运作的一种商务模式, 因此所管理的信息非常多。随着每日业务量的增多,如何更加有效的管理销售 数掘、记录用户信息、统计销售员业绩、及时了解库存信息以便扩充库存来满 足用户需求,并能选择合适的配送公司来快速完成配送业务,打印各种票据, 这些都是商家所关心的问题。 我们所构建的系统,正是考虑了商家在处理销售业务方面的需求,根据商 家的特点和商务业务流来设计和实现这样一种电子系统,帮助商家及时处理销 售信息、记录用户信息、配送公司信息、商品信息、厂家信息,统计销售额, 处理支付信息等等。它是一种典型的c s 模式,采用台服务器、多个终端的 拓扑结构,既适合于一个公司内部多个部门之间使用,也适合于一个总公司、 多个分公司的情况。 我们所开发的系统是与r 方合作项目,因此考虑了同本电子商务的特点, 在某些方面与国内的电子商务有差别。而且,商家不同,特点和业务运作模式 不尽相同,因此这种系统或许不适合国内的电子商务模式和业务流不同的商家。 弧北t 业人学顺i 学位论殳 但是,从总体来看,商务总是离不丌销售、配送、统计等基本业务,因此,只 要略加修改,就可以适合不同需求的用户。从目前电子商务的发展趋势来看, 这种电子系统的需求量是相当大的有定的发展前景。 1 3 开发工具的选择 互联网技术已改变了商务应用软件的本质,也改变了应用软件的开发方式。 产生于互联网的技术和标准极大地冲击了客户机n 务器的开发市场。使这一市 场又涌现了一些新的竞争对手,更出现了新型的应用软件。 依据e b u s i n e s s 时代要求快速的市场响应力,集成化解决方案和快速的r o i 的特点,软件商被迫经历一场从技术( 工具) 提供者到能提供商务解决方案的 彻底转变。在某种程度上,这也意味着要转变市场策略,同时须适应直接面向 商业客户的转变。 m a g i c 是m a g i c 公司的客户机n 务器及网页应用软件开发技术,能够快速 布置复杂的电子商务。 m a g i c 设计为工作于关系型数据库管理系统和文件管理系统m a g i c 不仅支 持o d b c ,还可支持每个r d b m s 的专用的本地数据库网关,这些数据库包括: o r a cl e ,m s s o l ,in f o r m i x ,9 8 2 ,d b 2 4 0 0 ,c a c h e ,p e r v a s iv e s q l 2 0 0 0 ( o d b c ) 。 传统上,应用软件服务器在客户机月匣务器应用软件项目中被视为一种中间 组件,如今,应用软件服务器主要应用于以下五个领域:业务逻辑进程,内核 进程,中间组件,应用软件开发以及预构组件。服务器越来越多地采用诸如 c o m ,c o r b a ,j 2 e e 及j a v a 等标准。 c o r b a 和e j b 比较常见,然而,c o m + + 正在赢得越来越多的市场份额,并且 与j 2 e e 一起有望成为主要的组件模式。这些标准使应用软件的开发变得更为简 单,因为它们提供了标准a p 来实现一般的服务器功能。 事实上,这些服务器正变得越来越相近,主要的区别在于开发环境的稳健 性和赢利性方面。需要指出的是,m a g i c 恰好是在赢利性这一关键问题上占有 优势。同时,m a g i c 的表格驱动程序开发环境不需要用户开发计算机代码或专 用代码。m a g i c 的高度精炼使编程过程完全不需要编译和链接阶段,从而变得 简单,事件驱动范例和支持面向对象( 0 0 ) 的特征进一步提高了代码的再使用 和更快的响应变化的能力。 鉴于以上这些优点,因此我们选择这种开发工具来设计和实现本文的电子 销售系统。 阿北r 业人学坝i j 学位论且: 第二章系统使用的技术综述 我们所丌发的电子销售系统采用的丌发工具m a g c 是一种电子商务的专 用丌发工具( ed e v e l o p e r ) ,目前在国内的应用比较少,还没有相关的中文文 献出版。由于它的丌发模式以及丌发流程与目前流行的开发工具有很大差别, 而且在具体的设计和实现中必然要涉及详细的操作。所以在本章对这种工具的 丌发模式和丌发特点做一些介绍,便于读者对后几章的理解。 2 1m a g i c 概述 虹g i c 是基于数据库的开发工具,它省去了开发过程中的无用的时间和重复 性工作。p e l a g i c 是建立在其强大的应用程序引擎之上的,它执行储存在m a g i c 数 据仓库内的所有的应用。m a g f c 的数据仓库是用来存储完整的应用程序功能一包 括数据结构、商业原则、程序逻辑和界面等。 m a g i c 的抽象化使程序的运行成为一个单独的进程阶段,淘汰了编译和链接阶 段。开发者输入的同一代码被m a g i c 的应用程序引擎执行,这种基础的概念是大 量的生产增益的关键。快速的迭代原型能力使最终用户能尽可能地参与到开发过 程中使最终应用程序得到最大程度的满足。 m a g i c 采用快速应用程序开发和部署( r a d d ) ,为开发人员提供了快速建立有 竞争能力的l t 基础设施所必需的工具。在统一的集成开发环境中,凇g i c 允许 开发人员同时建立基于w e b 和传统的c 1 i e n t s e r v e r 结构的企业级应用,这些应 用可以跨越各种计算机硬件平台、操作系统和数据库。) , t a g i c 开发环境集中了高 度可移植的r a d d 环境的好处,全特征性处理进程系统标量,使开发人员能及时 地在预算内完成整个企业所需的商业功能。 可扩展的开放式计算解决方案是m a g i c 应用范例的又一基础概念。m a g i c ,市 场上最好的集成结果,非常容易地用多级体系结构中的混合型平台和数据库可以 非常容易地扩展异构型环境。企业可以充分利用以前的硬件和软件资源,同时提 供从c i i e n t s e r v e r 到i n t e r n e t 计算的经济移植方法。商业活动可以从 c l l e n t s e r v e r 移植到w e b ,同时通过使用现存的i s a m 或s q l 的数据、网络计 算机、图形工作站和w e b 浏览器,可以保留早期的投资。 2 1 1m & g i c 的基础引擎应用范侧技术 m g i c 开发环境包含可视化的丌发方法。采用表格驱动方法开发复杂、企业缎 两北t 业人学顿l 学位论史 的、而向对象的应用程序。近期,因为m a g i c 的已经被证明有效的应用程序引擎, 工业分析已经使用虚拟机的概念作为一种分析方法。虚拟机分析方法经常被用术 强调m a g l c 应用程序引擎的平台独立性和机构中立性。 m a g i c 的技术载货清单在应用程序引擎内,引擎具有建立在中断上的功能r l 。 载货清单根据特殊的应用程序的需要可以有条件地被开发者打丌或关闭。m a g 【c 应用程序引擎事实上是由一系列最佳、特殊的引擎组成,它提供最大限度的性能 ( 见图2 1 ) 。一个特殊的例子是重复计算引擎。这种引擎能够使流行的申请功能 性转换到可视化控制和数据库对象。 在m a c 【c 的可视化丌发方法中,不需要下行到代码或私有定义。表格不仅用 来表示明显的数据定义而且还用来表示实际的应用程序逻辑。许多开发方法是 自然定义。为数据库操作开发的建立在任务之上的模型以及属性设置的f 确对话 的使用把开发者从沉闷的代码书写中解脱出来。在大多数变化是使用m a g i c 的表 格驱动方法制作的前提下,m a g i c 应用程序同时也能够方便迅速地被维护。 m a g i c 数据仓库在无编译、平台独立的格式下用来存储完全的应用程序功能 性。它包括数据结构、商业原则、程序逻辑和界面信息。所有这些在应用程序引 擎下都可以当作数据来执行 图2 一lm a g i c 应用程序引擎( t h em a g i ca p p l i c a t i o ne n g i n e ) 2 1 2m a g i c 的编码方式 第一代翻译工具问世以来,可执行的计算机应用程序代码格式与程序员输入 的格式大不相同。然而,在m a g i c 的事例内原代码、编译代码、目标代码、半 编译代码、伪代码、高级语言代码和可执行装载模型等概念都可以被抛开。在 m a g i c 的构思中,程序员输入的应用程序代码格式与m a g i c 应用程序引擎的执行 代码格式,在形式上是完全相同的! 这是一个单一阶段的进程。进程内的代码由 7 研北丁业人学硬j 学位论文 程序员输八,并且进程通过引擎在无任何中间进程的情况下被迅速地执行。 w a g i c 在保留语义学的同时减少了语言的语法,因此减少了编译语言的媳型 的通常丌销。在m p , g i c 中,大部分进程时问用于执行应用程序的特殊函数。这些 函数作为应用程序引擎的一部分而建立,并作为高度优化编译的本机代码束执 行。同时,函数足够地舰范并允许丌发者描述较大的应用程序范围。 应用程序的整体描述,包括逻辑、事务处理、格式和数据,都存放在m a g j c 数据仓库( 1 a g c 控制文件) 中并被m a g i c 应用程序引擎执行。这样就提高了m a g i c 的丌发速度。 结果如下: 一编译器和连接器完全从应用程序开发进程中删除。 一开发者精力集中于系统功能和应用需求上,而非代码和“怎么办”之 类的指令上。 应用程序的每一部分,只要它的描述已经输入,任意时刻都可直接测 试运行,节省了冗长的“编辑编译连结”重复时间。 应用程序的终端用户可以积极参与开发设计原形。 2 1 3 ( r a d d ) 快速应用程序开发和部署 最近几年,用户应用程式设计、开发和交付使用的传统的( w a t e r f a l l ) 瀑 布式模式已经逐渐消亡。应用程序开发的许多经典方式,例如瀑布式,迫使用户 在开发周期的早期对他们的需求作出定案;而无法适应灵活改变的需求。 快速应用程序开发和部署( r a d d ) 允许用户即可使用传统方式进行应用开发, 也允许用户重复原形开发的各个阶段,见图22 和图2 - 3 。 图2 2 传统应用程序开发过程 8 两北t _ 业人学伸! i 学位论文 图2 3m a g i c 的快速应用开发过程 在m a g i c 中,能使r a d d 的功能优点充分发挥,最大程度地使用户需求与应 用程序保持一致,同时开发者与用户之问的关系也发生了变革。 为了使r a d d 获得最大效益,开发者需要合适的工具。从根本上来讲,m a g l c 是为支持快速应用程序开发和部署而设计的。m a g f c 的表格驱动引擎结构使动态、 重复的开发变得容易,而且用户可以直接参与开发过程。 2 1 4 说明性程序设计( d e c l a r a t i v ep r o g r a m m i n g ) 说明性程序设计是指涉及程序设计方式的术语。在程序设计中,程序员注意 的焦点是( t h ew h a t ) 应用的事务逻辑,而不是( t h eh o w ) 实现的具体细节。这 一领域相当多的研究是源于应用的不断发展需求,在一些学术机构主持下进行 的。 说明性程序设计通过m a g i c 在开发数据库应用程序的许多至关重要的方 面,如数据操作、表属性和事件处理等。 2 1 5m a g i c 与数据库 在未使用说明性程序设计的数据库操作程序设计中,程序员需要在代码中确 切、清楚地录入需要完成的特定数据库操作。这些操作包括修改记录、增加记录、 删除记录和刷新记录。 m a g i c 无需确切指定此类数据库操作。 在m a g i c 程序设计中最小的完整的处理单元是任务( b u s i h e s st a s k ) 。根 据任务类型,m a g i c 应用引擎知道执行何种数据库操作。开发程序时,应用程 序丌发者指定任务类型( 修改、生成、删除和查询) 。 2 1 5 1 数据库无关性 对程序员来讲,希望在丌发过程当中不考虑应用提交运行时的后台数据库 类型,而只按照通常的开发方式开发:但同时要求开发好的应用能够对底层不同 数据库提供同样简单有效且明了的管理模式。 一9 一 两北丁业人学坝i j 学位论史 s q l 型数据库的一个优势在于它是管理进程独立的,但通过0 d b c 将应用系统 与0 :同数据库连接有时是非常简易的,但有时需要烦琐的重编泽链接过程,难 易程度取决于使用的工具。此外不同数据库厂商对s q l 的扩展使对原有数据库和 应用的透明结合不与支持。 m a g i c 采用简易的方式实现数据库的无差性,在m a g i c 中,数据源类型的选 择只需改变一个表属性。m a g i c 的数据库无关性增加了数据库现有投资的价值, 确保数据迁移。当开发者确定了最适合的r d b m s 后,就可立即开始编辑应用。根 据需求,所有的应用都可简易的透明移植。从概念上来说,这个过程简明、方 便快捷一一源于m a g i c 的无过程代码编程和表格驱动,是其他编程方式所不具有 的。 2 1 5 2m a g i c 数据库接口( m a g i cg a t e w a y ) m a g l c 既支持关系型数据库又支持文件型数据库。m a g i c 是通过专门的数据 库接口与各类不同数据源通讯。m a g i c 数据库接口是内置的,程序员可通过安装 额外数据库接口改变数据库类型。 在c s 和w e b 应用开发领域。针对不同的客户端,只需在m a g i cr e p o s i t o r y 中指定服务器名和路径,并安装恰当的数据库接口,应用即可运行。 2 1 5 3m a g i c 对关系型数据库的支持 m a g i c 是专门针对数据库的开发工具。m g i c 支持s y b a s e ,o r a c i e , m i c r o s o f ts q ls e r v e r ,d b 2 ,和i n f o r m i x 等关系型数据库,同时也支持o d b c 。 姒g i c 对s q l 型数据库的数据操作可不通过底层的s q l 语句,而直接使用 m a g i c 独特的表格驱动方式编程。并由于6 i a g i c 的表格驱动方式使编程具有很强 的自动调节功能即一处改变,所有相关设置做自动调整,无须重编辑、重 编译、重连接共立即执行。m a c i c 对函数和过程的定义也非静态,且无须编码。 m a g i c 对数据定义( s e l e c t ) 也是在表格中实现的,并通过内在引擎自动翻 译为底层数据库的d m l ( d a t am a n i p u l a t i o nl a n g u a g e ) 。对记录的创建、删除 和修改可以在任务初始化模式中隐含定义,如图2 4 任务初始化模式可指定为创 建、删除和修改。 两北t 业人学顺1 j 学位论史 图2 - 4 数据处理的任务方式 如上所述,m a g i c 以其特有的m a g i ca p p l i c a t i o ne n g i n e ,m a g i cr e q u e s t b r o k e r ,m a g i cf il em a n a g e r ,和i a g i cg a t ed a t a b a s eg a t e w a y 自动实现m a g i c 程序与r d l l l s 的数据和操作通信。此# f m a g i c 支持嵌入s q l 语句,充分利用其特有 优势。 2 1 6m a g i c 应用引擎的工作原理 2 1 6 1 雌g i c 引擎的内在循环过程 m a g i c 引擎的设计是直接面向数据表数据操作的,即适用于人机交互方式, 同时适用于后台执行和报表生成等批处理方式,在m a g i c 中,引擎循环过程存 在于程序的每一任务中,其执行循环如下图2 5 : 每个m a g i c 任务都以一种优化的块结构形式来表现m a g i c 引擎的循环流 ( 如图2 5 ) 。每个任务有一个相关的操作表,在任务执行时可视化的翻译为事 务逻辑和执行过程。 任务级( t a s kl e v e l ) :表示任务从初始化( t a s kp r e f i x ) 开始到任务结束 ( t a s ks u f f i x ) 的过程。例如打印报表的表头( t a s kp r e f i x ) 和表尾( t a s k s u f f i x ) 。 记录级( r e c o r dl e v e l ) :表示从记录的初始化( r e c o r dp r e f i x ) ,与最 终用户的交互( r e c o r dm a i n ) 到退出当前记录( r e c o r ds u f f i x ) 的过程。在八机 交互方式下,从一个域到另一个域的l o o p 是在记录主体中实现的。 这两极循环方式完全由程序员操作指定,并被m a g i c 应用引擎自动执行。 两北t 业大学坝i 学位论奠 m a g i c 之所以能够将所有3 0 l 和d g i 。逻辑处理归纳为13 条语句,源于m a g i c 己将很多功能固化在l l c 应用引擎当中。经统计,在4 g l 中大约有1 3 到t 2 的程序量用于数据操作和屏幕处理。在3 6 l 中,没有明显的数据操作和屏幕处 理过程,而是通过原始的程序调用和潜入s q l 语句柬完成,因此代码量远大于 4 g l 。 _ i v i a g i c - m p l i c i te x e c u t i o nl o o p l e v o ip r e r i xm a i ns u h i x t “a 筹一一ii:一l e k 二1 : i 拿盼嘲等蒜毒1 土 三薰锻= | j r 宫管钱社 上 雹菇嚣r 器d j r l 酱篇| = 窘笮= 掣 图2 5m a g i c 应用引擎循环 m a g i c 在运行时,很多的操作是自动执行的,在应用初始化、运行过程和 结束的过程,有以下过程自动执行: 自动打开关闭数据库 自动打开关闭非数据库文件和其它设备 初始化参数 从数据库中读记录 绘制初始菜单和界面 这些是由m t a g i c 引擎自动实现,无须编程。 由于功能内置,程序员需要做的是明确指定逻辑和正确选择功能和非表文件、 物理设备、非m a g i c 程序等。 两北t 业 学他1 学位论立 图2 - 6 任务执行表 任务执行表是一些描述应用逻辑操作的表格( 图2 6 ) 。每一表格对应循环 的一个特定阶段。任务执行表替代了传统的给予3 g l 和4 g l 的代码编程。m a g i c 程序员在填写任务执行表时可通过下拉菜单选择1 3 种操作,然后根据不同语句 在相关域内填入恰当代码。m a g i c 中代码编号被存储在程序中并显示其代表的 代码的全称。 2 1 6 2 姒g i c 的1 3 种操作 m a g i c 的1 3 种操作可执行典型的数据操作 以下列出所有操作 ls e e c t 定义数据视图 2v e r i f y 数据入口的有效验证 3l i n k 建立一对一的关系 4e n dl i n k jb l o c k 6e n db l o c k 7c a l l 8e v a l u a t e 9u p d a t e 1 0o u t p u tf o r m 1 1f n p u tf o r m 识别一个逻辑组的起始和结束的位置 向其他实体、本地或远程服务器转换控制 执行特殊的m a g i c 函数 m a g i c 的计算方式 m a g i c 在数据视图和外设之问输出方式 m a g i c 在数据视图和外设之间输入方式 一1 3 p q 北丁业 学碳b 学位论文 1 2b r o w s e 1 3e x n 使终端用户可咀浏览文件 与操 乍系统命令筑接日 整2 7 下壤菜擎列逛懿疆熊i c 款1 3 蘸豢搏 2 1 7 可复用性 可复用往怒凇g i c 的基础概念。 可凝用性的第一个方面是嵌入m a g i c 应用穰序引擎中的作为内在功能性的 设置。设置适稳予广泛翦鼗捺痒瘟霜疆序范麓。 程序员可以不使用任何代硒和字符而使用内在函数。程序员只需要指定内 在丞数鞠它爨麴参数弱数到。簌头至邈,m a g i c 黢说黉遽遘壤态预定义模羧运 算表米实现。姒g i c 应用范例可复用性的第二个方面是程序员定义实体的重复 使用。实体位于某一m a g i c 应爝程序内瞧可被燹限】i f a g l c 应用落重弓l 用。淞g i e 程序授容易在m a g i cj 敷用中被其它和本身程序引用。程序一旦写定,硬可重 复使用。可复用性的第三个有力的事例是m a g i c 的表格模板。表格模扳通过 提供绘程序受便翮的枫制,翻格式模板,来定义和傈存实体。 西北工业大学埘上学位论文 2 2 系统使用的数据库 2 2 1 事务型数据库 出于关系数据库的发展,现在的大多数数据库系统都针对关系数据库而设 计,如o r a c l e ,s o l s e r v e r ,d b 2 等等。因为关系型数据库( r d b b i s ) 具有简洁而 严密的数据模型和简明的描述性查询语言,因而得到广大数据库用户的青睐, 使得关系数据库迅速取代网状和层次数据库而成为当时的主流。关系数据库理 论的成熟,对关系数据库的发展起了推动作用。 自八十年代以来,计算机的应用领域急剧扩展。而在各种新领域中,数据 库的使用却并不普遍。其主要原因并非数据库不重要,而在于主流的d b m s ( 主 要是r d b ) 4 s ) 不能满足这些领域在存储和操纵各种新型数据方面的要求。这些领 域不仅包括工程应用领域( 如v l s i ,c i m s ,c a s e 等) ,还包括多媒体应用领域( 如 医学、地理、空间等) ,甚至某些传统的商业和事务管理领域。 数据库技术的发展是受应用推动的,商务领域的应用中,对于数据库的查 询和更新提出了高效率的要求,从这一点考虑,事务型数据库的面向记录的数 据操纵方式和采用i s a m 索引的查询方式很明显的优于关系型数据库的面向集 合的查询方式。由于事务型数据库以文件为存储对象,以索引为查找方法,采 用导航的查询方式,查询效率很高,因此在很多商务中的应用颇为广泛,显示 了它独特的优势。在本次开发中所使用的数据库就是事务型数据库,它嵌套在 宿主语言m a g i c 中,随着b l a g i c 的安装同时完成数据库的安装。 2 2 1 1 什么是事务型数据库 事务型数据库在某些文献中也称作“导航式数据库” 1 2 - 1 4 因为它使用导 航的方式来对数据进行查询,应用程序沿着数据记录的物理或逻辑路径进行上 下的导航。它是一种采用类似于网状、层次数据模型的数据库,从物理存储方 面讲,库中的表都是一些分离的文件,和由数据类型,数据位置,大小和诸如 事件敏感度等特征所定义的一些键( 索引) 。记录只是一些字节的集合。 b t r i e v e 没有关系数据库中的连接技术,存储过程,触发器和参照完整性 等特征,但因为采用了导航式的查询方法,对数据库中特定表的访问速度相当 快,所以,在某些情况下,其查询具有一定的优势。 2 2 1 2 事务型数据库的特点 事务型数据库在查询操作上类似于层次和网状数据库,层次和网状数据库 是第一代的数据库系统“”,类似的,事务型数据库具有以下特点: 1 支持三级模式的体系结构 一1 6 两北丁= 业大学硕士学位论文 三级模式通常指外模式、模式、内模式。模式之间具有转换( 或称为映射) 功能。层次数据库和网状数据库均支持三级模式结构通过外模式与模式、模 式与内模式之间的映象保证了数据库系统具有数据与程序的物理独立性和一 定的逻辑独立性。 2 用存取路径来表示数据之间的关系 这是数据库系统和文件系统的主要区别之一。数据库不仅存储数据而且存 储数据之间的联系。数据之间的联系在层次和网状数据库系统中是用存取路径 来表示和实现的。 3 独立的数据定义语言 层次数据库系统和网状数据库系统有独立的数据定义语言,用以描述数据 库的外模式、模式、内模式以及相互映象。诸模式一经定义,就很难修改。修 改模式必须首先把数据全部卸出然后重新定义诸模式,重新生成诸模式,最 后编写实用程序把卸出的数据按新模式的定义装入新数据库中。因此在许多实 际运行的层次、网状数据库系统中,模式是不轻易重构的。这就要求数据库设 计人员在建立数据库应用系统时,不仅充分考虑用户的当前需求,还要充分了 解需求可能的变化和发展。对数据库设计的要求比较高。 4 导航的数据操纵语言 层次和网状数据库的数据查询和数据操纵语言是一次一个记录的导航式的 过程化语言。这类语言通常嵌入某一种高级语言如c o b o l 、f o r t r a n 、p l ! 中。 所谓导航就是指用户不仅要了解“要干什么”,而且要指出“怎么干”。用户 必须使用某种高级语言编写程序,一步一步地“引导”程序按照数据库中某一 条预先定义的存取路径来访问数据库,最终达到要访问的数据目标。在访问数 据库时,每次只能存取一条记录值。若该记录值不满足要求就沿着存取路径查 找下一条记录值。 2 2 1 3 事务型数据库与关系型数据库的差别1 1 6 】 1 关系型数据库中,查询是以结构化的查询语言( s q l ) 的形式传递给数据库 引擎。但是大多数事务型数据库是利用它所属的编程语言( 例如b t r i e v e s a p i s ) 来访问数据。 2 关系型数据库系统和事务型数据库系统的第二个差异是它们操纵所存储的 记录的方式不同。事务型数据库中,引擎的任务只是读、写和更新所存储的 信息。应用程序告诉导航引擎在访问文件的什么部分、如何改变数据。关系 型数据库系统中应用程序只是给r d b m s 提交一个要改变数据的请求,r d b m s 接受请求,执行更新操作,客户端应用程序不了解具体的记录的物理存储。 3 关系型数据库是面向集合的,操作是一次一集合,用户不需要知道联结表的 步骤:事务型数据库系统是面向记录的,操作是一次一记录,用户必须知道 如何将这些表联结起来。 两北丁业大学硕士学位论
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025如何编写租赁合同
- 5.1 方程说课稿2024-2025学年人教版数学七年级上册
- Unit 3 Sports and Fitness 单元整体教学设计-2024-2025学年高中英语人教版(2019)必修第一册
- 2023八年级英语下册 Unit 8 Have you read Treasure Island yet Section A 第2课时 (3a~4c)说课稿 (新版)人教新目标版
- 2025年车辆运输与车辆检测认证服务合同模板
- 旅游代收代付服务合作协议
- 高端社区便利店特许经营承包协议
- 《三份教育培训机构加盟合同条件比较与市场布局》
- 个人教育培训机构投资连带责任保证贷款协议
- 南京XX科技公司向南京XX小额贷款公司借款合同
- ISO 22000-2018食品质量管理体系-食品链中各类组织的要求(2023-雷泽佳译)
- 卡巴斯基应急响应指南
- 理财规划大赛优秀作品范例(一)
- 2023年四川能投筠连电力招聘笔试参考题库附带答案详解
- 护理管理组织结构与设计
- 静配中心清洁消毒考核试题
- 一级烟草专卖管理师理论考试题库(含答案)
- 小学数学《分数除法》50道应用题包含答案
- 碳捕集、利用与封存技术课件
- 化工试生产总结报告
- 复句与单句的辨析课件
评论
0/150
提交评论