面向Web服务的可视化程序设计与实现.docx
《面向Web服务的可视化程序设计与实现.docx》由会员分享,可在线阅读,更多相关《面向Web服务的可视化程序设计与实现.docx(22页珍藏版)》请在冰点文库上搜索。
面向Web服务的可视化程序设计与实现
面向Web服务的可视化程序设计与实现
摘要:
本文基于对Web技术深入的剖析,在大体上建立一个商品管理系统的窗体程序作为调用Web服务的平台。
在该平台上主要引用了三种Web服务,分别是:
中国开放式基金Web服务、人民币即时报价Web服务以及外汇汇率数据Web服务。
通过在所建立的系统窗体平台首页嵌入这三种Web服务,实现在该窗体上通过输入所需要查询的相关信息,得到用户所需的相关结果。
通过VisualStudio2010工具添加Web服务引用,程序中就能创建该服务提供的类和方法,分析选择该服务中所需要的方法的输入参数和返回参数,并设计对应的模块实现输入和返回。
在应用过程中,寻找合适的服务以及理解其内部逻辑有点困难。
并且,商品管理系统的窗体程序建设主要分为商品的管理、客户的管理、订单的管理以及商贸类Web服务引用四大模块,最终在VisualStudio2010上部署成功,并顺利引用了Web服务。
现有的网络上提供了许多非常实用的Web服务,我们可以通过简单的引用,以及灵活的调用就能丰富我们的程序内容,扩展系统管理程序的多功能并且省去很多复杂的功夫。
关键词:
可视化;Web服务;C#;4163
Webservice-orientedvisualprogramming
Abstract:
BasedondeepanalysisofWebtechnology,thispaperisaboutsettingupashopmanagementsystemasaplatformtocalltheWebservice.Ontheplatform,itshouldcallthreeWebservices,theyare:
Chinaopen-endfundWebservices,theRMBinstantquoteWebserviceandcurrencyexchangeratedataWebservices.Throughthesystemwhichhasbeenestablished,thethreeWebservicescanbeembedonittoachievethelatestnewstheusersneedbyenteringtherelevantinformationneededtoquery.WiththeVisualStudio2010Tools,wecanaddWebservicereferences,andtheprogramwillbeabletocreatetheservicethatcanprovideclassesandmethods.Itisimportanttoanalyzetheinputparametersthattheservicerequiredandtheparametersitwillreturn,andtodesignthecorrespondingmoduletodoinputandreceivetheparameters.Intheprocess,italittledifficulttofindthesuitableservicesandunderstanditsinternallogic.Also,themainbuildingofthemanagementsystemisdividedintocommoditymanagement,customermanagement,ordermanagement,andbusinessclassWebservice,whichfinallysetupitinVisualStudio2010andreferencedWebservicesuccessfully.ThenetworkprovidealotofusefulWebservices,wecansimplyuseandflexiblecallthemtobeabletoenrichourprogramcontent,expandmulti-hypervisorandsavealotofcomplicatedeffort.
5结论40
5.1总结40
5.1.1WEB服务的优势与劣势40
5.1.2如何改进WEB服务41
5.2心得与体会42
5.3WEB服务的期望与现实43,4163
1绪论
WebService是一种新的Web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。
WebService可以执行从简单的请求到复杂商务处理的任何功能。
一旦部署以后,其他WebService应用程序可以发现并调用它部署的服务。
简单的说,WebService是一种方法,通过调用可以实现很多功能而不用自己大费周章的去编写实现。
1.1课题的目的和意义
WebService是一种新的Web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。
WebService可以执行从简单的请求到复杂商务处理的任何功能。
一旦部署以后,其他WebService应用程序可以发现并调用它部署的服务。
引入WebService我们可以:
让任何平台上的用任何语言编写的服务进行交互。
将应用程序功能概念化成任务,从而形成面向任务的开发和工作流。
这使得更抽象的软件能够为工作在业务层面具有较少软件分析技术的用户所用。
允许松耦合,这意味着,每当其中某个或多个服务在设计或实现中发生改变时,服务应用程序之间的交互不会因此而中断。
使现有的应用程序能适应不断变化的业务条件和客户需求。
向现有或遗留软件应用程序提供服务接口,而无需改变原来的应用程序,从而使这些应用程序完全可以运行在这种服务环境下。
引入其他一些与原有功能无关的管理或操作管理功能,比如可靠性、责任性和安全性等等,从而在业务计算环境中增加其通用性和实用性。
普遍式计算更重要:
webservices不能要求客户使用某一版本的windows的传统浏览器,必须支持各种设备,平台,浏览器类型,各种内容类型。
2应用Web服务的商品管理系统分析
2.1可行性分析
Web服务是Web服务器所提供的一个应用程序或可执行程序的代码块,它的功能是通过标准的XML协议展示的。
.NETFramework服务使查找代码,调用代码和得到结果的工作变得非常简单。
实际上,调用一个.NETWeb服务就像调用本地函数那样简单。
.NETWeb服务不是一个对象,至少从传统意义上说不是。
从本质上说,Web方法是非常独立,抽象和基本的。
这种简化是Web服务的一个重要优点。
因为Web服务并没有紧密绑定到某种特定的安全机制,状态管理或者传输技术,所以它们几乎可以用于任何开发方案。
(1)经济可行性
经济可行性研究是对Web服务的应用现状和应用能力进行分析,对整个Web服务的建设运行和维护费用进行估算,对Web服务的应用后可能你取得的社会和经济效益进行估计。
由于本次应用Web服务的窗体程序平台是由我们自己进行开发的,在经济上投入甚微,本次窗体程序的开发、运行和维护费用主要包括:
人员费用:
系统发人员、操作人员和维护人员的工资、培训费用等合计5000元。
消耗品费用:
系统开发所用的材料、系统能够使用的相关技术费用以及系统正常运行所需要的日常消耗品,例如水、电费,打印纸、软盘、色带等开支合计500元。
所有开支合计5500元,所以在经济上是可行的。
(2)技术可行性
Web服务可能允许某些新的商业模式,但不会确保或者构成任何特定的安排。
相反Web服务是一种共享编程功能的方法,可以把它们看作用于Web的COM,只不过基本技术有很大区别。
Web服务不是最终用户产品,相反,它们是一些基于组件的应用程序,允许在不同环境中和不同类型的客户上重用业务逻辑。
(2)系统功能模块定义
① 客户管理模块定义
客户管理主要是对客户的名单进行一系列的操作,包括添加新的客户,查询客户名单,修改客户名单和删除客户名单和客户信息。
查询客户信息:
企业需要联系客户时或者客户的信息需要发生变动,或者查找和该客户有关的信息时,需要通过客户的编号查看客户的相关信息。
添加新的客户名单:
如果在企业商品贸易销售中,在下新的订单时,需要添加新的交易客户名单,则分别需要在客户号,客户的姓名,客户的所在地地址,客户的联系方式以及客户的预付款金额(客户下订单时所预付的订金)输入相关信息。
修改/删除客户信息:
企业在商品贸易销售中,发现不再与该客户进行合作,或者取消与该客户的交易时,为了增加客户的资料保密性,可能需要删除客户的相关信息。
如果发生原本录入的客户信息中有错误或者客户的信息发生了变更,经常会发生变更的信息主要有客户的地址和电话,以及该客户每次交易时所预付款的数额。
当发生信息的变更或者金额的变更时,则需要修改客户的信息。
② 商品管理模块定义
商品管理主要是对企业商品贸易中,商品的管理模块中包括添加新的商品明细,显示全部商品信息后可以进行查询商品的信息,修改/删除商品信息。
查询商品信息:
对于企业年末或者月末做商品信息的统计和处理时,需要显示所有商品的信息,包括商品的名称,商品的编号,商品的单价以及重量进行评估。
同时在需要查询某个单独商品的详细信息时,可以在显示所有商品信息后,输入其商品编号,查询该单个商品的详细信息。
添加新的商品信息:
企业发生一笔新的商品交易时且此商品明细在过去未曾录入进数据库系统中时,可以添加新的商品信息,因而分别需要定义商品编号,输入商品名称,该商品的单价以及商品的重量。
修改/删除订单和订单细则:
绝大多数订单以及订单细则都需要保留以作订单备份,当订单在处理的过程中,包括下订单或者订货时,交货时发生了交易损坏,则需要将已损坏的订单删除,在删除订单的同时,订单细则也会相应删除。
删除订单细则并不会影响到已下达的订单。
当交易过程中订单发生了改变,则需要修改订单的信息和订单细则。
④ 商贸Web服务应用模块定义
中国开放式基金数据WEB服务以当日的最新开放式基金净值数据每天15:
30以后及时更新。
输出数据包括:
证券代码、证券简称、单位净值、累计单位净值、前单位净值、净值涨跌额、净值增长率(%)、净值日期。
此中国开放式基金数据WEB服务仅作为用户获取信息之目的,并不构成投资建议。
只有商业用户可获得此中国开放式基金数据WebServices的全部功能,因而,在获得中国开放式基金的基金代号和基金名称的同时,我们采用的是免费用户所能获得的中国开放式基金的最新十条数据。
同时,返回参数的结构包括了基金代号、基金名称、前单位净值、单位净值、累计单位净值、净值涨跌额、净值增长率(%)、净值日期、数据更新时间。
外汇-人民币即时报价WEB服务,获得外汇-人民币即时报价的web服务,其报价数据即时更新。
这样,管理员可以即时了解到人民币的价格变动,以调整商品的单价进行商品交易。
此Web服务支持人民币对:
美元、欧元、英镑、日元、港币、加拿大元、新西兰元、新加坡元、瑞士法郎、瑞典克朗、泰国铢、挪威克朗、澳门元、澳大利亚元、丹麦克朗、菲律宾比索、清算瑞士法郎等的兑换即时报价。
返回的参数有:
货币代号、货币名称、现钞买入价、现汇买入价、卖出价、基准价。
即时外汇汇率数据WEB服务,是获取最新的汇率信息Web服务,其数据即时更新。
这样,管理员便可以即时的了解此外汇汇率后,了解当前的税率变动以及商品进出口的价格变动等。
数据WEB服务支持29种以上基本汇率和交叉汇率即时外汇汇率数据,返回包括:
代码、货币名称、最新价、涨跌%、涨跌金额、开盘价、最高价、最低价、震幅%、买入价、卖出价、涨跌颜色和数据时间。
这里默认为显示全部汇率。
返回参数包括:
代码、名称、最新价、涨跌%、涨跌金额、开盘价、最高价、最低价、震幅%、买入价、卖出价、涨跌颜色、数据时间。
在商品管理系统中的Web服务主要应用在商贸类Web服务管理模块。
本次系统访问Web服务的方式主要是通过SOAP简单原理访问协议来进行Web服务的访问。
添加三种Web服务时修改的命名空间分别为OpenFund/GetRate和RMB,在添加完成所要引用的Web服务后,相应选择访问Web服务的Internet网络协议,本系统中采用的Internet网络协议为SOAP协议,同时还有HTTPGET和HTTPPOST协议可以对于Web服务进行访问。
使用SOAP协议的好处在于SOAP指定了应该如何表示不同数据类型的值。
SOAP标准的核心思想是应该使用一种标准化的XML格式对消息进行编码。
每个服务中都分别对应了许多方法,这些方法是以发布这些服务的网站中已经编译完成的方法,在本系统中要实现Web服务只需要对Web服务进行相应的添加以及引用即可。
中国开放式基金数据Web服务主要选择的是在ChinaOpenFundWS类中调用方法主要采用getopenfund方法来引用该中国开放式基金Web服务,该Web服务以当日的最新开放式基金净值数据每天15:
30以后及时更新。
输出数据包括:
证券代码、证券简称、单位净值、累计单位净值、前单位净值、净值涨跌额、净值增长率(%)、净值日期。
此中国开放式基金数据WEB服务仅作为用户获取信息之目的,并不构成投资建议。
只有商业用户可获得此中国开放式基金数据WebServices的全部功能,因而,在获得中国开放式基金的基金代号和基金名称的同时,我们采用的是免费用户所能获得的中国开放式基金的最新十条数据。
同时,返回参数的结构包括了基金代号、基金名称、前单位净值、单位净值、累计单位净值、净值涨跌额、净值增长率(%)、净值日期、数据更新时间。
人民币即时报价Web服务主要选择的是在RmbRate类中调用方法主要采用getForexRmbRate方法来进行人民币的即使报价Web服务调用。
这样,管理员可以即时了解到人民币的价格变动,以调整商品的单价进行商品交易。
此Web服务支持人民币对:
美元、欧元、英镑、日元、港币、加拿大元、新西兰元、新加坡元、瑞士法郎、瑞典克朗、泰国铢、挪威克朗、澳门元、澳大利亚元、丹麦克朗、菲律宾比索、清算瑞士法郎等的兑换即时报价。
返回的参数有:
货币代号、货币名称、现钞买入价、现汇买入价、卖出价、基准价。
(3)系统UI界面
本系统采用了可视化界面,用户完全可以通过各个界面上的提示进行各个模块管理的操作和查询操作,在调用Web服务模块上选择所需要的应用功能如汇率的查询,简单的输入参数并选择需要的返回类型既可实现查询。
2.4运行平台要求
操作系统:
WindowsXP,Windows7等个人版或者WindowsServer2003及以上服务器操作系统
内存需求:
520MB及其以上
CPU:
528MHz及其以上
软件环境:
.NETFramework3.5及其以上;数据库SQLServer2005;
网络环境:
带宽100bps及以上为佳
3应用Web服务的商品管理系统设计
3.1商品管理系统综述
该系统总体上包含四大功能模块,它们分别是客户的管理、商品的管理、订单的管理以及商贸Web服务的应用。
为了让管理员能充分在系统中扮演好其相应的角色,接下来通过调研、交流,了解系统应该具备的功能,最后结合当前比较常用的框架技术实现它。
商品管理系统总体思想设计主要是从管理员的角度展开的。
管理员通过查询该系统中的客户名单、商品明细以及订单细则来进行企业的商品交易中所需要进行的相关操作。
当企业的商品交易中出现了新的客户名单时,管理员需要将该名单添加到商品管理系统中,同样,如果在该商品管理系统中发现了无需再进行交易的客户,则将该客户名单删除。
若发现,企业交易中的客户名单出现错误,可以进行相关的修改操作。
同样的商品以及订单的管理也同时具备了这些基本功能。
另外,该商品系统中最突出的模块是应用了Web服务。
在商品系统管理模块中主要应用的是商贸类的Web服务,以方便从事商务贸易交易的行业者可以在管理商品的同时查看相应的基金、人民币即时报价以及外汇汇率的走势。
模块四:
查询统计功能窗口
查询统计模块是对于整个企业年结、月结或者季结的一个商品销售额以及商品的整体销售情况的一个显示和统计。
查询的同时还可以查看库存商品的信息正确性。
模块五:
商贸Web服务应用窗口
商贸Web服务应用窗口主要是在管理员可以管理该系统的同时,对于Web服务的实时查看和调用。
管理员可以查看所需要的三种Web服务,包括中国开放式基金数据Web服务、即时人民币报价Web服务数据以及外汇汇率的数据。
这样管理员就可以在使用商品管理模块的同时根据所引用的Web服务来更改商品的即时价格等。
(1)模块相互关系表
表3-1模块相互关系表
模块名称相关模块名称相互关系描述
查询功能窗口客户管理系统窗口、商品管理系统窗口、订单管理系统窗口根据相关模块名称中的各子窗口,可分别查询窗口中的相应信息
统计窗口客户管理系统窗口、商品管理系统窗口、订单管理系统窗口根据相关模块名称中的各子窗口,可统计总体信息,例如,输入客户号,可显示此客户的订单情况等等
商贸Web应用窗口商品管理系统主窗口在商品管理系统窗口的一大特殊模块,主要调用了三种商贸类Web服务,分别为基金数据Web服务、人民币即时报价Web服务和外汇汇率数据Web服务。
(2)客户管理模块描述
表3-2客户管理模块
模块名称客户管理系统窗口模块代号Form1
适用范围全局类型窗口
对象功能添加、删除、修改客户名单
相关表名客户添加、删除、修改
输出显示出相应的窗口
相关对象及接口客户管理系统窗口、商品管理系统窗口、查询功能窗口、统计窗口
(5)查询功能模块
由于添加、删除以及修改功能都建立在查询功能模块的基础之上,因而单独罗列查询功能模块的算法。
表3-5查询功能模块
模块名称订单管理系统窗口模块代号Form3
适用范围全局类型窗口
对象功能添加、删除、修改商品信息
相关表名订单添加、删除、修改
性能要求精度高、性能高、容错性一般
限制条件订单信息不能重复输入,附有订单细则
输入输入订单号、订单项数、订货日期、交货日期、付款金额
输出显示出相应的窗口
相关对象及接口客户管理系统窗口、商品管理系统窗口、查询功能窗口、统计窗口
(6)商贸Web服务应用模块
表3-6商贸类Web服务应用模块
模块名称商贸Web服务应用模块代号Form5
适用范围全局类型窗口
对象功能引用相关商贸类Web服务
性能要求精度高、性能高、容错性一般
限制条件Web服务引用范围限于免费Web服务,同时引用的Web服务局限于商贸类Web服务。
输入输入需要引用的Web服务中相应的参数
输出显示出相应的窗口
算法逻辑
相关对象及接口客户管理系统窗口、产品管理系统窗口、订单管理系统窗口、查询功能窗口
电话=客户联系方式{varchar类型}
预付款=预付款金额{int类型}
(2)“商品信息”的数据信息
数据名称:
商品信息
描述:
描述商品的信息
定义:
商品号=商品编号{varchar类型}
商品名=商品名称{varchar类型}
单价=单价(¥){int类型}
重量=重量(kg){int类型}
(3)“订单信息”的数据信息
数据名称:
订单信息
描述:
描述订单的信息
定义:
订单号=订单单据号{varchar类型}
客户号=客户编号{varchar类型}
订货项数=订货产品项数{int类型}
订货日期=订货日期{varchar类型}
交货日期=交货日期{varchar类型}
金额=订单金额{int类型}
(4)“订单细则”的数据信息
数据名称:
订单细则信息
描述:
描述订单细则的信息
定义:
订单细则号=订单细则号{varchar类型}
订单号=订单单据编号{varchar类型}
产品号=产品编号{varchar类型}
数量=产品数量{int类型}
3.3.3关系模式
注:
下划线表示主键,波浪线表示外键。
客户(客户号,客户名,地址,电话,预付款)
商品(商品号,产品名称,单价,重量)
订单(订单号,客户号,订货项数,订货日期,交货日期,金额)
订单细则(订单细则号,订单号,商品号,数量)
3.3.4建表
表3-7顾客基本表
属性中文名称属性名类型长度说明
客户号cnoVarchar20Primarykey
姓名cnaVarchar20Notnull
订单号snoVarchar20Foreignkey
订货商品号pnoVarchar20Foreignkey
订货数量ssnuint4
3.3.5表结构关系图
图3.6表结构关系图
4应用Web服务的商品管理系统实现
4.1分层实现
本系统采用了传统的三层架构
数据访问层:
与数据库的交互,专门处理SQL语句
业务逻辑层:
处理各种实际业务,比如名称不能重复,金额不能大于多少等等
表现层:
用户界面,只负责接收界面上的参数
4.2界面设计
本系统坚持图形用户界面(GUI)设计原则,界面美观,对用户透明。
用户接触软件后对界面上的功能一目了然。
在本次设计中很好地保持了界面的一致性。
一致性既包括使用标准的控件,也指使用相同的信息方法,如在字体、标签风格、颜色、术语等方面保持一致。
(1)可视化程序显示的信息一致性要求如下:
① 显示界面中的可视化控件以及背景为自选图片。
其中,图片多为风景图给人以清新的视觉效果。
② 管理模块的标签:
设置为默认值,其中包括字体、大小、颜色以及相应显示在控件中的位置。
③ 分辨率为:
1024*768,增强色24位色。
布局合理化主要体现在一个窗口内所有的模块控件均通过标签的形式显示在系统窗口的上方,使得整体界面的布局相对简洁明了。
模块的相应顺序分别从左到右对应的是客户管理模块、商品管理模块、订单管理模块以及财经Web服务模块。
在其正行下列从左到右分别罗列的管理模块中的基本功能,分别是客户查询、商品查询、订单查询、订单细则查询、统计销售情况以及客户账单汇总。
这样,所需要用到的基本功能控件位于整个窗体的最前端,位置也相应地非常醒目。
该系统的界面设计布局力求简介、有序、易于操作。
中国开放式基金数据的Web服务界面如图4.4所示,下拉框中会显示的是最新的前十条中国开放式基金数据,左侧会将Web服务调用出来的基金数据的前六项返回参数分类将其显示出来显得更加清晰明了。
图4.4基金数据Web服务界面图
外汇汇率数据Web服务的主要界面如图4.5所示,根据索要查看的汇率在下拉列框中分为三类,全部汇率、基本汇率和交叉汇率。
在左侧输出栏中会显示的是汇率的代号、当前的汇率币以及不同的百分比等。
图4.5外汇汇率Web服务图
人民币即时报价Web服务主要的显示界面如图4.6所示,主要会常用的全球货币进行一个列表显示,然后根据其买入价格、基本价格以及卖出价格进行分类显示。
图4.6人民币报价Web服务图
4.3使用说明
(1)管理员使用说明