随着计算机网络技术的发展,软件插件中间件技术进入人们的视线,本文详细介绍了软件插件中间件技术的流程与技术特点。
《信息网络》国内外公开发行,读者群包括电信企业的中高层经营管理人士与科研人员、信息产业部及各级主管部门,以及业界的专家学者。主要栏目本刊设有观察、思考与实践、业务与方案、品味生活、它山之石、客户之声、编辑助理、事件与视角等栏目。
基于XML的新一代互联网网管已经成为当今网络软件中间件管理发展的新趋势,越来越多的设备、服务及平台都宣称支持XML技术。它是一种数据交换格式,允许在不同的系统或应用程序之间交换数据,通过一种网络软件中间件化的处理机构来遍历数据,每个网络软件中间件节点存储或处理数据并且将结果传输给相邻的节点。
XML是一种使用标记来标记内容以传输信息的简单方法。标记用于界定内容,而XML的语法允许我们自行定义任意复杂度的结构。它是一组用于设计数据格式和结构的规则和方法,易于生成便于不同的计算机和应用程序读取的数据文件。这使得XML具有以下特性:
(1)通过使用可扩充标记集提供文档内容的更准确说明
(2)可用标准化语法来验证文档内容
(3)使用户与应用程序之间文件交换更容易
(4)支持高级搜索
(5)将文档结构与内容分开,易于用不同形式表现相同内容
(6)XML改进用户响应、网络软件中间件负载和服务器负载
(7)XML支持Unicode
XML还有其他许多优点,比如它有利于不同系统之间的信息交流,完全可以充当网际语言,并有希望成为数据和文档交换的标准机制。
由于XML具有以上诸多特性,使得它的实际应用范围十分广泛。采用基于XML的网络软件中间件管理技术采用XML语言对需交换的数据进行编码,为网络软件中间件管理中复杂数据的传输提供了一个极佳的机制。XML文档的分层结构可以对网络软件中间件管理应用中的管理者-代理模式提供良好的映射,通过XSLT(Extensible Stylesheet Language Transformations)样式表可以对XML数据进行各种格式的重构和转换,加上XML已经被广泛应用于其它领域,各种免费和商业的XML开发工具发展异常迅速,因此使用XML来定义管理信息模式和处理管理信息十分便利。
1.插件技术设计
我们已经习惯于一个人独立进行软件开发,每个人都使用自己的风格进行程序设计,但随着工程项目变大或者是对时间要求比较紧时,就需要几个人,十几个人,甚至是上百个人协作进行软件开发与设计,这时一个比较棘手的问题就是如何将若干人所编写的软件代码(有可能是链接库、组件)进行无缝地集成,纵然进行源代码集成是个比较传统也比较成熟的方式,适当使用链接库或组件,也可减少源代码的泄露,但经常的情况是每一次的程序集成和代码维护都需要重新编译与链接源代码和重新发布新软件,这种工作有时又是非常麻烦的。
那么就有疑问产生,能不能有一种方法将需要开发的目标软件分为若干功能部件,各部件之间遵循着标准接口规定,这样在各个部件按要求开发之后,在进行整个软件集成时只是将需要的部件进行组装,而不是集成各源代码或链接库进行编译与链接,需要新的功能组件时也是按规定开发,之后只进行组装软件就可以使用,这就是使用一种二进制的软件集成方法。这就是平台+插件的软件设计方法。
1.1 软件插件中间件技术流程
软件插件技术是现代软件设计思想的体现,着名的Photoshop、Word、Excel都或多或少的利用了插件技术。插件技术改变了以前的单窗体、多窗体界面,实现了不同功能模块的无缝结合。插件技术更易于造就一个庞大复杂的软件。各用户软件领域所应用的插件技术可分为三种类型:
一是类似批命令的简单插件(文本插件)。事实上这种插件的自由度非常低。使用这种方法的软件有Win Hacker等,运行这种插件后,会一步步要求用户进行选择/输入,最后根据用户的输入来执行一系列事先定义好的操作。这种插件一般是文本文件。功能比较单一,可扩展性极小。优点是插件做起来非常方便,即使是对程序设计了解不多的人也可以制作。如WinAmp的Skin。
二是使用一种特殊的脚本语言来实现的插件(脚本插件)。这种插件比较难写,需要软件开发者自己制作一个程序解释内核。比如微软惹了很多麻烦的宏就是这种类型的。Microsoft Office就提供了开发者用于扩展辅助功能的内置VBScript(VBA)。这种方法的优点在于无需使用其它工具来制作插件,软件本身就可以实现,普 遍出现于各种办公自动化软件中。
三是利用已有的程序开发环境来制作插件(程序插件)。例如PhotoShop等软件使用的方法。使用这种方法的软件在程序主体中建立了多个自定义的接口,使插件能够自由访问程序中的各种资源。这种插件的优势在于自由度极大,可以无限发挥插件开发者的创意,这种插件是狭义范围的插件,也是真正意义上的插件。而这种插件机制的编写相对复杂,对于插件接口之间的协调比较困难,插件的开发也需要专业的程序员才能进行。 1.2 插件技术在中间件系统的应用模式
网络中间件管理系统的多处设计都使用了插件技术,比如在:数据采集方面即使用了java script,也用了程序插件;在配置管理方面使用了简单插件;在故障管理的处理行为方面使用了程序插件。
总之,管理平台本身已实现一种通用的平台+插件软件开发的框架模式,通过实践证明这种思路和设计方法可行,可以应用到具体软件开发上。通过这种方式可以很好地解决软件合作开发与集成问题,对有版本级别的软件开发更为有用。高级版的软件安装有高级版的插件,低级版的软件不安装高级版的插件,这就给程序分发和开发带来极大的便利。对于有系列化功能的软件,系列化功能由插件实现。
2.NetFlow技术设计
Netflow技术首先被用于网络软件中间件设备对数据交换进行加速,并可同步实现对高速转发的IP数据流(Flow)进行测量和统计。经过多年的技术演进,Netflow原来用于数据交换加速的功能已经逐步由网络软件中间件设备中的专用ASIC芯片实现,而对流经网络软件中间件设备的IP数据流进行测量和统计的功能也已更加成熟,并成为了当今互联网领域公认的最主要的IP/MPLS流量分析,统计和计费行业标准。Netflow技术能对IP/MPLS网络软件中间件的通信流量进行详细的行为模式分析和计量,并提供网络软件中间件运行的详细统计数据。
为对运营商网络软件中间件中不同类型的业务流进行准确的流量和流向分析与计量,首先需要对网络软件中间件中传输的各种类型数据包进行区分。由于IP网络软件中间件的非面向连接特性,网络软件中间件中不同类型业务的通信可能是任意一台终端设备向另一台终端设备发送的一组IP数据包,这组数据包实际上就构成了运营商网络软件中间件中某种业务的一个数据流(Flow)。如果管理系统能对全网传送的所有数据流进行区分,准确记录传送时间、传送方向和数据流的大小,就可以对运营商全网所有业务流的流量和流向进行分析和统计。
由于Netflow技术支持所有类型的网络软件中间件端口类型,所以每台内置有Netflow功能的网络软件中间件设备都可以作为网络软件中间件中一台能够测量、采集和输出网络软件中间件流量和流向管理信息的数据采集器。而且因为Netflow实现的管理功能是由网络软件中间件设备本身完成的,所以运营商无需购买额外的硬件设备,也无需为安装这些硬件设备占用宝贵的网络软件中间件端口或改变网络软件中间件链路的连接关系。这些都将转化成对网络软件中间件运营成本的大幅度降低,对运营商级的大型网络软件中间件优势尤其明显。
3.业务流程中间件技术
业务流程技术从出现发展到现在,已逐渐发挥越来越重要的作用。它已成为信息化建设方案中必不可少的内容之一。从简单的办公自动化系统的开发,到企业ERP系统的实施,再到为提高企业运营效率而出现的BPR及BPM系统,工作流技术都发挥了相当重要的甚至是关键的作用,工作流技术为实现应用层而的集成提供了有力的支撑。
从故障维护的角度来看,使用目标、业务功能、限制等来代替流程所需资源信息对故障流程进行描述是非常重要的。在流程设计过程中,需要用户与流程设计人员之间经常进行交流,以保证流程管理的顺利实施。
4.总结
业务流程技术为故障流程维护提供了一种有效的决策辅助方法,保证流程的灵活性和一致性,而不必考虑更多的细节问题。能够迅速使流程调整通过流程概念和流程目标等形式付诸实施,并且这些实施几乎可以是实时进行。能够从领导管理的角度对任何业务流程的调整进行分析和评价,找出流程中的瓶颈点。