SOA概念理解
面向服务架构定义了将软件系统、关联的基础架构以及中间件元素组织在一起的一种方式。SOA本质上依赖于Intenet以及一系列Intenet协议,比如SOAP,UDDI,XML,WSDL等,用这些协议来管理定义软件元素并将它们连接在一起。
"service"简单来说是可以通过Internet被调用的软件组件,它提供特定的功能。若干年前,我们将服务称为软件组件。如果你想的化,你可以把它想成被设计来在Internet环境下可以使用的软件组件。
最近,有相当多的关于BPM和SOA governance的讨论。这里注意,governance并不是管理,而是自治。Governance关注目标、原则、组织图(定义了谁可以做什么决策)、框架、策略、规则以及定义或限定日常管理活动的流程。而管理则是人类的活动。管理者通过采取行动来响应日常事务。理论上来说,管理者应该可以依据已建立的自治文档作为指导。
公司内部最终的自治是通过管理公司行为的法律以及确立特定策略与框架的公司会议确立的。
SOA Governance一般是IT Governance的更宽泛领域中的特定自治域。SOA Governance由策略、框架和控制日常SOA活动的流程(这些流程由IT创建)组成。更泛地说来,SOA Governance为定义服务、获取或开发服务、将服务注册并保存在库中、控制服务的访问、发布服务、交付服务和管理服务变化提供了策略或程序(这里的程序不是计算机的程序,而是一种办事的流程)。
有些人可以会简化以上定义,然后说SOA Governance由策略、框架以及流程组成,它对公司SOA主动性进行全局控制,控制服务的获取与设计、控制服务的生命周期或运行时环境控制。大多数人还会将SOA Governance与工具关联,包括某种注册中心和辅助管理服务与元数据的库等工具。
然而,SOA Governance定义了,任何一个想支持大型SOA的公司都需要定义并实施众多的策略,以确保服务正确地定义且可以便捷地被流程访问。此外,SOA Governance要求一致的策略用于整个服务生命周期中。这也要求SOA Governance软件和大多数公司适当地决定将SOA Governance软件紧耦合地与BPMS系统在一个全局平台上进行集成是最有效的编排。
SOA Governance关注SOA的管理。本质上来看,SOA Governance是一个IT考虑的问题。IT组织一旦熟悉SOA并决定实现它的话,一般就要进入为SOA的长时间实现、其维护以及后续的SOA生命周期管理制定计划了。
所以,从某种意义上来说,组织对SOA Governance有兴趣,特别是对SOA-BPM促进的自治有兴趣,对于他们的全局成熟度是一个好的指导。
既然要做到SOA Governance,必定要有人来做这方面的工作,谁来做?
根据BPTrend得出的报告,55%的调查参与者表明企业架构师负责创建SOA Governance策略。剩余的调查参与者半数表明由Governance Specialist来负责,占到28%,另一半参与者表明应该由业务分析师来做这项工作。