`
逆风的香1314
  • 浏览: 1436720 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

短信开发技术总结--开发篇

阅读更多
  在上一篇协议篇里面,相信大家都对现有的移动运营商提供的短信网关协议有一定的了解。OK,那么我继续总结下去,开始和大家探讨一下如何基于这些网关协议开发短信系统,我在这里只是总结开发的思路,并不提供代码,因为具体到代码的实现就是各自的开发功力问题,不在技术总结的范围。不过,欢迎大家到SP论坛或者天堂鸟论坛来一起交流代码的实现。
 
  现在当SP向移动运营商申请接入后,移动运营商除了提供他们所采用的短信网关协议文档外,还会提供由短信网关厂家提供的,短信网关通信的开发包,也就是我们所说的API了。对于是否使用这些API就见仁见智了,因此对于单说实现短信网关协议从开发上有两种做法,一种就是完全基于别人提供的API来实现网关协议;另外一种就是自己根据网关协议文档,自行写代码实现。对于第一种方法,就是开发速度快,底层通信以及短信协议的实现都不用自己考虑,缺点就是经常会有一些小问题:比如,厂家提供的API有内存泄漏,又或者这些API提供的时候就缺少一些库文件,又或者在长时间运作后莫名其妙死掉等问题,而且处理这些问题自己都没有办法解决,只有等待厂家提供新版本的API。对于第二种方法就是优点就是自己对协议理解,实现都比较清楚,出了问题好找,对于要求性能高,稳定性好的SP建议采用该办法,而缺点就是开发的时间相对来说会比较长,而且在对于不同厂家提供的网关会有一些小的改动。比如中国移动的CMPP网关,对于由亚信提供的短信网关,则在协议实现的时候,MO和MT要分别建立连接,而对于华为提供的短信网关,则在同一个连接处理MO和MT。
 
  协议开发部分说完了,下面说说如何实现一个短信业务系统/平台。从简单的业务实现到复杂的运营商级的短信业务系统,实现上大致可以分为三类。
 
  第一类,简单业务型短信系统/平台,由于业务类型的简单或者单一,比如只是做群发,或者只提供某些简单的交互信息服务,实现的办法就是在实现短信协议的同时,把业务逻辑都编写到程序里面去。这样对于只是提供比较单一服务的SP就可以很方便实现自己的短信系统,当然啦,这样的系统对于扩展性来说是很不利的,所以极少采用这种方法进行开发;那么如果能够业务逻辑和短信协议的实现分开就可以更好地实现短信系统了,对于第二类短信系统就是基本解决了这样的问题。
 
  第二类,业务开发型的短信系统/平台,能够把业务逻辑和短信协议部分分开实现,采用一个短信服务号码,根据用户发送不同的短信代码来实现不同的业务,这样的系统是现有大部分SP都在使用的。其实现的办法是,对于短信的上行和下行有专门的协议实现程序,而收到以及要发送的信息通过数据库来做接口。对于业务逻辑的实现,就是通过专门编写业务实现模块的程序,或者直接利用数据库的存储过程来实现,业务模块通过查询数据库得到用户发送上来的MO信息,对该信息进行处理后,产生新的MT信息,并且写回数据库中,而短信协议模块则读取MT信息,把信息发送给用户。
 
  第三类,运营商级的短信综合业务二次开发平台,对于这一类的短信平台,它把短信协议的实现,数据库的访问,以及各种字符,数字,逻辑等运算都封装起来,用户在设计和实现新的业务流程的时候,只需要把要实现的流程图画好,就可以利用平台提供的二次开发环境,不需要复杂的编程就可以实现新业务,有些二次开发环境还是图形界面非常简单方便,开发者完全可以不需要任何写代码的基础。这一类的平台,还可以同时加载上千个流程,并且可以实时加载和卸载流程而不影响其他流程正常的服务。实现的方法是,整个系统分成三个部分,第一部分是短信协议实现部分,这部分和以上两类没有太大区别只是和业务模块是通过网络通信的方式实现;第二部分是业务逻辑解析模块,所有编写好的业务逻辑都在这个模块上加载,运行。这个模块实现的就是封装各种各样的资源操作,并根据业务逻辑来执行。这里一般对于业务逻辑的实现都是通过状态机的状态跳转方式实现;第三部分就是业务开发模块,也就是我们平常所说的短信流程,把业务逻辑解析的各种资源动作通过一个开发窗口提供给用户使用,并且进行编译,校验用户编写的流程是否正确。
 
  以上三类系统/平台的开发,对于第一类就不多说了,我们比较一下第二类和第三类的区别。第三类比第二类的好处在于,业务流程开发方便快捷,不需要专业的开发工程师就可以实现;在实现时候对于Session的控制简单;业务管理方便。而缺点则是前期的投入比较大,对于平台开发搭建的难度比较高。
 
  以上是我自己在短信技术开发思路上的一些总结,或者大家可能有其他不同的实现思路以及方法,欢迎大家一起探讨,谢谢!
分享到:
评论

相关推荐

    wince+gprs拨号上网总结 移动开发 - 其它 - wince+gprs拨号上网总结.zip

    这篇文档“wince+gprs拨号上网总结”聚焦于在WinCE平台上实现GPRS拨号上网的技术细节和实践经验。 一、GPRS基础 GPRS是一种基于GSM网络的数据服务,它提供了比短信更高效的数据传输能力。在GPRS网络中,设备可以...

    短信技术原理及开发简介.pdf

    本篇将对短信技术的原理及开发进行详细介绍,以助于对短信技术有更深入的理解。 ### 短信技术原理 短信技术是利用GSM网络的资源来传输有限长度的文本信息。GSM网络中的短消息服务(SMS)允许用户在移动设备间传递...

    嵌入式软件开发技术 结课报告

    ### 嵌入式软件开发技术知识点概览 #### 一、系统创意背景及意义 在当前物联网(IoT)迅速发展的背景下,嵌入式系统的应用越来越广泛,尤其是在消费电子领域,如智能家居、智能穿戴设备等。本项目旨在设计一款智能...

    移动短信发送程序

    移动短信发送程序是一种...总结起来,"移动短信发送程序"涉及的技术包括SMS通信协议、Java编程语言、Android SDK、用户界面设计、权限管理、网络状态检测以及异常处理。理解并掌握这些技术是成功开发此类程序的关键。

    最新用Visual Basic 开发的短信软件

    总结,利用Visual Basic开发短信收发软件涉及到网络通信、API调用、界面设计、多线程技术等多个方面。通过对这些知识点的理解和实践,开发者可以构建出功能完善的短信应用,为个人学习或企业需求提供便利。同时,这...

    thinkphp5发送阿里云短信.zip

    本篇将详细介绍如何在ThinkPHP5框架中集成并使用阿里云短信服务。 一、ThinkPHP5框架简介 ThinkPHP5是一款基于PHP语言的轻量级开发框架,它提供了强大的MVC(Model-View-Controller)架构模式,支持RESTful路由,...

    android开发资料大全

    android开发环境搭建篇详尽的教程实例汇 图形图像之图像处理(缩放 旋转 转化) android开发之【腾讯微博android客户端开发】Parameter类和SyncHttp 网友自己写的Android腾讯微薄客户端开发教程 Android 所有...

    Android 在线开发指南PDF版之一 SDK篇

    ### Android在线开发指南PDF版之一:SDK篇 #### 一、引言 随着移动互联网的飞速发展,Android操作系统已成为全球范围内最受欢迎的移动设备平台之一。Android不仅为用户提供了丰富的功能和服务,也为开发者构建应用...

    IT技术工作总结.doc

    这篇文章是关于一名IT专业人员2011年度的工作总结,涉及了他在多个项目中的职责、主要工作及取得的成果。通过这份总结,我们可以了解到他在数据库管理、项目协调、技术优化以及团队领导方面的成长。 1. **数据库...

    借助云开发实现小程序短信验证码的发送

    在本文中,我们将重点讲解如何利用云开发技术来实现小程序中短信验证码的发送功能,同时会通过示例代码提供详细的操作步骤,这对学习者或开发人员来说是一篇极具参考价值的文章。 首先,云开发是一种新型的开发模式...

    校园消防安全疏散演习活动的总结范文四篇摘选.docx

    - **应急预案系统化管理**:利用数据库技术和软件开发技术建立应急预案管理系统,记录不同情况下的疏散路线、集合地点等关键信息。 - **智能警报系统的搭建**:采用物联网技术部署智能警报系统,如声光报警器、无线...

    学士学位论文--android手机通讯-录的设计与实现.doc

    【Android 手机通讯录的设计与实现】 ...通过这篇论文,读者可以了解到Android应用开发的基本流程,特别是通讯录应用的关键技术和设计要点。同时,这也为其他开发者提供了设计和实现类似应用的参考和借鉴。

    电子刊物《Android开发半月谈》

    - **内容概述**:一篇关于魅族发布会的文章,可能涉及新产品发布、技术创新等方面的内容。 - **价值**:为读者提供了关于魅族品牌及其产品的深入了解。 3. **那些年,我们一起追的Android** - **内容概述**:...

    2013年度研发工作总结.doc

    ### 2013年度研发工作总结关键知识点解析 #### 一、个人成长与发展 1. **心态转变**:文中提到作者从资源部调至...对于想要了解前端开发岗位职责、技能要求以及行业发展的人来说,这篇总结提供了宝贵的信息和启示。

    Java短信收发;SMSLIB使用;java接收短信;java发送短信

    Java短信收发技术是软件开发中的一个重要组成部分,特别是在企业级应用和移动通信解决方案中。SMSLIB是一个用Java编写的开源库,它提供了短信发送和接收的功能,为开发者提供了方便的API来实现短信服务。本篇将详细...

    村疫情防控工作总结,三篇.docx

    根据给定文件的信息,我们可以总结出以下相关的IT知识与应用点: ### IT技术在疫情防控中的应用 #### 1. **信息化平台与系统** - **疫情监控系统**:通过信息化手段实时收集、分析疫情数据,包括确诊病例数量、...

    ISAG,WAP接入最新文档

    ### ISAG综合业务接入网关知识点总结 #### 1. ISAG简介 - **定义**:ISAG(Integrated Service Access Gateway)即综合业务接入网关,是中国电信为应用提供的一个符合国际标准Parlay X2.0接口的平台,并在此基础上...

Global site tag (gtag.js) - Google Analytics