《基于SOA的机械企业物流信息管理系统.pdf》由会员分享,可在线阅读,更多相关《基于SOA的机械企业物流信息管理系统.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于SOA的机械企业物流信息管理系统3袁 嘉1,徐黎明2(1.广州市土地房产管理职业学校,广东 广州 510320;2.工商银行广州研发中心,广东 广州 510630)摘 要:为了提高中小机械制造企业物流信息管理系统的适应性,促进企业间各营业系统的整合,提出了采用面向服务架构(SOA)的企业信息管理系统开发框架,它采用SOA最新的服务构件架构(SCA)和服务数据对象(SDO)标准,提供了不同粒度的服务,提高了系统的可重用性,能够快速满足企业业务需求的不断变化。关键词:面向服务架构;服务构件架构;服务数据对象;网络服务;机械企业物流信息管理系统中图法分类号:TP302.1 文献标识码:A 文章编
2、号:1006-4414(2009)04-0157-03Logistics information management system formechanical enterprises based on SOAYuanJia1,Xu Li-ming2(1.Guangzhou real estate managem ent vocational school,Guangzhou Guangdong510320,China;2.China industrial and commercial bank research center,Guangzhou Guangdong510630,China)A
3、bstract:Logistics information management developing framework is carried out,in order to raise the adaptability ofmiddle/s mall logistics infor mation management system formechanical enterprises and to promote the confor mity between the differentbusiness subsystems.The newest SCA and SDO standards
4、are adopted and different granularity services are offered.The repet2itive application of the system is improved to satisfy the variable enterprise requirements fleetly.Key words:SOA;SCA;SDO;web service;logistics enterprise information management system formechanical enterprises1 引 言对于机械制造企业,从原材料输入到
5、产品输出,离不开有效的物流体系。加强物流信息化系统建设主要目的在于:改善企业内部和企业间的信息交换方式,提高工作效率;提高系统运作的速度,在最短的时间里将正确的商品和服务提供给客户;对货物进行动态追踪管理;获取并分析供应商、客户及合作伙伴的相关信息,帮助企业作出更好的决策。随着近几年物流企业的快速发展,企业间各应用系统间的整合集成成为普遍的需求,也成为影响企业竞争力的关键1-4。面向服务架构(Service-oriented Architecture,SOA)提供了一种标准的系统模型,它将应用程序的不同功能单元以服务的形式发布,通过这些服务之间定义良好的接口和规范按松散耦合方式整合在一起,即可
6、以将多个现有的应用软件通过网络整合成一个新系统。SOA的这一思想为企业为企业提供一个良好的开发框架,可以最大限度的减少系统间的耦合,提高可重用性,降低开发成本。SOA面向服务架构的研究已历时多年,3个重量级规范:服务构件架构、服务数据对象和网络服务协议的制定,标志着SOA进入了实施阶段。本文结合某机械制造企业的实际需求,提出了基于SOA的物流信息管理系统开发架构,根据SCA/SDO标准构建了系列组件并发布为Web服务。2SOA及SCA/SDO标准W3C将SOA定义为“一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以定义好的顺序调用这些服
7、务来形成业务流程”。SOA的关键是“服务”,W3C将服务定义为“服务提供者完成一组工作,为服务使用者交付所需的最终结果”2。2007年3月,OSOA联盟规范正式发布SOA国际组件标准SCA和SDO的release版本,并提交标准化组织OASIS,使该规范逐步成为正式的国际标准,通过其开放式标准过程进行推动,所有的厂商都可以在这个标准之上实现各自的SOA服务,并确保可以互连互通。该规范提供了统一服务的途径,大大降低了在应用开发过程中,因程序设计语言与部署平台的不同而产生的复杂性。SCA提供了一种统一的面向服务组件的调用方式,使客户可把不同的软件模块通过服务组件的标准化统一封装和被调用访问。而SD
8、O则作为一种数据编程架构和API统一了不同类型数据源的数据编程,让开发人员可从不同的数据源以统一的方式访问和操纵数据。可以说,SCA以面向组件的方法,简化了客户的业务逻辑编程,提高了应用的灵活性,而SDO则更进一步从数据对象上大大简化了开发。3 751制造业信息化 机械研究与应用 3收稿日期:2009-08-03作者简介:袁 嘉(1973-),女,广东潮州人,讲师,主要从事计算机教学和应用方面的研究工作。基于SCA的企业应用系统的开发流程如下。(1)构件开发:实现构建的业务逻辑,构件的服务可以使用Java接口或者采用WSDL进行发布。构件的服务、引用、属性等信息都需要定义在一个后缀名为.com
9、ponentType的XML文档中。(2)构件组装:构件开发完成后,可以将一组功能相关的构件组装成为一个模块,为了使模块与外部各种类型的模块进行信息交互,将模块的入口点和外部服务定义为EJB绑定、WS绑定等绑定方式。模块所包含的组件、入口点、外部服务等信息都需要在一个后缀名为.module的XML文档中进行统一定义。(3)部署和发布:SCA的模块需要被部署在支持SCA容器中才能够正常运行,目前SCA运行时环境主要包括Apache Tuscany、I BM WPS(WebsphereProcess Server)6.0等。图1SCA构件组装图3 物流企业信息管理系统物流企业信息管理系统主要是提供
10、给物流公司及其客户方便其对货运过程中货单、车辆信息进行跟踪管理。并提供与公司财务系统、人力资源管理系统、考勤系统等的接口,方便公司的统一管理。另外,还可提供与GPS系统的接口,使用户可方便的访问GPS系统,查询车辆的位置信息。其主要业务模块如图2所示。图2 物流企业信息管理系统模块图 下面将以订单管理模块为例,详细展示Web服务的开发过程。订单管理模块包括了用户创建订单,订单状态管理,收费等功能。此处将分别遵循SCA/SDO标准构造细粒度组件,然后将它们组装成粗粒度的订单管理组件,提供相应的接口,实现查询本地数据库,并向外部应用提供数据的功能,然后通过Web Services绑定的方式,将这些
11、组件发布成Web服务。3.1 服务的设计系统中服务的设计一般先从功能模块分离出基本服务,各功能模块可以看成是合成服务。这样应用系统可以通过基本服务和工作流程以各种形式组合起来。这种设计可以保证在组合服务经常需要变动的情况下,不会影响到应用系统的整体架构的改变。订单管理模块需要对外发布Web服务接口,以与GPS定位系统,公司财务系统等进行交互。对外发布的Web服务部分接口设计如下。(1)PurchaseOrderService:订单管理接口,实现包括订单创建,修改,审批等功能。(2)POStatusService:订单状态接口,可以从GPS系统中获得订单目前的位置,管理订单的状态信息。(3)Ch
12、argeService:订单收费接口,与公司财务系统进行交互,管理订单收费。(4)DataBaseService:数据库接口,包含三个方法,第一个是判断是否能连接数据库,第二个是执行查询语句的方法,返回List,包含查询出来的数据,第三个是执行更新语句的方法,返回String类型的结果,表示执行操作成功或失败。其中,PurchaseOrderService是系统对外发布的接口,是整个系统的入口,外部的应用或其他的组件将调用这个接口中的方法来完成其功能。它将通过Web Services绑定的方式对外发布。DBService是DataBase Component中提供的服务,这个服务直接访问数据库
13、,返回相应的数据给调用它的其他组件或服务。其他接口不做详细介绍。图3 服务构件组装图3.2 构件组装已经实现的SCA组件通过组件装配文件 posite可以使各个接口之间建立调用或者被调用851制造业信息化 机械研究与应用 的关系。在SCA/SDO标准下,能方便地依照组件装配文件组装起接口,在程序运行的时候,SCA运行环境根据组件组装文件对各个接口进行实例化、注入。组件装配文件是一种符合SCA规范的XML文件,根元素是,包含了0个或多个元素,表示组成该组件的粒度最小的组件。元素中包含了、等元素,分别表示这个组件提供的服务名、与其绑定的具体实现、这个组件中引用到的其他组件,以及属性的初始值等信息。
14、根据对接口的设计和实现,本文组件装配文件的部分代码如下所示:从上边的代码可以看到,PurchaseOrderService2Component组件通过java绑定的方式,和具体的实现文件PurchaseOrderServiceI mp关联起来。PurchaseOr2derServiceComponent提供了暴露在外部应用中的接口PurchaseOrderService,这个接口通过Web Services绑定的方式向外部应用提供服务,需要用WSDL文件来描述(该WSDL文件将在下一小节介绍),在这个接口中引用到了DataBaseServiceComponent等其他组件中的服务,所以必须使用
15、标签来进行说明。3.3 服务发布若要外部应用能发现此组件,需要用WSDL文件来描述其中对外公布的接口。WSDL文件,包含定义命名空间、数据类型、消息数据结构、操作集合等,在该文件中对PurchaseOrderService中的各个操作和使用到数据类型进行定义,并将这些操作绑定到指定的端口上,以便外部的应用发现并调用。定义数据类型:WSDL中使用的数据类型定义系统是XSD(XML Schema Datatype,XML Schema数据类型),XSD仅提供一些基本类型,如String、Date、float等。比如,定义:定义消息数据结构如:操作集合定义:对接口中的各个方法进行抽象描述,除了写明方
16、法名,还需要指明每一个方法输入参数和返回值对应的消息名称,即指明一个外部应用对本服务的访问入口的请求/响应消息对。如:标签表明该方法的输入参数,则表明该方法的返回值,message属性让指定消息与方法的输入参数或返回值关联起来。最后是将定义好的方法和数据格式通过标签和某一种具体的网络传输协议相绑定,在此WSDL中使用的SOAP/HTTP协议。在标签中还需要和、等标签为每一个方法绑定输入输出参数的数据格式。WSDL文档中的标签用来定义Web服务,可以包含一个或多个标签,其中每个表示一个不同的Web服务,它将一个URL赋予一个特定的绑定binding,如本文中对PurchaseOrderServi
17、ce的定义为:这一段代码具体地定义了一个名为PurchaseOr2derservice的Web服务,该服务有一个访问入口,它的访问地址就是标签中设置的URL。至此,完整的WSDL文档已经完成。外部应用程序即可用访问该Web服务。4 结 语本文所提出的物流企业信息系统,已经在某机械制造公司试运营。由于其对外接口简单,与企业其他信息管理系统间的耦合性降低,集成效果良好,大大降低了企业信息化的成本。另外,构件基于国际通用的SCA/SDO标准组建,可复用性高。本课题的研究成果具有应用价值,虽然取得了一定的成果,但在项目的设计和实现过程中,还是存在着一些问题需要进一步研究和完善,包括如下方面。(1)关于
18、数据访问层DAS的标准化问题还在进一步研究中,随着更详细的国际标准的提出,本文的开发框架也需要随之完善。(2)本文所提出的基于SOA的开发框架主要是针对业务实现方面进行了相关的组件开发和Web服务发布,但是关于服务的安全问题、质量问题等没有详细的研究,这些在实际的应用中是非常重要的,需要开发过程中及部署过程中对其充分重视。参考文献:1Open SOA Collaboration.SCA Assemble Model v1.00DB/OL .2007.http:/www.osoa.org/display/Main/Service+Component+Architecture+Specifications.2Open SOA Collaboration.SDO for Java Specification v2.1 DB/OL.2006.http:/www.osoa.org/display/Main/Service+Data+Objects+Specifications.3 徐 敏,黎剑兵,雷震甲.物流企业管理信息系统解决方案J.计算机工程,2002,28(3):210-213.4 宋慧驹,马 楠,吴志刚.SOA编程模型-SCA/SDO J.信息技术与标准化,2007(11):38-40.161制造业信息化 机械研究与应用