기존
바인딩을 사용자 정의하거나 UML에서 WSDL로 변환이 WSDL 아티팩트를 생성하기 위해
사용하는 바인딩을 작성할 수 있습니다.
시작하기 전에
다음 프로시저에서는
사용자가 플러그인을 작성, 테스트 및 분배하는 방법을 알고 있으며
Eclipse PDE(Plug-in Development Environment)에 익숙한 것으로
가정합니다.
사용자가 모델링 Perspective에 있어야 합니다.
이 태스크 정보
사용자 정의 바인딩을 작성하려면 다음을 수행하십시오.
- Eclipse 작업공간에서 플러그인 프로젝트를 작성하십시오.
이 플러그인 프로젝트에는 사용자 정의 바인딩의 구현이 포함됩니다.
- 플러그인의 plugin.xml 파일에서 다음 확장점을 작성하십시오.
<extension point="com.ibm.xtools.transform.core.transformationExtensions"></extension>
- 확장점에서 다음 정보를 포함하는
TransformationExtension 요소를 작성하십시오.
<TransformationExtension version="7.0.0"
name="MY-NEW-BINDING binding extension"
enabled="true"
targetTransformation="com.ibm.xtools.transform.uml2.wsdl.internal.Uml2WsdlTransform.RS"
id="com.ibm.xtools.transform.uml2.wsdl.extension.MY-NEW-BINDING">
- TransformationExtension 요소에서,
다음 정보를 포함하는 특성을 작성하십시오.
<Property
id="com.ibm.xtools.transform.uml2.wsdl.bindings.MY-NEW-BINDING"
metatype="string"
name="com.ibm.xtools.transform.uml2.wsdl.bindings"
readonly="true"
value="MY-NEW-BINDING"/>
- 이전 단계에서 작성한 특성에서
다음 규칙을 정의하십시오.
<RuleDefinition
class="org.someuri.MyAddressExtensionRule"
id="MyAddressExtensionRule"
name="MyAddressExtensionRule"/>
<RuleDefinition
class="org.someuri.MyBindingExtensionRule"
id="MyBindingExtensionRule"
name="MyBindingExtensionRule"/>
<RuleDefinition
class="org.someuri.MyBindingOperationExtensionRule"
id="MyBindingOperationExtensionRule"
name="MyBindingOperationExtensionRule"/>
- TransformationExtension 요소에서
다음 ExtendTransform 요소를 작성하십시오.
<ExtendTransform
targetTransform="AddressExtensionTransform">
<AddRule id="MyAddressExtensionRule"/>
</ExtendTransform>
<ExtendTransform
targetTransform="BindingExtensionTransform">
<AddRule id="MyBindingExtensionRule"/>
</ExtendTransform>
<ExtendTransform
targetTransform="BindingOperationExtensionTransform">
<AddRule id="MyBindingOperationExtensionRule"/>
</ExtendTransform>
- 을 클릭하십시오. 다음에
변환 구성 파일을 열 때 변환 구성 편집기의 특성 페이지에는
4 및 5 단계에서
작성한 특성이 표시됩니다.
- 5 단계에서 정의하는 클래스마다,
1 단계에서 작성하는
플러그인에서 해당되는 Java™
클래스를 작성하십시오. 작성하는 Java
클래스는 해당되는 추상 클래스를 확장하고 com.ibm.xtools.transforms.uml2.wsdl.utility
플러그인에서 해당되는 추상 메소드를 구현합니다.
다음 예제를 고려하십시오.
- 5 단계에서 정의하는
org.someuri.MyAddressExtensionRule 클래스는 com.ibm.xtools.transforms.uml2.wsdl.utility
플러그인에서 AbstractExtensionRule 클래스를 확장해야 합니다.
- 5 단계에서 정의하는
org.someuri.MyBindingExtensionRule은 AbstractBindingExtensionRule 메소드를 확장해야 합니다.
- 5 단계에서 정의하는
org.someuri.MyBindingOperationExtensionRule 클래스는 AbstractOperationExtensionRule
메소드를 확장해야 합니다.
결과
다음에
변환 구성 파일을 열 때
WSDL 옵션 페이지에
새 바인딩이 표시됩니다. 이제 UML에서 WSDL로 변환이 이 사용자 정의 바인딩을
사용하도록 지정할 수 있습니다.