技术开发 频道

电信企业IT系统向SOA演进该选哪种实施策略

    系统架构设计的构建

    架构设计是从系统功能架构和现有系统模块入手,自底向上封装应用服务和通用服务。

    从IT系统的建设趋势来看,IT的整合将是建设过程中的主旋律。发掘已有IT系统的潜力,整合系统之间重叠的功能应用,实现系统间信息数据的交互、共享畅通,规范企业技术架构,逐步消除信息孤岛将是未来IT建设的重要举措,因此电信运营商需根据具体需要,由系统功能和现有系统模块入手,引入SOA,建立系统一二级服务类,并构建整体服务建模。只有具备健全的架构基础才可发挥SOA在松散耦合、重用以及抽象技术和服务方面的主要优点。

    SOA的参考架构分为多个层面,包括服务的生成与封装、业务流程的建模、企业服务总线的构建等。在SOA的架构中,服务的生成可以在原有系统的基础之上通过封装得到,对于新开发的应用则在开发时即可规划服务的内容与访问形式。总之,服务将以合约或契约的形式存在,而企业服务总线则在服务与调用者之间进行服务的组合、完成透明化的处理(包括协议转换、调用方式、内容格式转换、安全控制等),应用之间的协同工作则通过流程定义来实现。

    SOA系统须满足三个条件:数据、界面和业务逻辑分离;能把接口开放出来并容易被调用;能进一步将面向技术的组件包装成面向业务的服务。

    SOA产品行业模板的借鉴

    SOA的战略意义目前已得到业内广泛认可,在企业应用集成领域有着重要的意义。成熟的SOA产品针对不同的行业应用已经有了基本的服务建模,可作为重要参照。Oracle、IBM、SAP和微软等软件巨头从本世纪初开始陆续为SOA投入了大量资源,目前已经形成比较完善的解决方案。

    通过SOA促进IT和业务的融合过程包括四个逻辑层次:底层是SOA基础和IT基础架构,其上是行业框架,再上一层是行业解决方案,最上层则是策略性商业推动力。Oracle、IBM、SAP和微软等都已经建立了电信行业的应用架构,这些框架建于最新的行业标准之上,可为企业提供多种设计和部署SOA的方法。通过运用这些框架,企业能够充分利用带有BPM(业务流程管理)的流程模板创建非常好的实践,满足自身的业务需求。

    明确服务设计内容

    服务设计的目标是为业务流程建立一种与定义侯选服务一致的方法。服务是其接口采用SCA(服务组件体系结构)和SDO(服务数据对象)等一致认可的格式发布的服务操作的逻辑分组。服务设计需与部署到其中的SOA基础架构相兼容,尤其要确保服务应避免不必要的耦合。因此服务设计需遵循基于面向服务的设计原则。

    根据服务建模结果和统一的服务设计标准,服务设计需要完成各类服务的接口定义API(参考TMF的OSS/J等)。服务设计的流程包括SOA准备、设计以实体为核心的业务服务、设计应用服务、设计以任务为核心的业务服务、设计面向服务业务流程五个阶段。

    API定义除了业务接口,还需要考虑一些基础接口,用来提供监控、安全、审计等服务。

    已有应用的服务化改造及部署

    在服务建模和设计完成后,需要进行现有应用的服务化改造工作,主要需完成相应软件开发、测试和部署工作。具体应用服务化改造需考虑如下因素。

    1.根据服务建模和设计进行服务实现,并对已有服务进行管制;

    2.推荐采用MDD(模型驱动开发)的开发方法,重点关注模型的设计而不是手工编码;

    3.测试SOA的服务,特别是对SOA架构和服务有效性选择的测试;

    4.部署关注性能和服务的QoS;

    5.项目实施建议采用RUP(统一开发过程)的迭代方法降低风险,一般推荐迭代2轮。

    改造工作的重点是结合系统现状和改造需求,合理安排众多服务的改造计划,以保证IT系统向SOA演进的整体进度。

    IT系统的SOA实施策略

    从目前电信运营商的情况来看,各运营商都尚未大规模实施SOA,但是已经有一些系统具有了SOA的特征。如流程管理的功能及WebService接口标准的运用等,这些在一定程度上对SOA的推行有积极意义。

    业界对于SOA实施的启动推进方式主要有两种,即流程驱动主导和功能驱动主导。

    由功能驱动主导的SOA实施启动推进方式对需求分析的要求非常高,因此在SOA实施的初期阶段一般都会采用流程驱动主导的方式。

    考虑到任何IT技术转变都存在一定的风险,为了控制风险,在SOA实施时推荐采用先试点后推广的方式。试点宜采用流程驱动为主导的服务建模和设计方式:选择1到2个具有典型性的流程做试点,只从功能系统中封装流程牵涉到的服务,服务按流程所需来进行建模和设计。

    在流程选择、梳理、服务定义之前或者进行的同时,需要进行SOA基础平台和相关基础服务的建设。

    在试点取得成功、得到用户认可之后,可以考虑在整个业务应用领域实施。整体的SOA实施需要流程驱动和功能驱动相结合的服务建模和设计方式。

    流程驱动和功能驱动相结合的服务建模和设计方式可以结合两种方式的优点。流程分析可以兑现业务需求,功能分析可以充分考虑到现有的系统能力。

    试点时,SOA基础平台(包括企业服务总线和服务管理等)已经建设完善,在整体实施阶段只需要考虑容量问题。

0
相关文章