论文部分内容阅读
纵览企业信息化的发展历程,结合多年来广电企业信息化管理工作,笔者认为,企业信息化的主要瓶颈为工作流程中的衔接问题,例如,在安装相关服务器后,员工或领导仅使用终端电脑通过局域网、广域网或互联网,登录到服务器进行申请、审批等工作流程的处理,一旦离开办公室,就会由于“人机分离”而引发工作流程受阻,导致信息化管理系统无法使用而耽误整个工作进程。
为了解决这个问题,内蒙古广电网络在开展信息化管理的过程中,自主研发了一个覆盖企业内部所有工作流程的“消息中心”系统,其通过把办公室终端电脑处理工作的流程扩展到可使用随身携带的移动设备的方式,彻底解决了“人机分离”的问题。随着处理工作流程内容的不断增加,内蒙古广电网络的信息化管理效率得到了明显提升,该系统受到使用者一致好评。
经过两年多的成功运行,目前“消息中心”已成为内蒙古广电网络信息化管理平台的重要组成部分,及信息化平台功能扩展的重要接口,对公司信息化发展有着非常重要的意义和作用。
功能需求
“消息中心”的功能由内蒙古广电网络根据未来业务的需求而设计,在易用性及通用性的基础上,具有高并发及处理大数据量的能力,同时采用第三方的消息中间件技术,有效保障了“消息中心”的性能。
内蒙古广电网络经过对公司业务的分析,考虑了所有可能使用“消息中心”的情况,确定了如下13项功能:
★支持短信的发送、短信的接收(2000个汉字以内)、短信回执
★支持短信的回执确认
★支持短信的回复会话
★支持自定义短信在手机上显示的号码
★支持定时发送短信
★支持通过分配给接口的短信子码来接收短信
★支持通过接口设置的手机指令来接收短信
★对通过接口发送的短信可以进行短信内容过滤
★所有接口的收发短信都有话单记录
★可以出丰富的接口短信话单报表
★提供不受任何具体开发语言约束的数据库接入
★提供短信收发的监控功能
★提供3家电信运营商短信的路由功能
社计概要
1.总体设计
内蒙古广电网络的“消息中心”采用Java语言开发,并使用消息中间件技术。系统结构使用Client/Server(C/S)+Browser/Server(B/S)结构,其中消息处理使用C/S结构,系统管理使用B/S结构,数据库使用Oracle 9i数据库,“消息中心”系统部署如图1所示。
当应用服务需要发送、接收短信或处理回执时,只需对“消息中心”进行操作,“消息中心”将处理请求:对内容进行封装后同步发送至短信代理服务器(MAS机)。
“消息中心”短信出口侧没有直接连接电信运营商的短信接口,而是使用了短信代理服务器进行收发短信。MAS机的应用能快速有效地耦合业务系统侧现有的业务系统,提供多业务类型标准接口,与运营商侧网络连接,同时屏蔽了运营商短信网关接口的配置变更,该代理服务器的采用,不仅降低了广电公司侧开发的复杂度,也提高了短信收发的稳定性。
2.应用
“消息中心”已经在内蒙古广电网络内有了较为广泛的应用,如有线数字电视短信故障派工单/回复工单的完工处理、大面积故障短信公告信息处理(为HFC网管自动故障公告做准备)、有线数字电视安装短信派工单/回复短信发预授权/回复短信竣31/回复短信挂单/回复短信撤单等处理、物流申请单超时短信通知与短信回复审批、考勤系统员工请假的流程办理等均使用了“消息中心”系统。
该中心因其灵活方便的使用方式,在提高了工作效率的同时,也受到了使用者一致好评。如果系统出现故障,维护人员可以随时随地收到工单短信,完工后通过回复短信完成工单;员工请假也可以直接使用手机短信进行申请,分管领导收到申请短信后,通过回复短信进行审批等等,“消息中心”通过移动力公,充分保证了信息化管理流程的顺利进行。
3.接口设计
在外部接口方面,业务服务可以通过数据库接口的形式与“消息中心”进行连接并进行功能操作;在内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。接口传递的信息为以数据结构封装的数据,该数据以参数传递或返回值的形式在各模块间传输。
4.运行设计
“消息中心”在运行方面包括以下几大功能。
★短信发送。当业务服务需要发送短信时,短信以数据库接口方式存入“消息中心”数据库,消息中心处理服务对其进行定时扫描,当发现短信时,通过消息中间件将其发送到短信代理服务器。
★短信回复。“消息中心”定时扫描短信代理服务器数据库,当发现有短信回复时,将短信取出并通过消息中间件发送给“消息中心”,并存入消息中心数据库中,业务服务从消息中心数据库中根据发送短信的唯一标识确定并取出短信回复。
★短信回执。当消息中心服务发现短信代理服务器有短信回执时,将其取出并通过消息中间件发送给消息中心,业务服务从消息中心数据库中将回执取出。
消息中间件技术的应用
1.消息中间件技术及开源消息中间件ActiveMQ
消息中间件技术的原理为:利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。其通过提供消息传递和消息排队模型,进行消息可靠通信,也可以在分布式环境下扩展进程间的通信。
消息中间件适用于需要可靠的数据传送的分布式环境,在采用消息中间件机制的系统中,不同对象之间可通过传递消息来激活对方的事件,以完成相应的操作。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。消息中间件能在不同平台之间通信,它常被用来屏蔽各种平台及协议之间的特性,以实现应用程序之间的协同。其优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发。
ActiveMQ是目前市场上较为流行且功能强劲的一个开源消息中间件,可完全支持JMS1.1和J2EE1.4规范的JMS Provider的实现。
2.消息中间件技术在消息传输中的应用
在“消息中心”的开发中使用开源的消息中间件ActiveMQ,主要是为了实用于数据的可靠性传输。
“消息中心”所有的数据传输任务均交给消息中间件来完成,保证了短信发送、回复接收、回执接收的数据在消息中心和MAS机之间的可靠传输,其传输过程中的异常处理同样交给消息中间件,依靠消息中间件的消息队列转发机制,提高了“消息中心”的并发短信处理能力,并实现了在发生网络异常,无法发送短信时的数据转存及恢复时的重新发送处理。
消息中间件在短信发送过程中的应用,短信发送的处理流程如图2所示。
“消息中心”中消息队列的设计分别用于短信的发送、回复和回执,共分为如下3个消息队列: ★短信发送消息队列:MT.TRANS
★短信回复消息队列:MO.TRANS
★短信回执消息队列:RPT.TRANS
当有短信需要发送时,首先由“消息中心”业务系统端服务将短信打包成消息包。其消息包格式定义为—个Java类Mt.java,打包完成后,交由消息中间件发送,消息中间件接收消息包并将其存入消息队列进行发送处理,如果消息中间件没有正确接收消息包,将告知“消息中心”业务系统端服务接收失败,“消息中心”业务系统端服务将定时重新发送。
消息中间件将以N10(New Io)的方式将接收来的消息正确发送到“消息中心”MAS机(短信代理服务器)端服务,由MAS机端服务将短信消息拆包后发送给MAS机,在此发送过程中,消息中心MAS机端服务会将发送情况报告给消息中间件,消息中间件根据报告情况做出相应处理,如果发送成功,消息中间件将相关消息从短信发送消息队列(MT,TRANS)中删除;如果失败或发生异常情况,则不将该消息从消息队列中删除,并定时重发,直到发送成功。重发机制采用了非阻塞方式,不会影响其他短信的处理。消息中间件在短信回复过程中的应用如图3所示。
同短信发送功能处理流程相似,当有短信需要回复时,首先由“消息中心”MAS机端服务将短信打包成消息包。其消息包格式定义为一个Java类Mo.java,处理过程同短信发送功能相似,但短信回复的发起端为MAS机,当MAS机接收到回复短信后,由消息中心MAS机端服务采集并打包后,发送给消息中间件,并将接收情况报告给消息中心MAS机端服务,消息中心MAS机端服务根据消息中间件接收情况作出相应处理,如果接收失败则定时重发。同时,消息中间件将接收到的短信回复消息包存入短信回复消息队列(MO.T1LANS),并发送给消息中心业务系统端服务,消息中心业务系统端服务将接收情况报告给消息中间件,如果接收成功,消息中间件将该消息从消息队列中删除,接收失败则不删除并定时重发。消息中间件在短信回执过程中的应用如图4所示。
同短信发送和短信回复功能相似,当MAS机收到短信回执后,首先由消息中心MAS机端服务将短信回执打包成消息包。其消息包格式定义为一个Java类Rpl:iava。处理过程同短信回复功能相似,发起端同样为MAS机,当MAS机接收到回复短信后,由消息中心MAS机端服务采集并打包后,发送给消息中间件,消息中间件将接收腈况报告给消息中心MAS机端服务,如果失败则定时重发。消息中间件将接收到的短信回执消息包存入短信回执消息队列(RPT,TRANS),并将短信回执消息包发送给消息中心业务系统端服务,消息中心业务系统端服务将接收情况报告给消息中间件,如果接收成功,消息中间件将该消息从消息队列中删除,如果失败则不删除并定时重发。
3.消息中间件技术在异常处理中的应用
★连接异常处理:当消息中间件无法连接到“消息中心”服务,或“消息中心”服务无法连接到MAS机时,消息中间件将相应消息包继续保存在消息队列中,并定时检查是否恢复连接,这个时间间隔是可配置的,当恢复连接后,发送相应消息包。该过程为非阻塞机制,不会影响到“消息中心”接收其他消息。
★传输异常处理:当发送消息包过程出现异常时,例如消息中间件一次性发送5条短信,成功发送了3条后出现传输异常,则消息中间件使用事务处理机制将前3条内容回滚,待传输恢复后重新发送。
★其他异常处理:“消息中心”采用了普通Java异常处理和消息中间件异常处理两种方式,对运行中出现的所有异常情况进行捕捉和处理,以保证发送数据的准确无误和不漏发一条数据,并实现了异常情况后的自动检测和自动恢复。
下一阶段的开发规划
在下一阶段“消息中心”的开发中,除进一步加强系统管理功能外,内蒙广电网络已经考虑将“消息中心”向SOA(面向服务的体系结构)架构靠拢。SOA是新一代的企业应用架构,其组成是ESB(企业服务总线)和部署在ESB上的企业服务。SOA通过对业务、技术与管理三个维度的架构模型,统一解决了企业应用面对的挑战;SOA通过业务维度构件化,即通过业务模型对业务进行模块化设计和流程梳理,从而在业务维度上至上而下打破了应用系统的障碍,形成了企业业务服务的共享。
鉴于以上原因,如何将“消息中心”转变为企业SOA架构的一部分就显得尤为重要。此外,随着越来越多的业务系统开始使用短信功能,短信已成为无线办公最经济、方便的途径,如何避免重复开发,提高业务系统的开发效率也成为内蒙广电网络技术开发的当务之急。
考虑到以上几点,“消息中心”未来的开发规划为,将其功能形成SOA架构中的业务服务,发布在ESB上,供所有业务系统使用。例如,短信的发送、接收回复、回执等功能,只要是拥有使用权限的业务系统,就可以使用ESB上的相应服务,避免了为每个业务系统都开发短信功能模块,从而提高了企业软件架构的灵活性以及企业软件资源的复用性。
为了解决这个问题,内蒙古广电网络在开展信息化管理的过程中,自主研发了一个覆盖企业内部所有工作流程的“消息中心”系统,其通过把办公室终端电脑处理工作的流程扩展到可使用随身携带的移动设备的方式,彻底解决了“人机分离”的问题。随着处理工作流程内容的不断增加,内蒙古广电网络的信息化管理效率得到了明显提升,该系统受到使用者一致好评。
经过两年多的成功运行,目前“消息中心”已成为内蒙古广电网络信息化管理平台的重要组成部分,及信息化平台功能扩展的重要接口,对公司信息化发展有着非常重要的意义和作用。
功能需求
“消息中心”的功能由内蒙古广电网络根据未来业务的需求而设计,在易用性及通用性的基础上,具有高并发及处理大数据量的能力,同时采用第三方的消息中间件技术,有效保障了“消息中心”的性能。
内蒙古广电网络经过对公司业务的分析,考虑了所有可能使用“消息中心”的情况,确定了如下13项功能:
★支持短信的发送、短信的接收(2000个汉字以内)、短信回执
★支持短信的回执确认
★支持短信的回复会话
★支持自定义短信在手机上显示的号码
★支持定时发送短信
★支持通过分配给接口的短信子码来接收短信
★支持通过接口设置的手机指令来接收短信
★对通过接口发送的短信可以进行短信内容过滤
★所有接口的收发短信都有话单记录
★可以出丰富的接口短信话单报表
★提供不受任何具体开发语言约束的数据库接入
★提供短信收发的监控功能
★提供3家电信运营商短信的路由功能
社计概要
1.总体设计
内蒙古广电网络的“消息中心”采用Java语言开发,并使用消息中间件技术。系统结构使用Client/Server(C/S)+Browser/Server(B/S)结构,其中消息处理使用C/S结构,系统管理使用B/S结构,数据库使用Oracle 9i数据库,“消息中心”系统部署如图1所示。
当应用服务需要发送、接收短信或处理回执时,只需对“消息中心”进行操作,“消息中心”将处理请求:对内容进行封装后同步发送至短信代理服务器(MAS机)。
“消息中心”短信出口侧没有直接连接电信运营商的短信接口,而是使用了短信代理服务器进行收发短信。MAS机的应用能快速有效地耦合业务系统侧现有的业务系统,提供多业务类型标准接口,与运营商侧网络连接,同时屏蔽了运营商短信网关接口的配置变更,该代理服务器的采用,不仅降低了广电公司侧开发的复杂度,也提高了短信收发的稳定性。
2.应用
“消息中心”已经在内蒙古广电网络内有了较为广泛的应用,如有线数字电视短信故障派工单/回复工单的完工处理、大面积故障短信公告信息处理(为HFC网管自动故障公告做准备)、有线数字电视安装短信派工单/回复短信发预授权/回复短信竣31/回复短信挂单/回复短信撤单等处理、物流申请单超时短信通知与短信回复审批、考勤系统员工请假的流程办理等均使用了“消息中心”系统。
该中心因其灵活方便的使用方式,在提高了工作效率的同时,也受到了使用者一致好评。如果系统出现故障,维护人员可以随时随地收到工单短信,完工后通过回复短信完成工单;员工请假也可以直接使用手机短信进行申请,分管领导收到申请短信后,通过回复短信进行审批等等,“消息中心”通过移动力公,充分保证了信息化管理流程的顺利进行。
3.接口设计
在外部接口方面,业务服务可以通过数据库接口的形式与“消息中心”进行连接并进行功能操作;在内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。接口传递的信息为以数据结构封装的数据,该数据以参数传递或返回值的形式在各模块间传输。
4.运行设计
“消息中心”在运行方面包括以下几大功能。
★短信发送。当业务服务需要发送短信时,短信以数据库接口方式存入“消息中心”数据库,消息中心处理服务对其进行定时扫描,当发现短信时,通过消息中间件将其发送到短信代理服务器。
★短信回复。“消息中心”定时扫描短信代理服务器数据库,当发现有短信回复时,将短信取出并通过消息中间件发送给“消息中心”,并存入消息中心数据库中,业务服务从消息中心数据库中根据发送短信的唯一标识确定并取出短信回复。
★短信回执。当消息中心服务发现短信代理服务器有短信回执时,将其取出并通过消息中间件发送给消息中心,业务服务从消息中心数据库中将回执取出。
消息中间件技术的应用
1.消息中间件技术及开源消息中间件ActiveMQ
消息中间件技术的原理为:利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。其通过提供消息传递和消息排队模型,进行消息可靠通信,也可以在分布式环境下扩展进程间的通信。
消息中间件适用于需要可靠的数据传送的分布式环境,在采用消息中间件机制的系统中,不同对象之间可通过传递消息来激活对方的事件,以完成相应的操作。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。消息中间件能在不同平台之间通信,它常被用来屏蔽各种平台及协议之间的特性,以实现应用程序之间的协同。其优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发。
ActiveMQ是目前市场上较为流行且功能强劲的一个开源消息中间件,可完全支持JMS1.1和J2EE1.4规范的JMS Provider的实现。
2.消息中间件技术在消息传输中的应用
在“消息中心”的开发中使用开源的消息中间件ActiveMQ,主要是为了实用于数据的可靠性传输。
“消息中心”所有的数据传输任务均交给消息中间件来完成,保证了短信发送、回复接收、回执接收的数据在消息中心和MAS机之间的可靠传输,其传输过程中的异常处理同样交给消息中间件,依靠消息中间件的消息队列转发机制,提高了“消息中心”的并发短信处理能力,并实现了在发生网络异常,无法发送短信时的数据转存及恢复时的重新发送处理。
消息中间件在短信发送过程中的应用,短信发送的处理流程如图2所示。
“消息中心”中消息队列的设计分别用于短信的发送、回复和回执,共分为如下3个消息队列: ★短信发送消息队列:MT.TRANS
★短信回复消息队列:MO.TRANS
★短信回执消息队列:RPT.TRANS
当有短信需要发送时,首先由“消息中心”业务系统端服务将短信打包成消息包。其消息包格式定义为—个Java类Mt.java,打包完成后,交由消息中间件发送,消息中间件接收消息包并将其存入消息队列进行发送处理,如果消息中间件没有正确接收消息包,将告知“消息中心”业务系统端服务接收失败,“消息中心”业务系统端服务将定时重新发送。
消息中间件将以N10(New Io)的方式将接收来的消息正确发送到“消息中心”MAS机(短信代理服务器)端服务,由MAS机端服务将短信消息拆包后发送给MAS机,在此发送过程中,消息中心MAS机端服务会将发送情况报告给消息中间件,消息中间件根据报告情况做出相应处理,如果发送成功,消息中间件将相关消息从短信发送消息队列(MT,TRANS)中删除;如果失败或发生异常情况,则不将该消息从消息队列中删除,并定时重发,直到发送成功。重发机制采用了非阻塞方式,不会影响其他短信的处理。消息中间件在短信回复过程中的应用如图3所示。
同短信发送功能处理流程相似,当有短信需要回复时,首先由“消息中心”MAS机端服务将短信打包成消息包。其消息包格式定义为一个Java类Mo.java,处理过程同短信发送功能相似,但短信回复的发起端为MAS机,当MAS机接收到回复短信后,由消息中心MAS机端服务采集并打包后,发送给消息中间件,并将接收情况报告给消息中心MAS机端服务,消息中心MAS机端服务根据消息中间件接收情况作出相应处理,如果接收失败则定时重发。同时,消息中间件将接收到的短信回复消息包存入短信回复消息队列(MO.T1LANS),并发送给消息中心业务系统端服务,消息中心业务系统端服务将接收情况报告给消息中间件,如果接收成功,消息中间件将该消息从消息队列中删除,接收失败则不删除并定时重发。消息中间件在短信回执过程中的应用如图4所示。
同短信发送和短信回复功能相似,当MAS机收到短信回执后,首先由消息中心MAS机端服务将短信回执打包成消息包。其消息包格式定义为一个Java类Rpl:iava。处理过程同短信回复功能相似,发起端同样为MAS机,当MAS机接收到回复短信后,由消息中心MAS机端服务采集并打包后,发送给消息中间件,消息中间件将接收腈况报告给消息中心MAS机端服务,如果失败则定时重发。消息中间件将接收到的短信回执消息包存入短信回执消息队列(RPT,TRANS),并将短信回执消息包发送给消息中心业务系统端服务,消息中心业务系统端服务将接收情况报告给消息中间件,如果接收成功,消息中间件将该消息从消息队列中删除,如果失败则不删除并定时重发。
3.消息中间件技术在异常处理中的应用
★连接异常处理:当消息中间件无法连接到“消息中心”服务,或“消息中心”服务无法连接到MAS机时,消息中间件将相应消息包继续保存在消息队列中,并定时检查是否恢复连接,这个时间间隔是可配置的,当恢复连接后,发送相应消息包。该过程为非阻塞机制,不会影响到“消息中心”接收其他消息。
★传输异常处理:当发送消息包过程出现异常时,例如消息中间件一次性发送5条短信,成功发送了3条后出现传输异常,则消息中间件使用事务处理机制将前3条内容回滚,待传输恢复后重新发送。
★其他异常处理:“消息中心”采用了普通Java异常处理和消息中间件异常处理两种方式,对运行中出现的所有异常情况进行捕捉和处理,以保证发送数据的准确无误和不漏发一条数据,并实现了异常情况后的自动检测和自动恢复。
下一阶段的开发规划
在下一阶段“消息中心”的开发中,除进一步加强系统管理功能外,内蒙广电网络已经考虑将“消息中心”向SOA(面向服务的体系结构)架构靠拢。SOA是新一代的企业应用架构,其组成是ESB(企业服务总线)和部署在ESB上的企业服务。SOA通过对业务、技术与管理三个维度的架构模型,统一解决了企业应用面对的挑战;SOA通过业务维度构件化,即通过业务模型对业务进行模块化设计和流程梳理,从而在业务维度上至上而下打破了应用系统的障碍,形成了企业业务服务的共享。
鉴于以上原因,如何将“消息中心”转变为企业SOA架构的一部分就显得尤为重要。此外,随着越来越多的业务系统开始使用短信功能,短信已成为无线办公最经济、方便的途径,如何避免重复开发,提高业务系统的开发效率也成为内蒙广电网络技术开发的当务之急。
考虑到以上几点,“消息中心”未来的开发规划为,将其功能形成SOA架构中的业务服务,发布在ESB上,供所有业务系统使用。例如,短信的发送、接收回复、回执等功能,只要是拥有使用权限的业务系统,就可以使用ESB上的相应服务,避免了为每个业务系统都开发短信功能模块,从而提高了企业软件架构的灵活性以及企业软件资源的复用性。