基于SOA的电信CRM与SFS系统接口的设计与实现.doc
《基于SOA的电信CRM与SFS系统接口的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于SOA的电信CRM与SFS系统接口的设计与实现.doc(5页珍藏版)》请在沃文网上搜索。
1、基于SOA的电信CRM与SFS系统接口的设计与实现 摘 要 首先介绍了SOA的基本概念和关键性特征,然后针对电信CRM和SFS系统接口的具体业务要求,提出了一种基于SOA的设计与实现,并且给出了相应的算法和流程,讨论了消息HUB和消息通讯的算法实现。通过项目实践证明,这种基于SOA的电信CRM与SFS系统接口的设计策略缩短了开发应用的周期,使得代码的可移植性和重用性得到提高,并大大减少了系统维护的工作量,提高了系统的性能。关键词 SOA CRM SFS 松散耦合 消息文章编号 文献标识码 A 中图分类号 TP393Design and Implementation of the Telecom
2、 Interface between CRM and SFS System Based on SOALi Bo, Liu Weiguo(School of Information Science and Engineering of Central South University, Changsha 410083)Abstract: At first, this paper introduces basic concept and decisive characteristic of SOA. Then direct against the concrete business of Tele
3、com Interface between CRM and SFS System, we put forward the design and implementation , and give the corresponding algorithms and procedures, and discuss the message hub and information communications algorithm implementation. Practice has proved that, the project which based on SOA design strategy
4、 has reduced the development cycle of applications, made code portability and reusable capacity improved, greatly reduced the workload of system maintenance, and improved the systems performance.Key words: SOA, CRM ,SFS, loose couple, message51 引言在软件开发中,软件应用程序的需求总是动态的,现在的解决方案必须能够灵活地适应未来的需求,而用户的需求是一个
5、不断变化的灵活体。特别是在相关系统之间的数据交互中,由于系统设计人员对其他子系统的数据未知性,导致程序设计陷于无限制的设计演变7、代码开发和重新测试中,并导致系统的可读性和可维护性的大幅降低,最终发生不可预见的错误。预料到需求会不断的变化,所以需要软件架构能够被设计得使未来的需求改变对系统的冲击最小化。CRM系统和SFS系统是电信运营支撑系统的核心,两个系统的接口更是至关重要。笔者在项目实践中通过研究,从基于SOA的设计出发,提出了解决这一问题的一种思路和实现方案。2 SOA概述2.1 SOA的定义SOA是英文Service-Oriented Architecture,即面向服务架构的缩写。简
6、单来说,SOA是一种架构模型6,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理互联网络的人为依赖性。本质上说,SOA体现的是一种新的系统架构,SOA的出现,将为整个企业级软件架构设计带来巨大的影响。2.2 SOA的关键性特征1. 独立运行(standalone)。服务(service)与组件(component)的根本不同,在于service是独立于调用者自行运转的,这也是service的优势所在。而component则需要其他component的协助才能运行。2. 异步调用(asynchron
7、ous)。内在的异步特性是SOA包容真正的商业智能的关键所在。异步调用的好处在于,它使我们能同时处理多件事务。当然SOA并不排斥同步调用。 作者简介:李波(1981-),男,硕士研究生,研究方向为分布式计算及数据库;刘卫国,男,教授,研究方向为计算机网络及数据库。收稿日期: 3. 基于消息(message based)。基于消息的调用方式是分布式系统的一种内在要求。消息是一种数据,它并不是远程对象指针。消息机制是异步调用和松散耦合的最好实现方案之一。4. 纯文本协议+元数据(Plaintext Meta)。SOA架构中基于纯文本协议是一个非常关键的技术抉择。说到纯文本的元语言,xml无疑是这一
8、概念最强势的候选者。5.松散耦合(loose couple)。这是late binding (discovery), standalone和message based等多种技术策略综合作用之后所达到的一种效果,这为外部灵活的流程配置做好了铺垫,也是众多SOA实施者所要追求的目标。3 CRM与SFS接口的设计与实现3.1 业务需求SFS(Services Fulfillment System)即服务开通系统,是指在电信运营商(现在从CRM系统中)受理客户的服务请求后,根据请求产生客户定单即申请单,然后系统自动生成或分解为服务定单和工单,通过网络资源的调配/调度或新建来最终完成客户服务请求的过程。
9、CRM即客户关系管理系统。其完全以客户和产品为核心,具有高度的定制性,用户可以很大程度上自行定义系统的数据属性,因此传送给服务开通系统的数据格式具有高度的不稳定性。因此一旦数据格式发生哪怕是很小一点的变化,都意味着相关系统重新设计、代码开发、重新测试等相关工作,这为系统的维护带来了极大的难度。也降低了设计的可维护性和可读性。因此,有必要在体系架构上通过某种设计模型来解决这一接口的通用性问题。3.2 设计的基本思想由于采用基于SOA原则的连接方式,流程引擎跟远端业务系统之间通过MQ协议进行交互,需要在流程引擎管理界面中,配置相应的WebSphere MQ Provider、连接工程和队列。当流程
10、引擎需要调用远端业务系统时,需要通过JMS接口向引擎配置的队列发送消息报文,如图1所示。图1 接口设计示意图3.3 消息报文4的结构设计根据SOA的原则,消息交互应该尽大可能的消除平台依赖性,使得交互更方便。由于XML具有简单、规范性,可扩展性,自描述性,互操作性等特点。因此报文全部内容封装在一个XML报文中,XML报文分为两大部分:XML头部分和XML体部分。XML头部分用于标识XML报文的基本属性,在现阶段包括版本号、源机源、消息目的地、 应用名称等基本信息,用于标识当前数据报文规范版本、交易发起机构、交易目的机构、业务种类名称。XML体.部分用于存放具体的交易报文。其内容由具体应用的交易
11、种类决定。格式示例如下:CRMSFS新装1.01:交易报文头块内容2:交易业务头块内容3:交易业务明细块内容3.4 CRM和SFS系统交互的业务流程实现CRM前台根据客户选购商品进行业务受理,生成多条服务定单,把服务定单、服务定单间的关系、定单关联的客户等信息组织成消息包,并写入消息表,如图2所示。 图2 CRM订单受理示意图SFS系统通过后台服务程序从消息表中读取定单消息,将消息包解析并写入SFS数据库,然后激活工作流,由工作流来进行工单调度处理。如图3所示。图3 SFS订单接收示意图3.5 服务的封装按照SOA的原则将CRM和SFS都各自封装成为一个服务。基本的实现步骤如下:1将CRM和S
12、FS系统基于业务规划进行流程设计,然后对于流程访问的基本原子操作采用服务形式进行封装。对于基本的原子业务操作利用Session Bean实现,特别是在系统内部基本都可以通过此方法实现;利用WBISF的自动Wizard工具将被流程调用的Session Bean通过WSDL进行封装。对于SFS子系统间的调用,如果业务允许异步处理,则通过JMS/MQ实现,并适当配合MDBean使用。3将要传递的信息包括定单号、老版本号、新版本号信息、要触发的参数等信息的POJO转换为XML包,消息包为一个LIST对象,包括多条定单信息。4由数据提供者(CRM或SFS系统) 对实体数据进行维护,通过数据库物化视图保证
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SOA 电信 CRM SFS 系统 接口 设计 实现
