基于银行动态客户端平台的金融产品库系统的设计与实现硕士研究生学位论文.doc

上传人:仙人指路1688 文档编号:3028296 上传时间:2023-03-09 格式:DOC 页数:71 大小:5.19MB
返回 下载 相关 举报
基于银行动态客户端平台的金融产品库系统的设计与实现硕士研究生学位论文.doc_第1页
第1页 / 共71页
基于银行动态客户端平台的金融产品库系统的设计与实现硕士研究生学位论文.doc_第2页
第2页 / 共71页
基于银行动态客户端平台的金融产品库系统的设计与实现硕士研究生学位论文.doc_第3页
第3页 / 共71页
基于银行动态客户端平台的金融产品库系统的设计与实现硕士研究生学位论文.doc_第4页
第4页 / 共71页
基于银行动态客户端平台的金融产品库系统的设计与实现硕士研究生学位论文.doc_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《基于银行动态客户端平台的金融产品库系统的设计与实现硕士研究生学位论文.doc》由会员分享,可在线阅读,更多相关《基于银行动态客户端平台的金融产品库系统的设计与实现硕士研究生学位论文.doc(71页珍藏版)》请在三一办公上搜索。

1、中图分类号:TP3论文编号:10006GS0821F71专业硕士学位论文基于银行动态客户端平台的金融产品库系统的设计与实现Financing Product System Based on Dynamic Clients Platform Design and ImplementationA Dissertation Submitted for the Degree of MasterCandidate:Yu XiangSupervisor:Associate Professor Huang JianSchool of SoftwareBeihang University, Beijing,

2、China中图分类号:TP3论文编号:10006GS0821F71硕 士 学 位 论 文基于银行动态客户端平台的金融产品库系统的设计与实现 学科专业 软件工程 研究方向 软件工程与管理 学习时间自 2008年 9月 1日 起至 2010 年 06 月 27日止论文提交日期 2010年 11月 1日 论文答辩日期 2010年 12 月 26日学位授予单位 北京航空航天大学 学位授予日期 年 月 日关于学位论文的独创性声明本人郑重声明:所呈交的论文是本人在指导教师指导下独立进行研究工作所取得的成果,论文中有关资料和数据是实事求是的。尽我所知,除文中已经加以标注和致谢外,本论文不包含其他人已经发表或

3、撰写的研究成果,也不包含本人或他人为获得北京航空航天大学或其它教育机构的学位或学历证书而使用过的材料。与我一同工作的同志对研究所做的任何贡献均已在论文中作出了明确的说明。 若有不实之处,本人愿意承担相关法律责任。学位论文作者签名: 日期: 年 月 日学位论文使用授权书本人完全同意北京航空航天大学有权使用本学位论文(包括但不限于其印刷版和电子版),使用方式包括但不限于:保留学位论文,按规定向国家有关部门(机构)送交学位论文,以学术交流为目的赠送和交换学位论文,允许学位论文被查阅、借阅和复印,将学位论文的全部或部分内容编入有关数据库进行检索,采用影印、缩印或其他复制手段保存学位论文。保密学位论文在

4、解密后的使用授权同上。学位论文作者签名: 日期:2010 年 11 月 19 日指导教师签名: 日期: 年 月 日摘 要本课题主要来源于某银行个人金融产品库项目及其相关内容的研究。近年来各家商业银行的个人理财产品层出不穷,对普通居民而言,由于自身知识和时间精力的局限性,很难完全独立面对日益丰富和具有专业性的金融产品,并制定适合自身特点的投融资方案,迫切需要银行利用自身在信息、网络、人才等方面的优势开展个人理财业务,为他们推荐并提供符合个人不同投资需求的金融产品。因此对个人金融产品库的系统实现与研究对一个银行的长远发展,客户营销,以及银行内部业务交流都具有非常重要的影响。金融产品库系统致力于设计

5、并开发一套针对于银行通用的金融产品信息库,使其可以通过通用的金融业务分类标准对银行的相关产品进行整理和归档,不仅可以满足用户对金融产品的多维查询需要,还可以通过对特定要素的分类整理研究、对相关金融产品进行分析和挖掘,为个人理财系统提供数据支持。金融产品库系统的前端是基于Windows操作系统、.Net Framework框架并结合智能客户端相关思想设计实现。智能客户端的设计思想主要是指兼顾C/S架构和B/S架构的优点,既具备C/S架构的客户体验丰富,网络压力小和客户端运算能力强的特点。也具备B/S架构易部署,易管理的优势。不仅可以为用户提供丰富的操作体验,还为应用系统的开发和维护提供基础的功能

6、支持。后台结合IBM的WebSphere提供的开发、发布、部署 Web Services应用所必需的开放标准和技术。本系统开发测试完成后,经客户验证,系统比较稳定,能够满足银行业务的需求。对银行以及具有类似需求的行业有一定的借鉴意义。关键词:智能客户端,动态客户端平台,金融产品库系统Abstract This project is about Financing Product System based on Dynamic Clients platform and its relevant research. With the development of the economy of ou

7、r country, our rural and urban residents incomes are increasing steadily and their families wealth are accumulating constantly as well. In recent years, personal financing products of different commercial banks have emerged one after another, however, for lack of professional knowledge, time and ene

8、rgy spent in researching, most people are not possible to make proper investment or financing decisions on their own when facing a wide varieties of specialized financing products. Therefore, there is an urgent demand for the banks to develop personal financing business, making use of their advantag

9、es in information, internet, professionals, to recommend and provide characterized personal financing products. Financing products library system committed to the design and development of a bank on general financial product library, making it possible for finishing and filing of a bank related prod

10、ucts through general financial business category, it is not only can satisfy the needs what are smultidimensional inquires of user for financial products, but also can provide data supports for the personal financial management system by means of specific classification researches and relevant finan

11、cial products analysis.Financing Product Systems client plantform implemented based on Windows, .Net Framework and combining the idea of Smart Client design, The design idea of Smart Client combines the advantages of C/S and B/S, featured the users with rich experiences in the architecture of C/S, w

12、ith less pressure from the internet but high speed; at the meanwhile prioritizing the simplicity of building the architecture of B/S for the advantage in management. while the backstage mainly adopts the open standards and techniques for developing, releasing and disposing Web Services, provided by

13、of WebSphere of IBM.The system development and testing is complete, verified by the customer, the system is stable, and it is able to satisfy the needs of bank. The same type of business with similar needs have some reference.Keywords: Smart Client,Dynamic Clients platform,Financing Product System目

14、录第一章 绪论11.1 项目背景11.2 国内外研究现状11.3 课题的研究目标31.4 课题的研究内容31.5 论文的框架4第二章 系统需求说明52.1 系统功能需求52.1.1 客户端程序的版本更新功能52.2.2 客户端框架为各应用系统提供业务展现的平台62.2 个人金融产品库业务需求介绍62.3 系统性能需求11第三章 系统相关技术介绍123.1 智能客户端介绍123.2 CAB技术介绍133.3 WPF技术143.4 WCF技术介绍143.5 VS2008开发平台介绍153.6 PLANTIX平台介绍17第四章 银行动态客户端平台系统设计204.1 系统体系结构204.2 客户端架构

15、224.2.1 客户端功能模块介绍224.2.2 客户端框架模型设计244.2.3 业务应用展现模型设计264.3 服务端架构314.3.1 服务端功能模块介绍314.3.2 应用服务端架构设计324.4 版本更新模块设计364.4.1 功能模块说明364.4.2 功能模块设计与实现37第五章 金融产品库系统的详细设计与实现415.1 金融产品库的系统架构415.1.1 系统逻辑图415.1.2 系统物理结构图425.2 金融产品库模块的后台设计425.3 金融产品库模块的设计与实现445.3.1 产品库模块的业务流程设计455.3.2 产品库模块的数据库设计47第六章 系统的部署与测试496

16、.1 系统部署496.1.1 系统部署结构496.1.2资源需求506.2 系统测试516.2.1 测试目的516.2.2 测试环境516.2.3 测试用例526.3 系统安全设计546.3.1 网络安全546.3.2 数据安全546.3.3 应用安全54结论与展望56主要参考文献57致谢59第一章 绪论1.1 项目背景近年来,各商业银行纷纷确立了个人金融业务的战略地位,而财富管理(个人理财)逐渐成为国内个人金融领域的战略重点和核心业务。各商业银行都建立了理财工作室、大客户工作室等理财服务中心,我行也建立了金钥匙理财中心。此外,随着商业银行对客户价值的认识不断深入,大部分国内商业银行都开始重视

17、对客户信息的管理和综合利用,加强客服服务渠道建设,特别是传统网点的改造,为客户提供差异化服务,提高客户满意度,增强银行的服务水平和盈利能力。目前,我行已经建立全行统一的客户信息系统,各分行也有建立相应侧重不同的客户分析和金融产品营销系统。为了给客户提供更加全面的金融产品的相关营销服务,金融产品库的重要性和必要性逐渐体现出来。某银行金融产品库总行1.0版是在2004年开始启动需求编写和技术开发,开发方式是以总行与浙江分行合作开发,2005年开发完成后只在浙江分行进行试运行, 2006年,采取总行统筹安排、分批推广的方式,分三批在浙江分行以外的36家分行进行全面推广CFE系统总行1.0版。随着系统

18、在分行的上线运行,一些问题暴露出来,集中体现在六方面:缺乏稳定性、运行速度较慢、产品信息不全、产品信息管理功能不足,业务流程不灵活、客户体验性差。且由于金融产品库总行1.0版系统的开发时间较早,而近几年我行理财业务发展迅速以及网点转型的有效推进,金融产品库总行1.0版里的功能已不能满足实际的业务需要,急需升级改造。新一代的金融产品库系统采用构建在.net framework框架之上,充分利用.net框架的WPF/WWF/WCF以及Smart client技术。采用C/S架构。使人机操作更加友好;具备的标准且丰富外设支持能力,提升了客户端操作体验;智能化的版本管理,方便了应用系统的日常维护。1.

19、2 基于银行动态客户端平台的金融产品库系统概述银行动态客户端平台主要是面向于银行操作人员,为各应用系统提供基础功能的系统框架,例如通讯转发、版本管理、外设管理、程序更新、角色管理以及系统登录退出等基础功能。将所有应用集成在同一个运行框架中。金融产品库系统只是作为银行动态客户端平台的一个应用子系统。金融产品库系统的前端程序运行、程序更新以及与后台通讯都是由动态客户端平台进行管理。通过将应用与系统平台的分层设计,实现高聚集松耦合的设计目标;降低应用系统开发的复杂度,使项目分工更加明确,减少应用开发的工作量,使应用系统可以复用平台的基础功能,实现对新产品的快速开发和迅速部署的目的。银行动态客户端平台

20、基于.NET Framework框架实现,采用C/S模式,可以实现前台客户端程序的动态更新,为应用提供前台页面逻辑控制、页面展示、前后台通讯转发、外设管理和数据库通讯等功能。为了更形象的说明银行动态客户端平台与金融产品库系统的关系,在此做一个类比,银行动态客户端平台就相当于联众的客户端框架平台,而金融产品库系统就相当于联众平台下的一个具体游戏。程序的更新与用户的登录退出等系统功能都是由客户端框架负责,而具体的游戏内容和游戏规则由具体的应用进行设计和实现。1.3 国内外研究现状智能客户端SC(Smart Client本文简称SC)主要设计思想是结合胖客户端(Rich client applica

21、tion)和瘦客户端(Thin client application)的优点,摒弃两者的缺点,既具备胖客户端的操作界面友好,响应速度快,网络压力低的特点,也具备瘦客户端易维护、易部署的优势。目前智能客户端技术己有很多应用实例,国内外都对其进行了大量的研究,国外对智能客户端的研究较早。在国外,其中比较有名的是美国微软、纳斯达克和PrieewatethouseCoopers一起构建的Excel投资者助理系统和Dell构建的客户集成桌面系统。微软致力于智能客户端的研究,提出了相关技术。比如关于用于网络通讯的WCF技术以及丰富用户体验的WPF技术等。国内对智能客户端研究与实际的应用较少。华中科技大学、

22、大连理工大学对智能客户端的实际应用技术作了一定研究。华南师范大学对智能客户端的离线技术进行了一定的研究。由于智能客户端技术在国内还不成熟,企业对于是否需要使用智能客户端技术还处于观望状态。国内研究相对滞后于国外且相关技术普及力度不够。但是,由于智能客户端全新的设计理念,逐渐被大量的研究人员和大型企业所接受。当前不论是桌面应用还是移动设备应用,都开始加入智能客户端技术的思想。随着.NET技术的进一步完善,智能客户端技术将会成为良好的解决方案,应用到各种应用程序中。随着国内外金融市场的快速发展和同业竞争的不断加剧,现代商业银行不断创新金融产品,以满足市场对金融服务的多样化需求。金融服务产品的日益丰

23、富,对前台IT支撑系统也提出了新的要求。自上个世纪90年代以来,以ACE、ACBS为代表的UNIX字符前台应用系统,在某银行电子化发展进程中发挥了不可替代的作用。但随着金融服务产品的多样化,以字符终端为基础的系统应用模式,已经不能很好地满足金融业务应用发展的要求。这主要体现在一下几个方面。业务功能方面。传统面向字符终端的前端渠道系统已经难以支撑新兴金融服务的快速发展。诸多的新兴业务都要求柜员前端具有多样的功能性和良好的业务表现能力。典型的需求有,影像的扫描、展现和处理,在线帮助,即时交互等。另外,网点的流程改造迫使我们从工作流程和协同的角度理解业务应用,也需要前台渠道系统从技术上提供功能支持。

24、用户操作体验方面。作为服务支撑,我们要更多地从业务操作人员的角度考虑系统的可操作性,更多地关注用户的操作体验。传统的以业务功能为基本设计目标的应用系统已经很难在用户操作体验方面有所改善。此外,在业务发展的过程中,已经形成了一些物理上相对独立的应用系统,但在业务功能上它们彼此之间又存在着千丝万缕的联系,不能完全分割。业务操作人员往往需要登陆多个应用系统、同多个应用系统进行交互才能完成一项业务功能。为此,我们需要一个能够方便集成多个现有系统的前台系统,将必要的多个应用系统客户端整合起来,改善操作体验的同时提高工作效率。应用开发方面。不同的客户端系统着眼于自身的业务功能,分散开发并维护着多个架构类似

25、、功能趋同的应用框架。有些应用系统甚至处于作坊式的应用开发模式,在应用开发质量和开发速度上都处于难以控制的状态。我们亟需一个能够支撑前端各类业务系统的平台,统一不同应用系统的开发环境,在提高应用开发效率和开发质量的基础上,降低维护多个应用框架的成本支出。1.4 课题的研究目标本课题以个人金融产品库系统为应用需求蓝本,采用分层设计原则,将金融产品库系统所需要的的系统功能放到基础平台中实现,而将与业务有关的功能放到应用系统模块内实现,为以后应用系统的扩展打下良好的基础。通过对基础平台的系统功能建设,可以减少以后应用的系统功能重复开发,提高应用开发的便捷性,降低应用开发的工作量和复杂度,使应用开发人

26、员可以更好的关注业务界面设计,业务流程设计以及后台数据库模型设计等内容。从而规范相关的开发行为,提高应用开发的质量。金融产品库所需要实现的基础平台即ATBS动态客户端平台,其英文全称是Ample Taste framework Based on Services,本基础平台以智能客户端相关设计思想为指导。包括了从传统的业务功能到协同工作等业务新特性,从桌面前端到服务整合,从开发到运维管理的各个方面。ATBS把改善用户体验作为首要的目标,基于Windows系统构建,尽最大可能延续用户原有的操作习惯。为满足用户的丰富的体验需求,整体采用C/S模式,客户端以PC或智能终端为载体,服务端统一实现通讯转

27、发、数据库服务并实现集中管理,客户端程序自动更新等功能1.5 课题的研究内容本文主要内容如下:l 银行动态客户端平台的客户端框架模型和业务应用展现模型设计使用CAB技术来构建了一个灵活的基础框架,通过解耦界面各组成部分来降低不同UI部件之间的依赖关系和单个UI部件的开发复杂度,允许构建由各个具有协作关系的独立模块组合成的复杂应用;实现业务应用界面在主工作区中的打开与关闭;以及业务应用数据与界面的自动数据绑定与展现。l 客户端程序的版本管理功能设计并实现客户端程序的动态更新,只需将新版本程序发布到版本服务器上,客户端自动发现最新版本的程序和应用组件,并自动下载和更新。l 金融产品库应用系统设计的

28、设计与实现 将银行动态客户端平台ATBS作为金融产品库系统的前端解决方案,并用J2EE开发工具实现金融产品库后台流程的相关设计和开发,并最终实现一个完整的基于银行动态客户端平台的业务应用系统。1.6 论文的框架论文的基本框架分为六个部分:第一章 绪论,给出课题提出的背景,以及本课题具体要研究的目的和内容。第二章 系统需求说明,介绍了基于动态客户端平台的具体的系统需求以及金融产品库的整体业务需求。第三章 系统相关技术介绍,介绍了整个系统所用到的相关技术。第四章 银行动态客户端平台系统设计。对银行动态客户端平台系统设计进行介绍和说明。第五章 金融产品库系统的详细设计与实现,介绍产品库模块的业务流程

29、和数据库结构等相关内容。第六章 系统的部署与测试,详细介绍了对该系统进行压力测试和性能测试的过程及实际环境中的部署应用。第二章 系统需求说明2.1 系统功能需求金融产品库系统是基于ATBS动态客户端平台实现的,金融产品库的相关系统功能都是在ATBS平台中实现,金融产品库的相关业务应用功能在金融产品库模块中实现。金融产品库系统只是ATBS平台中的一个应用子系统,以后随着业务的发展,新的需求和新的业务应用都可以在ATBS平台中运行。通过这种分层的设计,将系统和应用有效分离,可以降低业务应用开发的复杂性,减少不必要重复的系统功能建设。ATBS作为新一代银行柜面系统平台应该是一个完善的系统平台,能够弥

30、补目前的LINUX字符终端系统的功能不足。新平台将逐步引入Windows系统技术和产品,逐步完善开发、运行、管理功能的过程。整个平台将提供一个客户端操作性能更加优化、架构更加稳定可靠、管理更加强大深入、维护操作更加简单易、安全程度更高、更容易组织各类服务的客户端平台。 整个的应用和开发面向X86架构,支持各类X86 windows操作系统和计算平台之上的应用部署和开发。面向管理集中化和服务集中化的集成环境使用嵌入式X86平台,对于需要客户端具备更强计算能力的用户,使用PC平台。服务构建在NT操作系统。数据库根据需要选择使用SQLSERVER数据库,常规使用SYBASE数据库,最大限度的保护原有

31、基础技术投资。ATBS在设计上应当有较强的通用性和前瞻性,能满足可预计的业务需求。银行的业务是不断前进和发展的,同时当今IT技术也不断进步,这就要求未来ATBS平台能够为业务需求的变化提供更加可靠和先进的技术支持。包括新技术的应用和新设备的使用等。首先ATBS在设计上应当采用先进的开发、运行框架,能够满足业务发展的需求、提高产品自主开发能力,提升团队技术能力,能够根据技术的发展,结合应用不断的完善ATBS平台的应用服务功能。为新设备的使用提供通用、标准的接口服务。引入windows系统后,在比较复杂的集成环境中,能够提供可扩展的,安全高效的管理功能。2.1.1 客户端程序的版本更新功能由于银行

32、营业网点多,客户端部署面积广,ATBS的胖客户端部署后,客户端的灵活性带来了提升客户端体验等诸多优势,但是我们也不能忽略由此带来的管理问题。在规划上,智能客户端随着应用承载的简单到丰富,管理功能也必须随之提升。统一部署,方便管理才是智能客户端系统的精髓。客户端程序的版本管理功能主要是指应用框架中应用程序的更新、发布、分发、下载等环节,其解决的主要问题是如何完全、快速、准确地将新的应用程序版本分发到分布在不同城市不同网点的上万台客户端机器上。完全性:应保证所有的客户端在每次登录系统(柜员签到)前,获得最新的更新版本。CFE系统本身是一个基于企业城域网的分布式联网系统,任何使用CFE系统的PC机(

33、或终端)必须保证与ATBS应用服务器和ATBS下载服务器连通,这是实现此特性的前提。快速性:应使用缓冲、压缩、多下载点选择等机制保证下载过程足够快,在用户体验方面,也需动态显示下载进度,使用户不致感觉等待太久。准确性:最重要的是,必须保证下载的文件与服务端发布的文件完全一致。2.2.2 客户端框架为各应用系统提供业务展现的平台客户端框架要维护一套基础的桌面设施,为客户端程序的界面布局、菜单展示、交互响应等提供基本的手段。框架要负责应用的启动、运行和停止过程,为应用的运行提供一些公共的基础服务,包括通信、日志记录、异常处理等。2.2 个人金融产品库业务需求介绍个人金融产品库主要致力于设计并开发一

34、套针对于银行通用的金融产品库系统,使其可以通过通用的金融业务分类对银行的相关产品进行整理和归档,不仅可以满足用户的对金融产品的多维查询的需要,还可以通过对相关分类的内部业务要素的整理研究,对相关金融产品进行分析和挖掘,为个人理财系统提供数据支持。目前主要实现产品信息发布、产品信息查询、产品信息审核和产品信息修改等四个主要功能。(1)产品信息发布(产品信息库) 功能说明新建一条新的产品记录,产品信息表里不存在任何一条与新建产品代码相同的记录。将产品信息进行分类,通过选择产品分类展现与之相对应的产品要素,将产品要素输入完毕之后,点击产品发布按钮进行产品的发布。新发布的产品并不能立即被用户查看,需要

35、经过产品经理的审核之后才能最终让用户查看。 操作者产品维护人员 前提条件产品经理提交产品信息文档并核实相关业务要素准确无误。 用例图(如图1所示)图1 产品信息发布用例图 功能流程(如图2所示)图2 产品信息发布功能流程图(2)产品信息修改(产品信息库) 功能说明修改原来已经存在的当前生效或正处于审核状态的记录的产品信息,如果该产品没有审核通过,直接修改该条信息。如果该产品已经审核通过,则生成一条新的等待审核的产品记录。 操作者产品维护人员 用例图(如图3所示)图3 产品信息修改用例图 功能流程(如图4所示)图4 产品信息修改流程图(3)产品信息审核(产品信息库) 功能说明对于发布或修改的一条

36、产品记录进行审核。 操作者产品审核人员 用例图(如图5所示)图5 产品信息审核用例图 功能流程(如图6所示)图6 产品审核功能流程(4)产品信息查询(产品信息库) 功能说明可以通过单一条件或多条件来查询一个或一组产品的产品信息。 操作者客户经理、低柜柜员或产品经理。 用例图(如图7所示)图7 产品信息查询用例图 功能流程(如图8所示)图8 产品信息查询流程图2.3 系统性能需求(1)ATBS系统是一个高稳定性的柜面系统ATBS系统在某些方面需要参照以往柜面系统的设计精华,继承原有系统在稳定性方面的优点,并进一步增强稳定性。(2)具备良好的负载均衡能力ATBS平台集成所涉及的应用服务器运行状况对

37、生产有比较大的影响,良好的负载均衡在一定程度上不但保证了系统的稳定运行,还降低了生产的风险。(3)必须具备全面的应用安全、数据安全的解决方案在ATBS平台设计中应当要尽量解决,考虑新平台下规避业务作业行为风险、windows系统安全、数据安全、生产设备安全、应用程序安全等课题。第三章 系统相关技术3.1 智能客户端微软的智能客户端整合技术是基于微软.Net的Smart Client技术的框架上。智能客户端是易于部署和管理的客户端应用程序,它们通过统筹使用本地资源和到分布式数据资源的智能连接,从而为您提供适应的、快速响应的和丰富的交互式体验(如图9所示)。 图9 Smart Clients图解研

38、究机构报告显示,应用程序架构正再度往分散的方向演进,继B/S、C/S构架技术之后,新一代的应用程序架构Smart Client(智能客户端)技术同时撷取了Fat client与Thin client两者优点,其动态加载,即需即装、松散的耦合、零接触部署、网络加载应用程序组件、自动更新、支持在线与离线使用状态、丰富的用户界面、与Web Services的完美集成等特点,使其越来越受到需要大批量处理动态信息的客户的青睐。 智能客户端的特点:l 动态加载,即需即装:应用程序的各个构件之间的相互调用并不采用直接引用的方式,而是采用动态加载,即需即装的方式,有效地降低了对系统资源的消耗。应用软件开发商可

39、根据企业应用系统的公共接口进行开发,然后将应用组件发布在企业的服务器上,客户端应用程序将自动发现并加载该应用组件。l 更松散的耦合:由于上面第一点所言构件之间的相互调用并不采用直接引用方式,这样系统实现的更松散的耦合,为应用程序升级更新提供了方便。l 进一步的模块化:由于应用程序的松散耦合特性,使得系统的进一步模块化成为了可能,新功能、新特性的加入只需要开发出符合接口定义的新模块并添加连接即可。而无须修改重编译现有的程序。l 零接触部署:安装时只要将一个主程序文件下载到本地,直接运行即可,无须改变注册表或共享的系统组件,其他应用组件将在第一次运行时自动下载。l 网络加载应用程序组件:Smart

40、 Client的应用程序可以很方便的从网络服务器加载应用程序,而且因为程序及加载是从80端口实现,故无须考虑防火墙问题,这样为企业系统的集中管理提供了方便。l 自动更新:只需将新版本的程序发布在服务器上,由客户端自动发现最新版本的程序和应用组件,并自动下载和更新。l 在线与离线均可使用的应用程序:Smart Client应用程序尽管使用网络加载程序集,但一旦加载之后,程序集便被缓存到了本地。当用户至少启动了一次应用程序后,其装配就被下载和缓存到本地内存中了,所以用户就可以离线运行你的智能客户端了(通过转换浏览器到离线工作状态),假设应用程序不需要永久访问Web services或一个共享的数据

41、库就可以运行。构建智能客户端的最大的好处就是可以离线使用。尽管业务之间的联系越来越紧密,但我们仍不能给企业应用程序提供始终连续的连接。离线式工作方式可以在你重新在线时,自动接收数据和应用程序更新,这种特征是人们很想得到的,但在.NET前,这是很难实现的。同胖客户端一样,智能客户端给客户端分布大量的处理,这就为服务器免除了它在一个基于Web的应用程序中需要承担的负荷。最后,智能客户端采取一种用户希望应用程序采取的工作方式允许快速数据存取和管理,而不需要不必要的屏幕更新。l 个性化用户界面:用户可根据喜好自行设置客户端应用程序,配置信息将被保存到服务器上。l 与WebServices的完美集成:S

42、mart Client应用程序可以与WebServices方便的集成应用,这样便可以轻松享受C/S和WebServices应用程序的完美结合。3.2 CAB技术CAB技术是微软提供的开源企业库(Enterprise Library)中的一部分,使用了目前商业客户端应用程序常用的设计模式来构建了一个灵活的基础框架,通过解耦界面各组成部分来降低不同UI部件之间的依赖关系和单个UI部件的开发复杂度,基于这个框架可以很容易的编写运行在microsoft .net平台上的具有复杂用户交互界面的Windows Form以及WPF 应用程序。同时,CAB技术具有以下特点: 允许构建由各个具有协作关系的独立模

43、块组合成的复杂应用; 分离关注点,能将各个模块的开发的关注点和Shell的开发分离开来; 提供了一个能支持高质量的桌面应用开发的框架;提高了生产力,节约了开发时间,进一步巩固了架构师和开发人员的劳动成果。3.3 WPF技术WPF为Windows Presentation Foundation的缩写,是微软推出的基于Windows Vista的用户界面框架,WPF是微软新一代图形系统,运行在.NET Framework 3.0架构下,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大

44、大改进了传统的2D界面,比如Vista中的半透明效果的窗体等都得益于WPF。 程序员在WPF的帮助下,要开发出媲美Mac程序的酷炫界面已不再是遥不可及的奢望。 WPF相对于Windows客户端的开发来说,向前跨出了巨大的一步,它提供了超丰富的.NET UI 框架,集成了矢量图形,丰富的流动文字支持flow text support,3D视觉效果和强大无比的控件模型框架。Microsoft在引入Windows Presentation Foundation 的同时,还引入了 XAML,这是一种公开表示 Windows 应用程序用户界面的标记语言,可使开发人员和设计人员用来构建和重用 UI 的工具

45、更加丰富。对于 Web 开发人员,XAML 提供了熟悉的 UI 说明模式。XAML 还使 UI 设计从基础代码中分离出来,;这将把界面开发以及后台逻辑很好的分开,降低了耦合度,真正做到了分离界面设计人员与开发人员的工作,使用户界面设计师与程序开发者能更好的合作,降低维护和更新的成本。3.4 WCF技术WCF为Windows Communication Foundation的缩写,是由微软发展的一组数据通信的应用程序开发接口,它是.NET框架的一部分,由.NET Framework 3.0 开始引入,与Windows Presentation Foundation 及 Windows Workflow Foundation 并行为新一代 Windows 操作系统以及 WinFX 的三个重大应用程序开发类库。WCF 的基本概念是以合约 (Contract) 来定义双方沟通的协议,合约必须要以接口的方式来体现,而实际的服务代码必须要由这些合约接口派生并实现。合约分成了四种:数据合约 (Data Contract),制定双方沟通时的数据格式。服务合约 (Service Contract),制定服务的定义。营运合约 (Operation Contract),订定服务提供的方法。消息合约 (Message Con

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号