首页 > 基础设施 > 正文

中间件案例;SOA技术在集装箱码头的应用

2011-01-05 09:31:14  来源:万方数据

摘要:本文阐述了SOA的基本概念。介绍了基于SOA的架构的协同物流平台的设计和应用,使集装箱码头和堆场可以协同工作,实现服务共享。
关键词: 中间件

  本文阐述了SOA的基本概念。介绍了基于SOA的架构的协同物流平台的设计和应用,使集装箱码头和堆场可以协同工作,实现服务共享。

  1.引言

  面向服务的体系结构(Service—Oriented Architecture,SOA)是一种IT体系结构风格,支持将企业的业务转换为一组相互链接的服务或可重复业务任务,可在需要时通过网络访问这些服务和任务。这个网络可以是本地网络、Intemet,也可以分散于各地且采用不同的技术,通过对来自码头、堆场的服务进行组合,可让最终用户感觉似乎这些服务就安装在本地桌面上一样。可以对这些服务进行结合,以完成特定的业务任务,从而让企业的业务快速适应不断变化的客观条件和需求。

  2.SOA的基本概念

  所谓的SOA就是面向服务的体系结构(service—oriented architec—ture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

  传统的Web(HTML,HTTP)技术有效的解决了人与信息系统的交互和沟通问题,极大的促进了B2C模式的发展。WEB服务(XML/SOAP/WSDL)技术则是要有效的解决信息系统之间的交互和沟通问题,促进B2B/EAI/CB2C的发展。SOA(面向服务的体系)则是采用面向服务的商业建模技术和WEB服务技术,实现系统之间的松耦合,实现系统之间的整合与协同。WEB服务和SOA的本质思路在于使得信息系统个体在能够沟通的基础上形成协同工作。

  SOA方法学作为应对面向对象以及面向组件缺陷的解决方案呈现在人们眼前。在面向服务的应用程序中,开发者只需要关注于业务逻辑的编写,以及通过可交换的、可互操作的服务终结点暴露业务逻辑。客户端调用这些终结点,而不是服务代码或者它的实现包。客户端与服务终结点的交互基于标准的消息交换,服务发布各种标准元数据,描述服务的功能,以及客户端调用服务操作的方式。元数据就是服务,相当于C++的头文件,COM的类型库,或者.NET程序集的元数据。服务的终结点是可重用的,在交互的约束(例如同步、事务以及安全通信)下,服务是与客户端兼容的,而与客户端的实现技术无关。

  在开发面向服务应用程序时,我们能够实现服务代码与客户端使用的技术与平台的解耦,也与并发管理、事务传播和管理以及通信可靠性、协议和模式无关。总的来讲,实现从客户端到服务的消息传递的安全,就是对调用者的认证,它属于服务范围之外。服务根据需求仍然要实现服务自身的本地授权。在太多数情况下,客户端并不知道服务的版本:只要终结点支持客户端期望访问的契约,客户端就不用考虑服务的版本。为了处理客户端与服务之间传递数据的版本兼容,面向服务同时还构建了版本兼容的标准。

  一个面向服务应用程序只是简单地将服务组合到一个单一逻辑的、整体的应用程序(参见图1)中,这类似于聚合了对象的面向对象应用程序。

\

  图1

  应用程序自身可以将组合服务公开为新的服务,就好像一个对象可以由多个小的对象组成一样。

  在服务内部,开发者仍然使用传统编程的概念,例如特定的编程语言,版本,技术与框架,操作系统,API等。但是,服务之间则必须使用标准的消息与协议、契约以及元数据交换。

  应用程序中的不同服务全部可以放到相同的位置上,或者分布放到企业网或互联网上。它们也可以来自于多个开发商,使用各种不同的技术与平台进行开发,版本独立,甚至执行在不同的时区。所有的这些公共基础功能特性对于在应用程序中与服务交互的客户端而言,都是隐藏的。客户端发送标准消息到服务,两端的公共基础功能通过消息以及与平台无关的传输型表示形式进行转换,并对客户端与服务之间存在的区别实现封送。

  3.SOA在集装箱码头的应用

\

  图2系统框架图[page]

  3.1背景介绍

  随着集装箱港口的发展,港口间的竞争也变得越来越激烈。要在新一轮的港口竞争中取得优势,必须使港口的物流作业系统化、合理化,为船舶装卸提供一个良好的物流作业平台,而实现这一目标的唯一有效途径就是优化港口资源的分配与调度。

  目前,集装箱码头不能掌握集装箱堆场的存量信息和集港卡车信息,不能正确安排集港机械和集港通道,合理分散作业压力,经常出现一些时段机械不足、严重压车而另一些时段机械闲置的现象;由于双方的作业信息不能共享协同,码头就不能够统筹安排作业。

  集装箱码头和堆场信息系统多数处于封闭运行的状态,码头和堆场之间信息不对称。信息系统即无法满足码头管理的综合需求也无法达到堆场的智能化的需求。信息化的优势难以有效发挥。同时信息化标准不健全,如电子交换接口标准、业务流程协同标准;流通中的票证、单据格式标准;电子数据交换所必须的结构化数据标准等。

  采用SOA技术则可以有效解决上述问题,由于SOA基HTTP/SOAP/WSDL等开放式技术,系统开放、互操作性强,可以建立统一的WEB、服务用于和不同的堆场。码头企业信息系统实现物流链协同。由于SOA的松耦合特性、比较符合各个企业的商业关系,业务流程整合和项目协调的阻力会有效降低。

  通过基于SOA思想和Web Service技术整合港口物流环境中堆场和码头作业数据,提高整个物流链的自动化程度;开展基于数据发掘的知识管理,利用历史数据指导计划人员制定合理的作业计划;堆场一码头的信息一体化管理的实现,为实现整个港口物流的信息一体化提供基本的尝试与探索。

  3.2系统架构

  该框架主要包括集装箱码头的web服务器,应用服务器以及数据库服务器,堆场的web服务器和数据库服务器等(如图2)。

  3.3业务逻辑

  各个堆场和码头拥有自己的web服务器和数据库服务器,通过webservice技术整合各自的技术与平台,把堆场和码头的各个管理系统里能为对方所使用的有效信息发布出来,协同物流系统平台会引用这些服务,同时堆场和码头可以登录平台对其关心的数据进行查询和统计分析。举一个简单的例子,例如箱子在什么时间出的堆场,用什么拖车,什么时间进的码头,什么时间出的码头以及最后回到堆场这一整个流程都会计算和显示出来,以方便码头操作人员合理安排集港和疏港安排作业,以及对一些特殊事件的决策,同时方便了堆场管理人员对箱子进入码头的时间进行查询和统计,以及车队在拖车的管理上更加方便,可以对拖车在路上以及在码头的作业时间等参数进行查询和统计分析。通过码头和堆场双方更大范围的交换数据,真正的可以使码头一堆场等单位的各自数据集成到一起,解决各方信息孤岛问题,实现信息的共享(如图3)。

  所有的堆场和码头可以这样说,发布的不单纯是数据,更准确的说都是一种服务,它的含义更贴近于企业日常的业务活动,业务梳理和建模的复杂度会有效降低,重用性也会有效提高。另外采用SOA,企业IT系统所提供的服务会更容易扩展、组合和变更,符合目前业务发展变化较快的特点,可以有效的降低IT系统的长期拥有总体成本。

\

  图3业务逻辑图

  4.总结

  采用SOA技术最终将使得各个码头和堆场之间实现高效实时的联接,使得整个物流链实现自动化的协同物流,将会有力的提高各方的应变能力,转变现有的物流作业流程。SOA技术将促进信息系统在各方业务活动中的全面渗入和发展,对于简单的物流业务,将会由信息系统自动化实现;对于复杂的流程,信息系统将会为各方管理人员提供足够的决策信息并可以高效的执行决策。SOA技术的应用将会全面提高物流作业的自动化、智能化和实时化水平。


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:qwenf

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。