时至今日,SOA无论是被作为一种时尚潮流还是一种实际的需要,都不断的增加引用的频率。然而,从何处切入问题仍然是棋手们百思不得其解的一盘谜棋。
1 运维管理
运维管理就是对SOA系统的运行进行监控和管理。运维对象包括SOA基础设施(也包括基础运行环境)以及各种服务。运维工作包括运行状态监控和运行过程管理。
通过对SOA系统运行状态信息的了解,可以从整体角度了解SOA系统运行效果是否达到了预期的目标。通过对系统的跟踪可以
在部署过程中首先需要对运行环境进行定义。定义内容包括:
l 节点定义,SOA系统会涉及多少节点。
一个节点可以在一台物理机器上,也可以多个节点共享一个物理机器,一个节点不能跨物理机器。
需要定义节点名称和物理IP地址。
同时也需要定义节点类型包括:服务节点,具有完整服务总线功能;客户节点,只具备基本的服务总线功能,是一个简化版本
SOA项目实现与传统IT项目实现有较大差别。在传统项目中几乎所有的代码都需要编写实现,或使用已有的公共代码库。而在SOA实现中,很多工作是通过定义来完成的。
服务定义和设计的主要工作就是从各个角度完成对服务的描述。
服务定义就是对服务功能的描述,服务使用约束条件,形成服务合约,是服务应用的基础。
服务识别就是需要从业务需求分析中找出的服务进行技术识别,以找出需要采用IT技术实现的业务服务。在SOA系统建设中不是所有的业务服务都需要由IT技术实现,有些业务可以暂时由人工操作来完成,待以后有机会在逐步IT化。
物理架构是部署和运行层次的架构。在有了逻辑架构后可以开始实现SOA系统,对于一个实现好的SOA系统需要将其部署到实际环境中运行,这时就需要一个物理架构。
在项目实施过程中,首先需要确定系统的总体技术体系架构。可以在规划阶段中确定的体系架构为基础,看是否需要调整,需要细化业务架构,确定基础设施的具体实现方式。
在项目实施时需要对本项目的技术架构进行总体设计,包括基础设施架构,应用总体架构,部署架构。在进行设计工作前首先需要对业务系统现状进行了解,在确定技术架构后,需要在项目阶段内完成基础设施的建设,因为服务从定义到实现到部署都需要依赖基础设施,所以需要尽快建立一个开发环境保障实现工作可以顺利开展,运行环境可以在整个项目阶段逐步建设。
业务数据分析建模就是对业务流程和业务职责分析建模中发现的数据进行分析和建模,需要描述数据实体和关联关系,在这一个过程中通过分析判断是否能够找出数据服务。
业务流程分析建模就是从所有的业务过程中找出业务服务。
这一部分工作也需要从组织架构模型入手,确定各业务部门,各部门的角色在日常工作中都做哪些事情,这些事情是简单的任务可以自己完成,还是一个复杂的业务流程过程,需要多个环节,甚至多个部门或角色一起配合才能完成。
需求分析的主要工作就是通过建模方法,使组织内的不同角色可以有一个可以交流沟通的手段,最后能对业务有一个共同的理解,便于后续具体工程实施工作的开展。
在具体实施SOA项目前需要明确这个项目的目标和主要工作内容,这是后续所有工作的基础。
业务规划阶段主要工作是了解需要做哪些事情,哪些先做,哪些后做,并确定SOA实施规则。在项目实施阶段就需要通过工程方法实现一个具体项目,完成一些具体的业务目标和任务。
在这一部分主要介绍规划阶段的工作。在组织内部,或需要实施SOA的组织之间进行总体规划,确定是否需要采用SOA思想进行IT系统建设,确定采用SOA的目标,策略,项目实施步骤,在总体上指导基于SOA思想的IT系统建设过程。
采用SOA思想建设应用系统,不仅是一个技术问题,同时还涉及管理方式的改变,以及业务流程的改变,建设SOA应用系统不只是IT部门的战略,而是整个公司的战略。
SOA支持面向服务的开发方法,是对前续的面向过程、面向消息、面向数据库和面向对象开发方法的补充。
从技术角度看,SOA就是一种体系架构,它通过利用一种IT基础设施,使得不同的业务服务可以相互交换数据,参与业务流程,通过灵活的互相协作方式来完成具体的业务操作。这些业务服务独立于编程语言,独立于实现方法,独立于运行环境
SOA概念已经为大多数用户和企业所熟知,同时也有众多企业开始实践SOA,在项目实施过程中不断完善SOA的技术和实施方法。长风联盟内的用户、软件企业和科研院所,在SOA技术研究、产品研发和项目实施过程中,形成若干SOA工作组,共同研究、交流SOA相关技术和规范标准,同时也形成了一些实际的SOA支撑产品和项目实施经验。
SOA从概念到实用,仅仅短短几年时间,发展十分迅速。等随着SOA发展的深入,各种SOA相关技术标准也随之发展和完善。