JAX-RPC 애플리케이션용 사용자 정의 데이터 바인더 배치를 위한 사용법 패턴
사용자 정의 데이터 바인더는 Java™ 오브젝트를 포함하는 XML 스키마 유형을 맵핑하는 데 사용됩니다. 사용자 정의 데이터 바인더는 현재 JAX-RPC(Java API for XML-based Remote Call Procedure) 스펙에서 지원하지 않는 XML 스키마 유형에 대한 바인딩을 제공합니다. WebSphere® Application Server에서는 특정 XML 스키마 유형에 대한 이러한 사용자 정의 바인딩을 구현하는 Java EE(Java Platform, Enterprise Edition)용 웹 서비스 프로그래밍 모델에 대한 확장(CustomBinder 인터페이스라고 함)을 제공합니다. 사용자 정의 바인딩 제공자는 런타임으로 가져오는 사용자 정의 데이터 바인더의 패키지입니다.
CustomBinder API에 대해 자세히 알려면 JAX-RPC 애플리케이션에 대한 CustomBinder 인터페이스 정보를 참조하십시오. 사용자 정의 바인더에 대한 일반 정보를 보려면 JAX-RPC 애플리케이션에 대한 사용자 정의 데이터 바인더 정보를 참조하십시오. 사용자 정의 바인딩 제공자가 개발을 위해 패키지되는 방법을 검토하려면 JAX-RPC 애플리케이션에 대한 사용자 정의 바인딩 제공자 정보를 참조하십시오.
이 사용법 패턴에서는 런타임에 제공자 패키지를 배치하는 방법 및 사용자 정의 바인딩 프로세스와 관련된 역할을 검토합니다.
사용자 정의 데이터 바인딩 관련 역할
- 사용자 정의 바인딩 제공자는 필수 사용자 정의 데이터 바인더를 구현하고 CustomBindingProvider.xml 파일에서 이러한 바인더를 선언한 후 바인딩 클래스를 JAR(Java Archive) 파일로 패키지해야 합니다.
- 애플리케이션 개발자는 사용자 정의 바인딩 제공자 Jar 파일을 적용한 후 개발 아티팩트를 생성해야 합니다.
- 애플리케이션 어셈블러는 사용자 정의 데이터 바인딩 관점에서 애플리케이션 요구사항을 이해해야 하고 사용자 정의 제공자 JAR 파일을 애플리케이션의 한 부분으로 패키지하는 방법을 결정합니다.
- 애플리케이션 배치자는 애플리케이션에서 사용자 정의 데이터 바인딩 지원을 사용할 수 있도록 공유 라이브러리를 구성합니다. 이것은 사용자 정의 제공자 JAR 파일이 애플리케이션과 함께 패키지되지 않은 경우 수행되어야 합니다. 애플리케이션이 배치되지 않는 경우, 배치자는 애플리케이션이 설치된 후 웹 서비스 배치 도구를 실행해야 합니다.
공통 사용 패턴
- 서버 레벨에서 사용자 정의
데이터 바인더 배치
이 패턴을 사용하면 사용자 정의 데이터 바인더가 서버에서 실행하는 모든 애플리케이션에 영향을 줄 수 있습니다. 이 패턴은 기본 XML 유형이 도입된 경우(표준 JAX-RPC 맵핑 규칙에서는 지원하지 않음) 유용합니다.
이 유형의 상황은 새 스키마 유형을 정의하는 새 웹 서비스 스펙의 경우에 자주 발생합니다. 예를 들어 WS-Addressing 스펙은 JAX-RPC 맵핑 규칙에서 지원하지 않는 EndpointReferenceType 스키마 유형을 정의합니다. 이 패턴을 사용하려면 서버 클래스 경로 기능을 보강해야 하므로 서버 런타임에 큰 영향을 주며 설치된 애플리케이션에도 영향을 줍니다. 이 패턴은 WebSphere Application Server 내부 컴포넌트에 가장 적합합니다.
- 하나 이상의 애플리케이션에 대해
사용자 정의 바인더 배치
사용자 정의 데이터 바인더가 지정된 애플리케이션에만 영향을 주려는 경우 및 관련 XML 스키마 유형이 애플리케이션 세트에 적용되는 경우 이 패턴을 사용하십시오. 애플리케이션 세트에서 사용자 정의 데이터 바인더를 공유하는 동시에, 서로 다른 애플리케이션 세트 사이를 분리할 수 있습니다.
- 애플리케이션 내의
특정 웹 모듈에 대한 사용자 정의 바인더
배치
이 패턴을 사용하면 배치된 사용자 정의 데이터 바인더가 특정 웹 모듈에 영향을 줄 수 있습니다. 이 패턴은 사용자 정의 바인딩에서 세분화가 필요한 경우에 유용합니다. 이 패턴은 EJB 모듈에서는 사용할 수 없습니다. 해당 모듈 및 이 모듈에서 참조하는 라이브러리가 전체 애플리케이션에 속해 있기 때문입니다.
사용 패턴
- 서버
레벨 배치
서버 레벨에서 사용자 정의 데이터 바인더를 배치하는 경우 선언된 바인딩 제공자의 scope 속성을 server로 설정해야 합니다. 값을 server로 설정하면 서버와 애플리케이션 사이에서 충돌이 발생해도 선언된 바인더의 우선순위가 더 높습니다. 서버 런타임에서 사용자 정의 바인딩 제공자 JAR 파일을 선택하려면 이 파일이 적절한 위치에 있어야 합니다. 서버 경로를 구성하고 사용자 정의 바인딩 제공자 JAR 파일을 서버 클래스 경로에 포함하십시오. 서버 클래스 경로 구성에서 사용되는 값에 대해 알려면 Java 가상 머신 설정 정보를 참조하십시오.
- 하나 이상의 애플리케이션에 대한 사용자 정의 데이터 바인더 배치
하나 이상의 애플리케이션에 대한 사용자 정의 데이터 바인더를 배치하려면 선언된 사용자 정의 바인딩 제공자의 scope 속성을 application으로 설정하십시오. 이 값을 application으로 설정하면 애플리케이션과 모듈 사이에서 충돌이 발생해도 바인더의 우선순위가 더 높습니다. 둘 이상의 애플리케이션에서 사용자 정의 데이터 바인더를 사용하는 경우 애플리케이션에서 참조할 공유 라이브러리를 구성하십시오. 공유 라이브러리 경로 구성에서 사용되는 값에 대해 알려면 공유 라이브러리 관리 정보를 참조하십시오.
- 애플리케이션 내의
특정 웹 모듈에 대한 사용자 정의 데이터
바인더 배치
애플리케이션 내의 특정 웹 모듈을 위한 사용자 정의 데이터 바인더를 배치하려면 선언된 사용자 정의 바인딩 제공자의 scope 속성을 module 값으로 설정하십시오. 이 패턴에 대해 사용자 정의 데이터 바인더를 적용하는 유일한 방법은 사용자 정의 바인딩 제공자 JAR 파일을 웹 모듈에 사전 패키징하는 것입니다. 예를 들어, JAR 파일을 /WEB-INF/lib 디렉토리에 넣으십시오.