JSR-222라고도 하는 JAXB(Java™ Architecture for XML Binding)는 단순한 웹 서비스 개발을 위한 Java 클래스 및 XML 스키마를 맵핑하는 간단하면서도 편리한 방법을 제공하는 Java 기술입니다. JAXB는 XML 프로그래밍에 대해 자세히 알지 못하는 상태에서 XML 스키마를 Java 애플리케이션에 바인드할 수 있도록 Java 애플리케이션에서 융통성 있는 플랫폼 중립 XML 데이터를 사용합니다. 이 워크벤치에 포함된 도구는 JAXB 2.0, 2.1 및 2.2 표준을 구현합니다.
JAXB는 스키마와 Java 오브젝트 사이 및 XML 인스턴스 문서와 Java 오브젝트 인스턴스 사이의 변환을 지원하는 Java 바인딩 기술의 XML입니다. JAXB는 런타임 API(Application Programming Interface) 및 XML 문서에 쉽게 액세스할 수 있도록 해주는 도구로 구성됩니다. JAXB는 XML 스키마를 준수하고 유효성을 검증하는 XML 문서를 빌드하는 데에도 도움이 됩니다. 애플리케이션 서버는 XML 스키마 1.0 권장사항(XSD Part 1 및 2)에 정의된 W3C XML 스키마를 지원합니다.
JAXB 어노테이션 처리된 클래스 및 아티팩트에는 XML 인스턴스 문서를 처리하기 위해 JAXB 런타임 API에서 필요한 모든 정보가 포함됩니다. JAXB 런타임 API는 JAXB 오브젝트를 XML로 마샬링(marshalling)하고 XML 문서를 다시 JAXB 클래스 인스턴스로 마샬링(marshalling) 해제합니다. 선택적으로 입력 및 출력 XML 문서가 XML 스키마에 정의된 XML 제한조건을 강제로 준수하도록 JAXB를 사용하여 XML 유효성 검증을 제공할 수도 있습니다.
JAXB는 JAX-WS(Java API for XML Web Services) 도구에서 사용하고 이 제품 내에서 기본 구현이 되는 기본 데이터 바인딩 기술입니다. JAX-WS 애플리케이션 내에서 사용하기 위해 JAXB 오브젝트를 개발할 수 있습니다.
WebSphere® Application Server 버전 7.0에서는 JAXB 2.1 스펙을 지원합니다. JAX-WS 2.1에는 데이터 바인딩을 위해 JAXB 2.1이 필요합니다. JAXB 2.1에서는 향상된 컴파일 지원, @XMLSeeAlso 어노테이션에 대한 지원 및 전체 스키마 1.0 지원과 같은 개선사항을 제공합니다. JAXB 2.1에서 특정 스키마에 대한 새 클래스가 자동으로 생성되지 않도록 xjc 스키마 컴파일러를 구성할 수 있습니다. 마찬가지로 새 스키마가 자동으로 생성되지 않도록 schemagen 스키마 생성기를 구성할 수 있습니다. 이러한 개선사항은 공통 스키마를 사용하고 새 스키마를 생성하지 않으려는 경우 유용합니다. 또한 JAXB 2.1에서는 JAXB에서 추가 Java 클래스를 바인드할 수 있게 하는 @XMLSeeAlso 어노테이션을 처음으로 제공합니다. JAXB에서는 이 어노테이션과 Java 클래스를 바인드할 때 다른 방법으로는 이러한 추가 클래스에 대해 알 수 없습니다. 지정된 Java 클래스의 모든 서브클래스를 나열하는 것이 항상 가능하거나 실용적이지는 않기 때문에 이 어노테이션을 사용하면 JAXB에서 마샬링(marshalling) 또는 마샬링(marshalling) 해제에 잠재적으로 포함된 모든 클래스에 대해 알 수 있습니다. 또한 JAX-WS 2.1에서는 처리를 위해 어노테이션에서 참조된 모든 클래스가 JAXB에 전달될 수 있도록 SEI(Service Endpoint Interface) 또는 서비스 구현 Bean에서의 @XMLSeeAlso 어노테이션 사용을 지원합니다.
추가 정보는 공식적인 JSR-222 스펙인 JSR-222: JAXB(Java Architecture for XML Binding) 2.0을 참조하십시오.