2014-05-12 3 views
0

SCA (Service Component Architecture)에 대해 읽었습니다. 한 가지 사용법을 이해하지 못했지만 확장자가 .componenttype 인 파일에서 구성 요소 유형을 정의했습니다.SCA에서 구성 요소 유형 파일의 용도는 무엇입니까?

This 소스 말한다

"컴포넌트 타입이 구현의 구성 부분을 나타내는 구성 요소 유형이 제공되는 서비스, 유선 및 설정 될 수있는 속성 수있는 다른 서비스에 대한 참조로 구성 설정할 수있다.. 속성 및 서비스에 대한 설정 가능한 참조는 구현을 사용하는 구성 요소에 의해 구성됩니다. "

그리고 여기에 해당 파일에 대한 예입니다 : 우리가 복합 파일에서 구성 요소 서비스, 참조, 속성 및 구현 (.composite 확장자를 가진 파일)을 정의 않기 때문에

<?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> 

내 혼란입니다. 그렇다면 두 파일 (구성 요소 유형 파일과 복합 파일)에서이 파일을 정의하는 이유는 무엇입니까? 우리가 여기서 일을 반복하지 않니? SCA의 컴포넌트 유형에 대해 정말 특별한 것은 무엇입니까? 감사.

답변

1

componentType과 구성 요소의 구성은 실제로 두 가지입니다. ComponentType은 구성 요소 구현을 설명합니다. Java 클래스에서 리플렉션을 통해 수집 할 수있는 정보를 입력하는 것과 유사합니다 (따라서 이름의 "유형"). "유형"대 "인스턴스"를 생각하십시오. 구성 요소 구현이 여러 구성에서 두 번 이상 사용될 수 있기 때문에 이는 중요한 차이입니다.

실제로 애플리케이션은 일종의 리플렉션을 통해 정보를 수집 할 수 있으므로 (대부분의 경우) componentType 파일을 제공 할 필요가 없습니다. 예를 들어 Java 구현에서 componentType 파일은 절대로 제공되지 않습니다 (Java 스펙의 최신 버전에서는 실제로 지원되지 않습니다).

componentType이 필요할 수있는 유일한 경우는 프로그래밍 방식으로 유형 정보를 확인할 수없는 언어입니다.

관련 문제