《EIIPS企业信息化集成处理系统的设计说明25202.pdf》由会员分享,可在线阅读,更多相关《EIIPS企业信息化集成处理系统的设计说明25202.pdf(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、jpsd 摘 要 随着企业信息化建设的发展,目前很多企业都已经建设了企业内部的信息系统,这些信息系统需要处理短信、短信等业务来为企业提供信息服务,但是由于不同运营商的短信处理系统的接口标准不统一、不同网络的接口标准也不同,企业的信息系统如果要支持不同运营商的短信系统、短信系统、无线网络及 WAP 等服务,就需要开发不同的处理接口,接入到不同运营商的相关系统来处理企业的相关信息。综合考虑企业信息化建设的需求及目前信息化系统发展的趋势,希望能够开发一个通用的信息处理系统,以满足不同企业的信息化的需求,在此提出企业信息化集成处理系统架构的设计架构。关键字:企业信息化,信息处理系统,短信,EIIPS
2、jpsd ABSTRACT With the enterprise information construction of development,many enterprises have been built within the enterprise information systems,information systems need to deal with SMS,text messaging and other businesses to provide information services for businesses,but due to different SMS o
3、perator interface processing system standards are not uniform,different network interface standards,enterprise information systems to support different operators if the SMS system,SMS system,wireless network and WAP services,you need to develop different processing interface,access to a different op
4、erator related systems to deal with business related information.Considering the construction of enterprise information needs and current trends in information systems development,hoping to develop a common information processing systems to meet the different needs of enterprises in information tech
5、nology,enterprise information in this proposed architecture is designed integrated processing system architecture.Keywords:enterprise information,information processing systems,messaging,EIIPS jpsd 目录 摘 要.I ABSTRACT.II 第 1 章 绪论.1 1.1 引言.1 1.2 SMS 结构解析.1 1.2.1 SMS 技术的基本概念.1 1.2.2 SMS 体系结构.2 1.2.3 SMS
6、 的实现过程.3 1.3 本文的主要研究内容.4 1.4 本文研究的目的和内容.4 1.4.1 本文研究的目的.4 1.4.2 本文研究的主要内容.5 第 2 章 相关技术介绍.6 2.1 struts 框架简介.6 2.1.1 struts 简介.6 2.1.2 用 Struts 实现 MVC 模式.6 2.1.3 本节小结.8 2.2 spring 框架简介.8 2.2.1 SPRING 简介.8 2.2.2 本节小结.10 2.3 iBATIS 框架简介.10 2.3.1 iBATIS 简介.10 2.3.2 iBatis 应用中的多数据库支持.11 2.3.3 扩展 SqlMapCon
7、figParser.11 2.3.4 本节小结.11 2.4 本章小结.12 第 3 章 SMPP 协议及相关厂商的协议.13 3.1 传输过程示意图:.13 3.2 SMPP 协议部分(包括 MSC、SMSC、SAG 之间的报文交互).13 jpsd 3.3 SMGP 协议部分(主要为 SAG 与 CP/SP 之间的报文交互).19 3.4 ISMAP 协议.25 3.5 本章小结.31 第 4 章企业信息集成处理系统(EIIPS)短信功能详细说明.32 4.1 系统概述.32 4.2 系统功能描述.33 4.2.1 MT 消息处理模块.34 4.2.2 MO 消息处理模块.35 4.2.3
8、WEBSERVICE 统一接口处理模块.35 4.3 消息处理流程说明.35 4.3.1 下行 MT 消息处理流程.35 4.3.2 上行 MO 消息处理流程.37 4.3.3WEBSERVICE 统一接口处理流程.38 第 5 章 EIIPS 短信功能详细设计.39 5.1 短信业务门户(SMBP 系统介绍).39 5.1.1 SMBP 系统结构.39 5.1.2 SMBP 的撰写短信设计说明.40 5.2 短信后台处理(SMCP 系统介绍).42 5.2.1 SMCP 系统的结构.42 5.2.2 系统初始化模块(M0)设计说明.45 5.2.3 MT Notify 接收模块(M1)设计说
9、明.50 5.2.4 MT Notify 处理模块(M2)设计说明.53 5.2.5 MT 消息发送模块(M3)设计说明.55 5.2.6 MO 消息接收模块(M4)设计说明.56 5.2.7 MO Notify 处理模块(M2)设计说明.58 5.2.8 MO Notify 发送模块(M3)设计说明.60 5.3 本章小节.62 第 6 章 短信收发系统的测试.63 第 7 章 工作总结和心得体会.69 7.1 工作总结:.69 7.2 心得体会:.69 参考文献.70 jpsd 致 谢.71 附录:英文文献翻译.72 jpsd 第 1 章 绪论 1.1 引言 随着企业信息化建设的发展,目前
10、很多企业都已经建设了企业内部的信息系统,这些信息系统需要处理短信、短信等业务来为企业提供信息服务,但是由于不同运营商的短信处理系统的接口标准不统一、不同网络的接口标准也不同,企业的信息系统如果要支持不同运营商的短信系统、短信系统、无线网络及 WAP 等服务,就需要开发不同的处理接口,接入到不同运营商的相关系统来处理企业的相关信息。综合考虑企业信息化建设的需求及目前信息化系统发展的趋势,希望能够开发一个通用的信息处理系统,以满足不同企业的信息化的需求,在此提出企业信息化集成处理系统架构的设计架构。该平台能够将短信、短信发送到所有运营商的客户手机终端,该平台一端通过不同的处理接口与不同运营商相关的
11、系统连接,平台的另一端通过一个统一的处理接口与企业内部不同的信息系统进行连接,这样就可以实现企业后续建设的信息系统,只要按照移动服务平台与企业内部的统一接口接入到移动服务平台中,就可以实现对企业提供相应的信息服务。本文描述了 EIIPS(Enterprise Information Integrated Process System 企业信息化集成处理系统)系统(短信功能)的设计说明。1.2 SMS 结构解析 1.2.1 SMS 技术的基本概念 SMS(Short Messaging Service)是最早的短消息业务,也是现在普及率最高的一种短消息业务。目前,这种短消息的长度被限定在 140
12、 字节之内,这些字节可以是文本的。SMS 以简单方便的使用功能受到大众的欢迎,却始终是属于第一代的无线数据服务,在内容和应用方面存在技术标准的限制。短消息服务器使移动电话能够使用GSM网络发送短消息,它具有许多有功能:支持一个 SMS 消息最长可包括 160 个字符(偶数二进制)。SMS 是一种存储和转发服务。也就是说,短消息并不是直接从发送人发送到接收人,而始终通过 SMS 中心进行转发的。如果接收人处于未连接状态(可能电jpsd 话已关闭),则消息将在接收人再次连接时发送。SMS 具有消息发送确认的功能。这意味着 SMS 与寻呼不同,用户不是简单地发出短消息然后相信消息已发送成功;而是短消
13、息发送人可以收到返回消息,通知他们短消息是否已经发送成功。SMS 消息的发送和接收可以和 GSM 语音同步进行。SMS 消息按消息收费,因此要比通过基于 IP 的网络(例如,使用 GPRS 通用分组无线业务)发送的数据昂贵得多(每字节)。要使用 SMS,用户需要预订支持 SMS 的移动网络,并且必须为该用户启用SMS 的使用。用户需要有发送短消息或接收短消息的目的地。该目的地通常是其他的移动电话,但也可以是服务器。最后,用户还需要有支持 SMS 的移动电话,并需要了解如何使用其特定型号的移动电话发送或阅读短消息。1.2.2 SMS 体系结构 在整个 SMS 的网络体系结构中,SMSC 是最核心
14、的部分,它提供存储和操作支持,并具有灵活的寻址能力。而 SMS 传输过程是封装在 WAP 之上的高层应用,因此 WAP 作为 SMS 的承载体,同样具有举足轻重的作用。此外,SMSC 有很多的端口与其它网络(比如 Internet)相连接,同时有很多外部应用接口。短消息服务(SMS)业务系统要具有良好的可靠性、安全性、灵活性和可扩展性,能够满足不断变化的业务特性和容量的要求,从而高效快速地提供新业务。一般说来,该系统包括了以下网元:SMS 终端、SMSC(短消息业务中心)、SMS用户数据库、外部应用服务器、增值应用服务器以及非 SMS 终端支撑应用系统。此外,为配合短消息平台提供短消息服务,系
15、统需要 WAP 网关、GSM/GPRS 网络资源等设备的支持,还要和现网中的计费系统、网管系统互联。SMS 终端通过 SMS 用户代理提供短消息服务。SMS 用户代理是短消息终端上的一个应用,提供用户浏览、编辑、处理短消息等功能并可进行发送、接收、删除等操作。SMS 用户代理支持 MIME,通过 MIME 中不同子类型的定义,使得短消息可包含文本、图像、声音等数据。短消息业务中心(SMSC Short Message Serivce Center)又称为 SMS 中继服务器,它是整个短消息系统的核心,对短消息进行存储和处理,包括消息的输入输出、地址解析、通知、报告等,同时,负责短消息在不同SM
16、SC 之间的传递等操作。SMSC 还产生业务服务使用记录(CDR)话单用于计费。另外,SMSC 可连接其它网络并开展各种增值服务。SMS 中继是系统的 IP 接口,系统通过它与各种jpsd 网络相连,从而支持多种协议。SMS 重定向器在短消息业务中心的 URL 地址全网统一的条件下,负责用户归属短消息业务中心的路由查询。它还根据 HTTP 包的 MSISDN 号码确定发送方用户归属的短消息业务中心,并向WAP网关返回重定向消息,使WAP网关将该 HTTP请求转发给该短消息业务中心。SMS 用户数据库用于存储用户服务信息、服务类型、个性化服务信息等。目标网络中该数据库是移动数据业务管理平台的一部
17、分,在建网初期它可集成在SMSC 系统中。SMS 增值应用平台是基于短消息平台的增值应用平台,短消息业务中心应提供开放的、标准的 API 接口,支持增值应用的开发。1.2.3 SMS 的实现过程 首先发送者编辑要发送的消息,然后消息被传送至各自相应的信息中心,最后信息中心将消息转发给接收者。当由于某些原因信息中心无法通知到接收者时,信息中心将消息保存一定时间后再次发送。若在一定时间内还是无法送达,就丢弃这条消息。SMS 发送的实现过程:A发送方发送消息(1)消息发送方编辑欲发送的消息。(2)终端中存在 SMSC 的信息,它建立一个WAP 连接(CSD/GPRS),并将用WAP WSP 的协议进
18、行编码后的消息作为一个 WSP POST 内容发送出去。然后 WAP 网关以 HTTP 协议将内容传送给 SMS 中继器,中继器再传至 SMSC。(3)SMSC 接收消息,将信息的内容将转换成 MIME 的格式后存储,并进行数据分析,从而得到路由信息,用户终端信息,同时通过同一个 WAP 连接对发起方做出响应,发送方终端显示“消息已发出”。BSMSC 通知接收方(4)SMSC 使用 WAP PUSH 向接收方发送一条通知消息。C接收方提取消息(5)如果接收方的终端已设置成接收 SMS 消息它将建立一个 WAP 连接(CSD/GPRS),并使用 WSP GET 从 SMSC 取回 SMS 消息。
19、(6)SMS 消息被作为一个 WSP GET RESPONSE 的内容,通过同一个WAP 连接发送至接收者。jpsd (7)接收方终端仍通过同一个 WAP 连接用 WSP POST 消息告知接收成功。D.SMSC 通知发送方发送成功(8)SMSC 使用 WAP PUSH 告知发送方消息已送达,发送方终端显示“消息已送达”。从上述 SMS 发送的实现过程可以看到,SMSC 并不是直接将 SMS 消息发送给接收者,而是向其发送一个通知,告诉接收方有一条消息正在等待。根据终端设置的不同,接收方的终端将尝试立即提取该消息,或者推迟一段时间提取,又或者仅仅将通知放在一边,不予理会。而当用户设置成“立即提
20、取”时,除非消息真正被送达,否则用户并不知道将收到一条消息。终端自己处理消息的提取,然后才告知用户“消息已接收”。1.3 本文的主要研究内容 本次毕业设计的主要内容就是研究短信发送的主要处理过程,用户从网页录入短信内容、接收者信息后,就进入后台处理模式。后台处理模式就是我这次毕业设计的主要内容。前台展现的是短信有没有发送成功。1.4 本文研究的目的和内容 1.4.1 本文研究的目的 中小企业移动业务应用平台建设能够降低集团用户的办公、生产成本,提高中国移动浙江公司服务价值,提升客户群的满意度。为提高中国移动某公司服务价值,提升客户群的满意度,创造更多的商业机会,整合现有分散的集团短信业务平台,
21、建设统一的中小企业移动业务应用平台是十分必要的。而且在本系统的研究设计中,用到通信协议,技术框架之类的,有利于开发者的深入研究学习。所以本系统的设计研究时非常必要的。jpsd 1.4.2 本文研究的主要内容 本文主要分为七个部分:第一部分:绪论,介绍当前中国移动市场的概况和短信发送的一些体系结构,和要求该系统达到的一个要求。为下文的介绍打下基础。第二部分:相关技术介绍,Struts、Spring 和 iBATIS 三种框架的介绍,是本次毕业设计的一些技术基础,本设计就是基于这三种框架上实现的。第三部分:相关协议的介绍,主要是 SMPP、SMGP 和 ISMAP 三种协议的介绍,为以后可以成功发
22、送短息做铺垫。第四部分:企业信息集成处理系统(EIIPS)短信功能详细说明,MT、MO 和WEBSERVICE 等三模块功能以及流程图。第五部分:EIIPS 的详细设计,介绍了短信发送的详细处理过程,MT 的接收处理及发送过程为主要重点内容。经过处理后的短信发送到 SMSC,就完成了发送过程。为第六章的测试做了铺垫。第六部分:短信发送系统的测试,这章是在第五章的基础上延伸的,就是系统设计完成后运行监视的结果。第七部分:工作总结和心得体会,讲述了自己在做毕设这段时间的心里历程和对短信系统的一个总结。jpsd 第 2 章 相关技术介绍 2.1 struts 框架简介 Struts 是一种方便实用的
23、 Web 应用框架。本节将探讨一下 Web 框架的历史,分类和各种 MVC 模式实现框架,以及 Struts 框架的基本内容。2.1.1 struts 简介 当一个设计师在设计一个方案的时候,首先要构建该方案的框架结构有了这份蓝图,实现过程才会有条不紊、井然有序。同样,软件开发者在开发一个软件项目的时候,也要构思一个软件应用的框架。通过框架表示出软件的各个模块之间的关系。这样可以提高软件开发的速度和效率,使得软件维护更加容易。然而对于 Web 开发应用,要设计开发出这样一个蓝图框架并不是一件容易的事。随着 Web 技术的日渐成熟,在 Web 开发领域出现了一些优秀的蓝图框架。Struts 就是
24、这样一个构架方案的框架。它是一种机遇 MVC 模式的框架。Struts 并没有创造出一种新技术,它也没有取代 Servlet,JSP 和其他的 JAVA Web 基本组件。Struts 的所有功能都是建立在已有的 Java Web 组件上的,比如Servlet、JSP 或是 JavaBean,它是基于 MVC 设计模式的框架,它只是采用了 MVC模式把这些元素组织起来,使它们协同工作。更简单的说,可以把 Struts 作为一种开发的助手。它的目的是为了帮助我们减少在运用 MVC 设计模型来开发 Web 应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用
25、Servlet 和 JSP 的优点来建立可扩展的应用,Struts 是一个不错的选择。2.1.2 用 Struts 实现 MVC 模式 MVC 是一种设计模式。它把整个应用系统的输入、处理、输出分开。这 3 个部分分别对应着 MVC 中 3 个核心的模块:模型(Model)、试图(View)和控件(controller)。图 2-1 显示了着 3 个模块的相互关系。MVC(Model-View-Controller)模式是一种常用的设计模式。jpsd Model*Encapsulate application state*Responds to state queries*expases ap
26、plicationfuncyionlity*Notifies views of changesView*renders the Models *Requests updates from models*send user gestures to controller*Allows controller to select viewsController*define application behavior*Maps user action to model updates*Select view for response*One for each functionality State qu
27、ery View selection State changeUser gestures Change notifictionMethod invocations Events 图 2-1 视图/控制器/模型 Struts 就是一个 MVC 框架1。模型是由实现业务逻辑的 JavaBean 或 EJB 组件组成,在 struts 框架中对应的是 ActionForm;控制器由 ActionSerlvet 和 Action来实现;视图就是由一组 JSP 文件构成的。1模型 由 ActionForm 和 JavaBean 组成,其中 ActionForm 用于封装用户的请求参数,封装成 Actio
28、nForm 对象,该对象被 ActionServlet 转发给 Action,Action 根据ActionFrom 里面的请求参数处理用户的请求。JavaBean 则封装了底层的业务逻辑,包括数据库访问等。模型代表了该应用系统的核心功能,它负责处理用户的数据和实现业务逻辑。同时,模型还为视图的显示提供数据,并可被多个视图所共用。2.视图 该部分采用 JSP 实现。Struts 提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与 Model 的有效交互,并增加了现实功能。视图主要指与用户交互的界面,也即应用程序的外观。视图可以接收用户的输入,但它并不包括任何实际的业务处
29、理,它只是将数据转交给控制器,同时,视图还jpsd 负责展现模型传递给用户的数据,当后台模型更新数据时,视图也应当随之更新它的显示。3.控制器 Controller 组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的 ActionServlet。该控制器由 Struts 框架提供,继承 HttpServlet 类,因此可以配置成标注的 Servlet。该控制器负责拦截所有的 HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用 Model来完成处理。对应 Action 部分。控制器负责接收用户的请求
30、和数据,接着它会做出判断将请求和数据交由哪一个模型来处理,最后调用视图来显示模型返回的数据。2.1.3 本节小结 本节着重讲解了Struts的基本概念和MVC的基本概念以及用Struts实现MVC模式,希望读者能够体会到和对 Struts 有一定的了解,我在 EIIPS 中主要是页面处理(Action)部分。接下来的章节会介绍本次毕业设计用到的另两种技术。2.2 spring 框架简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。2.2.1 SPRING
31、 简介 Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图 2-2 所示。jpsd 图 2-2 Spring 框架的 7 个模块 组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。Spring 上下文:Sp
32、ring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。Spring DAO:JDBC DAO 抽象层提供了有意义的异常层
33、次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对jpsd 象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下
34、文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2E
35、E 环境(Web 或 EJB)、独立应用程序、测试环境之间重用。2.2.2 本节小结 本节着重讲解了 Spring 的基本概念以及用 Spring 的,希望读者能够体会到和对 Spring 有一定的了解,这里使用 spring 主要是做控制器(controller)部分。2.3 iBATIS 框架简介 iBATIS 是一个开源的对象关系映射框架,着重于 POJO 与 SQL 之间的映射关系。和其它 ORM 框架不同,iBatis 开发者需要自己编写和维护 SQL 语句。为了得到更好的执行性能,在实际开发中免不了会使用一些数据库方言。随之而来的一个问题是,如何在增加对新的数据库支持的同时尽可能避
36、免对已有应用程序代码的修改?本文提供了一个简单有效的方法,通过扩展 iBatis 来透明地支持多数据库方言。2.3.1 iBATIS 简介 iBATIS 是一个开源的对象关系映射程序,着重于 POJO 与 SQL 之间的映射关系。使用时,开发者提供一个被称为 SQL 映射的 XML 文件,定义程序对象与 SQL 语句间的映射关系,iBatis 会根据 SQL 映射文件的定义,运行时自动完成 SQL 调用参数的绑定以及 JDBC ResultSet 到 Java POJO 之间的转换。下面是一个简单的例子,相比其它 ORM 工具,iBatis 相对简单,更容易上手。jpsd 2.3.2 iBat
37、is 应用中的多数据库支持 在 iBatis 应用中,开发者仍需自己编写具体的 SQL 语句,iBatis 只是隐藏和简化了 JDBC 的相关调用。实际开发中,我们不免需要就 SQL 语句针对各种特定的数据库进行特殊优化,以期获取更好的执行性能,随之而来的一个问题是,如何应对新的数据库平台支持的需求。一般的做法是,修改 SQL 映射文件,提供一些新的针对新数据库平台的 SQL 语句版本,然后修改程序代码,添加相应调用。每增加一个新的数据库支持,增加了一些新的针对新数据库平台的 SQL 语句版本,我们就不得不搜索源代码,找出所有受到影响的 iBatis 调用,修改并增加针对新数据库的特殊调用。代
38、码维护时,每次涉及使用数据库方言的 SQL 语句,我们也都必须记住小心谨慎地处理所有相关的数据库特化调用。这样的工作乏味且容易出错。在分析 iBatis 源码的基础上,通过适当扩展 iBatis,提供一个高效方便的解决方案,我们只需要添加相应的SQL 语句就可以实现这些功能的扩展。2.3.3 扩展 SqlMapConfigParser 在 iBatis 应用中,SqlMapConfigParser 负责解析 iBatis 配置文件,加载所有的 SQL 映射文件,生成 SqlMapClient 实例,这是持久化调用的入口。SqlMapConfigParser 的实现并不复杂。成员函数 parse
39、r 将传入的配置文件 XML 输入流交给一个 XML 解析器。XML 解析器解析 XML 输入,并针对每一个 XML Fragment 调用合适的处理器处理。所有的处理器都在 SqlMapConfigParser 类实例初始化时预先被注册到 XML 解析器上,其中,对于 iBatis 配置中的 SQL 映射声明,只是简单地调用类 SqlMapParser 中的 parser 方法,解析并加载相应的 SQL 映射定义文件。2.3.4 本节小结 本节着重讲解了 iBATIS 的基本概念以及用 iBATIS 的,希望读者能够体会到和对 iBATIS 有一定的了解。接下来的章节会介绍本次毕业设计用到的
40、管理数据库的技术。因为先前一直使用的是 hibernate,刚开始对 iBATIS 很不习惯,经常弄丢配置文件,但是一旦用顺手之后发现,真的很方便,在各个数据库换用的时候,效果就特别明显,我只需要按照不同数据库的SQL 语句进行重新组织一次,不需jpsd 要在各个 action 中去一一对照寻找,这里 iBATIS 主要是对数据库的处理部分。2.4 本章小结 本节主要讲 EIIPS 系统的前台后台以及数据库的相关技术进行了粗略的介绍以及它们在本系统中的位置作用。jpsd 第 3 章 SMPP 协议及相关厂商的协议 3.1 传输过程示意图:3.2 SMPP 协议部分(包括 MSC、SMSC、SA
41、G 之间的报文交互)1.对于一个从 MSC A 发送到 MSC B 的短消息:A MSC A 要与 SMSC 之间建立连接并发送短消息的示意图如下。报文(1)、(2)为建立连接的报文对:报文(1)的格式如下:整个包长度(4B)00000002请求连接到SMSCNULL(4B)序列号00000001消息体 图中第二部分为Command ID,第三部分为Command Status,该字段只用在应答jpsd 消息中,序列号为由MSC A 产生,它是消息和它的应答之间的对应标志,数值在01H到07FFFFFFFH间(4 BYTE)。对于每条请求消息,该字段的取值必须保证严格单调递增,当序列号值达到最
42、大值时,返回继续从01H 开始。消息体中需要包括以下部分:系统登录到短消息中心所用的接口号(最大16B)、系统登录到短消息中心所用的密码(最大9B)、登录的接口类型(最大13B)、登录的接口版本号(1B)(e.g.0 x13代表版本为1.3)、编码类型和编码方案(各1B,不需要时都可设成NULL)、给短消息指明路由(最大41B)。报文(2)为应答报文,格式如下:整个包长度(4B)80000002对请求的应答00000000成功序列号00000001消息体 此处的 Command Status可能有多种取值,取为 0 表示连接成功,其他的说明如下。E_SUCCESS 0X00000000 成功
43、E_OTHERERR 0X00000001 其他错误 0X00000002 0X0000000F 保留给SMSC厂商定义错误 E_MSGLENERR 0X00000010 消息长度错误 E_CMDLENERR 0X00000011 命令长度错误 E_INVLDCMDID 0X00000012 消息ID无效 E_NORIGHT(0X00000013)0X00000013 没有执行此命令的权限 0X00000014 0X0000001F 保留 E_INVLDSYSTEMID 0X00000020 无效的SYSTEMID E_INVLDPASSWORD 0X00000021 无效的密码 E_INVL
44、DSYSTEMTYPE 0X00000022 无效的SYSTEMTYPE 0X00000023 0X0000003F 保留 E_ADDRERR 0X00000040 地址错误 E_MOEXCEED 0X00000041 超过最大提交数 E_MTEXCEED 0X00000042 超过最大下发数 E_INVLDUSER 0X00000043 无效的用户 E_INVLDDATAFMT 0X00000044 无效的数据格式 jpsd E_CREATEMSGFAILURE 0X00000045 创建消息失败 E_INVLDMSGID 0X00000046 无效的短消息ID E_DATABASEFAIL
45、URE 0X00000047 数据库失败 E_CANCELMSGFAILURE 0X00000048 取消消息失败 E_MSGSTATEERR 0X00000049 短消息状态错误 E_REPLACEMSGFAILURE 0X0000004A 替换消息失败 E_INVLDRPLADDR 0X0000004B 替换消息源地址错误 0X0000004C 0X0000005F 保留 E_INVLDORGTON 0X00000060 无效的源地址TON E_INVLDORGNPI 0X00000061 无效的源地址NPI E_ORGADDRERR 0X00000062 源地址错误 E_INVLDDES
46、TTON 0X00000063 无效的目的地址TON E_INVLDDESTNPI 0X00000064 无效的目的地址NPI E_DESTADDRERR 0X00000065 目的地址错误 E_INVLDSCHEDULE 0X00000066 无效的定时时间 E_INVLDEXPIRE 0X00000067 无效的超时时间 E_INVLDESM 0X00000068 无效的ESM_CALSS E_INVLDUDLEN 0X00000069 无效的UDLEN E_INVLDPRI 0X0000006A 无效的PRI E_INVLDRDF 0X0000006B 无效的Registered_del
47、ivery_flag E_INVLDRPF 0X0000006C 无效的Replace_if_present_flag 0X0000006D 0X0000007F 保留 用户管理部分(可选)E_USERALREADYEXIST 0X00000080 指定用户已经存在 E_CREATEUSERERR 0X00000081 创建用户失败 E_USERIDERR 0X00000082 用户ID错误 E_USERNOTEXIST 0X00000083 指定用户不存在 jpsd 0X00000084 0X0000008F 保留 0X00000090 0X00000FFF 保留给SMSC厂商定义错误 其他
48、 保留 消息体为系统登录到短消息中心所用的接口号(最大 16B)。建立连接后 MSC A向 SMSC发送短消息为报文对(3)、(4)。报文(3)为 MSC主动发送短消息的报文,格式为:整个包长度(4B)00000004请求发送短消息NULL序列号00000002消息体 此时的请求标号是 00000004,序列号相较于上一对请求应答报文加 1(假设这过程中没有发生其他的链路维持请求和应答报文对)。消息体包括:保留字段(为以后预留,最大 6B,必须设为 NULL)、源地址编码类型和编码方案(各 1B,可选择设为 NULL)、提交的短消息的源地址(最大 21B,可选择设为 NULL)、目的地址编码类
49、型和编码方案(各 1B,可选择设为 NULL)、短消息的目的地址(最大21B,可选择设为 NULL)、短消息类型(1B,报文(3)中必须是 NULL)、协议类型(1B,如 GSM)、针对同一地址的短消息的优先级(1B,1 为高优先级)、计划下发该短消息的时间和短消息的最后生存期限(各为最大 17B)、注册短消息标志(1B,表示是否需要状态报告)、替换短消息标志(1B,表示当提交的短消息的源地址和目的地址相同时,是否替换存在的短消息)、数据编码方案(1B,0 表示缺省编码方案【7bit编码】4 表示二进制编码方案【8bit编码】8 表示 UCS2编码方案【GB13000】)、预定义短消息 ID(
50、1B,该 ID 是短消息中心管理者建立的预定义短消息表的索引。不想发送预定义短消息时,该字段应设为NULL。预定义短消息 ID 值从 0 x01 到 0 x64)、要发送的短消息数据内容的字节长度(1B)、短消息数据内容(最大160B)。报文(4)为对应报文(3)的来自 SMSC得应答,格式如下:整个包长度(4B)80000004请求确认00000000发送成功序列号00000002消息体 序列号与报文(3)相同表示为报文(3)的应答。jpsd 消息体为:短消息中心产生的短消息 ID,用于以后查询及替换短消息用(最大 9B),如果没有则设成 NULL。BSMSC 向 MSC B 发送刚刚从 M