银行服务系统设计和实现

上传人:无*** 文档编号:108670904 上传时间:2022-06-15 格式:DOC 页数:62 大小:1.14MB
收藏 版权申诉 举报 下载
银行服务系统设计和实现_第1页
第1页 / 共62页
银行服务系统设计和实现_第2页
第2页 / 共62页
银行服务系统设计和实现_第3页
第3页 / 共62页
资源描述:

《银行服务系统设计和实现》由会员分享,可在线阅读,更多相关《银行服务系统设计和实现(62页珍藏版)》请在装配图网上搜索。

1、 . 摘 要XML Web服务是可以在互联网上使用标准技术联网运行的商务进程,具有松耦合性和互操作性的软件组件。它能与任何平台上用任何语言编写的服务进行交互,使得应用软件的集成可以做到更快、更容易而且具有更高的可扩展性。XML Web 服务不但实现在异类系统之间以 XML 消息的形式进行数据交换和远程访问数据,而且能以松耦合的方式执行操作。使用XML Web服务技术不仅可以实现企业应用的松散集成,而且还能够做到动态的集成,具有很好的灵活性。本文详细分析了XML Web服务技术体系,设计实现了一种基于XML Web服务的模拟银行转帐的系统,完成了异构数据库系统的集成。通过服务的定义、发布、发现、

2、绑定、调用等机制实现一种松散耦合的应用集成框架,以与使用Java(XFire框架)和C#两种语言实现在异构数据库集成操作,充分体现了XML Web Service的与语言无关的特性。该银行转帐系统实现了银行客户端模块以与服务端模块,实现了XML Web服务过程。关键词:XML Web 服务,银行转帐系统,SOAP协议,系统集成,XFire框架AbstractXML Web services can use standard Internet technology to run business process network, with loose coupling and interoper

3、ability of software components. With any platform in any language for interactive services, application integration can be done faster and easier and has higher scalability. XML Web Service achieves in heterogeneous information systems in the form of XML data exchange and remote access to data, but

4、also implement these operations by loosely approach. The use of XML Web services technology can be achieved not only loose the enterprise application integration, but also can be integrated and dynamic with good flexibility.In this paper, with detailed analysis of the XML Web services technology sys

5、tem, designees and realizes a simulation system of bank transfers base on XML Web services, integrate heterogeneous database system. Through the definition of services, publishing, discovery, binding, and other mechanisms, implements call a loosely coupled application integration framework. Using Ja

6、va (XFire framework) and C # two languages to achieve integration of heterogeneous databases in operation, fully reflects the XML Web Service has nothing to do with language features.The bank transfer system realizes bank client-side modules and service modules, realizes the process of XML Web servi

7、ces.Key Words: XML Web Services,Bank Transfer System,SOAPprotocol,System Integration,XFireframework目 录摘 要11 绪 论11.1 研究背景11.2 本文研究的容31.3 论文的组织结构32 XML Web 服务与相关技术42.1 什么是XML Web 服务42.2 XML Web服务标准与协议52.2.1 目录和发现52.2.2 描述62.2.3 消息发送62.2.4 XML Web服务体系结构72.3 XML Web 服务示例82.3.1 信息服务82.3.2 集中化服务82.3.3 应用程

8、序的扩展和集成82.4 WS-Security92.5 XML Web 服务的优点92.6 XML 技术与其主要优点112.7 .NET Framework122.8 XFire133 数据通信的底层协议143.1 银行转帐系统数据交换模型143.2 SOAP规143.3SOAP 请求剖析153.4 SOAP 响应剖析174 系统设计184.1 系统概述184.2 系统设计总体184.2.1 A银行转帐系统总体设计184.2.2 技术分层设计194.3 数据库设计204.4 A银行服务端设计225 系统实现225.1 开发工具选择225.2 环境部署235.2.1 Java 环境部署235.2

9、.2 JDK部署235.2.3 MyEclipse 6.0部署245.2.4 Apache Tomcat 6.0 在MyEclipse 中配置255.2.5 安装Visual Studio 2005265.3 数据访问层DAO的实现275.4 A银行客户端开发285.4.1 登录界面285.4.2 客户端主界面295.4.3 存款界面305.4.4 取款界面305.4.5 修改账户信息界面315.4.6 户主密码修改界面315.4.7 转帐界面325.5A银行 XML Web 服务实现335.5.1 XML Web 服务的实现过程335.5.2 在Visual Studio 2005 开发XM

10、L Web服务345.5.3 A银行转帐XML Web 服务的测试355.6 B银行的服务端开发36结 论42致 43参考文献44附 录46- 56 - / 621 绪 论随着计算机和网络技术的发展,企业越来越重视信息的与时传送和部、外部的直接交流, 信息资源已成为与材料和能源同等重要的战略资源1。通过企业信息化建设来提高生产、经营、管理、决策的效率和水平,从而提高企业的经济效益和企业竞争力。 在单一或基础应用系统已经逐渐成熟的领域,新的应用热点就是对应用系统的整合,使企业能够进一步挖掘信息,对、对外提供多元化的服务2。在大多数公司中,几乎每个部门都在广泛采用自定义软件,这就产生了大量有用的数

11、据和业务逻辑“孤岛”3。由于软件各自不同的开发环境以与技术不断发展的本质,在这些应用程序的基础上创建一个有效的分组是一项艰巨的任务。利用 XML Web 服务,就可以将每个现有应用程序的功能和数据作为 XML Web 服务公开。 然后,就可以创建一个复合应用程序,该应用程序使用此 XML Web 服务集合实现构成应用程序之间的互操作性4。1.1 研究背景信息化是六十年代末日本最先提出的。这一概念的提出和付诸实践是基于当时日本学术界和产业界对经济发展阶段和日本社会问题的基本判断。主要包括两方面的容: 一是对即将来临的信息社会这一概念的理解,认为发达国家经济己开始由以实物生产为核心的工业杜会向以知

12、识的获取和出售为主要容的信息社会( InformationBased Society )的转变,这一转变将对劳动者的生存状态产生深刻影响; 二是七十年代的石油危机使日本认识到作为资源稀缺国家发展重工业经济面临的危险,寻求一种知识密集型的产业结构成为日本经济的重要选择,也成为这一时期日本实现重型产业结构转型的需要,为此,产生了信息化的概念。后来,美国国家信息基础设施( NII)以 与全球信息基础设施( GII) 计划的引入, 又将信息化研究的重点导向技术层面的探讨5 。随着全球经济一体化进程的加剧和中国WTO 的正式加入,企业的发展空间和市场到了拓展,同时,企业信息化也成为人们关注的焦点,因此,

13、我国企业信息化建设现了一片蓬勃发展的场面,发展到现在,很多大型的企业己经先后配置了各种各样硬件设备与软件资源。 硬件设施有自己的更新换代周期,与之相配套的软件也要随计算机技术的发展与企业的规模扩大而升级换代。但是,我们要清楚地看到,我国业的管理机制、 管理思想、管理方法与西方先进的市场经济管理有很大的差距, 信息化建设起步较晚, 在技术方面也落后于发达国家,因而影响我国信息化建设的进程6。上世纪七、八十年代,全球企业在信息系统建设方面进行了巨大的投资,为企业建立了众多的应用信息系统,以帮助企业进行部与外部业务的处理和管理。 但由于信息化建设是逐步发展的,各种软硬件系统是分步开发实施的,另外,企

14、业的传统结构是按照职能来组织各个部门,各个部门分别采用不同的应用信息系统,而这些业务子系统可能采用不同的体系架构和平台,自成一体,互不千涉,这就导致出了各种彼此分割、 各自分散、相互封闭的信息资源系统,形成了一个个的“ 信息孤岛”,如何将它们联系起来,让不同的系统之间能方便地交互信息,因此,企业应用集成 ( EAI )便作为一个新的企业应用需求被提了出来。企业应用集成是建立在核心基础业务之上,对企业中完成不同业务功能的应用系统进行无缝地集成, 对各种业务流程实现管理并实时监控与分析,在不同的企业业务系统间,以与跨越企业边界的合作伙伴形成的商业网络之间,安全地对信息流实现智能管理, 把相关的外部

15、信息与部信息有机地联系起来,全方位满足企业各种业务功能的要求,在它们之间建立起可供数据交流和应用沟通的中枢系统。 信息集成涉与的容非常广泛,主要体现在以下方面7: 企业部信息系统与企业间信息系统的集成,如ERP 与CRM和SCM与电子商务平台的集成; 不同品牌的系统之间的数据转换,如不同CAD系统之间的数据转换; 企业部不同信息系统之间的集成,如PDM与ERF的集成,PDM与CAD 、PDM与CPP集成、CDA与CPP 的集成、CDA与CAM系统的集成等,ERP与MES的集成、ERP与项目管理系统的集成、ERP与OA的集成等; 信息系统不同模块之间的 集成, 如ERP 系统中财务与物流模块、财

16、务和生产管理模块的集成、 生产与质量模块的集成,尤其是不同厂商提供的相关模块之间的集成;信息化软件系统与硬件系统的集成,如ERP与条码系统、ERP与立体自动仓库的集成,MES系统或ERP系统与工业自动化系统的集成。企业应用集成对于企业的价值表现在:提供对客户全方位的了解与认识、 建立与客户与合作伙伴之间紧密的联系、 加快产品与服务推向市场的速度、 缩短业务的导入与运转时间、减少不必要的管理与人力资源成本、 对突发的变化快速反应、 充分利用并扩展现有的I T投资。1.2 本文研究的容本文以银行转帐中涉与多个异构数据通信为背景,实现一个类似银行转帐的模型,模拟两个不同银行之间由于使用的数据库进行数

17、据通信,并且利用当前流行的Java和C#两种语言开发,以体现XML Web Service与平台和开发语言无关的特性。本文所写的模拟银行转帐与真实的银行转帐没有任何联系,是以模拟银行转帐为例,说明如何使用XML Web Service对异构数据库、系统的集成。模拟A银行的是用SQL Server数据库,对外公开的XML Web 服务使用Microsoft的 .Net C#语言开发;模拟B银行的是使用MySQL 数据库,使用Sun 公司Java语言开发XML Web接口。然后开发一个客户端,将两个系统集成起来,实现模拟转帐的功能。1.3 论文的组织结构第一章:绪论, 概要的介绍了国、 外企业信息

18、化建设过程与基本情况, 存在的问题,从而分析出企业应用集成在信息化建设中的重要性, 引出了本课题研究背景与论文的组织安排。第二章:介绍XML Web服务与相关的技术,重点介绍XML Web 服务技术标准与协议,XML Web优点以与服务示例;以与与XML Web 相关的XML技术,开发XML Web服务的.NET Framework和XFire。第三章:描述本文实现银行转帐系统的数据交换模型,以与SOAP的规和请求、响应剖析。第四章:描述了系统的概述,总体设计,技术分层设计,数据设计以与系统的XML Web服务端和客户端的设计。第五章:系统开发。描述了开发工具的选择和环境部署搭建,数据访问层D

19、AO是如何实现的,银行转帐客户端和服务端的开发。结论: 对研究本系统的设计进行了总结,同时对后续工作进行了展望。2 XML Web 服务与相关技术2.1 什么是XML Web 服务XML Web是一类软件组件,它们通过网络实现其功能。XML Web 服务的外延定义还可以通过以下公认的特性进行说明8:基础的 Web Services 平台是 XML + 。 协议是最常用的因特网协议,XML 提供了一种可用于不同的平台和编程语言之间的语言。常见的协议包括:图2-1 XML Web 服务协议体系(TCPIPTransmission Control Protocol/Internet Protocol

20、,传输控制协议/Internet协议)、 协议(Hypertext Transfer Protocol,超文本传输协议)以与XML(Extensible Markup Language,可扩展标志语言)等Internet标准,还包括以下为XML Web服务专门开发的新标准,如SOAP(Simple Object Access Protocol, 简单对象访问协议)、WSDL(Web Services Description Language,Web服务描述语言)以与UDDI(Universal Discovery, Description and Integration, 通用发现、描叙与集成

21、)等等,如图2.1所示XML Web服务协议体系。XML Web服务通常不是一个完整的应用程序,而往往是一个功能型的组件或是大型解决方案9。同样,XML Web服务的目的往往是应用程序之间的交互。XML Web服务通过良好定义的接口(interface)来实现其多种功能。需要主要的是,这里的“接口”一词不能等同与网页和Windows应用程序中使用的用户接口(user interface),而是指使用WSDL等标准化接口描述语言定义的程序接口。 XML Web 服务平台是简单的可共同操作的消息收发框架。它仍然缺少许多诸如安全和路由等重要的特性。但是,一旦 SOAP 变得更加高级,这些事项就会得到

22、解决10。XML Web服务的未来使命是使应用程序更加容易通信11。2.2 XML Web服务标准与协议尽管XML Web 服务目前采用的规已经得到了广泛的认可,但其中的一些标准现在仍然继续发展,以满足各行各业以与广大消费者的需求13。整个领域都处在不断发展更新中,各种新特性、新规以与新版本协议不断荣。图2.2是XML Web服务所采用的技术的一个缩略图。图2-2 XML Web 服务采用的技术2.2.1 目录和发现使用XML Web服务,关键是要能准确的描述出它所具备的功能。发现技术的目的在于,使开发者能获取对XML Web服务的描述,这样就能将其作为一个组件来开发系统。UDDIUDDI(U

23、niversal Description,Discovery and Integration,通用描述、发现和集成)提供XML Web服务的注册表。简而言之,UDDI提供了一个企业目录,用户可以根据企业名称、企业所经营的行业或是企业提供服务的地区在其中进行搜索。每项企业记录都包括该企业所提供的XML Web服务的目的和位置的详细信息14。DISCODISCO(discovery 的缩写)文件是Microsoft特有的一种格式,通过这一技术可公布其提供的XML Web服务。目前,DISCO文件的主要消费者是Visual Studio .Net。XML Web服务产品的其他提供者也已经开始逐渐采用

24、这一技术。DISCO的主要优点在与其简单性,它使得部门或小型企业也可利用简单XML Web服务发现机制,而无需要创建并维护完整的UDDI注册表。2.2.2 描述(通过UDDI或DISCO)发现某种XML Web服务之后,我们就需要了解该服务能提供哪些交互。消费者终端要使用XML Web服务,就必须事先知道如何与其进行交互。前面介绍的发现过程,其最终目的就在与获取服务的描述。WDSL(Web Services Description Language,Web服务描述语言)是对XML Web服务进行描述的标准方式。WSDL是一种对交互进行描述的XML格式,它包括了可以传送给服务的每条消息以与将要返

25、回(如果要返回)的响应类型的有关信息。WSDL文档是合同(告知消费者端XML Web服务的作用)的基础。WSDL文档实质上相当简单,但它通常都被用来描述复杂的交互,因此文档有可能相当长而且不容易看懂。2.2.3 消息发送在发现某种XML Web服务并获取现有的关于其交互的描述之后,就可以向服务发送消息以使用该服务了。在客户端与XML Web服务之间的消费发送通常采用SOAP(Simple Object Access Protocol,简单对象访问协议)进行。这些消息包括客户端请求XML Web服务执行任务的消息,以与服务返回的包含详细的响应。与Web服务采用的其他许多标准和协议一样,SOAP也

26、是基于XML的。SOAP并为绑定到某种特定的编程语言或操作系统上。也就是说,使用Java语言编写的客户端也能理解用C#或Visual Basic.NET编写的XML Web服务所发出的消息。由于每种平台都可以用于自身的一套数据类型,SOAP提供了一种为所有平台支持的中间表示方式。实际上,跨平台数据类型并不像人们所想象的那么复杂,从图2.3就可以看出来这一点。图2-3 SOAP数据转换模型XML Web服务发送SOAP消息时,它并不知道要接收消息的是何种客户端客户端可能是Microsoft .NET语言编写的,也可能是用Java等其他语言编写的。XML Web服务只需要具备将.NET类型转换为S

27、OAP类型的功能;而客户端则只需要知道如何将SOAP类型转换为在自身使用的语言中可以理解的类型(如Java数据类型)。这种转换就是SOAP跨平台数据类型得以存在的基础。每种平台或是编程语言都必须进行自身数据类型与对应的SOAP数据类型之间的转换。2.2.4 XML Web服务体系结构图2-4 XML Web服务体系结构从图2.4中可以清楚的看出 XML Web服务的一个最基本的架构15。XML Web服务最基本的组成部分为服务的提供者(Service Provider)和服务的请求者(Service Requester)。这样看起来很像 C/S 架构的软件,与之不同的是,XML Web 服务两

28、端的应用是通过基于标准的 XML 格式的协议进行通信的,这种最常用的协议就是 SOAP。服务的提供者应该首先通过 WSDL和 UDDI发布它所提供的服务到一个统一注册这些服务信息的存储库中去。这样,服务的请求者通过 WSDL 和 UDDI 发现到服务提供者提供的服务,然后通过应用的调用方法来使用这个服务。目录、发现和描述,是使得客户端可以找到WSDL文档中对XML Web服务的描述的前3个步骤。其中,发现过程是Microsoft产品专业的,使用其他工具创建的XML Web服务可以略去此步骤,直接将引用放入UDDI注册表中指向WSDL描述的位置。2.3 XML Web 服务示例2.3.1 信息服

29、务 最常见的XML Web 服务是用于对信息的编程访问,如访问股票价格、货币兑换比例、航班到达时刻表以与外语翻译等信息。实际上,这些信息可能本来就以网页或文档等电子形式提供给了用户,但用户不能使用编程的方式对这些形式的信息进行访问或操纵。而通过XML Web 服务,这些信息便有现有的接口提供给用户,以供用户使用标准协议和数据表示形式访问。任何设备或程序,无聊它们采用何种平台或编程语言实现,都可以通过网络与XML Web服务进行通信以访问这些信息。XML Web服务的发展空间是无限大,任何信息都可以通过XML Web 服务模型进行传送16。2.3.2 集中化服务除了为客户提供信息之外,XML W

30、eb 服务还能充当一个方便的信息库,以跨越多种不同平台的应用程序共享和操纵同样的信息。基于Internet的日程表和文件存储等服务则是XML Web服务发挥这些附加功能的极好例子。通过这些服务,无论用户身在何方,使用何种平台,都可以访问信息,使用信息集中化功能,用户还可以授权给信用第三方,使其也可以访问用户的信息。 许多重要的简单服务不但能提供多方面的信息,而且能将用户信息进行集中并提供给访问者。这样应用程序和作为中介的XML Web服务就能充分的利用,通过编程方式访问大量数据时,可以不受数据所在位置与所用平台的局限,从而能利用现有的组件数据来创建功能强大的新服务。例如,假设所有交通公司都是有

31、XML Web服务公布其公共汽车、火车以与航班的时刻表供客户查询,那么应用程序或作为中介的XML Web服务就可以使用这些信息来设计任何两个地点之间的最佳路线。2.3.3 应用程序的扩展和集成XML Web服务可以与传统的系统集成,从而开发出新型的IT解决方案。进行XML Web服务通行所需要的技术相当简单,大多计算机平台都提供了这些技术。采用XML Web服务作为客户端和传统系统之间的抽象层有多个优点:许多新型客户端平台都能访问旧系统,而且XML Web服务在处理客户端请求时,还能对跨多个系统的活动进行协调。可以用一种综合方式来使用 XML Web services,以便集成似乎完全不同的一

32、组现有应用程序。 在大多数公司中,几乎每个部门都在广泛采用自定义软件,这就产生了大量有用的数据和业务逻辑“孤岛”。 由于软件各自不同的开发环境以与技术不断发展的本质,在这些应用程序的基础上创建一个有效的分组是一项艰巨的任务。利用 XML Web services,就可以将每个现有应用程序的功能和数据作为 XML Web services 公开。 然后,您可以创建一个复合应用程序,该应用程序使用此 XML Web services 集合实现构成应用程序之间的互操作性。2.4 WS-SecurityWS-Security (Web服务安全) 是一种提供在Web服务上应用安全的方法的网络传输协议。2

33、004年4月19日,OASIS组织发布了WS-Security标准的1.0版本。2006年2月17日,发布了1.1版本。WS-Security是最初IBM,微软,VeriSign和Forum Systems开发的,现在协议由Oasis-Open下的一个委员会开发,官方名称为WSS。协议包含了关于如何在Web服务消息上保证完整性和性的规约。WSS协议包括SAML(安全断言标记语言)、Kerberos和认证证书格式(如X.509)的使用的详细信息。WS-Security描述了如何将签名和加密头加入SOAP消息。除此以外,还描述了如何在消息中加入安全令牌,包括二进制安全令牌,如X.509认证证书和K

34、erberos门票(ticket)。WS-Security将安全特性放入一个SOAP消息的消息头中,在应用层处理。这样协议保证了端到端的安全。2.5 XML Web 服务的优点XML Web服务最大的优势体现在其集成上。如果企业要集成完成完全不同类型的应程序、系统和技术,其费用是相当惊人。而XML Web服务则是一种广泛认可的标准,它是最为理想的集成工具,提供了一种可以在完全不同类型的系统之间进行通信和交换信息的机制以与实时的互操作功能,而且还可以节省大量成本。( 1 ) 基于标准基于标准,即是说所有的XML Web服务都是通过同样的方式实现使用一样协议,按照一样方式对数据编码。这样,客户或服

35、务无论位于何种平台,客户都可以方便的使用XML Web服务。( 2 ) 非商业性XML Web服务使用的标准是在开发式、基于社区的环境下开发出来的,而且吸收了技术提供者、大型企业和学术界的研究成果。这种合作式的开发方式,有效地避免了XML Web服务成为独家垄断的商品。同时,任何开发者也可以根据自己的想法改进或更新这些标准。所以说,XML Web服务技术是开放式的,也非商业化的。( 3 ) 简便性与许多其他的分布式计算解决方案相比,XML Web 服务所使用的体系结构和技术都相当简单。尽管XML Web服务领域中采用了数量众多的标准与协议,但实际上,由于操作系统和当前的开发工具(如Visual

36、 S、MyEclipse之类等)能抽象这些标准和协议,因此编程人员根本无需了解这些容。( 4 ) 独立与语言和平台使用XML Web服务只需满足两个前提,即能使用TCP/IP 进行通信,并且能处理XML语言。XML Web服务并不要求使用某种特定的编程语言或是操作系统。即使是C(一种面向过程语言)语言编写、在手持设备上运行的程序,也能使用C#(一种面向对象语言)编写、在Windows 2003 Server上运行的XML Web服务。( 5 ) 功能抽象除了不同类型技术和编程语言之间抽象层之外,XML Web服务还能提供抽象。XML Web服务的功能无需直接映射到底层的功能实现。XML Web

37、服务还可以提供一个接口,将多个系统的底层功能聚合起来。例如。某种XML Web服务用于提供天气服务,但它可以同时从一个系统中获取温度信息,再从另一个系统中获取潮汛信息,从而具备提供多方面天气信息的功能。( 6 ) 可发现性XML Web服务模型的一个重要附加特性是其服务注册表。服务注册表执行一项重要而且定义良好的任务:提供一种机制,便于提供者公布其服务,同时提供客户查找服务。( 7 ) 提高开发效率对于所有基于组件的开发体系结构而言,利用已有的XML Web服务构建新的解决方案,不但可以提供效率,还能节省开发费用。XML Web服务将组件的重用提高到了一个新的水平多个用户可以同时使用一样的组件

38、,而且可以跨组织共享组件。此外,XML Web服务协议是基于文本的,因此程序员不但可以读取它们,而且可以更轻松的了解当前状况,从而能够更简单地解决问题。这是XML Web服务所具备的一大优势,其他依赖二进制协议的分别式计算协议都做不到这一点。2.6 XML 技术与其主要优点XML ( EXtensible Markup Language,可扩展标记语言 ) 是标准通用标记语言( Standard Generic Markup Language , SGML )的一个子集。其目的在于使得We上能以现有超文标记语言 ( HyperText Text Markup Language , HTML)的

39、使用方式提供、接收和处通用的SGML成为可能。XML的设计既考虑了实现的方便性,同时也顾与了与SGML 和HTML的互操作性。XML 的设计宗旨是传输数据,而非显示数据 ;XML 标签没有被预定义,您需要自行定义标签;XML 被设计为具有自我描述性,XML 是 W3C 的推荐标准。( 1 ) 良好可扩展性XML允许各个不同的行业根据自己独特的需要制定自己的一套标记,同时,它并不要求所有浏览器都能处理这成千上万个标记,同样也不要求一个标记语言能够适合各个行业各个领域的应用,这种具体问题具体分析的方法更有助于标记语言的发展。( 2 ) 容与形式分离XML息的显示方式己经从信息本身中抽取出来,放在了

40、“样式表”中。 这样做便于信息表现方式的修改,便于数据的搜索,也使得XML具有良好的自描述性,能够描述信息本身的含义甚至它们之间的关系。( 3 ) 遵循严格语法要求XNL不但要求标记配对、嵌套,而且还要求严格遵守DID或XML Schema的规定。这增加了文档的可读性和可维护性,也大大减轻了开发人员的负担。( 4 ) 便于异构系统之间信息传输不同企业、不同部门中往往存在着许多不同的系统,XML可以用作各种不同系统之间的交流媒介,是一种非常理想的数据交换语言。如图2.5是XML在商务应用数据传输示意图。图2-5 XML商务解决之道概览2.7 .NET Framework.NET Framewor

41、k 是支持生成和运行下一代应用程序和 XML Web services 的部 Windows 组件。.NET Framework 旨在实现下列目标: 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。提供一个将软件部署和版本控制冲突最小化的代码执行环境。提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。使开发人员的经验在面对类型大不一样的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保

42、持一致。按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。.NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework 类库。公共语言运行库是 .NET Framework 的基础。您可以将公共语言运行库看作一个在执行时管理代码的代理,它提供存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以与可提高安全性和可靠性的其他形式的代码准确性。这类似于Java的虚拟机。事实上,代码管理的概念是公共语言运行库的基本原则。以公共语言运行库为目标的代码称为托管代码,而不以公共语言运行库为目标的代码称为非托管代码

43、。.NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web services)。2.8 XFire XFire是新一代的Java Web服务引擎,XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比,XFire的配置非常简单,可以非常容易地和Spring集成,它使得Java开发人员终于可以获得和.Net开发人员一样的开发效率。XFire是

44、codeHaus组织提供的一个开源框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,这种处理方式不仅充分发挥了POJO的作用,简化了Java应用转化为Web服务的步骤和过程,也直接降低了SOA的实现难度,为企业转向SOA架构提供了一种简单可行的方式。XFire目前最新的版本是1.2.2,目前支持的特性主要包括:支持将Web服务绑定到POJO、XMLBeans、JAXB1.1、JAXB2.0和Castor;支持基于 、JMS、XMPP等多种协议访问Web服务;支持多种Web服务业界重要标准如SOAP、WSDL、Web服务寻址(WS-Addre

45、ssing)、Web服务安全(WS-Security)等;支持JSR181,可以通过JDK5配置Web服务;高性能的SOAP实现、服务器端、客户端代码辅助生成;对Spring、Pico、Plexus等项目的支持等。XFire官方:xfire.codehaus.org/3 数据通信的底层协议3.1 银行转帐系统数据交换模型基于XML Web服务实现的银行转帐系统能够进行在不同数据库之间进行数据通信是XML Web服务的天性。XML Web 服务最常用的通讯协议是SOAP,简单地说SOAP就是XML+ 。XML是一个与平台无关的数据表示语言, 是互联网最常用的协议之一。如同3.1说明了不同数据库之

46、间是如何实现数据交换的。C#语言能够访问操作各种数据库,C#将数据库中的数据对象转换为自身的数据对象。C#语言同样能把自身的数据类型转换为SOAP(XML)数据表示方式,以 传输协议进行通信。同样Java语言能够理解SOAP(XML)数据表示,能够访问数据库,所以不同数据库之间的数据交换式是以SOAP为转换平台进行的。数据库C#语言数据对象SOAPSOAPJava语言数据对象数据库 图3-1 系统数据交换模型在客户端与XML Web服务之间的消费发送通常采用SOAP(Simple Object Access Protocol,简单对象访问协议)进行。这些消息包括客户端请求XML Web服务执行

47、任务的消息,以与服务返回的包含详细的响应。3.2 SOAP规SOAP为在一个松散的、分布的环境中使用XML对等地交换结构化的和类型化的信息提供了一个简单的轻量级机制。SOAP本身并不定义任何应用语义,如编程模型或特定语义实现,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块中特定格式编码的数据重编码机制来表示应用语义。SOAP的这项能力使得它可被很多类型的系统用于从消息系统到RPC(Remote Procedure Call)的延伸。SOAP规主要由三部分组成17:SOAP信封(envelop),它构造定义了一个整体的SOAP消息表示框架,可用于表示消息中的容是什么,是谁发送的,谁

48、应当接受并处理它,以与这些处理操作是可选的还是必须的等。 SOAP编码规则(encoding rules),定义了一个数据的编码机制,通过这样一个编码机制来定义应用程序中需要使用的数据类型,并可用于交换由这些应用程序定义的数据类型所衍生的实例。例如可能应订单服务的需要,使用SOAP编码规则定义了订单的数据类型,并可以在订单生成的客户端与订单服务之间交换订单实例。 SOAP RPC表示(RPC representation),定义了一个用于表示远端过程调用和响应的约定,例如如何使用 或SMTP协议与SOAP绑定,如何传输过程调用,在具体传输协议的哪个部分传输过程响应,如我们可以在 的响应的时候传

49、递过程响应。 虽然这三部分是作为SOAP的不同部分作为一个整体定义的,但他们在功能上是正交的、彼此独立的。特别的,信封和编码规则是被定义在不同的XML命名空间(namespace)中,这样有利于通过模块化获得定义和实现的简明性。3.3 SOAP 请求剖析首先要提的是尽管这个特殊的设置是使用 传递 SOAP 消息的,但 SOAP 可以运行在任何其它传输协议上。例如,您可以使用 SMTP,即因特网电子协议来传递 SOAP 消息。在传输层之间的头是不同的,但 XML 有效负载保持一样。 以下所示的是一个完整的 SOAP/ 请求,为了更直观一些,XML 容全部是缩进格式的。 POST /soap/se

50、rvlet/rpcrouter /1.0Host: localhost:8070Content-Type: text/xmlContent-Length: 461SOAPAction: USA japan 一个 SOAP 请求作为 POST 被发送,同时其容类型设成 text/xml ,一个叫 SOAPAction 的字段设为空字符串或 SOAP 方法的命名。 SOAPAction 字段允许负责接收的Web服务器检测该请一个SOAP 消息并潜在地发送或过滤这个消息。 SOAP 请求的 XML 部分包含三个主要部分18:Envelope 定义各个 SOAP 消息的余下部分会使用的 namespa

51、ces ,典型的有 xmlns:SOAP-ENV ( SOAP Envelope namespace )、 xmlns:xsi ( XML Schema for Instances ) 和 xmlns:xsd ( XML Schema for DataTypes )。 Header 是可选的元素,它携带认证、事务处理和支付的辅助信息。一个 SOAP 处理链中的任一元素可增加或删除 Header 里的项;元素也可选择忽略它们不认识的项。如果 Header 被使用,它必须是 Envelope 的第一个子元素。因为我们的示例简单,不涉与路由器,所以不需要 Header 。 Body 是消息的主要有效

52、载体。当 SOAP 被用于执行一个 RPC 调用时, Body 包含一个单独元素,这个元素包含方法名、参数和 Web 服务的目标地址。元素的 namespace 等于目标地址,根名是方法名。在这个示例中, ns1:getRate 表示目标地址是 urn:demo1:exchange ( ns1 的扩展形式),方法名是 getRate 。如果有 Header , Body 必须紧接其后,否则它必须是 Envelope 的第一个子元素。 当使用 SOAP 作为一个远程过程调用 (RPC) 系统时,SOAP 参数可以是有类型的或无类型的。当前版本的 Apache 只接受有类型参数,正在开发的某个版本

53、将来也许可以完全允许无类型参数。缺省的 SOAP 编码模式使用 xsi:type 属性来表示一个 XSD 类型。XSD 定义这几个基本类型: int 、 byte 、 short 、 boolean 、 string 、 float 、 double 、 date 、 time 和 URL 。它也指定了发送数组和不透明数据块的格式。 3.4 SOAP 响应剖析如下为一个 SOAP/ 响应,在一个标准 回应以一个 XML 文档返回,标准 回应的容类型被设定为 text/xml 。 /1.0 200 OKContent-Type: text/xml; charset=UTF-8Content-Le

54、ngth: 425Set-Cookie2: JSESSIONID=4x1b3dqoc1;Version=1;Discard;Path=/soapSet-Cookie: JSESSIONID=4x1b3dqoc1;Path=/soapServlet-Engine: Tomcat Web Server/3.2 (final) (JSP 1.1; Servlet 2.2; Java 1.3.0; Windows 2000 5.0 x86; java.vendor=Sun Microsystems Inc.) 144.52 除了它的 Body 包含被编码的方法结果之外,XML 文档结构和请求时的结构很

55、像。结果的命名空间是原始目标对象 URI,根名是被调用的方法名。XSI/XSD 标记模式被选择性地用来指示结果类型(请参阅 参考资料)。SOAP 标准没有详细指出从一个 void 方法中返回什么,目前大多数的实现省略了 Body 的 部分。4 系统设计4.1 系统概述本模型通过XML Web服务实现集成两个不同的系统、数据库之间的数据通信操作,如同4-1所示。模型分三部分:第一部分,模拟A银行的服务端,提供给B银行XML Web服务。时用SQL Server数据库,对外公开的XML Web 服务使用Microsoft的 .Net C#语言开发第二部分,模拟B银行的服务端,提供给A银行XML W

56、eb服务。使用MySQL 数据库,开发语言使用Sun 公司Java语言,XFire框架开发XML Web服务接口第三部分,A银行的客户端,实现系统的集成,对A银行的账户进行操作,同时能引用B银行提供XML Web 服务,进行转帐,对两个不同数据库进行访问操作。模型的两个服务端,分别代表两银行的对外服务和一个客户端组成。为了使模型简单,数据库设计最简化,数据库中只有五个数据表。转换数据的只有资金的数据表。图4-1 模型示意图4.2 系统设计总体4.2.1 银行转帐系统总体设计A、B两个银行的设计基本上一致,都是有客户端和XML Web服务构成,如图4.2所示。本文以A银行为例,说明转帐系统的实现

57、。客户端主要功能有登陆,账户信息管理,管理员信息管理,操作记录,存取款功能以与主要的转帐功能。XML Web服务提供转帐功能。银行转帐系统登陆功能账户信息管理管理员信息管理存取款管理转帐功能银行转帐客户端银行转帐XML Web服务转帐服务操作记录功能图4-2 系统功能模块图4.2.2技术分层设计典型的应用程序有界面层、业务逻辑层和数据层。本系统在技术上也采用分层方式,使模型的功能清晰、简单。本模型中XML Web 服务分为提供对外服务的接口,服务层,数据访问操作层,如图4-3、4-4、4-5所示。图4-3 Web服务分层 图4-4 Web服务分层 图4-5 客户端技术分层4.3 数据库设计A银

58、行,SQL Server 2005数据库,五个数据表,Account数据表,记录账户的ID、用户名、用户身份ID、地址、金额以与利率、存储到期日期等,如表格4-1所示。Admin数据表,操作管理人员数据表,字段有操作人员ID、操作人员、操作人员身份ID、地址等属性,如表格4-2所示。Exchange数据表,记录交易记录、包括交易记录ID、汇款账号ID、收款银行名称、交易金额、汇款人身份ID、汇款人以与汇款时间等,如表格4-3所示。Record数据表,操作记录表,记录每个操作的人员的每一个主要操作。包括记录ID、操作人员ID、操作时间、操作详细和操作是否成功等,如表格4-4所示。Bank数据表,

59、记录通过XML Web服务访问、使用本银行服务的另外银行操作人员的数据,如表格4-5所示。表4-1 Account数据表字段数据类型主键允许空默认说明AccountIDInt否MoneyfloatYES否0SaveKindnchar(20)YES否DateBeingDateYES否DateEndDateYES否ratefloatYES否UserNamenchar(20)YES否UserIDnchar(18)YES否Sexnchar(4)YES是AddressVarchar(50)YES是PhoneNchar(18)YESNULL表4-2 Admin数据表字段数据类型主键允许空默认说明AdminIDint是否自动增长操作人员IDAdminNamenchar(20)否操作人员Psswordnchar(20)否密码Identificationnchar(20)否操作人员身份IDSexnchar(4)是操作人员性别Phonenchar(18)是操作人员Adressvarchar(50)是操作人员地址表4-3 Exchange数据表

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!