如果我们的系统没有在传递实现我们的商业目标的恰当信息,那么我们运用什么技术使系统更加高效地相通便无关紧要。电视广播新闻业的先驱爱德华·R·莫罗曾说过:“最新的计算机只能高速地解决人际关系中的最古老问题,而最终传播工作者将面临说什么和如何说这个老问题。”此话现在依然正确。
面向服务架构(SOA)是一种有助于使技术更好地符合商业目标的架构方案或设计原则,它以较易变动的“松耦合”方式构架系统。
在SOA中,应用被打包向一公共消息总线呈现服务,如图1所示。这些应用可能是每天都使用的。它们呈现的服务也许是单位内在商业层的公共任务。服务如“为客户开帐单”、“资产转码”或“内容包编辑”之类。
为使此方案生效,需要目前支持它的技术。其中一种关键技术是公共消息总线。在SOA中,通常被称为中间件。当然中间件有很多定义,我们也在其它地方碰到过它,如机顶盒。
在SOA环境中,中间件确实是你的基础结构内的一层。它是如应用服务器、编排引擎、业务规则管理引擎和消息发送技术等技术的一个集合,如图2所示。这些技术共同协作你设计一个允许松耦合的系统。
中间件层充任SOA内一个一体化代理和消息交换媒介的角色。系统集成的一切都与通信和便利SOA内通信的中间件层有关。它是连接服务的组织,而正是因为那样,中间件层负责通信基础结构的某些方面:安全、路由、可靠性和可扩展性等。
一.中间件产品
中间件产品提供许多功能。首先而且最关键的是充当通信层。实现此作用有许多方式,可以把它视为一种邮局。消息交给中间件,它将适当地转发这些消息到其它应用程序。某些中间件将存储消息且保证最终的分发。消息记录往往可用于审计用途。
中间件可对应用之间的消息安全性负责,这可能意味着使用加密或其它安全技术,也可能意味着身份管理。身份管理保证只有适当职务的适当人员才有权使用信息和服务。
通过处理应用之间消息转换(消息类型从一种消息发送技术转变为另一种),中间件还能帮助保证恰当的通信。还可是消息本身数据的转换。例如,如果一个服务使用时间码作为一个输入,而另一个服务使用帧,中间件可以在传递中转换此数据。这意味着两个应用都不必互相依循。它们双方都与消息总线通信,而中间件负责使另一个应用理解消息。这在处理不同标准或专有服务方面极其有益。
中间件产品往往包含某种使中间件不只是消息被动观察者的编排技术。编排技术在你能置于工作流程内并协调许多服务工作以实现总业务目标(如“制作6点钟新闻”、“建立时间表”或任何对电视台有益的事)的地方发挥作用。可存储及自动运用业务规则实现智能和有效的信息(由此而来的工作)流。工作流程编排能力作用非常大。
二.媒体可知
目前中间件技术最大问题也许是它们并非“媒体可知”。这些技术为通用IT技术,并不是专门为广播电视领域开发的。它们没有电视台期望的时间观念,设计思想也不是将媒体本身作为信息的一部分传输。但即使有这些局限性,它们也适用于解决我们在一般电视台内看到的约80%的问题。不过,面向中间件的媒体技术正在开始出现。
对目前用SOA设计的媒体系统来说,中间件是一种关键技术。美国作家马克.吐温说:“用词确切与近乎确切的区别,犹如闪电与萤火虫的区别。”如果就如何构架系统作出正确的选择且选择正确的实现技术,效果的改善是巨大的。