基于Web Service的企业短信平台设计与实现

2018-07-16 12:04邹晓燕
电子技术与软件工程 2018年10期
关键词:短信运营商信息系统

文/邹晓燕

1 引言

伴随着手机的普及与人们生活节奏的加快,短信作为一种信息传递方式以其及时、廉价等突出的优点,引起了各行各业的普遍关注和重视。现有企业业务告知方式若以人工或者电话方式为主,则需要花费大量的精力和时间。若依托现有的信息系统搭建短信平台则可以有效地解决问题,进一步优化信息系统服务、提高工作效率。企业为了适应社会的潮流发展,以提高生产信息的分析和传递效率,短信平台的研发应运而生。

2 功能需求

2.1 功能性需求

平台需要实现独立的,不区分类别(移动、联通、电信)的短信发送功能,为企业需要使用短信发送功能的信息系统提供Web服务接口,使信息系统可以非常便捷的实现短信发送功能,避免因为运营商提供短信发送方式的改变而造成的各信息系统之间的重复建设,并在一定程度上缓解短信发送的资源抢占问题。

2.1.1接口服务

表1:接口表

(1)能够提供通用Web Service接口,用于各系统短信请求的接收,并对各系统短信发送请求发送XML文件格式接收回执。

(2)能够提供通用Web Service接口,用于修改短信接收人员基础信息。

(3)能够提供通用Web Service接口,用于查询短信提交状态。

接口名称及功能如表1所示。

2.1.2后台短信发送

能够将平台Web Service接口端提交短信及时发送出去并对平台接入的信息系统、平台信息以及用户信息等进行查询、添加、删除以及修改等管理性操作。

2.2 性能需求

2.2.1可靠性

要求平台可保障短信接收人员准确无误。

2.2.2及时性

要求平台在1分钟内对短信发送请求进行处理。

2.2.3安全性

要求平台在企业内网使用并提供根据发送者和接受者工号发送短信功能。

3 系统分析与设计

3.1 总体架构

平台的总体架构从顶层到底层依次为:Web接入层、应用管理层、业务处理层以及数据存储层,如图1所示。

各部分主要功能和相关关系简要介绍如下:

Web接入层提供Web Service接口服务,用于接收厂内包含MES系统、TnPM平台、安防监控系统等在内的11个企业内系统的短信发送需求接收,并对短信提交的完整性进行初步的检查。

应用管理层为平台的主要组成部分,主要包括平台基础信息维护、接入系统控制管理、短信检索查询功能以及服务状态查询功能等。用于对平台本身的参数、功能以及平台接入等进行管理。

业务处理层为平台的重要组成部分,主要包括短信分发功能、联通短信发送功能、移动短信发送功能以及电信短信发送功能。各功能之间相互独立,通过SQL Server以及 DB2关系型数据库进行数据交互,并对短信发送的完整性进行进一步的检查。其中,联通短信发送功能使用联通公司提供的互联网接口服务进行短信发送;移动短信发送功能使用移动公司提供的API接口服务进行短信发送;电信短信发送功能采用短信猫方式进行短信发送。在实现平台短信发送功能的同时也可以用于比较各种发送短信方式之间的比较。经过对比使用,互联网方式的短信发送方式在企业环境内运行更加稳定可靠。

数据存储层主要包含SQL 以及DB2两种关系型数据库的数据存储。其中,SQL Server关系型数据库为平台的主数据库,存储平台相关的所有数据信息;DB2关系型数据库存储平台处理好后的电信短信,方便后续的单独处理。

3.2 数据库

根据系统功能模块设计,抽象出了人员信息模型、短息提交模型、短信明细模型、历史短信查询模型、短信系统来源模型、系统优先级模型、供应商类型模型、联通短信状态模型、移动短信状态模型以及移动API状态模型等11个数据模型,并建立了模型间的关联关系。如图2所示。

图1:平台总体架构图

图2:系统模型及关联关系

图3:系统开发流程图

4 系统实现

4.1 系统技术架构

本系统采用B/S架构,借助VS2013工具,使用c#.NET研发而成,使用了DB2关系型数据以及SQL Server关系型数据库。

4.2 系统开发流程图

系统开发流程图如图3所示。

4.3 系统部分关键技术展示

4.3.1利用LINQ实现SQL Server数据库访问

为了实现对SQL Server数据库的安全、快速访问,使用了LINQ技术。LINQ(Language Integrated Query,语言集成查询)是微软公司提供的一项技术,能够将查询功能直接引入到.NET Framework3.5及以上版本所制成的编程语言中。LINQ主要包括4个组件:LINQ to Objects、LINQ to SQL、LINQ to DataSet和LINQ to XML,他们分别查询处理对象数据、关系数据、DataSet对象数据和XML结构数据。使用LINQ可以大量减少查询以及操作数据库或者数据源中的数据使用代码,并在一定程度上避免SQL语句注入,从而提高应用程序的安全性。平台主要使用了其中的LINQ to SQL技术。程序中的相关内容如图4所示。

4.3.2利用SQL Server存储过程实现运营商区分功能

经过考察,某些短信平台在每次接收到短信发送请求后,均需对短信运营商类型进行判断之后再发送,该处理方式是针对每一条短信进行判断处理,即使是发送给同一个手机号的短信,也需要进行运营商类型判断,存在重复判断的过程,降低了短信发送的效率。

平台为了避免这个问题,特针对不同运营商手机号码的特点编写了自动处理存储过程SMS_BT_User_SupplierTypeID,针对每一个短信平台内的用户手机号进行一次性判断并存储判断结果,短信发送时直接使用判断结果,避免了重复判断的问题。程序中的相关内容如图5所示。

4.4 系统界面

图4:LINQ to SQL实现

图5:运营商判断存储过程

图6:Web Service界面

平台运行后,Web Service接口界面如图6所示。

5 结语

平台在研发成功并投入实际使用后,短信发送效果良好,稳定可靠。平台本身可移植性强,对类似的功能具有借鉴性。在平台下一步的运维中,将针对不同系统设置系统的优先级并根据优先级队列对短信进行差异性发送。

猜你喜欢
短信运营商信息系统
企业信息系统安全防护
道歉短信
基于区块链的通航维护信息系统研究
代发短信
信息系统审计中计算机审计的应用
基于SG-I6000的信息系统运检自动化诊断实践
取消“漫游费”只能等运营商“良心发现”?
第一章 在腐败火上烤的三大运营商
三大运营商换帅不是一个简单的巧合
三大运营商换帅