第三部分,SOA项目的运维<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
在这一部分主要介绍运维阶段的工作,以及如何进行系统的改进和优化工作。
1 运维管理
运维管理就是对
SOA
系统的运行进行监控和管理。运维对象包括
SOA
基础设施(也包括基础运行环境)以及各种服务。运维工作包括运行状态监控和运行过程管理。
通过对
SOA
系统运行状态信息的了解,可以从整体角度了解
SOA
系统运行效果是否达到了预期的目标。通过对系统的跟踪可以
l
理解基础设施和业务服务的各自价值
l
对运行问题提供响应处理能力
l
为系统性能调整提供决策依据
l
为系统和业务流程的改变积累数据和经验
为了有效的进行运维管理有必要建立度量体系,度量对象就是运维管理对象:
SOA
基础设施和业务服务对象。具体度量指标可以根据业务需要来确定,把服务度量指标定义到服务描述信息中,使服务从定义设计,到实施,到运维过程保持一致性。服务的度量信息可以存储到服务库或资源库中,可以供运行系统使用,也可以供运行维护和决策支持使用
1.1 运行监控
对
SOA
基础设施的运维信息包括:
l
各种基础上设施的启动时间,持续运行时间
l
自系统建立以来故障次数,平均故障恢复时间,有效工作时间
l
各基础设施服务的处理能力,如处理请求数,失败请求数,平均响应时间等
对业务服务需要关注原子服务,也需要跟踪组装服务和流程服务,可关注的运维信息包括:
l
当前正常运行的服务和流程列表
l
各服务当前运行状态
l
各流程的当前运行状态
l
各服务处理请求数,失败请求数,平均响应时间等
对基础设施和业务的管理控制功能包括:
l
启动、停止、暂停和恢复操作
l
自动部署,自动更新
l
其它的特殊管理操作
总之通过对运行过程的跟踪,可以了解整个系统的运行情况,如哪些服务被请求的次数最多,哪些服务运行最稳定,哪些服务的运行不太符合设计要求(如响应时间超过要求);可以了解哪些节点运行负载比较高,可以了解数据通讯的流量。通过这些信息一方面可以了解整个系统是否满足系统的初始需求,另一方面也为系统的优化提供数据依据。通过这些监控数据,可以更好地对系统进行优化完善,体现
SOA
逐步改进的特点。
1.2 项目优化
在一个项目实施后,可以根据运行情况和总体规划,确定下一步的工作计划和优化改进计划。
可能的优化改进包括:
l
发现服务运行达不到设计要求,需要在实现上加以改进
l
业务流程有不合理的地方需要改进
l
因业务需要对业务流程的改进
l
技术实现能力的提高,可以将部分手工业务通过系统来实现
SOA
系统强调松耦合局部的改变一般不应该对系统整体产生影响。因为强调服务接口和合约,对服务实现的改变不会影响业务流程和使用服务的消费者。因为支持业务流程的灵活重组,支持服务的尽量复用,可以支持服务流程的快速改变。
示例,人力资源系统的优化改进
可能的改进方面包括:
(
1
)建立一个基本的人力资源系统
因为人力资源系统本身的重要性,有必要建立一个基础的人力资源系统,实现员工信息管理,工资管理,考勤管理,培训管理,招聘管理等业务的各个方面。
在实现该系统时需要考虑基础功能的服务化,能够为其它业务系统提供服务。如提供员工信息服务,工资信息的授权访问,考勤信息服务。
如考勤服务,当前信息都存储于文档中,不便于管理,也需要花费大量人力来手工处理,可以建立一个公司统一的考勤管理系统,建成
B/S
架构,所有数据公司统一集中管理,就可以简化考勤统计服务。同时也便于开放考勤信息服务。
需要将各种业务流程化,一个业务很可能是跨部门的,如绩效考核,培训管理,招聘管理等。这样在有了大量服务积累的情况下,可以快速建立和优化业务流程。
(
2
)建立业务审核流程
在公司范围内建立审核流程的管理系统,引入流程管理功能,这样可以将审核流程纳入各业务流程的服务实现中。
(
3
)财务系统服务开放
财务系统也是一个重要的基础服务,可以将财务的基本业务功能服务化,简化员工的报销、借款和领取支票等基本业务的操作,可以将财务功能的服务接口直接纳入业务流程中
(
4
)与各分公司的连接
有些分公司业务可能扩展,这样分公司也可以建立一个服务中心,分公司内部流程可以在本地执行,只有与公司本部联系时才需要进行交互,提高系统运行效率,如各分公司可以形成自己独立域
(
5
)与业务合作伙伴的互联
与银行,物业等业务系统的直接连接,可以减少相关的人工活动时间。如银行开放转帐,工资发放等服务接口后,可以直接纳入工资发放等流程中,提高整个的工作效率。
转载于:https://blog.51cto.com/zhulvwei/150549