新规范的愿景是创建一个统一的环境来支持:
…发布,搜索并检索各种广泛的对客户 SOA 环境进行描述的技术文档。这包括模式,服务描述,业务流程设计模型,策略文档等等。…[它们] 对于一个 SOA 工件的整个生命周期里许多活动都有帮助,比如设计,组装,质量保证,开发,运维和监控基于 SOA 的应用和业务流程。
该规范的作者将资源仓库作为管理服务生命周期的根基,并预见了它在设计阶段的应用:
- 设计者使用集成开发环境 (IDE) 来产出设计并为服务供应发布一个服务描述 (WSDL) 和服务产品的模式。
- 当开发者的产品所用到的 WSDL 变更时,资源仓库向服务开发者发出提醒。
- 开发业务流程产品的设计者搜索可用的服务并将其用于定义他的业务流程环境。
- 设计者基于依赖部件的变更来执行影响分析。
它同样可被用于运行时服务调用:
- 开发者可使用包含正确的部件集的资源仓库来测试设计。
- 当资源仓库里某个感兴趣的部件发生变更时,设计测试者会得到通知。
- 企业服务总线对资源仓库执行动态查询,基于与 SOA 环境服务部件相关的元数据来决定路由。
- 网络管理者在资源仓库里对更新的策略进行编辑和储存。
- 根据储存在资源仓库里的策略记录来强制执行自动化工具策略。
最后是服务监控:
- 运维管理员在资源仓库里使用关于性能和可用性的最新信息来更新服务元数据。
- 业务管理员基于资源仓库里的服务质量信息来决定使用什么服务。
该规范为 SOA 资源仓库定义了一个公共的数据模型,促进了对公共工具的使用和数据共享。它为数据模型提供了一个丰富的表示并支持语义化的查询。它包括了 10 个文档:基础文档,Atom 绑定文档,Atom 绑定模型模式,核心模型模式,策略模型,服务实现模型模式。SOA 模型模式,SOAP WSDL 模型模式,WSDL 模型模式和 XSD 模型模式。
该规范是基于如下的设计原则:
- 尽可能的使用现有的标准 (例如,XML,XML Schema,OWL,XPath2,APP(Atom 发布协议),ASF(Atom 聚合协议),等等)。
- 厂商中立。
- 不要包括治理模型,但可以为其所用。
- 由用例所驱动。
- 针对新数据类型的数据模型扩展性,支持系统和用户所定义的元数据。
- 为数据模型包括一个基于序列化的 XML 模式。
- 使用 XPath 2 来描述查询语法。
- 使用 OWL Lite 来描述分类系统语法。
- 将数据模型与客户用来与资源仓库进行交互的 API 绑定分离开来。
该规范定义了如下的可储存于资源仓库里的工件:
- 文档工件 - 任何储存在资源仓库中的物理文件。预定义的文档类型 (特殊处理) 包括,XML 模式或 WSDL 文档等等…
- 服务实现模型工件 - 表示服务实现层的工件,比如,服务运营或服务端点。
- 派生工件 - 作为发布支持派生模型的文档的结果而自动创建的工件,比如 WSDL PortType 或策略表示。
- SOA 模型工件 - 基于 Open Group 的 SOA 本体论的工件,提供了 SOA 环境的概念性表示。
- 用户定义的工件模型 - 扩展性的元素,支持创建可互操作的用户定义工件。
每个工件可以包括三个主要的元数据类型:
- 关系 - 工件之间的联系。
- 属性 - 一个工件实例的命名标志 (内置的或用户定义的)。
- 分类 - 工件的分类学
新的资源仓库规范相对于 UDDI 是一个大的飞跃。尽管它为仓储应用引入了许多新的技术和方案,然而看起来它仍然重复了 UDDI 的一些不足之处:
- 尽管服务注册和服务资源仓库是两个不同的系统,有着不同的受众和不同的架构需求,但它们仍然打包在同一个单一的规范内。
- 该规范为技术性受众作出了调整,但却忽略了业务分析师,而他们通常在设计活动中扮演最重要的角色。
查看英文原文: HP, IBM, Software AG and TIBCO Releases Version 0.9 of the SOA Repository Specification
评论