|
SOA技术在集装箱码头的应用案例解析本文阐述了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系统框架图 责编:刘沙 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
推荐博客 |
|