SOA架构在物流信息系统开发中的适用性研究,本文主要内容关键词为:适用性论文,信息系统论文,架构论文,物流论文,SOA论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言
管理信息系统是企业管理的有效工具,但随着商业行为和外部环境的不断变化,企业原有的信息系统无法满足不断更新的需求,这需要企业不断地重新建设信息系统,由此造成资源无法重复利用、投资浪费等一系列现实问题。特别是对于物流企业来说,作为一种服务性、支持性企业,客户需求变化频率更高,这需要物流信息系统借助一种可以复用的技术,针对业务流程的变化,及时地调整信息系统,对企业的新任务做出响应。SOA(Service Oriented Architecture)面向服务的体系结构,这一理念的提出,为信息技术与业务管理之间架起了一座桥梁,使信息系统的开发不再是对现有管理模式的固化,而可以随着业务的拓展和变化不断地扩展信息系统的管理能力,一方面提高了既有软件的可复用性,另一方面也提高了信息系统的适应性。本文在分析物流企业管理需求的基础上,结合SOA技术的主要特点,分析该技术在物流信息系统开发中的适用性。
2 物流企业管理需求的复杂性分析
作为一种服务性、支持性组织,物流企业的业务是伴随生产、流通型企业而展开的,物流企业的服务对象动态性较强,只有不断提高管理的柔性,才能应对客户需求的变化。
(1)物流企业的业务需求是由供应链上下游企业所决定的。对于物流企业而言,业务需求是由上下游企业所决定的,由于物流服务存在可替代性,服务对象的变更是非常常见的现象。即便是服务对象固定,该企业的业务也有可能随市场需求发生变化,物流企业的服务项目也因此需要及时调整。
(2)物流企业需要在适应过程中寻求创新。物流企业面临越来越激烈的竞争,除了积极适应服务对象的业务需求,还要不断地寻求服务项目上的创新,这对企业管理能力,特别是信息化管理能力提出了新的挑战。
(3)物流企业几乎不能以供应链链主的角色出现。即使是UPS联合包裹服务公司这样的物流企业巨无霸,也不能以供应链链主的角色出现,这是由物流服务性质所决定的,物流企业做的越成功,面临的服务对象越多元化,服务项目越广泛,管理难度也随之提升。
通过以上的分析不难理解,物流企业的任务是外部导入型,只有充分吸收其他行业企业的既有知识,迅速提高自身的管理水平,适应服务对象的要求,物流企业才能得以生存。对于业务相对稳定的企业,企业信息化的重点是不断完善对既有业务的管理,而物流企业的信息化建设,则要强调柔性和与服务对象之间的协同,因此物流企业的信息管理系统应具备较强的适应能力。传统物流信息系统的开发思路,往往局限于某些特定的功能,“信息孤岛”的问题比较突出,信息处理能力差,跨平台信息交换障碍,严重地阻碍管理效率的提高。面对这些问题,需要引入一种全新的软件体系结构,重新构造软件元素、元素的外部可视属性以及元素之间的关系,以适应外部多边的业务需求,面向服务的体系结构SOA技术,恰恰为该问题提供了一种全新视角的解决方案。
3 SOA
面向服务的体系结构(SOA)是一种基于服务来组织计算资源,具有松耦合和间接服务寻址能力的软件体系结构。耦合(coupling)是互相交互的系统彼此间的依赖。这种依赖可以分为真依赖和假依赖。真依赖是系统从其他系统获取的要素(feature)或服务的集合。真依赖总是存在,无法简化。假依赖是系统为获得其他系统提供的要素或服务而不得不服从的因素。典型的假依赖包括语言依赖、平台依赖、API依赖等。假依赖总是存在,但可减少或者降低其代价(W3C Glossary 2003)。松耦合体现在系统间仅存在真依赖关系。真实情况下,松耦合是一个相对的概念,体现在某系统的假依赖已经最小化。间接服务寻址事实上是松耦合的一种具体的实现方式,但在定义中被重点提出,目的是为了和SBA(Service-Business Architecture)区别。
3.1 SOA中的三种角色
根据Service-architecture.com所提出的概念,SOA本质是服务的集合。服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、独立于其他服务所处环境和状态的函数。
在SOA架构中,存在协作关系,这其中涉及三个角色,分别是服务消费者、服务代理者和服务提供者,如图1所示。服务提供者(provider)通过服务代理者(broker)注册并发布(publish)他们所能提供的服务,服务消费者(consumer)可以通过服务代理者找到(find)所需的服务,并将该服务绑定(bind)到自己的应用程序中。上述三种角色的定义如下:
图1 SOA架构
服务提供者的工作是提供服务,并且把包含服务接口、服务访问地址等信息的服务描述以及服务的其他一些相关元信息(如服务提供者信息,服务质量特征)发布到服务注册中心。
服务注册中心提供服务间接寻址功能,是帮助服务消费者发现和定位合适服务的“中介服务”。服务注册中心的存在,剥离了服务消费者和服务提供者之间的服务直接寻址依赖,使服务的地址在发生变更时不会影响到服务消费者。此外服务注册中心可以使服务消费者实现动态服务配置,在众多服务之中选择条件最匹配的服务,或者形成服务组合。
服务请求者可以通过服务注册中心间接获得服务描述,或者从服务提供者直接获得服务描述,然后遵从服务描述的接口和地址约定实现和服务提供者所提供服务的交互。
3.2 SOA的特点
SOA具有松散耦合、粗粒度服务、标准化接口和基于消息进行通信的特征。松散耦合是指服务接口的定义独立于服务实现硬件平台、操作系统或编程语言。系统内组件的松散耦合,使得当系统中某些模块有所改变时,仅需修改次模块的内部程序,对其他模块没有影响,从而能够更加灵活的满足业务变化需求。服务粒度(service granularity)就是指一个服务所包含功能的复杂程度,服务粒度越大,意味着该服务中包含的功能越复杂,反之,则越简单。SOA倡导松散耦合关系下适度的粗粒度服务,特别是在设计阶段,借助合理的粗粒度有效地反映新的业务流程。SOA服务接口的标准化包括消息格式、传输协议和位置等,反映了服务间交互所需要的各种标准,但隐藏了服务实现的细节,允许接口独立于服务实现的硬件平台、操作系统或编程语言。SOA服务之间通过消息进行通信,利用预先定义好的消息,当服务请求者和提供者进行通信时,不必了解服务提供者所处的环境。
4 应用SOA架构的主要动因
对于面向供应链管理,服务于采购、生产、分销、配送等诸多功能的物流信息系统,应能够完成多业务流程的快速集成、信息的高度共享、满足跨平台、高扩展性等需求,SOA面向服务的架构为物流信息系统的开发和设计提供了一种新思路。
4.1 软件开发方法适应性需求
软件开发方法呈现出异彩纷呈的局面,企业可以基于多种开发平台,利用不同的开发工具进行商业系统开发,这使得软件系统前所未有的复杂。由于传统软件开发在使用的平台、开发工具和操作系统上的紧耦合,当新需求出现时,软件的复用性非常低,造成大量资源的耗费,面向服务体系结构,可以忽略旧有系统的开发环境和运行平台,方便地使旧系统纳入新系统中。
4.2 协同化信息管理的需要
物流企业服务对象的信息系统,同样面临着不断运行系统升级,软件不断更新,只有采用面向服务的架构,提高信息系统现有模块的适应性,整合系统的现有资源,顺畅地衔接新旧系统,才能提高物流企业的灵活性和扩展性,面向供应链形成协同化的信息平台。
建立开放式的信息系统分为三个层次:
首先,作为社会化服务企业,配送中心的MIS系统需要构建标准化的信息输入接口,以便与供应链上其它异构数据库进行有效对接;其次,利用EDI技术代替手工操作,处理订单数据,确保订单信息及时准确;第三,对于有条件的链主企业,可以与其供应链管理系统无缝对接。
面向服务的架构所具有的诸多优势,使物流信息系统具备复用度高和扩展性好的特性,从而使物流企业在激烈的竞争环境中获得长足的发展。
4.3 服务提供动态化的需要
面向多样化的顾客需求,物流企业的业务流程需要及时地调整。SOA所提供的服务粒度,可以按照业务的需要进行服务粒度的划分,客户端可以直接调用某个服务,也可以调用由主要服务和辅助服务组合起来的服务。类似于日常费用支出的成本核算流程,相对较为固定,其服务粒度可以适当做大些;而对于企业独特的、代表企业核心竞争力的流程,诸如拣选流程、费收核算流程等可以适当地减少服务粒度,以便于更好地拆解,并获得更大的灵活性。
4.4 业务流程灵活化需求
业务流程是由各类服务组件按照特定的规则组装而成,通过可灵活配置的流程引擎、可视化的流程展现,用户可以随时查阅每一项业务流程的规则、路线、处理状态及参与者,并根据市场、供应链、战略流程、规则等各方面因素进行调整。
4.5 软件复用性需求
SOA使企业软件由传统的封闭式开发方式,转变为像搭积木一样,将各种Web服务组件有机地结合在一起,构成新的软件系统。其中的组件既可以是原来已经做好的,也可以是新开发的。这里的服务重用性是对于封装好的服务,例如对于该物流系统中的作业状态监控、作业调度等服务,通过对企业内部和外部客户不同级别的授权,他们就可以分别获得相应安全级别的验证服务。这样可以最大限度地满足物流企业多重的管理需求。
5 结语
尽管与SOA相配套的技术实现手段尚未完全成熟,但该理念能够显著提高软件的可扩展性、复用性和灵活性,同时提高信息技术与物流业务的融合度,进而提高物流企业的适应能力和管理水平。基于SOA的物流信息系统架构能够实现更多的复用和集成,因而具有很高的业务敏捷性和投资回报率,是未来物流信息系统的发展方向。鉴于物流企业的服务特性与SOA理念的一致性,随着技术实现手段的逐步完善,基于SOA的物流信息系统架构也会大行其道。