【问题标题】:What's the use of the component type file in SCA?SCA中的组件类型文件有什么用?
【发布时间】:2014-06-29 22:28:36
【问题描述】:

我正在阅读有关服务组件架构 (SCA) 的信息。我不明白它的用途的一件事是在扩展名为 .componenttype 的文件中定义组件类型。

This 消息来源说:

“组件类型表示实现的可配置方面。组件类型由提供的服务、对可连接的其他服务的引用和可设置的属性组成。可设置的属性和对服务的可设置引用已配置通过使用实现的组件。”

以下是该文件的示例:

<?xml version="1.0" encoding="ASCII"?>
<!-- Component type schema snippet -->
<componentType xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
               constrainingType="xs:QName"? >

   <service … />*
   <reference … />*
   <property … />*
   <implementation … />?

</componentType>

我的困惑是因为我们确实在复合文件(扩展名为 .composite 的文件)中定义了组件服务、引用、属性和实现。那么为什么我们在两个文件(组件类型文件和复合文件)中都定义它呢?我们不是在这里重复吗? SCA 中的组件类型有什么特别之处?谢谢。

【问题讨论】:

    标签: xml components soa implementation sca


    【解决方案1】:

    componentType 和组件配置实际上是两个不同的东西。 ComponentType 描述了一个组件实现。它类似于可以从 Java 类的反射中收集的类型信息(因此名称中的“类型”)。想想“类型”与“实例”。这是一个重要的区别,因为一个组件实现可以在不同的配置下多次使用。

    在实践中,应用程序通常不需要提供 componentType 文件,因为可以通过某种类型的反射(在大多数情况下)收集信息。例如,对于 Java 实现,从不提供 componentType 文件(最新版本的 Java 规范实际上不支持它)。

    可能需要 componentType 的唯一情况是对于无法以编程方式确定类型信息的语言。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      • 2020-09-28
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 2021-02-21
      • 2019-12-01
      相关资源
      最近更新 更多