APP下载

工业企业系统集成技术系统集成的软件技术(上)

2017-08-31魏晓东,陈朝晖

自动化博览 2017年5期
关键词:系统集成调用异构

工业企业系统集成技术系统集成的软件技术(上)

城市轨道交通标准技术委员会魏晓东广州新科佳都科技有限公司陈朝晖

本讲介绍系统集成中最重要的技术—系统集成软件技术。信息化集成系统的层级被集成为有机整体,主要是通过系统集成软件实现的。信息化集成系统不同层级通过分层分布式软件架构集成起来实现信息化集成系统整体目标。信息化集成系统软件将硬件平台、网络平台、数据库平台、工具平台,各种子系统应用软件平台以及系统整体的各种资源有机、高效地集成到一起,形成了一个完整的信息共享环境。系统集成软件平台决定系统集成的成败、对智能生产、智能制造的开发、维护有重要的影响。系统集成软件成为构建信息化集成系统的关键。

工业4.0时代,互联网渗透到企业间和企业内的信息化集成系统。互联网已成为新的计算基础设施,它的出现和普及使计算机软件开发、部署、运行和维护的环境开始从封闭、静态逐步走向开放、动态。越来越多的企业提供基于互联网的服务,新的业务模式得到了发展,企业业务系统之间的交互逐渐增强,系统之间的通信和集成问题凸现出来;在企业内部也存在异构系统之间的整合问题;因此,发展出了各种分布式系统集成技术。首先是分布式企业应用集成技术和分布式实时应用集成技术;进而言之,是系统集成软件的核心——系统应用集成架构。

1.1 企业分布式应用集成技术

1.1.1 分布计算、分布式系统和分布式组件技术

在企业应用中分布计算是指各种不同的工作站通过网络互相连接,由分布式系统提供跨越网络透明地访问各种异构设备所需要的支持,使得用户可以充分利用网络上的各种计算资源来完成自己的任务。与网络技术的发展和日益增长的应用需求相适应,分布式计算已经成为新一代计算和应用的主流。

分布式计算中所涉及的分布式系统是指组件分布在网络计算机上且通过消息传递进行通信和动作协调的系统。分布式系统具有以下特征:组件的并发性和组件故障的独立性。构造分布式系统的挑战主要是其组件的异构性、开放性(允许增加或替换组件)、安全性、可伸缩性(用户数量增加时能正常运行的能力)、故障处理以及组件的并发性和透明性。构造和使用分布式系统的主要动力来源是资源共享,分布式系统之间的通信和集成技术是重点。

分布式系统中,中间件能够很好的完成异构分布系统的集成,互操作,并且能够很好地保证这些系统的可移植特性,因而极大地降低了开发分布式应用的周期,能够提高系统的可靠性,是当前分布式应用开发和分布式系统集成的主要手段。中间件技术是软件技术发展史上一大进步。中间件是基础软件的一大类,是一种介于应用软件和操作系统之间的独立的系统软件或服务程序。它能屏蔽操作系统和网络协议的差异,帮助管理各种复杂的异构的分系统,并为处于上层的应用程序提供一个标准的开发与运行环境,使得分布式应用软件能够独立于特定的硬件和操作系统平台,帮助用户灵活、高效地开发和集成复杂的应用软件。中间件可满足大量应用的需要,运行于多种硬件和OS平台,支持分布计算,提供跨网络、硬件和OS平台的应用或服务的交互;支持标准的协议,支持标准的接口。

随着软件的市场规模和软件的系统规模快速扩大,特别是网络普及后,软件的运行已经网络化。软件开发必须考虑网络功能,即分布式特点,于是中间件技术又向前迈出一大步即分布式组件技术。21世纪的软件工业面临着如何将高效的应用程序开发和分发、较低的费用、良好的可管理性和足够的安全性统一在一起。简化软件开发流程、降低开发成本、提高效益并开发出可用性、伸缩性、开放性好的软件成为关键。分布式组件技术是解决这些问题的有效途径,正在全面取代传统的软件设计方法。分布式组件技术具有面向对象的特点,能够良好地模拟真实世界的各种情况,且能直接对应到软件模块中;对于系统级开发人员,通过分布式组件方式开发的组件可提供给各类应用软件使用,并且可以重复多次使用,不用考虑升级问题。对于独立软件供应商,则可专心开发领域内应用组件,不用考虑跨平台兼容性的问题。对于软件使用人员,使用一致的应用组件节省了大量的学习时间。分布式组件技术使用经过封装的可重用的软件组件来构造应用程序,为多层结构系统开发注入了新的活力,使分布式应用软件变得易开发、易修改和易升级。

1.1.2 分布式应用集成技术

企业自上世纪七十年代开始使用IT支持系统至今,一些大型企业中各种IT支持系统平均达数十种之多。它们大部分是一个个的信息孤岛,管理着企业特定的各个职能部门的工作,相互之间缺乏有效的通信。随着信息技术的不断发展,今天的企业需要一个集成的、开放的、面向用户且随需而变的IT支持系统,因此面临着应用系统的整合问题。不同的应用(尤其是不同企业的)的开发语言不同,部署平台不同,通信协议不同,对外交换的数据格式也存在着差异,如何去解决解决语言差异、平台差异、协议差异、数据差异所带来的高代价的系统集成是这个问题的关键。

企业应用集成(Enterprise Application Integration,EAI)将企业中的业务流程、应用系统、硬件和各种标准联合起来,在两个或更多的企业应用系统之间实现无缝集成,是它们像一个整体一样进行业务处理和信息共享。企业应用集成不仅包括企业内部的应用系统集成,还包括企业与企业之间的集成,以实现企业与企业之间的信息交换、商务协同、过程集成和组建虚拟企业和动态联盟等。目前,常用的企业应用集成技术有远程过程调用技术、分布式对象技术、面向消息的中间件技术和Web服务技术。

(1)远程过程调用技术

RPC(Remote Procedure Call Protocol)——远程过程调用协议,在分布式环境下,远程过程调用允许本地计算机上的程序调用远程计算机上的进程。远程过程调用采用客户机/服务器模式。允许发送一个请求(客户进程)到服务器进程,服务器进程执行这个过程并发回一个结果(响应)消息。该方法最主要的特点是程序不需要知道调用的过程是本地还是远地。远程过程调用和传统的过程调用不同就在于调用者(Caller或Client)和被调用的进程(Server)是在不同的机器上的不同的进程。远程过程调用的灵活性体现在它的跨平台性上,它不仅远端的子程序,而且这种调用是可以跨越不同操作系统平台的。远程过程调用适合于小型的简单应用,当需要支持多种通信模式时,远程过程调用并不适合。

(2)分布式对象技术

分布式对象技术支持多种通信模式,提供了一种通讯机制,透明地在异构的分布式计算环境中传递对象请求,而这些对象可以位于本地或远程机器。主流的分布式对象技术有以下三种:(1)对象管理组织(Object Management Group, OMG)制定的CORBA(Common Object Request Broker Architecture,通用对象请求代理架构)技术。(2) Microsoft公司提出的DCOM(Distributed Component Object Mode,分布式组件对象模型)技术。(3)Sun公司提出的RMI(Remote Method Invocation,远程方法调用)技术。

CORBA是OMG专门为异构平台上不同语言开发的分布式对象进行互操作而制定的规范。是为应用开发提供一个公共框架,使得基于对象的软件在分布异构环境下具有良好的可重用性、可移植性和互操作性,从而能够在由多种操作系统构成的异构分布环境中,方便的建立异构分布式应用系统,或实现企业信息资源的集成。CORBA自发布以来,已经有很多实现。目前市场上流行的产品有:IONA公司的Orbix,Inprise/ Borland公司的VisiBroker等。

DCOM是由Microsoft于1996年提出的分布式对象构件标准,旨在提高应用软件的互操作能力。COM(Component Object Model,组件对象模型)技术使得程序的各个组件之间可以用一种统一的方式进行交互,而DCOM实际上是COM技术在分布式环境中的扩展, DCOM屏蔽了COM对象的位置差异,使用户不需知道COM对象的实际位置,就可以使用该COM对象。

RMI是Sun公司于1997年所提出的分布式计算模型,用以解决访问Java分布式对象的通信问题。Java是一个提供了可移植的面向对象编程语言和高性能的Java虚拟机组成的应用系统运行和开发平台。RMI能够支持一台Java虚拟机(JVM)上的对象与另一台Java虚拟机(JVM)上的对象进行通信。

(3)面向消息的中间件技术

面向消息的中间件(Message-Oriented Middleware,MOM),提供了以松散耦合的灵活方式集成应用程序的一种机制。它们提供了基于存储和转发的应用程序之间的异步数据发送,即应用程序彼此不直接通信,而是与作为中介的MOM通信。MOM提供了有保证的消息发送,应用程序开发人员无需了解远程过程调用(RPC)和网络/通信协议的细节。

传统的面向消息中间件通常采用点对点的消息传输结构,但在实践中存在较多问题,此后消息中间件开始向发布/订阅架构转变,并成为企业应用集成中间件的一种核心机制,而基于发布/订阅架构的消息中间件通常称为发布/订阅消息中间件(Publish/ Subscribe Middleware,简称P/S MOM)或消息代理(Message Broker)。

在基于消息代理的分布式应用系统中,消息的发送方称为发布者,消息的接收方称为订阅者,发布/订阅模型用称为主题的内容分层结构代替了点对点模型中的惟一目的地,不同的消息通过不同的主题进行区分。发布者向消息代理发布其它应用系统感兴趣的消息,而订阅者从消息代理接收自己感兴趣的消息,发布者和订阅者之间通过消息代理进行关联。消息代理适合于具有实时性、异步性、异构性、动态性和松耦合的应用需求。

(4) Web服务技术

Web服务提供了一种在广域网络上共享数据和功能的方法,是分布对象技术的重要补充。Web服务能够通过XML消息及Internet协议完成与其他软件应用的直接交互,它是传统组件技术在互联网应用环境下的延伸,其目的和作用是提供一种统一的规范和技术,为连接异构的企业应用系统提供基础,为互联网软件应用提供统一的功能描述和共享机制,提供一种在不同平台/系统之间进行应用层功能自动整合、自动化处理所需要的技术架构。

Web服务采用一套完全开放且独立于实现平台及程序设计语言的交互机制,形成了较为全面的协议族,其中SOAP、WSDL、UDDI以及上层面向服务组合的WS-BPEL等构成了Web服务协议族的核心。

XML语言的提出为Web服务相关标准的制订做出了里程碑式的贡献,目前几乎所有的Web服务标准都建立在XML语言的基础上。Web服务协议族最重要的是简单对象访问协议SOAP(Simple Object Access Propotol),它是Web服务通信的事实标准。SOAP支持应用程序与应用程序之间的通信,主要应用于商务对商务的通信以及企业应用集成。SOAP定义了如何通过软件以独立于各种编程语言或平台的方式来构造消息、处理消息,从而使那些用不同编程语言编写的程序之间具有互操作性,并能够在不同的操作系统上运行;Web服务描述语言WSDL(Web Services Description Language)用于描述Web服务的功能调用语法。它将Web Services描述定义为一组服务访问端点,客户端可以通过这些服务访问端点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调);还有跨网络寻找网络服务的技术——UDDI ,它提供了一组基于标准的规范用于描述和发现服务,还提供了一组基于因特网的实现。服务注册中心存储了描述商业或其他实体的信息及其提供的服务的相关技术调用界面(或API)。至此,以上协议的引入和发布奠定了Web服务的基础。

由于Web服务采用基于XML的开放的Web规范技术,具有更好的封装性、高度的可集成性以及更好的开放性与互操作性。相对于COM/DCOM,RMI和CORBA等分布式组件模型,Web服务具有松散耦合性、简单性、高度可集成性和开放标准等特点。通过Web服务能够屏蔽分布式系统间的差异,为跨平台、松耦合、语言无关的网络环境下的资源共享和集成提供了解决方案。

Web服务运行平台为Web服务提供了运行和管理环境,实现了服务部署、执行、管理、监控等功能,使得服务能够遵照标准的服务契约向服务消费者提供业务功能。目前,主流的开源Web服务运行平台包括:Apache的Axis、Axis2和Apache CXF。商业Web服务平台包括IBM 的WebSphere、Microsoft的Windows通信框架(WCF: Windows Communication Framework)、SUN的Sun GlassFish Enterprise Server等。

魏晓东,1967年毕业于天津大学精仪系。1984~1991年任安徽工业大学自动化系副教授。1991年出版

《分散型控制系统》(上海科技文献出版社)。2000~2012年任北京和利时系统工程公司副总工、事业部总设计师,北京地铁13号线、深圳地铁一期工程、广州地铁3号线综合监控系统工程技术总负责人。2006、2010年出版《城市轨道交通自动化系统与技术》初版与第二版(电自工业出版社);2010年主编国家标准《城市轨道交通综合监控系统工程设计规范》(GB50636-2010)《城市轨道交通综合监控系统施工与质量验收规范》(GB/T50732-2011);2010年主编关于两化融合的国家标准《工业企业信息化集成系统规范》(GB/T26335-2010)。2013年至今任清华同方数字城市工程中心技术专家,住建部城市轨道交通标注技术网Eu委员会委员,全国自动化系统与集成标准技术委员会委员。

猜你喜欢

系统集成调用异构
ETC拓展应用场景下的多源异构交易系统
试论同课异构之“同”与“异”
加氢站与调压站能源供应系统集成技术及应用
试析汽车产业智能制造中的信息化系统集成
核电项目物项调用管理的应用研究
多源异构数据整合系统在医疗大数据中的研究
系统虚拟化环境下客户机系统调用信息捕获与分析①
吴健:多元异构的数字敦煌
基于NI的硬件在环仿真系统在整车系统集成测试中的应用
全舰计算环境体系结构和系统集成框架