SOA是一个面向服务的、对分布式计算环境基础设施进行设计、建设和管理的架构。SOA建立了商业与IT服务之间 的联系,为分布、动态变化的商业环境提供稳定、可扩展、安全和可管理的IT支撑环境。SOA是当今电信领军企业率先考虑的方法论并成为提升通信服务的能力 引擎,它使IT部门可搭建灵活的可配置体系以支持随需应变的电信业务。
SOA强调两个原则:一是从业务角度,追求业务灵活性,通过增加流程的粒度、快速生成业务流程以及组装应用来及时 响应市场的变化;另一方面是从IT角度,追求IT系统简单化,通过服务生成的技术无关性、最大化重用现有服务等方法来实现IT系统的灵活与简化。SOA是 更加适应业务要求、生命力更为持久的架构体系。
实现SOA之路
SOA的建设是一个长期的过程,涉及组织、业务、流程和技术等各方面,须进行全生命周期管理。
在实现SOA的过程中,电信运营商需要从六个方面来进行部署。
SOA理念传达:帮助企业理解SOA概念,分析SOA获得的收益和潜在影响;
SOA评估:应用相关评估方法,确定指导SOA建设的全面路标;
SOA架构和管治:在向SOA转变的过程中,需要设立专职的SOA架构管理组织;
SOA服务建模:定义、开发和部署业务服务和IT服务,这些服务可以是企业级、产品线级、部门级甚至是项目级的服务;
SOA软件开发和部署:确定开发和交付过程中的业务服务和IT服务的粒度,完成软件的开发和部署;
SOA管理:在SOA的建设过程中,制定相关政策和服务等级约定,实现对服务和软件生命周期的管理、监控、审计和分析。
根据SOA建设的全生命周期管理及建设原则,IT系统向SOA演进的关键部分包括SOA建设管控、服务建模、服务设计和现有应用的服务化改造。
制定SOA建设管控
建设SOA是企业的长期战略,多数公司都通过成立SOA工作组来实施SOA,以启动SOA的建设。多数情况下,该 工作组是一个小而严密的团队,具有多样且互补的技术,掌管企业的总体架构:工作组组长主要由IT负责领导担任;架构管理岗位负责制定内部标准、蓝图、参考 架构、设计模式、模板、一些共享和水平服务等技术规范;运行管理岗位负责管理SOA的日常运行维护。
SOA工作组是成功实施SOA的最关键要素。没有一个理解如何操作和掌控SOA的优秀团队,实施SOA的工作很难成功。
SOA工作组在启动SOA建设时,需确定SOA建设的工作目标,明确SOA工作组流程(需求管理、开发和部署、问题处理、运行评估等),需完成建立SOA环境运行监控、服务生命周期管理、服务运行质量监控、告警和事件处理等日常工作及职责分配。
SOA工作组一旦成立,接下来需由业务和IT团队合作,制定实施路线图。路线图应与公司的战略利益联系在一起,项目进度、资金筹集、人员安排、业务驱动和业界竞争等因素都可能影响实施进程。由于一些因素可能使得SOA脱离正确轨道,应仔细定期追踪进程。
SOA路线图一般具有多个阶段。第一阶段是进行前期探索、了解技术挑战,实施诸如验证、授权、确认和数据转换等简单的水平服务;第二阶段是制定更多的面向业务的服务;第三阶段包括聚合服务、开发工作流和集成各个不同的系统。
电信部门:进行SOA服务建模
进行SOA服务建模
服务建模是通过对全部业务流程的全面分析,初步确定业务服务和应用服务,包括服务封装的业务/应用逻辑和对外提供的操作候选。
服务建模的前提是需对业务流程和系统功能非常了解。服务建模的工作是一个较长的过程,需要经过若干个阶段才能慢慢完善和确定。服务建模主要包括三个方面的工作:流程梳理、架构设计和SOA产品行业模板。
对业务流程进行梳理
流程梳理,即从现有流程梳理成果入手,自顶向下,将合理的流程活动封装为服务。
在流程梳理的过程中,SOA工作组应采用国际先进方法,电信行业一般采用基于eTOM的流程管理和NGOSS架 构,用业务驱动和流程穿越的方法定义和澄清项目的范围,具体包括:梳理和分析对应的业务流程,明确业务流程的节点和涉及的人员角色;分析业务流程对应的 IT系统支撑和控制点,用不同的表现形式来区分涉及的IT系统,因为涉及多个IT系统的流程都会涉及到与对应系统的集成;针对业务流程的相似性,使用抽象 合并的方法对业务流程进行IT流程的归并。
系统架构设计的构建
架构设计是从系统功能架构和现有系统模块入手,自底向上封装应用服务和通用服务。
从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定义除了业务接口,还需要考虑一些基础接口,用来提供监控、安全、审计等服务。