论文部分内容阅读
编者按 广电数字化,其实就是内部信息化与外部市场化的一个共振进程外部市场化的运营,需要内部良好的信息系统支撑;内部信息化的建设,需要充分考虑到用户需求、应用特征等要素,并大力汲取电信运营商的经验和教训,将先进的、符合规律的运营思维固化为系统架构、编码买现,经过5年探索实践,目前各地广电网络运营商对数字电视的理解愈发深入,本期来自宁波数字电视公司的稿件,对SOA(面向服务的体系架构)在数字电视信息管理系统中的应用进行了详尽分析,希望能给业内同仁带去先进的软件设计思想,与行业应用实现思路
热忱欢迎您的来稿,就广电数字化进程中的内部信息化建设贡献智慧!来稿请发:wang_yun@ccw.com.cn
摘要 本文针对数字电视信息化管理系统建设,提出了以SDA为基础架构的总体解决方案。此方案重点强调面向服务的架构,通过特定方法组织各服务组件,达到以较低成本实现系统松耦合、高灵活性、易扩展之目的。
关键词 面向服务的架构服务组件架构服务数据对象企业应用集成业务流程管理业务过程执行语言工作流。
近年来,SOA一直是软件行业的热门话题,随着各项技术的完善及相关标准的制定,SOA技术逐渐从空中楼阁的研讨,进入实质开发及应用阶段。特别是SCA及SDO规范的制订及发布,更为SOA的正式落地奠定了坚实的基础。从此,各中间件厂商在SOA核心实现上有了统一标准,不再各行其道。
随着数字电视后转换时代的到来,有线网络开始打破传统广电行业单一运营电视业务的模式,逐步向数据、语音、视频等多业务领域拓展,要开展这些业务,有线运营商必须搭建一套全新的数字电视业务管理支撑平台。
国内各大电信运营商经过多年的积累。已建立起了一套庞大且复杂的业务支撑系统。但是,随着信息技术日新月异的发展,电信运营商逐渐发现,其原有的信息系统架构已无法适应新时代业务的发展,其中最突出的问题为不同软件开发商的系统之间要进行数据交互非常困难。如果想根本解决此问题,则意味着必须牺牲多年的技术积累和人、财、物投入,推翻原有架构,重新设计、研发一套新系统。对于电信运营商来说,这种方式无论是时间还是资金投入均难以接受。为此,很多电信运营商开始转而推行EAI,使用中间件来集成各种应用系统,但即使是实施EAI,也令电信运营商们付出了不小的代价。
目前各地有线网络的业务管理支撑平台尚处于建设初期或完善阶段,SOA作为EAI的替代型技术,乃目前最先进的企业信息系统架构。采用SOA作为数字电视信息系统软件架构,对于广电运营商来说,无疑是一种明智的选择。
小贴士 什么是SOA?
SOA即面向服务的体系结构(Service-Oriented Architecture),其为一个组件模型,可将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口采用中立方式进行定义。独立于实现服务的硬件平台、操作系统和编程语言。这使得构建于这个系统中的各种服务能够以统一及通用的方式进行交互。
这种具有中立接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统有两大优势,首先是灵活性:其次,当组成整个应用程序的每个服务内部结构及实现逐渐发生改变时,它能够继续存在,以适应业务不断变化的需求。
公式:P=aL+As+l+pr
其中,a=0,25dB/km,As为光分路器附加损耗,由附表查得As取值为0,2 dB,pr=-0dBm,1为活动接头插入损耗与设计余量。
SOA标准
SOA标准大体上可分为XML标准集、Web服务标准集、SOA参考模型、SCA/SDO编程模型等几大类。
1 ×ML标准集
XML标准集主要由W3C组织制定,包括基于纯文本的编码技术(XML信息集、XML Schema、XIVlLQuery和XSLT2.0等)及允许不透明的二进制数据和文本标记混合编码技术(XOP、MTOM等)。
XML技术因其可读性、易扩展性、跨平台性、可移植性、与编程语言无关性等优势,被广泛运用于各种信息系统中。SOA中一般采用XML作为消息传输格式。
2 web服务标准集
经过多年的发展,Web服务标准集不仅可对Web服务进行简单描述,而且已涵盖了传输层、消息机制、编程模型、服务发现和描述、可靠性、事务处理、安全和管理等多方面的内容。
Web服务标准集主要由OASIS(结构化信息标准促进组织)制订,目前仍在不断完善过程中。
3 SOA参考模型
OASIS曾推出过SOA参考模型1.0(SOA-RM1.01版本,该参考模型虽然对SOA提出了规范式评判标准,但由于过于抽象,因此并没有对SOA的应用及实施起到实质性指导作用。
而IBM给出的SOA层次模型显然更容易具体实现(见图1)。
层次模型从低到高,分为操作系统、服务组件、原子服务及复合服务、流程编排、消费者,其中高层可调用低层,低层则向高层提供服务,而服务总线(ESB)、服务质量(QoS)、数据结构及业务集成及统筹管理则贯穿于各层中。
4 SCA/SDO编程模型
为了制定统一的SOA规范,IBM、BEA、Oraele、SAP、IONA,Primeton等软件厂商共同组成了OSOA协作组织,负责起草一系列SOA相关规范,并以免版税的许可方式供业界使用。目前,OSOA已向OASIS正式提交了其制订的SCA及SDO规范,这两个规范已成为OASIS的正式标准。
SCA/SDO规范为服务组件的开发提出了统一标准,依照此标准,软件开发商可用不同的开发工具、不同编程语言开发自己的服务组件,用户可方便地混合使用各软件开发商的服务组件来构建自己的原子或复合服务,而不需要了解服务组件内部的实现细节,这正是SOA的核心所在。
SOA数字电视信息系统构成
一个完整的SOA数字电视信息系统由多个信息子系统组成,主要分为以下几大类:
★与业务相关的信息子系统:业务支撑系统(BOSS)、IVIW点播系统(包括CDN系统、EPG系统、IPTV认证系统等)、数字电视CA系统等,可能还有宽带上网、游戏、邮件、短信、移动电视、语音及视频等业务系统;
★与办公自动化相关的信息子系统办公自动化(OA)及邮件系统
★与人力资源相关的信息子系统:人力资源管理及考勤系统;
★与客户服务相关的信息子系统:客户资源管理(CRM)系统、呼叫中心系统、安装维护工单及调度 系统及用户自助服务系统等:
★与财务相关的信息子系统:财务系统、发票管理系统及综合营账系统
★与资产及资源相关信息子系统:固定资产管理系统、仓库管理系统、机顶盒管理、资源(包括管线、光缆等)管理系统;
★其他。
如果企业还有下属子公司,该系统还将包含子公司的信息系统。
如此多的系统,如果分别独立运行,只能解决各自的局部问题,而难以解决企业的整体问题。同时这种模式还会形成多个信息孤岛,大大降低整体系统的效率。
SOA不但能彻底改善这种状况,同时,SOA的松耦合特性也为系统升级与业务拓展带来极大的便利,能够以较低成本支持数字电视多业务的开展。
SOA系统结构及组件
SOA主要包括子系统及接口、服务组件、服务总线、核心控制,管理及客户端五大部分,系统结构如图2所示。
1 子系统及接口
数字电视信息系统包含各种功能相对独立的子系统,子系统需要通过发布自己的接口才能被其他系统访问,或为其他系统提供服务。子系统接口可以采用SOAP、CORBA及KIB等标准协议。也可以采用自定义的其他任何协议,还可能是关系数据库的表、视图或存储过程及文本或二进制文件等。无论什么类型的接口协议,最终都将在服务组件的包装过程中被转换成标准的SOA支持协议。
2 服务组件
服务组件可分为原子服务及复合服务组件两种。原子组件的工作原理是按照SCA规范,通过编程或配置直接将子系统的一个或多个接口包装起来,形成最小的服务单元。复合服务组件则根据SCA规范,采用多种方式将多个原子服务组件组合成为—个服务组件。
服务组件是SOA的基础,所有的基础服务均是由服务组件提供的。
3 服务总线
服务总线是服务调用、消息传递、服务控制的通道。在SOA中,服务总线主要是以物理传输网络为传输介质,基于XML格式传输数据。
4 核心控制及管理
它统一组织并管理各服务组件安全可靠地运行。主要功能包括:服务注册及查询、服务流程编排、事务管理和安全管理,并可提供监控和管理等功能。
a 服务注册及查询:包括UDDI注册、基于语义描述的注册,及两者结合的注册。其中,UDDI注册中心,以WSDL方式注册服务,客户端以关键字的方式查询对应的WSDL数据;基于语义描述的注册中心,以OWL-S语义描述语言注册服务,以客户查询语义结合本体库做语义推理,找出匹配的服务;两者结合的注册则是结合上面两种注册模式,将UDDI、语义推理引擎、本体库等组合起来,以实现服务注册及查询。
b 服务流程编排(BPEL):是专为整合Web Services而制定的一项规范标准。其基于BPEL规范流程引擎,可以按编排好的业务流程(在BPEL流程文件中指定),按一定顺序分别调用对应的服务。
c 事务管理:其在服务调用过程中可保证数据的完整性及一致性。OASIS发布的WS-Transaction就是专门针对Web服务调用过程的事务处理制定的一项标准。
d 安全性管理:用于保障Web服务调用过程中数据的安全传输。OAsIs发布的相关标准为WS-Seeurity。
e 监控和管理:作为完整的系统平台,需要为系统管理^、员提供监控和管理工具,监控工具不但可对系统的运行状况进行监视和记录,而且也可通过管理工具发布、更新服务、编排服务流程,甚至可开发和调试服务程序。
5 客户端
客户端可以是各种应用程序、应用服务、Web服务等,它们通过启动流程或调用服务,实现特定功能或展示返回数据。
服务调用流程
下面,本文以营业人员为某用户订购数字电视节目流程为例,说明在SOA系统中,各模块协同工作及服务调用的过程。假设所有的服务(包括流程服务)均已注册到了注册中心,同时为了简化流程,假设事务管理、安全管理对调用者都是完全透明的。且每个用户有且只有一个机顶盒,用户订购服务调用流程的过程如图3所示。
调用过程如下:
a 营业人员操作客户端,指定需要订购产品的用户及订购的产品。
b 客户端使用语义或关键字在注册中心中查找“用户订购流程”服务,客户端使用查找到的服务描述,绑定到相应的服务提供者。
c 客户端以用户及订购的产品为参数,调用“用户订购流程”服务。
d BPEL引擎按BPEL文件运行“用户订购流程”,并查询注册中心,依次绑定和调用流程里引用的所有服务。首先调用“设备查询服务组件”,以查询用户的SIM卡号;再调用“账户查询服务组件”,以查询用户账户余额是否足够购买此产品,如果余额不足则调用“缴费子流程”,否则调用“账户扣费组件”扣除账户里相应金额;最后调用“CA授权服务组件”为用户的SIM卡进行授权。
e 客户端得到返回的订购结果数据。
SOA的分析、开发、实施步骤
1 分析
可以采用自上而下的分析方法:
a 列出当前和预期的所有需求。
b 理顺各业务流程。
c 粗粒度地列出所有需要的服务及服务的输入、输出参数。
d 分解服务,以复用部分服务功能,最终列出所有原子服务。
e 列出各原子服务需要调用到的接口和使用到的数据。
2 开发
开发过程可按不同的层次分别进行:
a 按需要使用各子系统现有接口,或开发各子系统新接口,或开放数据库数据,使其具有为其他系统提供服务及数据的能力。
b 按SCA规范,包装子系统接口为原子服务组件。
c 根据相关逻辑,按相关SCA规范,将部分原子服务组件组装为复合服务组件,组装的方式可以采用硬编码,也可以使用OSGI、BPEL,还可以使用脚本语言,视组件的执行效率要求及将来变更的可能性而定。
d 使用WSDL或OWL-S描述各服务组件可提供的服务,并注册到UDDI(对WSDL)或具有语义推理功能(对OWL--S)的注册服务器中。
e 根据业务流程,使用BPEL编排服务流程。
f 客户端调用服务组件或启动服务流程,执行相应功能,并得到返回结果。
需要注意的是,各层次的开发都需要考虑到安全性、可靠性及对事务的支持,并需要提供系统监控及管理接口。
开发过程可以分步进行,也可以由多个团队或小组在不同层次同时进行。
3 实施步骤
由于SOA的实施对于企业来说是一个非常浩大的工程,很难一步到位,在短时间内进行全方位实施。因此,先期可对企业的个别部门、个别子系统实施SOA,在成功实施的基础上不断扩充,直至SOA覆盖到整个企业的所有系统。
热忱欢迎您的来稿,就广电数字化进程中的内部信息化建设贡献智慧!来稿请发:wang_yun@ccw.com.cn
摘要 本文针对数字电视信息化管理系统建设,提出了以SDA为基础架构的总体解决方案。此方案重点强调面向服务的架构,通过特定方法组织各服务组件,达到以较低成本实现系统松耦合、高灵活性、易扩展之目的。
关键词 面向服务的架构服务组件架构服务数据对象企业应用集成业务流程管理业务过程执行语言工作流。
近年来,SOA一直是软件行业的热门话题,随着各项技术的完善及相关标准的制定,SOA技术逐渐从空中楼阁的研讨,进入实质开发及应用阶段。特别是SCA及SDO规范的制订及发布,更为SOA的正式落地奠定了坚实的基础。从此,各中间件厂商在SOA核心实现上有了统一标准,不再各行其道。
随着数字电视后转换时代的到来,有线网络开始打破传统广电行业单一运营电视业务的模式,逐步向数据、语音、视频等多业务领域拓展,要开展这些业务,有线运营商必须搭建一套全新的数字电视业务管理支撑平台。
国内各大电信运营商经过多年的积累。已建立起了一套庞大且复杂的业务支撑系统。但是,随着信息技术日新月异的发展,电信运营商逐渐发现,其原有的信息系统架构已无法适应新时代业务的发展,其中最突出的问题为不同软件开发商的系统之间要进行数据交互非常困难。如果想根本解决此问题,则意味着必须牺牲多年的技术积累和人、财、物投入,推翻原有架构,重新设计、研发一套新系统。对于电信运营商来说,这种方式无论是时间还是资金投入均难以接受。为此,很多电信运营商开始转而推行EAI,使用中间件来集成各种应用系统,但即使是实施EAI,也令电信运营商们付出了不小的代价。
目前各地有线网络的业务管理支撑平台尚处于建设初期或完善阶段,SOA作为EAI的替代型技术,乃目前最先进的企业信息系统架构。采用SOA作为数字电视信息系统软件架构,对于广电运营商来说,无疑是一种明智的选择。
小贴士 什么是SOA?
SOA即面向服务的体系结构(Service-Oriented Architecture),其为一个组件模型,可将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口采用中立方式进行定义。独立于实现服务的硬件平台、操作系统和编程语言。这使得构建于这个系统中的各种服务能够以统一及通用的方式进行交互。
这种具有中立接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统有两大优势,首先是灵活性:其次,当组成整个应用程序的每个服务内部结构及实现逐渐发生改变时,它能够继续存在,以适应业务不断变化的需求。
公式:P=aL+As+l+pr
其中,a=0,25dB/km,As为光分路器附加损耗,由附表查得As取值为0,2 dB,pr=-0dBm,1为活动接头插入损耗与设计余量。
SOA标准
SOA标准大体上可分为XML标准集、Web服务标准集、SOA参考模型、SCA/SDO编程模型等几大类。
1 ×ML标准集
XML标准集主要由W3C组织制定,包括基于纯文本的编码技术(XML信息集、XML Schema、XIVlLQuery和XSLT2.0等)及允许不透明的二进制数据和文本标记混合编码技术(XOP、MTOM等)。
XML技术因其可读性、易扩展性、跨平台性、可移植性、与编程语言无关性等优势,被广泛运用于各种信息系统中。SOA中一般采用XML作为消息传输格式。
2 web服务标准集
经过多年的发展,Web服务标准集不仅可对Web服务进行简单描述,而且已涵盖了传输层、消息机制、编程模型、服务发现和描述、可靠性、事务处理、安全和管理等多方面的内容。
Web服务标准集主要由OASIS(结构化信息标准促进组织)制订,目前仍在不断完善过程中。
3 SOA参考模型
OASIS曾推出过SOA参考模型1.0(SOA-RM1.01版本,该参考模型虽然对SOA提出了规范式评判标准,但由于过于抽象,因此并没有对SOA的应用及实施起到实质性指导作用。
而IBM给出的SOA层次模型显然更容易具体实现(见图1)。
层次模型从低到高,分为操作系统、服务组件、原子服务及复合服务、流程编排、消费者,其中高层可调用低层,低层则向高层提供服务,而服务总线(ESB)、服务质量(QoS)、数据结构及业务集成及统筹管理则贯穿于各层中。
4 SCA/SDO编程模型
为了制定统一的SOA规范,IBM、BEA、Oraele、SAP、IONA,Primeton等软件厂商共同组成了OSOA协作组织,负责起草一系列SOA相关规范,并以免版税的许可方式供业界使用。目前,OSOA已向OASIS正式提交了其制订的SCA及SDO规范,这两个规范已成为OASIS的正式标准。
SCA/SDO规范为服务组件的开发提出了统一标准,依照此标准,软件开发商可用不同的开发工具、不同编程语言开发自己的服务组件,用户可方便地混合使用各软件开发商的服务组件来构建自己的原子或复合服务,而不需要了解服务组件内部的实现细节,这正是SOA的核心所在。
SOA数字电视信息系统构成
一个完整的SOA数字电视信息系统由多个信息子系统组成,主要分为以下几大类:
★与业务相关的信息子系统:业务支撑系统(BOSS)、IVIW点播系统(包括CDN系统、EPG系统、IPTV认证系统等)、数字电视CA系统等,可能还有宽带上网、游戏、邮件、短信、移动电视、语音及视频等业务系统;
★与办公自动化相关的信息子系统办公自动化(OA)及邮件系统
★与人力资源相关的信息子系统:人力资源管理及考勤系统;
★与客户服务相关的信息子系统:客户资源管理(CRM)系统、呼叫中心系统、安装维护工单及调度 系统及用户自助服务系统等:
★与财务相关的信息子系统:财务系统、发票管理系统及综合营账系统
★与资产及资源相关信息子系统:固定资产管理系统、仓库管理系统、机顶盒管理、资源(包括管线、光缆等)管理系统;
★其他。
如果企业还有下属子公司,该系统还将包含子公司的信息系统。
如此多的系统,如果分别独立运行,只能解决各自的局部问题,而难以解决企业的整体问题。同时这种模式还会形成多个信息孤岛,大大降低整体系统的效率。
SOA不但能彻底改善这种状况,同时,SOA的松耦合特性也为系统升级与业务拓展带来极大的便利,能够以较低成本支持数字电视多业务的开展。
SOA系统结构及组件
SOA主要包括子系统及接口、服务组件、服务总线、核心控制,管理及客户端五大部分,系统结构如图2所示。
1 子系统及接口
数字电视信息系统包含各种功能相对独立的子系统,子系统需要通过发布自己的接口才能被其他系统访问,或为其他系统提供服务。子系统接口可以采用SOAP、CORBA及KIB等标准协议。也可以采用自定义的其他任何协议,还可能是关系数据库的表、视图或存储过程及文本或二进制文件等。无论什么类型的接口协议,最终都将在服务组件的包装过程中被转换成标准的SOA支持协议。
2 服务组件
服务组件可分为原子服务及复合服务组件两种。原子组件的工作原理是按照SCA规范,通过编程或配置直接将子系统的一个或多个接口包装起来,形成最小的服务单元。复合服务组件则根据SCA规范,采用多种方式将多个原子服务组件组合成为—个服务组件。
服务组件是SOA的基础,所有的基础服务均是由服务组件提供的。
3 服务总线
服务总线是服务调用、消息传递、服务控制的通道。在SOA中,服务总线主要是以物理传输网络为传输介质,基于XML格式传输数据。
4 核心控制及管理
它统一组织并管理各服务组件安全可靠地运行。主要功能包括:服务注册及查询、服务流程编排、事务管理和安全管理,并可提供监控和管理等功能。
a 服务注册及查询:包括UDDI注册、基于语义描述的注册,及两者结合的注册。其中,UDDI注册中心,以WSDL方式注册服务,客户端以关键字的方式查询对应的WSDL数据;基于语义描述的注册中心,以OWL-S语义描述语言注册服务,以客户查询语义结合本体库做语义推理,找出匹配的服务;两者结合的注册则是结合上面两种注册模式,将UDDI、语义推理引擎、本体库等组合起来,以实现服务注册及查询。
b 服务流程编排(BPEL):是专为整合Web Services而制定的一项规范标准。其基于BPEL规范流程引擎,可以按编排好的业务流程(在BPEL流程文件中指定),按一定顺序分别调用对应的服务。
c 事务管理:其在服务调用过程中可保证数据的完整性及一致性。OASIS发布的WS-Transaction就是专门针对Web服务调用过程的事务处理制定的一项标准。
d 安全性管理:用于保障Web服务调用过程中数据的安全传输。OAsIs发布的相关标准为WS-Seeurity。
e 监控和管理:作为完整的系统平台,需要为系统管理^、员提供监控和管理工具,监控工具不但可对系统的运行状况进行监视和记录,而且也可通过管理工具发布、更新服务、编排服务流程,甚至可开发和调试服务程序。
5 客户端
客户端可以是各种应用程序、应用服务、Web服务等,它们通过启动流程或调用服务,实现特定功能或展示返回数据。
服务调用流程
下面,本文以营业人员为某用户订购数字电视节目流程为例,说明在SOA系统中,各模块协同工作及服务调用的过程。假设所有的服务(包括流程服务)均已注册到了注册中心,同时为了简化流程,假设事务管理、安全管理对调用者都是完全透明的。且每个用户有且只有一个机顶盒,用户订购服务调用流程的过程如图3所示。
调用过程如下:
a 营业人员操作客户端,指定需要订购产品的用户及订购的产品。
b 客户端使用语义或关键字在注册中心中查找“用户订购流程”服务,客户端使用查找到的服务描述,绑定到相应的服务提供者。
c 客户端以用户及订购的产品为参数,调用“用户订购流程”服务。
d BPEL引擎按BPEL文件运行“用户订购流程”,并查询注册中心,依次绑定和调用流程里引用的所有服务。首先调用“设备查询服务组件”,以查询用户的SIM卡号;再调用“账户查询服务组件”,以查询用户账户余额是否足够购买此产品,如果余额不足则调用“缴费子流程”,否则调用“账户扣费组件”扣除账户里相应金额;最后调用“CA授权服务组件”为用户的SIM卡进行授权。
e 客户端得到返回的订购结果数据。
SOA的分析、开发、实施步骤
1 分析
可以采用自上而下的分析方法:
a 列出当前和预期的所有需求。
b 理顺各业务流程。
c 粗粒度地列出所有需要的服务及服务的输入、输出参数。
d 分解服务,以复用部分服务功能,最终列出所有原子服务。
e 列出各原子服务需要调用到的接口和使用到的数据。
2 开发
开发过程可按不同的层次分别进行:
a 按需要使用各子系统现有接口,或开发各子系统新接口,或开放数据库数据,使其具有为其他系统提供服务及数据的能力。
b 按SCA规范,包装子系统接口为原子服务组件。
c 根据相关逻辑,按相关SCA规范,将部分原子服务组件组装为复合服务组件,组装的方式可以采用硬编码,也可以使用OSGI、BPEL,还可以使用脚本语言,视组件的执行效率要求及将来变更的可能性而定。
d 使用WSDL或OWL-S描述各服务组件可提供的服务,并注册到UDDI(对WSDL)或具有语义推理功能(对OWL--S)的注册服务器中。
e 根据业务流程,使用BPEL编排服务流程。
f 客户端调用服务组件或启动服务流程,执行相应功能,并得到返回结果。
需要注意的是,各层次的开发都需要考虑到安全性、可靠性及对事务的支持,并需要提供系统监控及管理接口。
开发过程可以分步进行,也可以由多个团队或小组在不同层次同时进行。
3 实施步骤
由于SOA的实施对于企业来说是一个非常浩大的工程,很难一步到位,在短时间内进行全方位实施。因此,先期可对企业的个别部门、个别子系统实施SOA,在成功实施的基础上不断扩充,直至SOA覆盖到整个企业的所有系统。