基于SOA架构的仓储管理信息系统研究
第 1 章 绪论
随着企业规模的不断壮大和各企业之间合作关系的逐渐密切,企业之间的商业生态系统现已颇具规模,这推动了物流业的迅猛发展。与传统物流业相比,现代物流不管是从规模还是从完善的功能方面都有了一个质的飞越。它将生产、加工、运输、仓储、销售等各环节科学合理的结合起来,大大降低了企业的物资消耗和运输成本,提高了劳动生产效率,形成了一套全新的信息化服务体系。
现代物流是一个跨企业的实体流通过程,与传统物流业相比,更加注重商品的多样化,各企业之间的合作以及与其他功能的配合,其目标是在各企业之间提供统一的业务交流标准。通过为各相关企业提供信息共享、安全透明、实时快捷的服务来促进整个物流行业的健康发展。仓储作为物流体系的核心,为企业生产商、供应商和需求方提供一系列信息化服务。安全、准确、透明的仓储信息是处理好物资传输和管理不确定性的迫切要求,但传统简单、静态的仓储管理已经不能满足企业对各种资源的协调利用和信息共享的要求。利用 SOA技术构建的仓储信息管理系统可以将不同企业、不同地区的资源信息集合到一起,提供全方位的信息化服务。
构建软件系统体系架构中,最常用的是 C/S 或 B/S 架构,但由于开发技术和平台等限制,难以形成统一的行业标准。另外,基于此类架构的软件大多只能供某个企业单独使用,无法满足如今跨领域跨企业的应用系统需要。在这两种架构中,各业务模块之间难以重用,很难对所有信息进行统一管理和适应各企业的业务变化,信息的更新、查询及安全性也很难达到用户的需求。因此探讨并开发基于 SOA 的软件系统变得十分迫切。
……
1.2 SOA 的国内外研究现状
在国际上,各大 IT 巨头公司纷纷给出 SOA 应用软件和行业解决方案,SOA标准化研讨会也在各个国家召开,不但推动 SOA 标准化的工作。SOA 已经成为目前最具商业价值的体系结构。在国内,SOA 经过了从“概念导入”到快速发展的发展过程,逐渐被不同用户探索和接受。近年来,我国智慧城市建设、企业 IT 技术集成等建设中都开始实施 SOA 架构,一些互联网企业也纷纷将 SOA 技术作为自己的企业开发路线。SOA 与物联网、云计算的融合方案也在逐步实施。
晋元 Primeton EOS是采用面向构建技术实现的企业级应用开发平台,它将 SOA、XML 技术、构建技术紧密的结合起来,实现了 SCA/SDO 规范。能够支持跨平台、系统复用、业务变更等一系列服务,并支持电信、政府、金融等行业客户关键技术的运行。
用友的 U9是行业中一款耳熟能详的产品,它支持多集团、多公司的跨国内外环境,在供应链及相关领域应用显著。U9是一款全面应用 SOA 的企业管理软件产品,实现 ESB、支持 BPM,能够满足企业集团业务的全球化部署和管理,其先进的管理模式在财务、生产制造等十几个领域得到了应用与实施。
此外,我国的研究机构和高等院校,如中国科学研究院,北京大学等也已经开始着手 SOA 相关课题的研究,并与企业进行多方面的合作和双向培养 SOA技术人员。由此可见,SOA 中的“服务”呈现出了广泛互联的特征,在各行业中具有极强的生命力。
……
第 2 章 SOA 及相关技术
从以上定义可以看到,“服务”是 SOA 的核心元素,是面向对象和面向组件之上的更高级抽象。SOA 的最大优势在于重用和互操作,面向对象的架构可以将各企业的 IT 资源融合为一种规范的、可使用的模式。SOA 不仅是一种技术,,更是一种无需关心底层实现的高度抽象化的架构思想,它将应用层从底层硬件中提取出来,对外将详细的实现过程做了掩盖,这样有利于粗粒度组件的集成和部署。SOA 体系架构不仅可以提高 IT 部门的效率,缩短开发周期,允许企业平衡现有的资源和财产,实现对各种资源的优化配置,而且可以充分发挥企业业务整合的优势,从而最大限度地提升企业和用户的收益。
随着软件工程的不断发展,软件开发方法从结构化方法到面向服务方法,使得系统开发在可重用性、可管理性和可扩展性等方面得到了不断的完善。软件开发方法越来越符合人们日常思考的模式,也更加适应应用服务系统的开发。各类软件开发方法的比较如表 2-1 所示。
由表可知,面向服务方法以“服务”为基本元素,实现了更加级别的复用,从而降低了应用系统的开发维护成本,满足企业不断变化的业务流程,越来越符合人们的日常思维习惯。
在面向服务架构的基础体系结构中,服务是一段包含服务描述接口的程序,它必须是低内聚高耦合;服务描述定义了服务的请求和响应格式,服务质量级别等;服务发布者是提供服务的平台总称,它能发布并更新服务注册中心的服务,并响应服务请求者的服务请求;服务请求者是服务的使用者,当它需要服务时,首先在服务注册中心进行服务查找,相应的服务描述匹配成功后即可调用所需的服务;服务注册中心是存储服务信息的“仓库”,是连接服务发布者和服务请求者通信的桥梁。这三种角色就是通过发布、查找和绑定三种操作进行转换,不需要知道各种转换之间的具体实现细节。SOA 中的每个实体可以使三个角色中的一种或者多种。
……
在面向服务的体系架构中,服务交互过程只是一种思想,实现 SOA 架构需要依赖一定的技术。由上一章节可知,Web Services 是实现 SOA 架构的主流技术,为 SOA 架构的实现提供理论基础和实践环境。
对于 Web 服务,人们对它的理解层出不穷,W3C 将它定义为,“Web 服务是一种独立的可自我描述的应用程序组件,能够使用开放协议进行通信,可被统一描述、发现和集成”。
SOAP (Simple Object Access Protocol),即简单对象访问协议,是由微软、Lotus 等众多知名企业在 2000 年 5 月首次向 W3C 提出,SOAP 是一种用于应用程序通信的通信协议,可以支持应用程序扩展,有良好的平台和编程语言独立性,可以简单的被调用和处理。一条 SOAP 消息必须包含 SOAP Envelop 元素和 SOAP Body 元素,而 SOAP Header 元素和 Fault 元素是可选的。
本章首先从 SOA 的定义入手,分析了面向对象方法和其他方法的区别,得到面向对象方法的优势,接着研究了 SOA 的基础体系结构。并通过分析对比选出最适合系统开发的 SOA 实现技术——Web Services,着重研究了 Web 服务标准规范,最后详细阐述了发布 Web 服务的 Apache CXF 框架的各部分组件。
……
3.1 系统业务流程分析......................................15
3.1.1 供应商业务需求.......................................16
3.1.2 生产商业务需求........................................17
3.1.3 经销商业务需求.......................................18
3.2 系统功能需求分析.......................................18
3.2.1 系统用户管理需求....................................19
3.2.2 入库作业管理需求.....................................19
3.2.3 库内作业管理需求...................................20
3.2.4 出库作业管理需求.................................22
3.3 本章小结..............................................24
第 4 章 基于 SOA 架构仓储管理信息系统的设计...............25
4.1 系统设计原则..........................................25
4.2 系统架构设计..........................................26
4.2.1 传统的开发模式....................................26
4.2.2 面向服务的系统总体架构.............................26
4.3 系统流程设计..........................................28
4.4 系统功能结构设计......................................29
4.4.1 供应商端仓储管理系统结构设计........................29
4.4.2 生产商端仓储管理系统结构设计.......................31
4.4.3 经销商端仓储管理系统结构设计......................32
4.5 系统服务建模设计......................................34
4.5.1 服务建模的原则.....................................34
4.5.2 服务组件设计........................................34
4.5.3 服务接口设计.......................................36
4.5.4 服务访问设计........................................37
4.6 数据库设计...........................................37
4.7 本章小结.............................................43
第 5 章 基于 SOA 架构仓储管理信息系统的实现...............44
5.1 系统实现平台.........................................44
5.2 表现层的实现..........................................44
5.3 服务层实现...........................................46
5.3.1 服务端实现.........................................47
5.3.2 CXF 注册和发布服务 .............................47
5.3.3 客户端调用 Web 服务............................48
5.4 业务层实现..........................................48
5.5 数据持久层实现......................................50
5.6 数据层实现..........................................52
5.7 部分界面及功能实现..................................52
5.8 本章小结...........................................55
……
第 5 章 基于 SOA 架构仓储管理信息系统的实现
本系统采用 SOA 架构模式,结合 J2EE 平台的多层次分布式应用模式进行架构搭建。开发平台采用 Eclipse IDE,应用服务器采用 Apache tomcat6.0,Web服务发布采用 Apache CXF,数据库持久层采用 Hibernate 实现。数据库系采用SQL Server 2008,另外对于页面美化与布局使用了 Dreamweaver 工具。
表现层并不需要进行业务逻辑处理,主要负责用户和中间层的交互,可以将中间层的消息显示给用户,同时也可以传输用户的请求给中间层。由于不参与业务逻辑处理,因此它的改变不会对中间层产生影响。在本系统中,表现层的实现采用 MVC 模式,该模式允许一个模型对应多个视图,采用该模式的好处是当模型发生变化时,可以更好的维护系统,代码的复制也会减少,同时整个系统的结构也更加的清晰。
控制器 Servlet 主要负责与模型交互,响应用户请求并把相应结果调用到视图端显示出来。控制器的的主要工作流程是,第一步,通过用户的请求信息来判断将要完成的用户需求服务,第二步,查看 CXF 总线上的 WSDL 文档,根据文档中的信息绑定服务的地址,并将相应的结果通过消息返回给用户。
本文所设计的仓储信息管理系统中的服务层功能实现是依赖于业务层功能实现。系统在传统三层架构(数据持久层、业务层和表现层)的基础上增加了服务层,服务层在此基础上将其封装成 Web 服务,完成了服务的生成。但是这个生成的 Web 服务只是存储在服务层中,并没有发布出去给用户使用,因此服务层还需要将实现 Web 服务的发布功能。
……
结论
本文的研究工作和成果主要包括以下几个方面:
首先,研究了现代物流中的核心模块——仓储管理,分析了其在企业中的地位和作用,并结合 SOA 的发展状况对基于 SOA 架构的仓储管理信息系统进行研究。
其次,通过分析对比,引入业界广泛认可的 Web Services 技术来实现 SOA架构,采用 XML 进行数据表示,整个实现过程是通过用 WSDL 、UDDI 和SOAP 协议分别进行服务的描述、定义、发现和调用。
第三,根据仓储管理信息系统的需求分析和基于 SOA 架构系统的设计原则,从系统总体框架、系统流程、系统功能结构、服务建模、数据库等方面对系统进行详细设计。重点是服务组件和接口的设计。
最后,对 SOA 架构的仓储管理信息系统进行设计实现,用到 Apache CXF框架对所需的服务进行发布,便于客户端调用相应的服务。
参考文献(略)
本文编号:44484
本文链接:https://www.wllwen.com/guanlilunwen/glzh/44484.html