论文部分内容阅读
随着企业信息化的高速发展,在企业应用系统,特别是在一些面向客户的企业应用系统(如,CRM,会员APP,会员网站,POS机等),的建设过程中,有大量的推送给客户消息(如,营销短信,服务消息通知,客服邮件等)的这类需求需要花费很多开发资源和成本与发送消息的通道(如,短信通道,邮件通道等)进行对接,且由于是直接推送给客户的消息,因此每个系统在消息推送的功能方面都需要经过严格的测试,使得整体的系统建设周期,成本和效率不能满足既定要求。而且,这种应用系统与消息发送通道之间点对点的连接方式,造成了系统之间的紧耦合,导致系统的可扩展性与可维护性较差。所以,如何建设一个统一的,通用的,安全可靠且可扩展的消息推送平台是值得考量的,这也对企业信息化的建设,特别是企业面向客户的系统建设具有重要的意义。本文以当前企业应用系统中各种不同类型的消息推送所遇到的实际问题和面临的挑战为出发点,通过对国内外的相关理论及应用现状进行分析和研究,提出了一个以统一消息推送平台为中心的,企业应用系统与消息发送通道之间为星型连接方式的架构,并基于JMS(Java Message Service)规范,对其进行了需求分析,总体架构及功能性和非功能性设计,关键技术及实现,测试与验证等一系列工作,为满足企业应用系统的不同类型消息推送需求提供了完整的,切实可行的“一站式”解决方案。本文的主要工作与贡献有如下几个方面:1.基于JMS规范的统一消息推送平台的总体架构及设计。本文以企业在消息推送方面所遇到的实际问题与需求入手,提出了一个以统一消息推送平台为中心的,企业应用系统与消息发送通道之间为星型连接方式的架构,将企业应用系统与消息发送通道进行解耦,以增强系统的通用性,可靠性和可扩展性,满足了日益增加和快速变化的消息推送需求,对项目建设的时间进度,成本控制,质量管理等方面都有较好地推动和改善。统一消息推送平台主要采用了分层和分割的设计思想,完成了核心功能层,功能接口层和通道适配层的设计,并在各个层次上又将功能模块进行了划分,完成了诸如消息任务管理,消息管理,消息日志管理及配置管理等模块的设计。2.基于JMS的统一消息推送平台的关键技术及实现。本文根据对统一消息推送平台的架构分析及设计,基于Spring,Active MQ和自主研发的Java开发框架,实现了消息路由机制与调度算法,消息类型与消息发送通道扩展及适配机制,并对大数据量的消息日志处理及查询等核心技术进行了设计与实现。通过这些系统关键组成部分的实现,验证了统一消息推送平台的架构分析及设计是可行的,并进一步展示了统一消息推送平台的解耦,异步,可扩展和业务无关性等特点。3.基于JMS的统一消息推送平台的测试与验证。本文以实际的邮件消息和短信消息推送为例,测试及验证了统一消息推送平台在消息路由及调度,消息类型及消息发送通道扩展,系统性能等方面的架构分析,设计及技术实现的正确性和有效性。根据系统测试的整个过程及结果,也可以体现出统一消息推送平台在系统解耦,扩展性等方面的特点,并论证了本文所述的在关于统一消息推送平台的建设思路,系统设计,技术实现等方面是切实可行的。基于JMS的统一消息推送平台具有良好的通用性,扩展性及业务无关性,因此其不仅仅可以为我司提供不同类型的消息推送服务,也可以为其他企业提供“一站式”的消息推送解决方案。如果将统一消息推送平台部署至“云端”(例如,阿里云),这样既可以减少为了支持统一消息推送平台的高吞吐量所需的硬件成本,又可以以一种公用的标准服务的方式给其它企业提供消息推送服务,使统一消息推送平台真正成为一种SAAS(软件即服务,Software-as-a-Service)服务。