(计算机应用技术专业论文)河南新纪元汽车销售管理信息系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)河南新纪元汽车销售管理信息系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)河南新纪元汽车销售管理信息系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)河南新纪元汽车销售管理信息系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)河南新纪元汽车销售管理信息系统的研究与实现.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机应用技术专业论文)河南新纪元汽车销售管理信息系统的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

壅銮堑_ 大堂主业亟堂垃迨塞生室遁墨 中文摘要 摘要:汽车销售管理是2 0 世纪中期发展起来的- l q 新兴学科。随着我国经济 的持续发展,汽车销售已经成为热门行业,人们对汽车消费的要求也越来越高, 汽车销售的管理也变得越来越重要。毕竟车是高价商品,如果汽车销售管理不好, 会给企业造成无法估量的损失。因此一个高效的管理系统对于提高企业的管理水 平和效益来说十分重要。 本论文以汽车销售管理系统为设计课题,前端选用a s p ( a c t i v es e r v e rp a g e s ) 作为开发平台,后端采用s o ls e r v e r 数据库为支持,采用b s 的开发模式。通过 对汽车销售企业内部各个职能部门不同要求的调研,下属各销售单位的应用需求, 进行总的需求分析、总体设计,详细设计,数据库设计和编码测试,实现了汽车 从采购、入库、调拨到销售一系列的功能,并建立了强大的多条件查询方式和各 项数据的统计功能。不仅能为销售员提供实时的第一手资料,也能为管理者提供 决策支持。 此系统于2 0 0 6 年8 月在河南新纪元汽车销售有限公司销售部试用。目前运行 稳定,反映良好。不仅大大提高了工作效率,降低了销售人工成本,增强了企业 的竞争力,而且收到了良好的经济和社会效益。为汽车销售商提供了科学、高效、 可靠的管理手段。 关键词:m i s ,数据库,a s p ,销售管理 分类号:t p 3 9 3 ,0 9 基2 遁叁堂童、业亟堂位迨室旦s ! b i a b s t r a c t a b s t r a c t :a u t os a l e sm a n a g e m e n ti st h em i d 一2 0 t hc e n t u r yd e v e l o p e da n e w l y - d e v e l o p e dd i s c i p l i n e s a sc h i n e s ee c o n o m i cs u s t a i n e dd e v e l o p m e n te n t e r p r i s e s f r a n c h i s e ds t o r e s ,a u t o m o b i l es u p e r m a r k e t sa r es p r o u t i n ge v e r y w h e r ed e v e l o pc a rs a l e s h a v eb e c o m eah o ti n d u s t r y , c o n s u m e ra w a r e n e s so fv e h i c l e r e q u i r e m e n t sa r e i n c r e a s i n g l yh i g h ,c a rs a l e sm a n a g e m e n th a sb e c o m ei n c r e a s i n g l yi m p o r t a n t a f t e ra l l , c a r sa r ee x p e n s i v ec o m m o d i t i e s ,i fc a rs a l e sm a n a g e m e n tb a df o rt h ee n t e r p r i s ec a u s e d i n c a l c u l a b l ed a m a g e t h e r e f o r ea ne f f i c i e n tm a n a g e m e n ts y s t e mf o ri m p r o v i n gt h el e v e l a n d e f f i c i e n c yo f e n t e r p r i s em a n a g e m e n ti sv e r yi m p o r t a n t t h ep a p e r si nc a rs a l e sm a n a g e m e n ts y s t e mf o rd e s i g ni s s u e s ,t h ef r o n te n d s e l e c t i n ga s pa sd e v e l o p m e n tp l a t f o r m s ,b a c k - e n dd a t a b a s eu s i n gs o ls e r v e rt o s u p p o r t t h r o u 曲t h ei n t e r i o re a c hf u n c t i o n a ld e p a r t m e n t so fa u t os a l ee n t e r p r i s e d i f f e r e n tr e q u e s ti n v e s t i g a t i o na n ds t u d y , t h es u b o r d i n a t ee a c hs a l eu n i t sa p p l i c a t i o n d e m a n d ,c a r r i e so nt h et o t a ld e m a n da n a l y s i s ,t h es y s t e md e s i g n ,t h ed e t a i l e dd e s i g n ,t h e d a t a b a s ed e s i g na n dt h ec o d et e s t ,r e a l i z e dt h ea u t o m o b i l e f r o mt h ep u r c h a s e ,t h e w a r e h o u s i n g ,h a si n s t i g a t e dt os e l l sas e r i e so ff u n c t i o n s ,a n dh a se s t a b l i s h e dt h e f o r m i d a b l em u l t i c o n d i t i o ni n q u i r yw a ya n ds t a t i s t i c a lf u n c t i o n i tc a r lp r o v i d en o to n l y t h er e a l t i m ef i r s tm a t e r i a lf o rt h es e l l e rb u ta l s of o rt h ep o l i c y - m a k i n gs u p p o r tf o rt h e s u p e r i n t e n d e n t t h i ss y s t e mt e s t si na u g u s t ,2 0 0 6i nt h eh e n a n e p o c ha u t os a l el i m i t e dc o m p a n ys a l e s o u t l e t a tp r e s e n ti t sm o v e m e n ti ss t a b l e ,t h er e f l e c t i o ni sg o o d n o t o n l yi te n h a n c e dt h e w o r k i n ge f f i c i e n c yg r e a t l y , r e d u c e dt h es a l e sa r t i f i c i a lc o s t ,s u e n g t h e n e de n t e r p r i s e s c o m p e t i t i v ep o w e r , b u ta l s oh a sr e c e i v e dt h eg o o de c o n o m ya n dt h es o c i a le f f i c i e n c y i t h a sp r o v i d e ds c i e n t i f i c a l l y , h i 曲l ye f f e c t i v e ,t h er e l i a b l em a n a g e m e n tm e t h o df o rt h e a u t o m o b i l es e l l e r k e y w o r d s :m i s ;d a t a b a s e :a s p :s a l e sm a n a g e m e n t c l a s s n o :t p 3 9 3 0 9 致谢 本论文的工作是在我的导师宋泽海老师的悉心指导下完成的,他严谨的治学 态度和科学的工作方法给了我极大的帮助和影响,对于我的科研工作和论文都提 出了许多的宝贵意见,。在此衷心感谢宋泽海老师对我的关心和指导。 在实验室工作及撰写论文期间,我的朋友彭伟平对我论文中的系统实现部分 给予了热情帮助,在此向他表达我的感激之情。 另外也感谢我的夫人庞柯,她的理解和支持使我能够在繁忙的工作中完成论 文的写作。 峦銮遁叁堂童些亟堂位迨塞i 直 1 1 选题背景及意义 l 引言 目前,我国的汽车业销售管理大多沿用旧的管理模式,无论在仓储管理,还 是在销售管理方面等其他方面都存在一些问题,这些无疑制约了汽车业的发展和 腾飞。在传统的汽车业管理模式中,纸单据及手工管理是其主流方式。这种方式 具有数据可靠性差,运行效率低下,统计分析难度大的缺点,快速抽取对企业有 用的统计信息的可能性很小。这种传统的管理模式已不能适应当今汽车企业的发 展趋势,特别是信息化时代的到来,采用先进管理模式来增强竞争力,迎接信息 化革命是摆在汽车业面前很现实而且很重要的问题。如何在效益、效率上取得提 升成为关键问题。 我国汽车销售企业的差距,除了规模上的差距,更重要的是管理技术上的差 距。 整体来说,当前我国汽车行业普遍存在下述管理问题: 企业各部门业务处理和信息交流不畅通,周期长、效率低、误差率高: 信息反馈不及时,缺乏现代信息技术支撑体系: 以客户为中心的先进管理思想未能全面深入人心:难以进行产品及关键零部 件的追溯。 汽车行业的成长性企业在发展过程中,还要面l 临不同阶段的发展障碍和鸿沟, 为此必须及时进行管理变革,进行管理模式创新以适合自身发展,从而增强实力、 赢得市场,在成长和竞争中保持优势。信息技术和信息系统能够为企业发展创造 竞争优势。因此成长性企业在每个发展阶段要灵活采用相应的方案,以应对不断 出现的管理症结。 汽车销售部门网络管理软件主要用于汽车行业销售服务业务,通过标准的作 业流程和统一的管理模式,管理潜在和现实的客户关系以及商业伙伴关系,范围 涉及营销、销售及沟通渠道的服务,从而在此基础上建立起现代化的营销管理模 式。 如何解决上述管理问题,如何面对实力雄厚的竞争者,如何适应多变的市场, 如何运用现代化的管理和技术手段降低管理成本、提高企业竞争力,是中国汽车 行业需要解决的问题。发达国家汽车行业的经验证明,信息技术的广泛应用和发 展将为企业降低采购营销成本、减少库存、优化库存结构、展销售渠道、提高服 e 立窆适盘堂童些亟堂缱迨塞 ! !蛊 务效率提供可能,是汽车企业增强竞争实力、融入经济全球化格局的必由之路。 1 2 当前现状 在河南汽车界,河南新纪元汽车销售服务有限公司,是上海通用汽车授权销 售服务中心,是一家成立较早、发展很快的企业。目前人员总数有四百多人,有 八个销售单位,今年汽车销售量将达到六千台,销售额将有六个亿。 由于经营规模逐渐扩大,人员增多,各种工作部门和工作环节也随之增多, 原有的小企业所使用的工作方法和流程的弊端逐渐现露出来,例如很明显的一点, 销售单位增多,相互协调车源就成为一个问题,以前人员少,相互问一下就知道 了,但现在一个事情会牵涉好几个部门和人员,会很费时费力,但销售的事情, 是否谈成一比生意,有时是瞬间的事情,如果当时信息反馈不过来,不能给客户 答复的话,很可能就丢掉了这笔生意。 再比如库存管理这一块,有多少某型号的车辆,什么颜色,每个车的车况怎 样,手续是否齐备,在途的有哪些车,哪些车是贷款进的货,哪些车是促销车等 等,每个销售人员时刻都需要最新的信息,目前的状况是,公司每天早上更新一 个库存表,然后电子邮件发给八个销售单位,( 这八个销售单位分在五个不同的 城市) ,第二天早上再更新,再发送。缺陷是库存状况时刻都可能在变,每天的 库存表只是大致近似的表,实际销售时,还要一个个落实车源。这种状况已经严 重制约着销售业务的快速发展,第一线的销售员普遍感到非常不便。 在销售报表方面,也是如此,目前的销售报表不能真实的反映出各个销售单 位的状况,以及他们之间的差距。甚至和实际的库存表之间还对不上号,有出入。 销售报表和库存是脱节的。 管理报表更不用说,目前的做法是打电话给各个销售单位,自己统计,然后 电邮报上来,没有半天弄不齐。比如销售副总需要知道各单位调入时间超过1 0 0 天 的凯越l e a t 黑色的车辆状况,或某单位的某台车曾被哪几个销售单位调动过,都 会费半天劲才能查出来。极大的影响了工作效率。 1 3 研究内容及结构 鉴于以上种种亟待改进的情况,设计开发一个公共的、实时更新的网上信息 平台很有必要。通过这个平台,各个单位能及时更新涉及自己的信息,也可随时 浏览、查询、操作公共信息,达到自己业务要求,同时,由于信息都是即时更新 的,所以能为每个成员的业务提供最有效的支持。本研究课题根掘实际需求以 2 j e 立銮道厶堂童些亟堂位迨塞 i j直 w i n d o w s2 0 0 3s e r v e r 作为系统的运行平台,采用成熟的a s p 网络编程工具,以s q l s e r v e r2 0 0 0 作为后台数据库,设计并实现了河南新纪元汽车销售管理信息系统。 论文的结构如下: 第一章:引言。介绍选题的目的和意义,研究内容及结构。 第二章:系统研发的相关技术。介绍了管理信息系统( m i s ) 的发展,分析比 较了其两种运行模式,并做出合理选择;介绍了常用的几种网络编程工具,包括 c g i 、a s p 、j s p 、p h p 等,并进行比较;介绍了数据访问的两种方式以及s q ls e r v e r 2 0 0 0 数据库的相关知识。 第三章:系统分析与总体设计。 第四章:系统详细设计及实现。包括开发平台的设置、数据库的建立、各主 要功能模块的实现方法及部分源代码。 第五章:结束语。总结了客户对该系统的评价以及下一步的工作。 e 巫窑适厶芏童些亟堂缝迨塞丕筮婴蕉担羞遮盔 2 1m i s 的开发模式 2 1 1 体系结构概述 2 系统研发相关技术 在构建管理信息系统时,首先应考虑系统的开发模式,然后考虑开发方法, 接着是确定开发环境,选择合适的开发工具。近年来,随着计算机技术与网络技 术迅猛的发展,信息开发模式正经历着巨大的革新。在信息系统的发展过程中, 共产生过四种模式: 夺主机终端模式, 夺文件服务器模式, 夺客户机n 务器模式( b p c i i e n t s e r v e r ,c s ) 夺浏览器月艮务器模式( 8 r o w s e r s e r v e r ,b s ) 主机终端模式由于硬件投资得不到保证,已逐步被淘汰。而文件服务器模式 由于应用程序及电脑的主体转向个人,整个系统的总体开销和维护成本大大提高, 而且这种模式也只适用于小规模的局部网,对于客户多、数据量大的情况就会产 生网络瓶颈。因此,目前使用最多的是c s 和8 s 两种模式。 2 1 2c s 模式 c s 模式是2 0 世纪8 0 年代逐步成长起来的一种模式。在这种结构里,网络中计 算机分为两个有机地联系起来的部分:客户机和服务器。客户机由功能一般的微机 来担任,它可以使用服务器中的资源。服务器通常采用高性能的p c ,工作站或小 型机,并采用大型数据库系统,如。o r a c l e s y b a s e i n f o r m i x 或s q ls e r v e r 。 客户端需要安装专用的客户端软件。对于用户的请求,如果客户机能够满足就直 接给出结果:反之则需要交给服务器来处理,例如调用存放在服务器上的公用数据 等,服务器对这些数据进行一些客户看不见的处理后还给客户,因此该模式可以 合理均衡事务的处理,充分保证数据的完整性和一致性。 客户方应用软件一般包括用户界面,本地数据库等。当用户调用服务器资源 时,客户机将请求传送给服务器,并根据服务器回送的处理结果进行分析,然后 显示给用户。 随着i n t e r n e t 和w e b 技术的发展,以及企业对信息系统的总体拥有成本的考 e 基童适盔宝童些亟笠缝迨塞丕丝盟蕉担羞遮查 虑,这种模式也逐渐暴露出许多问题,主要表现为以下几点: 1 ) 开发成本较高。c s 结构对客户端软硬件要求较高:尤其是软件的不断升级, 对硬件要求不断提高,增加了整个系统的成本,客户端越来越臃肿。做过c s 结构 下程序开发和维护人对这点体会颇深:对应用程序一个小小的改动,就必须通知或 亲临每一个客户端去更新:新增或升级一台机器,都要把应用及其相关的文件安装 在客户端上。如果整个系统有成千上万个客户端,可以想象维护的工作量有多大。 2 ) 移植困难。不同开发工具开发的应用程序,一般来说互不兼容,不能搬到 其他平台上运行。 3 ) 不同客户机安装了不同的子系统软件,用户界面风格不一,使用繁杂,不 利于推广使用。 4 ) 由于每个客户机都安装了相应的应用程序,所以维护复杂,升级麻烦。若 要升级,则每个客户机的软件都要更新 5 ) 信息内容和形式单一,因为传统m i s 一般为事务处理,界面基本遵循数据库 的字段解释,开发之初就己确定,而且不能随时截取办公信息和档案等外部信息, 用户获得的只是单纯的字符和数字,既枯燥又死板。 6 ) 新技术不能轻易应用。因为一个软件平台及开发工具一旦选定,不可能轻 易更改。 2 1 3b s 模式 随着i n t e r n e t 席卷全球,以w e b 技术为基础的b s 模式正日益显现其先进性。 当今很多基于大型数据库的信息系统正在采用这种全新的技术模式b s 模式也可 以称为b w d ( b r o w s e r w e bs e r v e r d bs e r v e r ) 模式。 b s 模式由浏览器、w e b 服务器、数据库服务器三个层次组成。在这种模式下, 客户端使用一个通用的浏览器,代替了形形色色的各种应用软件,用户的所有操 作都是通过浏览器进行的,常用的浏览器有m i c r o s o f ti n t e r n e t e x p l o r e r ,n e t s c a p en a v i g a t o r 和m o z i l l a 等。该结构的核心部分是w e b 服务器软件, 如o r a c l e ,s y b a s e ,i n f o r m i x s d s q ls e r v e r 等,它负责接受远程( 或本地) 的w e b 查 询请求,然后根据查询的条件到数据库服务器获取相关数据,再将结果翻译成各 种页面描述语言( 女n h t m l ) ,传送回提出查询请求的浏览器同样,浏览器也会将更 改、删除、新增数据记录描述语言的请求申请至w e b 服务器,由后者与数据库联系 完成这些工作。 在b s 结构下,用户界面完全通过w l v l v 浏览器实现,一部分事务逻辑在前端实 现,但是主要事务逻辑在服务器端实现,形成所i 胃3 - t i e r 结构。b s 结构利用了不 i e 塞奎适盔堂童、业亟堂僮论窒丕丝婴蕴担苤挂垄 断成熟的w w w 浏览器技术,结合浏览器的多种s c r i p t 语言 ( v b s c r i p t ,j a v a s c r i p t ) 和a c t i v e x 技术,用通用浏览器就实现了原来需要复杂 专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造 技术。随着w i n d o w s9 8 w i n d o w s2 0 0 0 将浏览器技术植入操作系统内部,这种结构 更成为当今管理信息系统的首选体系结构。 基于b s 的i n t r a n e t 技术,其三项优势是实质性的: 1 、它是有计算技术以来最稳定的技术平台。在c s 时代,用户最苦恼的莫过 于如何选择一个稳定的平台。由于以前的技术基础不是网络,因此自然地发展出 众多的互不兼容的技术平台。每种技术平台,从用户应用稳定性要求来看,都可 以说是昙花一现,给用户留下了无奈与苦恼。只有进入网络计算机时代,由于上 亿用户都联在网上,其技术才获得了高度稳定性。它只能发展,不能被推翻,所 有人只能支持和遵循它,不能控制它。 2 它本质上是一种客户机技术,这对于大中型企业特别合适。在c s 模式下, 每种应用的主要部分是在客户机端。光是在众多的客户机端安装和维护多种应用 的多个版本,就是一件繁重的工作。而i n t e r n e t 技术则不同,上亿个用户只是通 过浏览器这个统一界面,就可享受到无限丰富的,永远在不断变化和发展着的信 息服务。i n t r a n e t 原则上取消了所有在客户机端的维护工作。 3 它提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现 实的开放性基础。通过i n t r a n e t 技术统一访问异种数据库,早己成为现实。从i s d n 到a t m ,再到现在大行其道的t c p i p ,正是由于i n t e r n e t 的大行其道,宽带i p 将会 成为真正的、统一服务的( 数据、语音、多媒体) 网络基础。 归纳起来,b s 模式具有以下优点: 使用简单。由于用户使用单- - b r o w s e r 软件,基本上无需培训即可使用。 易于维护。由于应用程序都放在w e b 服务器,软件的开发、升级与维护只在服 务器端进行,减轻了开发与维护的工作量。 保护企业投资。b s 模式采用标准的t c p i p 与h t t p 协议,可以与企业现有网 络很好的结合。 对客户端硬件要求低。客户机只需安装w e b 浏览器软件。 信息资源共享程度高。由于i n t e r n e t 的建立,i n t e r n e t 上的用户可方便地访 问系统外资源,工n t e r n e t 乡b 用户也可访问工n t e r n e t 内资源。 扩展性好。b s 模式可直接连入- v n t e r n e t ,具有良好的扩展性。 立銮遁盔堂圭、业亟堂位迨塞丕丝婴蕉担羞焦丕 2 2 动态w e b 应用程序的开发 人们在长期的应用过程中认识到,h 1 v r p 不仅可用于浏览页面,还可以用于显 示动态内容。注意,这里的动态内容不是指w e b 页面内可见的动态图标或会跳舞的 小动物,这些动画通常是在用户浏览器中使用客户端j a v a s c r i p t 创建的。动态内 容是指为单个用户的每次访问量身定制的内容,它允许双向的交流。通过使用w e b 页中的窗体,用户可以请求定制的内容。例如,输入包裹的跟踪号,用户可以得 到关于特定货物的状态信息。当然,用户和服务器之间的交流不仅仅包括窗体和 定制的内容c o o k i e ,也可以存储在用户机器上,以便在下次会话中或用户下 次访问w e b 站点时识别用户。 2 0 世纪9 0 年代中期,许多公司在降低总成本方面的压力越来越大。维护使用 动态链接库( d l l ) 和注册表设置的传统“胖客户端”应用程序成为成本不断增长的 主要因素。许多公司把基于w e b 的应用程序看作在企业范围内快速部署关键业务的 应用程序,是尽量减少对客户端计算机的影响的有效方法。 与将静态h t m l 文档放到合适的目录并允许用户阅读相比,管理所有的动态内 容非常有挑战性。可以提供动态内容的方法不止一种,以下各节将介绍创建动态 内容的各种技术。每种技术都有各自的优缺点,并且都是为提供动态内容而特别 设计。 2 2 1 通用网关接d ( c g l l 早期提供动态w e b 内容的解决方案之一是通用网关接口( c g i ) 规范,它现在在 u n i x 领域中仍然十分流行。c g i 应用程序是可在w e b 服务器上运行的可执行程序, 并能用来创建动态的w e b 内容。c g i 是基于w e b 服务器与数据库之间联系的服务器端 进程,它可以完成对数据库的底层操作,客户通过g e t p o s t 向w e b 服务器提出服务 请求,服务器端的守护进程通过标准输入s t d i n 和环境变量将参数传递给制定的 c g l 程序,执行结果将以h t m l 格式返回给客户。 c g i 的优势: 事实上,c g i 程序几乎无所不能,它可以访问数据库、读取文件和操作注册表, 并可执行w i n 3 2 程序的其他功能。 c g i 不仅可以使用的是c c + + ,但也可以用其他编程语言或开发环境创建能够 读写标准输入输出的控制台应用程序。在u n i x 环境下通常用p e r l 来创建c g i 程序, 在w i n 3 2 环境下,b o r l a n d 的d e l p h i 为c g i 程序提供显式的支持,即用特定的类管理 从标准输入输出设备进行的读写。 e 室窆道盘堂童、业亟竺位途塞丕堑婴蕴揖苤壁查 如果程序员具备创建与h t l 稍有联系的文本模式程序的经验,他们基本上就 能够创建c g i 程序了。c g i 程序很容易测试,编码测试调试的过程简单明了。只 需指定编译器,将可执行文件保存在正确的目录下,在浏览器中测试程序,然后 回到编辑器修改程序即可。如必要,重复上述过程。 c g i 的劣势: 首先,一个c g i 程序不能为多个客户共享,对于新的请求必须启动新的进程, 随着客户请求的增加,并行的进程也越来越多,这对系统资源来说是一种极大的 浪费,同时也加重了服务器的负担,降低了性能。 c g i 模式的一个优点是当程序运行完并退出之后,可以像其他程序那样修改或 删除c g i 程序。但c g i 的这种特性正是导致问题的原因。c g i 程序在运行时被加载进 内存,在完成时将被完全从内存中删除。创建和删除进程需要做大量的工作。与 阅读h t m l 文件相比,创建进程是一个相对昂贵的操作。为每个请求创建和删除进 程,最终会导致性能问题也涉及到资源消耗的问题。如果有1 0 0 个客户端访问一 个c g i 程序,在内存中将会有该程序的1 0 0 个实例。这将很快地耗尽w e b 服务器的资 源并导致可伸缩性方面的问题。当w e b 站点从纯辅助工具演化到执行大型关键任务 的电子商务机构时,创建一个方案来解决c g i 的这一弊端就成为当务之急。 其次,c g i 不提供永久性的上下文信息。比如,用户需要查询一个大型数据库, 结果可能是上千行的数据,如果用户想每次只显示1 0 行的数据,但c g i 在输出1 0 行 数据后就停止执行,要再次显示下l o 行的数据,必须再执行一次c g i 程序,这种方 式显然效率不高。 2 2 2i n t e r n e t 服务器应用程序编程接n ( i s a p i ) 为解决c g i 带来的性能和可伸缩性问题,微软公司为开发人员提供了一种新的 开发方法,可用来建立可伸缩的应用程序。这种高性能的产品被称为i n t e r n e t 服 务器应用程序编程接口i s a p i ) i s a p i 的功能依赖于d l l 而不是可执行文件。毫无 疑问,使用d l l 而不是可执行程序,在性能和可伸缩性上有一定的优势。 有两种类型截然不问的i s a p id l l :i s a p i 扩展和i s a p i 筛选器,在下面的u r l 中,i s a p i 扩展在被发送到u s 服务器的u r 工中显式调 用:h t t p :l o c a l h o s t s a y h e l l o i s a p i s a y h e l l o i s a p i d l l i s a p i 扩展可以带参数调用,该参数允许1 个i s a p i 扩展执行多个任务。与c g i 一样,必须启用目录的可执行权限,否贝o d l l 将会被下载到客户机,而不是在服务 器端运行。i s a p i 扩展通常用来处理客户端的请求并以h t m l 格式输出响应,这一点 和c g i 程序的用法很相似。 e 立銮适盔竺童些亟堂垃迨塞丕筮监蕴担羞送盔 i s a p i 筛选器具有c g i 应用程序不能直接实现的功能。i s a p i 筛选器永远不会被 显式调用,它们必须在响应某个请求事件时被u s 调用。开发人员可以请求i s a p i 筛 选器在下列事件发生时被调用: 服务器己预处理客户端头信息时 服务器对客户端进行验证时 服务器将逻辑u r l 映射为物理u r l 时 在原始数据从客户端发送到服务器之前 在原始数据从客户端发送到服务器之后,但在服务器处理它之前 服务器记录日志时 会话结束时 与其他筛选器一样,i s a p i 筛选器应该只响应它需要的通知,并尽可能快地处 理它们。i s a p i 筛选器的用处之一是提供客户端验证,或者修改要发送给客户端的 h t m l 。例如,i s a p i 筛选器可用来改变每个页面的背景色。 i s a p i 指定了几个必须从d l l 中导出的入口点函数。i i s 可以使用这些入口点函 数载入d l l ;调用它实现的函数并根据需要传入参数:接收数据以写回到浏览器。 i s a p i 仅要求实现两个入口点函数( g e t e x t e n s i o n v e r s i o n 和h t t p e x t e n s i o n p r o c ) 0i s a p i 扩展通常使用m i c r o s o f t 基础类库( m f c ) 中的i s a p i 类来创建。用这些m f c 的 类可以使开发i s a p i 扩展的工作变得很容易。例如,如果在m i c r o s o f tv i s u a lc + + 6 o 中的n e wp r o j e c t 对话框中选择i s a p ie x t e n t s i o n w i z a r d ,该向导将方便地创 建i s a p i 扩展所需要的文件。 i s a p i 的优势: i s a p i 弥补了c g i 程序的许多缺陷。与c g i 程序在每次请求时都要创建和删除进 程不同,i s a p i 扩展的代码在服务器的生命周期内通常仅载入一次( 除非有其他的 进程需要重载,但实际上很少见) 。而且,i s a p i 程序通常在i i s 的进程空间,这样 i s a p i 扩展就可以同i i s 更好地交互。最新的i i s 版本授权管理员更大的权利,他们 可以控制每个程序运行在哪个内存空间。通常,新的或不可信任的程序是运行在 同i i s 日a 务器相分离的进程中。运行在现有的进程空间中并驻留内存的方式在性能 和可伸缩性方面都有很大的优势。 与c g i 程序类似,i s a p i 程序可以通过接受u r l 传递的参数来完成多个任务。 i s a p i 中的一个不同点是,m f c 类对i s a p i 扩展的开发人员隐藏了许多参数解析细 节。通过使用分析映射( m f c 程序中常见的预处理器宏) ,请求被透明地映射n i s a p i 扩展地主类( c h t t p s e r v e r 类的派生类) 的成员函数。更好的是,i s a p i 扩展仅使用 与i s a p i 相关的类就可以运行,而不用理会庞大的m f c 类结构。在轻量级的基于服 务器的应用程序中,能够卸掉这个包袱是一大优势。 j 塞銮迪鑫兰童些亟堂篮迨塞丕丝婴蕴担羞这鲞 i s a p i 的劣势: 所有的i s a p i 的问题几乎都同i s a p i 的应用程序开发有关。首先,i s a p i 扩展的 开发者不是通常意义上的开发者。开发i s a p i 应用程序要求开发者至少要像熟悉 h t m l 一样熟悉c + + 和m f c 。然面这两套技能并不是毫无关系的。尽管有相当数量的 开发者熟悉m f c ,也有大量的程序员熟悉h t m l ,但同时熟悉这两套技能的程序员并 不多见。m f c 的开发者很可能一直在传统的w i n d o w s 程序上工作,他们并不了解h t m l 的知识。与本章中介绍的其他一些i n t e m e t 开发技术不同的是,在i s a p i 的开发中 很难将应用程序的核心设计任务与界面的设计任务完全分开。i s a p i 有一个单独集 成的d l l ,它无法加入用户自定义的脚本,所以不提供可以使h t m l 用户界面设计者 和核心业务逻辑设计者相互独立地完成各自任务的简便方法。 找到了合适的开发人员之后,在测试d l l 的构造时,会面临开发i s a p i 应用的 第二个问题。在默认情况下,i s a p i 应用程序被加载进内存并一直驻留在内存中 直到中止w 唧发布服务。因此,除非服务被中止,否则不能替换这个i s a p i 应用程 序。在进行开发的机器上,您可以请求u s 不要对i s a p i 应用程序进行缓存,这样做 通常是一个好方法。然而,因为d l l 每次请求时都被重新加载,所以变量每次都被 重新初始化,这可能会隐藏一些错误,因此在发布i s a p 扩展之前,必须在关闭缓 存的情况下测试应用程序。除了在正在运行的服务器上实际替换i s a p i 的d l l ,在 调试d l l 时也会出现问题。有些m f c 开发人员和大部分的v i s u a lc + 十开发人员在创 建标准应用程序时,都习惯使用v i s u a lc + + 集成开发环境( i d e ) 所提供的方便的调 试功能尽管用v i s u a lc + + i d e 调用程序并非不可能,却也不简单。 2 2 3a s p 技术 a s p 是a c t i v es e r v e rp a g e s 的简称,它是微软公司推出的用以取代c g i 的服 务器端脚本环境,但a s p 要比c g i 简单的多。自从i i s 3 o 开始支持a s p 以后,a s p 技术得到了空前迅速的发展。a s p 能够将h t m l 页面、脚本命令、a s p 内建对象和 a c t i v e x 组件无缝地连接起来,从而创建功能强大的w e b 应用。a s p 支持a c t i v e x 组件,这能够极大地扩展服务器的功能。它访问数据库也是通过一个a c t i v e x 组 件一- a d o ( a c t i v ed a t ao b j e c t ) 来完成的。通过a d ea s p 页面能够很方便地访 问任何o d b c 和o l ed b 的数据源,并执行s q l 语句以完成数据库操作。 ( d a s p 模型 a s p 文件以后缀名为a s p 的形式存储在服务器上。a s p 文件中包含h t m l 标记 以及脚本命令。通过脚本命令,可以使用a s p 内建对象考d a c t i v e x 对象。a s p 页中 位于( 和 标记内的所有代码都是a s p 脚本并且在请求该a s p 页之后、传送给 e 立交迫盘堂童些亟:堂垃迨奎丕丝婴蕉塑苤蕴盔 浏览器之前将在w e b 服务器上由a s p 脚本引擎处理。当客户端浏览器请求w e b 服务 器上的一个a s p 文件时,w e b 服务器将会解释执行该文件中的脚本命令,然后将 执行的结果以h t m l 页面的形式返回给浏览器。a s p 模型如图2 一l 所示。 ( 2 ) a s p3 o 对象模型 a s p 提供了一批内建对象和活动服务器组件,这些对象和组件处理w e b 服务 器和浏览器之间的交互作用。组件是专为a s p 编写的自包含的功能段,是一个特 殊的附加工具,它允许a s p 作者利用a s p 功能完成特定的任务每个组件。 图2 - 1a s p 模型 下面着重介绍a s p 3 o 的对象模型。对象模型是一组对象的代表,它们相互 之间有关系。微软在提供一个简单的程序设计模型与能够使用a s p 提供的所有功 能之问找到了最好的折衷方法:将功能集合成一组对象,这些集合到一起的对象 称为对象模型。这些对象使用户更容易收集通过浏览器请求发送的信息、响应 浏览器以及存储用户信息。尽管能够动态创建网页是一个好的特点,但是a c t i v e s e r v e rp a g e s 的真正长处在于它能创建基于w e b 的应用。这些应用使得用户能执 行的任务超过了简单的请求页面。创建这些应用的逻辑和结构在对象模型中。 a s p 3 o 对象模型如图2 2 所示: 盛奎墅塞堂童些亟兰垃迨塞丕丝丛蕉扫基丝盔 图2 - 2a s p 3 0 对象模型 a s p 对象模型中的7 个对象是:r e q u e s t s e s s i o n , a s p e r r o r 和o b j e c t c o n t e x t 。每个对象处理b 客户机和w e b 服务器之间自己 所管辖的那一部分交互任务。o b j e c t c o n t e x t 对象用来管理事务处理。它单独开 始成为a s p 的组成部分,但现在已经完全集成到了w i n d o w s2 0 0 0 操作系统中( 和 一个与它紧密相关的程序包m i c r o s o f tt r a n s a c t i o ns e r v e r 一起) 。它包含了所 有其它a s p 对象,可通过0 b j e c t c o n t e x t 引用a s p 的每个对象。a s p e r r o r 对象,被 l i s 用来处理错误并产生相应信息。s e r v e r 对象提供与w e b 服务器有关的基本功 能。a p p l i c a t i o n 和s e s s i o n 对象提供基本w e b 服务器没有的应用功能。 r e q u e s t 和r e s p o n s e 对象用于解释客户机发送的信息,然后构造将要送回的 h t m l 页。图2 2 上说明了这些对象与客户机作出的请求以及从服务器送回的响应 之间的关系。 ( 4 ) a s p 的脚本对象 脚本对象就是可以以任意脚本形式使用的对象即在客户机端和服务器端都 可使用。而a s p 对象只在服务器端可用。有两组脚本对象,第一组称为脚本运行 时对象( s c r i p t i n gr u n t i m eo b j e c t s ) 他们是与i i s5 o 一起在其它产品中提供 的,这组对象提供v i s u a lb a s i c “遗漏”的功能。这组对象是脚本运行时对象 库的组成部分,而脚本运行时对象库为s c b v n d 1 1 文件。第二组对象为v b s c r i p t 1 2 e 立窒适丕堂童、业亟堂位迨塞丕筮亟蕉担苤缝查 对象。他们是v b s c r i p t 本身的组成部分,或者更确切地说是文件v b s c r i p t d l i 的组成部分。这个文件提供a s p 并i i n t e r n e te x p l o r e r 的脚本语言支持。这两个 库的对象共同称为脚本对象。a s p 脚本对象为d i c t i o n a r y 对象、 f il e s y s t e m o b j e e t 对象和t e x t s t r e a m 对象,它们都是脚本运行时对象。 d i c t i o n a i ,对象基本上是一个2 维数组,可在每个数组行上存储一个名称2 值对 或名称描述对。f i l e s y s t e m o b j e c t 对象是一个处理w e b 服务器上的驱动器、文 件夹和文件的工具。t e x t s t r e a m 对象允许将一个文件的内容作为纯文本读取。 编写a s p 可以使用多种不同的脚本语言,包括v b s c r i p t j a v a s c r i p t 和p e r l 等。v b s c r i p t ,j a v a s c r i p t 既可以用于客户端也可以用于服务器端。在涉及服 务器端的脚本编制的时候,v b s c r i p t 的优势在于能够很好地集成到w i n d o w sn t 以及i i s 运行环境中,而这种运行环境是使用a s p 最常用的环境。使用脚本语言 的缺点是程序的性能问题。脚本是解释执行的,因此要比编译的代码慢得多。 一般情况下,脚本只是执行非常简单的操作。在要求速度的情况下,脚本调用 编译代码,而这是通过c o m 组件完成的。微软公司的a s p 是专门为基于w i n d o w s 系 列操作系统的服务器开发的产品,当然能够实现和这种运行环境的完美结 合a s p 技术的特点是容易掌握,开发速度快,环境也容易搭建。但随着安全隐 患的暴露及微软产品对跨平台支持得不尽人意,a s p 技术的应用己不再如火如 荼。 2 2 4j s p 技术 j s p ( j a v as e r v e rp a g e ) 技术是由s u n 公司倡导、由许多业界领先公司参与 建立的一种基于j a v a 的技术,用于生成动态网页,支持跨平台、跨w e b 服务器。 j s p 技术为创建显示动态生成内容的w e b 页面提供了一个简捷而快速的方法。j s p 通过在应用服务器上将它的内容( h t m l 标记、j s p 标记和脚本) 翻译为一个 s e r v l e t - l 作。该过程将j s p 文件中声明的动态、静态元素翻译为j a v as e r v l e t 代码,然后通过,w e b 服务器将处理后的内容发回w e b 浏览器j s p 文件在第一次 运行或是当前j s p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论