第六章应用实例
6.1 新一代BOSS系统的CORBA解决方案
图6-1基于CORBA的BOSS系统的结构图
6.1.1 摘要
由于CORBA自身的特点——开放性、可扩展性、安全性和先进性——与新一代BOSS 系统的技术要求可以很自然的相吻合,中国移动(深圳)公司提出了以CORBA体系为中心的有自己特色的解决方案。本文阐明了中国移动(深圳)公司的新一代BOSS系统的CORBA解决方案,并以浙江省GPRS和梦网短信计费系统的开发实例说明该方案的可行性和先进性。
6.1.2 前言
中国移动BOSS系统(Business & Operation Support System,业务运营支撑系统)是基于计算机网络及相关应用技术、用以支持中国移动业务运营的系统。从功能上讲,BOSS系统涵盖了计费、结算、帐务、业务管理、客服等方面,并根据业务需要与相关外部系统进行互联。
现有移动BOSS系统大多采用"分布模式",即:全省每个地市分公司都设一个业务管理中心,建一套独立的营业帐务系统,存储和管理本地市分公司的客户数据、营业数据和帐务数据。这种方式下平台建设、业务管理、数据资料、系统设计都过度分散,而且实时性不足,基于这种情况,为适应不断开展的新数据业务,不断增长的数据量和不断提高的实时性要求,对现有的BOSS系统必须进行整体化、集中化、实时化和三层平台的改造。
BOSS系统的建设目标是实现“三个特征、两个能力、一个综合”。 “三个特征”即以能提供“个性化、社会化、信息化”服务为重要特征;“两个能力”即具有“满足未来业务发展需要”、“满足实时处理”的能力;“一个综合”即提供一个综合性的业务处理平台。系统以客户为中心,提供各种客户化定制服务,实现统一界面、统一平台、统一服务、统一标准和统一质量的要求;具有较强的实时处理能力;具有良好的扩展性,以满足新业务、新服务的开展;具有统一的业务处理和管理流程、统一的接口、统一的协议以及统一的数据格式。
我们提出的BOSS系统解决方案,以CORBA技术为核心,以灵活、模块化的整体架构为突出特点,充分利用先进技术开发新一代的BOSS系统。
面向对象的技术解决了传统对象技术只存在于一个程序中,外部无法访问的缺点,使不同厂家的软件通过不同的地址空间、网络和操作系统可以交互访问,大大提高系统的可维护性和可重用性。CORBA(Common Object Request Broker Architecture)是生成面向对象系统的技术规范,称为对象请求中介,可以使不同语言编写或在不同平台上运行的应用软件在分布式网络(如Internet)上进行通信。其具体实现、位置及所依附的操作系统对客户来说都是透明的。
我们不仅在理论上可以从多方面证明CORBA技术的先进性和可行性,而且我们在实际上已经将CORBA技术应用到大数据量的计费系统中,并取得良好的效果。在文章的后面部分将有更详细的描述。
6.1.3 BOSS系统体系结构
新一代BOSS系统实现过程中,需遵循如下技术原则:
(1)开放性:基于业界开放式标准,中国移动将进行全国统一规划,为未来的业务发展奠定基础;
(2)灵活性与可扩展性:为适应WTO所带来的商机和国内市场的不断发展成熟,新一代BOSS系统应具有方便扩展设备容量和提升设备性能的能力,应具备支持业务处理灵活配置的功能,以及业务功能重组与更新的灵活性;
(3)安全可靠性:系统集中性强,特别是数据集中存放,使新一代BOSS系统对安全性提出更高的要求,系统应能提供良好的安全可靠性策略,支持多种安全可靠性技术手段,制定严格的安全可靠性管理措施;
(4)先进性:应采用先进成熟的设备和技术,确保系统的技术先进性,保证投资的有效性和延续性。按照两级系统、三层结构的原则,对计费、结算、帐务、业务及客服等功能进行集中、统一的规划和整合,使中国移动的BOSS系统成为一体化的、信息资源充分共享的支撑系统。“两级系统”是指BOSS系统分为集团公司级BOSS系统(全国中心)和省级BOSS系统(省中心)两级。“三层结构”是指BOSS系统在逻辑结构上包含数据核心层、业务逻辑层和接入层三层。
遵循两级系统、三层结构的原则,BOSS系统的建设应实现企业有效资源的高度共享;优化业务流程,提高客户管理水平,提高服务质量;为管理决策提供科学、准确、及时的依据。
6.1.4 采用CORBA开发新一代BOSS系统
CORBA很好地结合了面向对象和分布处理技术,而这两者的结合正是当今软件产业的发展方向。下面从CORBA的结构开始分析采用CORBA开发新一代BOSS系统的可行性和优越性。
一、从体系结构上看,CORBA由四部分组成。
(1)对象请求代理ORB:它是CORBA的核心,它保证在分布式异构环境中,透明地向对象发送和接收请求,帮助实现应用组件之间的互操作。ORB是支持CORBA构件相互作用的“软总线”(Software Bus),服务性构件可以向它登记注册,当客户性对象需要某种服务时,可以向它发出请求,ORB负责搜索已在其“注册登记”了的服务性对象,找到后启动该服务,传送请求给该服务性对象,并将结果传送回给客户性对象。
本文开始的图所示为一个独立的ORB的结构,箭头说明ORB的调用关系。为了提出一个请求,客户端可以使用动态调用接口(Dynamic Invocation)或者客户端的Stub程序。客户端也可以直接和ORB交互。
(2)公共对象服务(Common Object Services):这是一些最有可能被用来支持分布式对象环境下构造应用的标准化组件,目前已通过的公共对象服务包括对象命名服务、事件服务、对象生存期服务、永久对象服务、对象关系服务等。
(3)公共设施(Common Facilities):它是比公共对象服务力度更大的可重用的构件块,它主要用来帮助构造跨多个应用域的应用程序,典型的公共设施包括用户接口、信息管理、系统管理和任务管理等。
(4)应用对象(Application Objects):它是指供应商或用户借助于ORB、公共对象服务及公共设施而开发的特定产品,它不在CORBA体系结构中实行标准化。
(5)IDL(Interface Definition Language)Stubs和Skeletons
IDL是一种接口定义语言,通过它实现了对象接口与对象实现的分离,屏蔽了语言和系统软件带来的异构件。通过标准的IDL编译器,可生成客户端的IDL Stub和服务器端的Skeleton,这两者就如同客户端程序和服务器端程序联接ORB的粘着剂,IDL Stub提供了访问对象服务的静态接口,而Skeleton则包含了服务对象的静态接口并负责实现与对象实现中具体方法的连接。
(6)DII(Dynamic Invocation Interface)
DII使得Client应用开发者在运行时可以动态地创建和发送对服务对象的请求,包括查找定义了服务对象接口的元数据、在请求中添加参数、删除请求、发送远程调用等。
(7)接口池(Interface Repository)
接口池主要包含了用IDL定义的服务对象接口的信息,它主要是为动态调用提供相关的接口信息,CORBA提供的API可通过访问接口池获取和修改所有已注册对象的接口描述、对象中的方法及参数。
(8)对象适配器(Object Adapter)
对象适配器是服务器端管理对象实现和对象引用的主要机制,它接收ORB传来的服务请求,实例化服务对象,产生并解释服务对象的对象引用,根据服务请求选择并激活正确的服务对象,再把服务结果送到ORB。
二、由上面的分析可见,采用CORBA开发新一代BOSS系统的特点非常突出:
(1)它采用软构件及软总线的概念,实现了系统异构平台之间的统一,客户端与服务器完全可以在不同的平台上,用不同的语言来编写应用,任何厂家、计算机、操作系统、编程语言及网络环境下的基于CORBA的应用均使用IIOP标准协议,所以任何基于CORBA的应用均能协同工作,具有很好的开放性和灵活性。这一点对应了BOSS系统的开放性要求。同时,使用接口描述语言编写的对象接口,使得与语言无关的独立性成为可能。IDL使得所有CORBA 对象以一种方式被描述,仅仅需要一个由本地语言(C/C++、CORBA或Java)到IDL的“桥梁”。
(2)CORBA通过对象引用技术来唯一确定分布式环境下的对象实例,实现了分布式对象处理功能。
(3)一个对象实现可为多个客户端应用调用,也可调用其他的对象实现,实现了对象的可重用性和互操作性。针对BOSS系统的三层体系结构,这个特点对应BOSS系统的第二点技术要求——灵活性和可扩展性。采用CORBA技术时,系统可以无须与现有的硬件、网络和软件结构打交道,就可以把PC机及它的应用程序同企业的其他部分连接起来,并且能为动态变化的企业环境提供适应性。特别是当CORBA与面向对象的语言,如C++,Java等联合起来使用的时候,更是能将其优点充分发挥。我们在浙江所做的GPRS计费系统和短信系统采用的正是CORBA与C++的配合,取得了良好的效果,其中表现出来的最突出的优点体现在于系统的灵活性。
(4)CORBA提供的公共对象服务功能很强,其中基于事件服务的主动服务Push和Pull技术,是处理实时系统的一种很好的技术。
(5)CORBA提供了很好的容错机制。容错机制不仅能实现负载均衡,还能使每一个对象同时在两个或多个服务器上运行,当其中的一个出现故障时,系统能自动切换到另一个服务器。如果多个服务器的硬件配置相同,服务器会拥有很高的稳定性和安全性,使服务器真正能够实现高速度、高稳定性处理大量数据。满足BOSS系统的第三个技术要求——安全性要求。
(6)CORBA是OMG组织在1991年提出的公用对象请求代理程序结构的技术规范。CORBA有很广泛的应用,它易于集成各厂商的不同计算机,从大型机一直到微型内嵌式系统的终端桌面,是针对大中型企业应用的优秀的中间件。其先进性和优越性是实践中证明了的。可以满足BOSS系统的先进性要求。
三、我们在实现浙江省GPRS计费系统和梦网短信计费系统时,积累了利用CORBA与C++结合开发处理大数据量,对实时性、安全性有高要求系统的丰富经验,同时掌握了利用CORBAScript脚本语言灵活和功能强大等优点进行开发,利用XML文件作为配置文件,利用正则表达式进行检错等技巧,与CORBA体系相结合,并取得良好的效果。在用户界面的处理上,我们采用cvs、cgi、html、CORBAScript、Oracle等技术,做到人机交互、客户端与服务端密切结合,直接交互,大大方便了用户的数据管理。
综上,我们从理论上和实践上分析了新一代BOSS系统的CORBA解决方案的可行性和先进性。在市场开放、用户需求不断更新的今天,中国移动的新一代BOSS系统完善的解决方案对于更有效地方便企业的管理、改善企业服务,提高企业的服务水平、管理水平和经营决策水平,向世界一流通信运营企业迈进具有十分重要的战略意义和现实意义。中国移动(深圳)公司的新一代BOSS系统的CORBA解决方案从满足新一代BOSS系统的技术和市场要求出发,采用先进可靠的技术,力求实现一个高质量的BOSS系统。
6.1.5 采用中间件技术使得本系统具有下列特点:
1.系统功能实现更简化
中间件屏蔽了应用系统下层的差异,提供了分布式系统中必需的基本服务(如事务处理、安全性和名称服务等),使系统的开发可以更集中地对实际业务进行处理,而不必面面俱到涉及运行环境的各个方面,从而使系统的开发更有效率。
2.系统功能有可复用性
按照面向对象中间件实现的系统,具有对象的特征:封闭性和可复用性。整个系统的开发,类似在标准的软件总线上开发出具有标准接口的功能模块。各功能模块只要接口不发生变化,就可以供总线上的其他模块调用。模块内部的变化或运行环境的改变均不会对系统中的其他部分造成影响。例如同一实现的话费对象可以用在储蓄卡缴费和储值卡缴费不同的系统中,而其客户端可以是Windows 2000下的呼叫中心系统,也可以是UNIX环境下的银行系统。
3.可以实现分布式环境下的联机事务处理
数据库的联机事务处理通常是在同一进程下完成的,而在分布式环境中,事务处理则涉及到多个进程或多个系统。没有中间件的参与,多个系统间的事务处理很难或无法实现。而中间件将对象间的事务处理作为运行环境的通用服务,保证了分布式环境下的联机事务处理。
4.保证原系统的安全
在分布式环境下,各系统是相对独立的。它们分属不同的部门,有各自的关键数据和信息。即使是在协同工作时,这些信息也希望能得到保护,各自的系统也不希望全部暴露给协作的对方。采用中间件技术,协作的对象仅通过标准的接口彼此调用,数据的传递采用协商的加密措施,保证了各自系统的相对独立性。