基于SOA架构的图书销售系统
基于SOA架构的图书销售系统
摘 要
人们引入了SOA技术理念,在管理系统的技术上,实现了对业务功能和系统的整合和提升,能够提供统一、标准、基于粒度服务动态整合的平台。能够将应用程序的不同部分功能进行抽取,并将其作为服务,在根据SOA约定服务和接口定义的基础上,实现不同部分服务的松散耦合。 通过对SOA基础知识、架构以及WebService技术的研究。针对管理系统中各个业务功能的实施要求,完成了服务发现、服务接口和业务流程设计工作。针对系统中需要完成大量的查询工作的需求,论文中提出中提出了能够用于整个系统的大信息量查询的简单查询方法,用于对系统中的复杂业务进行快速查询,从而有效提高业务信息的查询性能和效率。
关键词:数据库开发;SOA技术体系;WebService;
Abstract
People have introduced the concept of SOA technology. In the management system technology, they have realized the integration and improvement of business functions and systems, and can provide a unified, standard, and dynamic integration platform based on granular services.Ability to extract the functions of different parts of the application and use them as services, based on the SOA agreed service and interface definition, to achieve the loose coupling of different parts of the service.
Through research on SOA basic knowledge, architecture and WebService technology.In response to the implementation requirements of various business functions in the management system, we completed the service discovery, service interface and business process design work.In view of the need to complete a large amount of query work in the system, the paper proposes a simple query method that can be used for large information query of the entire system. It is used to quickly query complex services in the system, thereby effectively improving business information.Query performance and efficiency.
Keywords: database development; SOA technology system; WebService;
1,SOA的中心思想是使应用摆脱面向技术解决方案的束缚,轻松应对企业务变化和发展需要]。SOA把具体的功能封装成服务,通过对不同服务的调用或组合构成业务流程,让应用系统更有弹性,更快的响应业务需求。将注意力放在服务上,应用系统能够集中起来提供更加丰富、目的性更强的流程。因此,基于SOA的应用系统会更加真实地反映出与业务模型的结合。SOA架构为软件体系结构注入了新的活力,很大程度上解决了软件开发中存在的互操作性和扩展性难的问题。
面向服务的体系结构由一系列相互交互的服务组成,每种服务都能提供对该定义功能集的访问。它在整体设计和实现上为一系列相互交互的服务,这种将业务功能实现为服务的方法可以增强系统的灵活性,系统通过增加新的服务来实现演化。同时定义了系统由哪些服务组成,如何描述了服务间交互,并将服务映射到一个或多个具体技术上去。
2,企业集成平台基本功能:
(1)通信服务:提供分布环境下透明的同步/异步通信服务功能,使用户和应用程序无须关心具体的操作系统和应用程序所处的网络物理位置,而以透明的函数调用或对象服务方式完成它们所需的通信服务要求。
(2)信息集成服务:为应用提供透明的信息访问服务,通过实现异种数据库系统之间数据的交换、互操作、分布数据管理和共享信息模型定义(或共享信息数据库的建立),使集成平台上运行的应用、服务或用户端能够以一致的语义和接口实现对数据(数据库、数据文件、应用交互信息)的访问与控制。
(3)应用集成服务:通过高层应用编程接口来实现对相应应用程序的访问,这些高层应用编程接口包含在不同的适配器或代理中,被用来连接不同的应用程序。这些接口以函数或对象服务的方式向平台的组件模型提供信息,使用户在无需对原有系统进行修改(不会影响原有系统的功能)的情况下,只要在原有系统的基础上加上相应的访问接口就可以将现宵的、用不同的技术实现的系统互联起来,通过为应用提供数据交换和访问操作,使各种不同的系统能够相互协作。
(4)二次开发工具:是集成平台提供的一组帮助用户开发特定应用程序(如实现数据转换的适配器或应用封装服务等)的支持工具,其目的是简化用户在企业集成平台实施过程中(特定应用程序接口)的开发工作。
(5)平台运行管理工具:是企业集成平台的运行管理和控制模块,负责企业集成平台系统的静态和动态配置、集成平台应用运行管理和维护、事件管理和出错管理等。通过命名服务、目录服务、平台的动态静态配置,以及其中的关键数据的定期备份等功能来维护整个服务平台的系统配置及稳定运行。
3,结合Web服务的技术支持以及Web服务协议栈结构,实现SOA所涉及的关键技术主要如下:XML,SOAP,WSDL,UDDI,EDI,PDML
(1)XML(可扩展标记语言)标准是一个基于文本的W3C组织规范的标记语言260。与HTML使用标签来描述外观和数据不同,XML严格地定义了可移植的结构化数据。它可以作为定义数据描述语言的语言,如标记语法或词汇、交换格式和通信协议。
(2)SOAP(简单对象访问协议)是一个基于XML的,用于在分布式环境下交换信息的轻量级协议。SOAP在请求者和提供者对象之间定义了一个通信协议,这样,在面向对象编程流行的环境中,该请求对象可以在提供的对象上执行远程方法调用。SOAP消息是由一个必须的SOAPEnvelope、一个可选的SOAP Header和一个必须的SOAP Body组成的XML文档。其中:Envelope是表示该消息的XML文档的顶级元素;Header在通讯方之间尚未预先达成一致的情况下,Header 支持在松散环境下SOAP消息增加特性的通用机制,SOAP定义了很少的一些属性用于指明谁可以处理该特性以及它是可选处理的还是强制处理的;Body为消息的最终接收者想要得到的那些必须被处理的信息提供了一个容器。
(3)WSDL(Web服务描述语言)是一个提供描述服务IDL标准方法的XML词汇。WSDL规范定义了一个XML词汇表,该词汇表依照请求和响应消息,在服务请求者和服务提供者之间定义了一种契约。我们能够将Web服务定义为软件,这个软件通过描述SOAP消息接口的WSDL文档来提供可重用的应用程序功能,并使用标准的传输协议来进行传递。WSDL描述包含必要的细节,以便服务请求者能够使用特定服务:1)请求消息格式;2)响应消息格式;3)向何处发送消息。
(4)UDDI(统一描述、发现和集成)规范提供了一组公用的SOAPAPI,使得服务代理得以实现。UDDI为发布服务的可用性和发现所需服务定义了一个标准接口(基于SOAP消息)。UDDI实现将发布和发现服务的SOAP请求解释为用于基本数据存储的数据管理功能调用。
基于SOA的架构应用:
(5)EDI(电子数据交换):EDI格式处理的目的是将在功效上与纸介质文件等同的电子表单用统一的(或标准的)的格式进行表示,以保证各个独立开发的计算机应用之间能够实现表单数据共享与集成。
(6)PDML:PDML的技术目标是提供一种灵活的方法,使得不同应用软件系统中的产品数据能够进行交换。它是在STEP和XML基础上实现不同系统间产品数据交换和集成的一种新模式。
4,记得以前做过一个图书销售系统,功能需求如下:
用户功能需求:
1)注册登录:用户可选注册后登录系统获得更多的信息。
2)系统公告:查看公司对会员发布的各项公告、新闻等综合信息。
3)在线留言:会员可发布个人留言,经过系统管理员审核后可显示。
4)购物车:用户进入购物车后可察看本次购买产品明细和合计金额,确认后向公司发送购物订单。用户也可以修改已经放入购物车的产品及相应数量,也可以继续
选择购买产品。
5)用户查询:用户登陆系统后可以查询自己本月内所有订单,也可以查询个人所有历史订单。
系统功能需求:
1)权限管理:系统管理员可以增加、删除后台管理人员,为每个管理员定义姓名、账户、密码、岗位;系统管理员可以为每个管理员账号设置不同的后台操作权限。
2)系统公告管理:管理员发布企业新闻、公告信息,实现企业门户。
3)产品管理:维护产品信息,对产品进行分类,方便用户检索和购买;增加、修改、删除产品信息;维护产品名称、功效、单价、使用方法、产品描述、使用效果、反馈信息、产品样图。
4)订单管理:
① 处理订单:显示所有未发货用户订单信息。企业管理人员通过核实订单后,根据实际情况向用户的地址进行发货,发货后将订单标记为已经发货;如订单不符合要求,则将该订单作废,并输入原因。
② 订单查询:查询用户发出的已处理订单、未处理订单、已作废订单列表。信息包括订单编号、订单金额、订货口期、合计金额。
③ 办理退货:处理用户退货业务,确认退货产品、个数、购买时间
5)统计查询
① 产品销售统计:提供过去产品销售记录的查询。查询一个时间段内各种产品的销售统计,包括每一种、每一类产品的销售数量、销售金额。
② 销售收入查询:查询公司每月销售金额。
针对该系统SOA实施应该分为两个阶段:
1,提取并发布服务接口:
2, 搭建SOA的服务总线
在此架构下,服务总线上的“入站服务”,负责接受所有的客户端请求消息。请求消息根据设定转给“目标”。“目标”在收到请求消息后通过默认转发路径转发给“出站服务”,“出站服务”将请求消息转发给外部服务提供者,即图书管理服务接口,用户管理服务接口和订单管理服务接口。
系统设计的前端页面:Regis.jsp(负责注册),Login.jsp(负责登录),UserList.jsp(负责用户列表),AccountMgrjsp(负责帐号管理),BookMgrjsp(负责图书管理),BookListjsp(负责图书列表),ViewBook.jsp(负责图书显示),ShoppingCartjsp(负责购买图书),BookStoreMgrlmp类(负责调度后台服务),以及一些管理类(如BookMgr类,UserAccountMgr类,OrderMgr类)等等
参考文献
[1]杨涛,刘锦德.Web Services技术综述一种面向服务的分布式计算模式.计算机应用,
2004,24(8):1~4.
[2]黄勇.基于SOA的高校试题库的研究与实现.上海:华东师范大学硕士论文,2007.
[3]冯冲,江贺,冯静芳《软件体系结构理论与实践》。北京:人民邮电出版社,2004:6.22.
[4]张海川,王盼卿,陈家文,梁东.基于SOA的装备保障领域信息系统集成研究.微计算机信息,2006,22(6-3):158~~160.
[5]孙立坚,刘纪平,王亮.B/S结构下基于Web Services技术的空间分析方法的研究.测
绘科学2005(2):60~62.
翻译 朗读 复制 正在查询,请稍候…… 重试 朗读 复制 复制 朗读 复制 via 谷歌翻译(国内) 译