摘 要:首先介绍了SOA的基本概念和关键性特征,然后针对电信CRM和SFS系统接口的具体业务要求,提出了一种基于SOA的设计与实现,并且给出了相应的算法和流程,讨论了消息HUB和消息通讯的算法实现。通过项目实践证明,这种基于SOA的电信CRM与SFS系统接口的设计策略缩短了开发应用的周期,使得代码的可移植性和重用性得到提高,并大大减少了系统维护的工作量,提高了系统的性能。
关键词:SOA CRM SFS 松散耦合 消息
Design and Implementation of the Telecom Interface between CRM and SFS System Based on SOA
Abstract: At first, this paper introduces basic concept and decisive characteristic of SOA. Then direct against the concrete business of Telecom 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 has reduced the development cycle of applications, made code portability and reusable capacity improved, greatly reduced the workload of system maintenance, and improved the system’s performance.
Key words: SOA, CRM ,SFS, loose couple, message
1 引言
在软件开发中,软件应用程序的需求总是动态的,现在的解决方案必须能够灵活地适应未来的需求,而用户的需求是一个不断变化的灵活体。特别是在相关系统之间的数据交互中,由于系统设计人员对其他子系统的数据未知性,导致程序设计陷于无限制的设计演变、代码开发和重新测试中,并导致系统的可读性和可维护性的大幅降低,最终发生不可预见的错误。预料到需求会不断的变化,所以需要软件架构能够被设计得使未来的需求改变对系统的冲击最小化。CRM系统和SFS系统是电信运营支撑系统的核心,两个系统的接口更是至关重要。笔者在项目实践中通过研究,从基于SOA的设计出发,提出了解决这一问题的一种思路和实现方案。
2 SOA概述
2.1 SOA的定义
SOA是英文Service-Oriented Architecture,即面向服务架构的缩写。简单来说,SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理互联网络的人为依赖性。本质上说,SOA体现的是一种新的系统架构,SOA的出现,将为整个企业级软件架构设计带来巨大的影响。
2.2 SOA的关键性特征
1. 独立运行(standalone)。服务(service)与组件(component)的根本不同,在于service是独立于调用者自行运转的,这也是service的优势所在。而component则需要其他component的协助才能运行。
2. 异步调用(asynchronous)。内在的异步特性是SOA包容真正的商业智能的关键所在。异步调用的好处在于,它使我们能同时处理多件事务。当然SOA并不排斥同步调用。
3. 基于消息(message based)。基于消息的调用方式是分布式系统的一种内在要求。消息是一种数据,它并不是远程对象指针。消息机制是异步调用和松散耦合的最好实现方案之一。
4. 纯文本协议+元数据(Plaintext Meta)。SOA架构中基于纯文本协议是一个非常关键的技术抉择。说到纯文本的元语言,xml无疑是这一概念最强势的候选者。
5. 松散耦合(loose couple)。这是late binding (discovery), standalone和message based等多种技术策略综合作用之后所达到的一种效果,这为外部灵活的流程配置做好了铺垫,也是众多SOA实施者所要追求的目标。