APP下载

基于SOA的新闻业务管理系统研究与设计

2011-06-06兰建龙关俊玲

电视技术 2011年20期
关键词:架构管理系统功能

兰建龙,赵 英,关俊玲,张 敏

(四川大学公共管理学院信息管理系,四川 成都 610064)

0 引言

随着信息技术与广播电视技术的不断融合,全球广播电视媒体正在呈现出一种跨平台、产业多样化和不断产生新媒体形式或产业形式的整体发展趋势。同时在国内,信息化在“十一五”期间被提到了前所未有的高度[1],在新闻网业务中,新闻信息采集、节目制作、播出是广播电视媒体新闻网的主要业务,互动、移动、多功能的服务方式是其发展趋势。由于新闻节目信息量大、时效性强、表现手段多样等显著特点,新闻业务系统向互联共享、业务整合,以及全台资源一体化管理等更高层次的业务需求目标发展,而且需要系统支持可持续发展。因此,各个电视台要想提高信息技术给其带来的效益,就必须在加强新闻业务运营管理和统筹规划新闻网业务流程基础上,不断地完善新闻业务管理系统的设计和构建,以提高其自身的竞争能力。本文正是基于以上需求,在新闻业务管理系统中引入面向服务架构(Service Oriented Architecture,SOA)思想,实现了对新闻业务管理系统的升级优化,从而更好地服务于新闻业务的管理,适应新闻业务更高层次的需求和发展。

1 面向服务架构理论研究

SOA最早由IBM提出,并逐步为IT业界各大巨头(如HP,Oracle,BEA)所认可。IBM对其具体的定义是:SOA是一种构造分布式系统的方法,它将一个业务系统或者业务系统内部的一个功能单元定义为一种服务,通过在这些服务之间定义一个良好的接口规范联系起来,将业务应用功能以服务的形式提供给最终用户应用或其他服务[2]。SOA的协议栈有功能和服务质量两部分组成,如图1 所示[3]。

图1 SOA的组成元素

SOA为系统支持业务敏捷性提供了一套新的思路和方法。首先它通过标准的方法统一描述出各种业务,或称为业务对象和业务模型,并且很容易被组合和重组;其次,它解决了不同系统之间的信息交互,尤其是当IT系统是由跨平台(IBM,BEA,Microsoft,SAP,Oracle 等)和有不同技术(J2EE,.NET,遗留技术等)实现时[4]。除此之外,面向服务体系架构对分布式的企业级应用开发同样也有着很强的现实指导意义,它使IT环境可以更加灵活且更快地响应不断改变的业务需求,同时使异构系统和应用程序尽可能无缝地进行通信,从而达到不断地降低成本、最大限度地利用现有技术的目的。面向服务架构的出现,使得对系统体系架构的研究有了重要的意义[5]。

研究发现,截止到目前面向服务的体系架构至少在60%的企业中被作为了其IT系统基本架构的方法[6]。因此,将面向服务架构方法引入到新闻业务管理系统构建过程的研究将具有十分重要的现实意义。

2 新闻业务管理系统概述

2.1 系统建设目标

新闻业务管理系统遵照着互联互通、资源高效率共享的设计理念,主要目的是为各个电视台的新闻网打造一个涵盖新闻策划、采集、编辑、制作、电视播出、跨媒体发布、内容存档等新闻生产全流程的数字化、网络化业务管理平台,要打破传统的“制播平台即新闻网”的架构模式,重点强调策划和业务管理,把新闻的制播和有效的新闻生产业务管理机制紧密结合,实现新媒体与传统媒体的融合,为各种新媒体业务提供广泛的支持,拓展产业空间,同时配合现有的系统资源和基础设施,实现整个新闻网资源、业务等信息的互联互享和统一管理。

2.2 系统业务功能

整个新闻网中新闻业务管理系统所处的位置如图2所示。

图2 新闻业务管理系统所处的位置

由上述各个系统业务功能梳理可以看出,新闻业务管理系统作为一个连接各个系统的综合管理平台,其系统的业务功能也主要依据这些相关的所要管理的子系统业务来确定。新闻业务管理系统的主要业务管理功能以及与其他系统的交互可用图3表示,其中深色部分为新闻业务管理系统的主要业务功能。

由图3可知,综合业务管理平台涉及到了信息的汇聚、选题等项目的策划、任务分派、采访管理以及相应的人员、经费、技术资源等业务功能,经过归纳总结可以将新闻业务管理系统分为以下几个功能模块:交换管理、文稿管理、通稿管理、串联单管理、策划管理、选题管理以及采访管理等。

图3 新闻业务管理系统业务功能图

3 系统的总体架构设计

3.1 当前系统架构的分析

现有的新闻业务管理系统是采用传统的J2EE构架实现,要是只开发出一个独立的系统,J2EE架构完全可以很好地满足各方面的要求。但是,就目前新闻业务管理系统来看,它并不是一个孤立的单一应用系统,还需要与其他新闻网相关系统进行互联互通(其他系统有多种客户端需要,如节目的播出系统是C/S结构等),如果要适应多种客户端应用需要而更改,传统J2EE架构已经远远不能满足现有的需求,需要选择一种合适的架构来对系统架构进行改进。

在面向服务相关理论中,服务是对可使用的操作的描述。SOA服务之间是松散耦合和可复用的,每个功能模块也都是相对独立的,将系统的业务功能依照SOA服务划分原则封装为粗粒不同的服务,然后发布和注册,以便在需要完成特定业务功能时实现灵活的组合,它们与平台和编程环境无关,实现的业务功能能够在多个平台之间进行互享,这对系统的可扩展性,为将来系统新功能的引入以及新平台的引入,实现与现有系统资源的整合等都提供了很大便利。

3.2 系统面向服务结构设计思路

在服务的设计过程中,需要遵循的服务设计原则有:服务粒度选择要合适;服务应是内聚而且完整的;封装实现细节;服务接口应是无状态的。结合系统业务功能的分析,新闻业管理系统的基于面向服务架构的系统功能结构如图4所示。

图4 系统功能结构图

该功能结构中,业务服务和功能基础结构是面向服务架构中所要重点关注的。本文基础结构服务主要包括面向服务基础结构当中的实现服务一些标准,比如SOAP,WSDL等技术;业务服务定义则是面向服务架构最重要的工作。在进行定义时,必须使流程控制逻辑和核心业务逻辑分离,这样才能方便地更改现有流程或者是引进新的流程,而且不至于影响到其他的流程,在这里业务服务主要是将系统的业务功能进行抽象得出;开发服务则是系统实现开发平台的支持;而管理服务则是指在对服务质量等的控制。

再对新闻业务管理系统中的业务功能进行抽象,进而形成面向服务系统架构中不同粒度的服务。首先从功能模块中分离出基本服务;其次,基于基本服务进行公共组件及业务对象的设计;最后设计组合服务,形成业务流程。不管组合服务有多复杂,都可以通过将基本服务和工作流程进行各种形式的组合来实现,同时业务流程动态变化引起的服务变动后对其他服务不会影响太大,更重要的是设计的服务都是通过接口定义语言(Interface Definition Language,IDL)和网络服务定义语言(Web Service Definition Language,WSDL)进行描述,服务在定义时核心业务逻辑和流程控制逻辑优势彻底分离,这使得更改现有流程或者引入新的流程很方便,而且能够防止不一致现象的出现。再加上统一的接口定义规则,外部系统可以通过服务总线集成到业务系统中与其他系统交互,实现资源和数据共享,解决“信息孤岛”的问题[7]。依据面向服务架构服务划分原则,系统业务服务划分如图5所示。

图5 系统业务服务划分

完成了服务定义和分类后,接下来就是将这些单个服务或者组合服务进行注册发布。把服务注册到服务注册中心,以便服务请求者方便地对现存的所有服务进行查找,并获得其他的一些描述信息,另外,把服务进行注册对服务的管理和编排也是十分有利的。因为,正是有利服务注册中心的存在,服务请求者才能很顺利地进行服务发现和调用。应对应用程序和业务需求不断增加而导致系统维护复杂和重用性降低的情况,企业服务总线(ESB)帮助解决了应用接口潜在的不兼容性和维护冲突的问题[8]。把服务者和服务提供者通过ESB联系起来,不仅降低了关联的复杂度,还能够处理安全性、管理等工作。

以此融合了企业服务总线概念的面向服务体系架构能十分灵活和敏捷地支持业务流程和IT系统,其好处也显而易见:架构更容易管理,规范相对简化,代码可复用和灵活性提高,冗余度降低。在单个服务中,可以在不影响外部功能的情况下进行修改实现,布置了大量服务之后,也可以进行服务的组合测试。在测试方面,松散耦合和服务接口简化了分布测试,业务部门集中精力在功能需求上,开发部门更高效率推出新功能,并且开发成本显著降低。

3.3 系统总体架构

系统的面向服务总体架构如图6所示。

图6 系统总体架构

图6的粗细粒度服务划分的服务层是系统SOA架构的核心层次,它分为了3层:

1)基本服务层。用来建立可复用的基本应用服务,主要目的就是在新的或者遗留的应用环境内提供一些可复用基本功能。它可以采用工具服务或者是其他类型的服务来实现。比如,可以将对人员信息的处理封装成基本组件服务。

2)合成服务层。该层专注于业务的逻辑,以便能够以纯粹的形式表示业务逻辑。主要用于封装那些比较有特点的任务或者是业务流程的业务逻辑,也可以是实体服务。本文采用的业务服务是以任务为核心的。

3)组合服务层。该层扩充了面向服务的范围,它把业务实体服务和业务处理逻辑关联起来,并在整个业务流程中交互,从而来管理确信服务操作是按照一定的序列进行执行和交互。

上述的各种服务根据使用情况不同将它们分别发布在系统的UDDI注册服务中心和公共的UDDI注册服务中心,这样一来,不同的服务请求者就会根据自己的不同请求去寻找合适的服务,比如一些仅供新闻业务管理本身的服务就只要发布到它的注册服务中心,而那些需要被提供给其他系统的服务(如制作系统、监控系统等)则发布在公共的注册中心,以供其他的系统调用。而且请求服务的客户端通过ESB实现与服务提供方和服务注册中心等通信,能够快速地实现查询和绑定服务的目的,提高系统交互的效率。

另外,由于在面向服务架构中,业务层的大部分业务逻辑都是通过服务发布的形式与表示层分离,这种松散藕合的特性使得各种客户端的服务请求者可以处于不同的系统或者开发环境中,同时,由于业务逻辑以及持久层都是可以复用的,所以在以后的系统扩展上,只要修改表示层即可,大大降低了开发成本,提高了开发速度。

对比非面向服务架构模式,改进后的系统架构加强了业务管理方面的功能,而且在保留传统业务优势的情况下能够灵活地增添新功能,能对业务流程进行实施的监控和管理,实现业务流程的一体化管理,这样系统的支持范围也更加广泛,支持力度更加强大,成为了整个新闻网系统中至关重要的一部分。

4 与其他系统的交互接口设计

依据新闻业务管理系统在整个系统中所处的位置可知,新闻业务管理系统需要与其他多个现有系统进行交互。在面向服务基础架构的服务总线基础上,通过WSDL和IDL对系统的服务接口进行定义,独立于具体实现的服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可以使用统一和标准的方式进行通信交互[9]。

由新闻业务管理系统系统功能描述可以看出,其与其他系统的交互接口多集中在文稿、通稿和节目制作等功能交互操作上面。所以依据其系统交互的一般原则可归纳出系统与其他系统的交互的接口主要有以下方面的内容:添加约传收录任务,更改取消收录任务,查询反馈通道空闲时间段,查询反馈查询收录任务状态、任务修改取消信息,查询、返回通稿任务等。

5 小结

本文依据面向服务架构设计思路,不仅提高了新闻业务管理信息系统开发效率,而且采用服务接口的统一定义,新的服务模块能够很好地与原有的系统服务保持一致性。另外,在与其他系统交互上,因为核心的业务逻辑是被服务层封装实现了,所以能以多种方式进行调用,有效地解决了现有系统中存在的“信息孤岛”问题。最后,业务流程中执行内容和执行流程相分离满足了复杂业务需求不断变化的要求,提升了系统的扩展性。总之,面向服务架构的新闻业务管理系统能够协助电视台用户精细化控制生产流程、全方位管理生产资源,并通过办公协同来提升业务便捷性,进而达到提高生产效率的目的。但是,当系统在被部署于各个不同规模的电视台时,应该根据其各自的特殊性做相应功能方面的调整,还应考虑离线状态下新闻工作者进行业务管理工作的功能实现,以及面向服务架构设计中各个服务在组合时进行优化等问题。

[1]广电总局.中国电视台数字化网络化建设白皮书[EB/OL].[2011-01-20].http://wenku.baidu.com/view/03c611020740be1e650e9ac2.html.

[2] Understanding SOA with web service[EB/OL].[2011-01-20].http://wenku.baidu.com/view/f98104175f0e7cd184253695.html.

[3]马文婕.SOA研究初探[J].软件导刊:教育技术,2009(12):74-76.

[4]杨春晖,孙伟.系统架构设计教程[M].北京:清华大学出版社,2009.

[5] KRAFZIG D,BANKE K,SLAMA D.Enterprise SOA:service-oriented architecture best practices[M].[S.l.]:Prentice Hall PTR,2006.

[6] HERZUM P,SIMS O.A comprehensive overview of component-base development for the enterprise[EB/OL].[2011-01-20].http://www.zhizhen.com/book/b40fa5ff4f1c59980a5debcb2ad301a6.

[7] CHAPPELL D.Enterprise service bus[EB/OL].[2011-01-20].http://en.wikipedia.org/wiki/Enterprise_service_bus.

[8] CARTER S.The new language of business SOA&Web2.0[M].北京:清华大学出版社,2008.

[9]吴文明.SOA体系设计方法研究[M].北京:电子工业出版社,2004.

猜你喜欢

架构管理系统功能
也谈诗的“功能”
基于FPGA的RNN硬件加速架构
基于James的院内邮件管理系统的实现
功能架构在电子电气架构开发中的应用和实践
基于LED联动显示的违停管理系统
关于非首都功能疏解的几点思考
WebGIS架构下的地理信息系统构建研究
海盾压载水管理系统
一种基于FPGA+ARM架构的μPMU实现
基于RFID的仓储管理系统实现