애플리케이션 바인딩
애플리케이션 서버에 설치된 애플리케이션을 시작하기 전에, 애플리케이션에 정의된 모든 엔터프라이즈 Bean(EJB) 참조 및 자원 참조를 애플리케이션 서버에 정의된 실제 아티팩트(엔터프라이즈 Bean 또는 자원)에 바인드해야 합니다.
바인딩을 정의할 때, 애플리케이션에서 참조 가능한 아티팩트 및 참조된 아티팩트에 대해 JNDI(Java™ Naming and Directory Interface) 이름을 지정하십시오. 아티팩트에 지정된 jndiName 값은 규정된 찾아보기 이름이어야 합니다.참조 가능한 artifact의 예로는 애플리케이션에 정의된 EJB가 있습니다. 참조된 아티팩트의 예로는 애플리케이션에서 사용하는 EJB 또는 자원 참조가 있습니다.
바인딩 정의는 애플리케이션의 ibm-xxx-bnd.xml 또는 ibm-xxx-bnd.xmi 파일에 저장됩니다. 버전 7.0 이상 바인딩 정의는 EJB 3.x 및 Web 2.5 이상 모듈에 대한 XML의 접미부가 있는 파일을 지원합니다. Java EE 5 이전 모듈은 WebSphere® Application Server의 이전 버전에서와 같이 XMI의 접미부가 있는 바인딩 정의 파일을 계속 사용합니다. xxx는 ejb-jar, web, application 또는 application-client가 될 수 있습니다.
바인딩에 대한 다음 정보를 참조하십시오.
바인딩을 정의할 수 있는 시간
다음 시간에 바인딩을 정의할 수 있습니다.
- 애플리케이션 개발 시
애플리케이션 개발자는 ibm-xxx-bnd.xml 파일에 EJB 3.x 및 Web 2.5 이상 모듈에 대한 바인딩 정의를 작성하고 ibm-xxx-bnd.xmi 파일에 이전 Java EE 5 모듈에 대한 바인딩 정의를 작성할 수 있습니다. 애플리케이션 개발자는 도구(예: IBM® Rational® 개발자 도구)를 사용하거나 EJB 3.x 또는 Web 2.5 이상 모듈의 경우에는 XML 편집기 또는 문서 편집기를 사용하여 파일을 작성할 수 있습니다. 그런 다음, 개발자는 바인딩이 완료된 엔터프라이즈 애플리케이션(.ear 파일)을 애플리케이션 어셈블러 또는 배치자에게 제공합니다. 애플리케이션을 어셈블링하면 어셈블러는 바인딩을 수정하지 않습니다. 마찬가지로 WebSphere Application Server에서 지원하는 서버에 애플리케이션을 설치할 때 배치자는 애플리케이션의 성공적인 배치를 위해 바인딩을 변경해야 하는 경우가 아니면 바인딩을 수정 또는 대체하거나 기본 바인딩을 생성하지 않습니다.
- 애플리케이션 어셈블리 시
애플리케이션 어셈블러는 애플리케이션의 어노테이션 또는 배치 디스크립터에 바인딩을 정의할 수 있습니다. Java EE 5 이상 모듈에는 소스 코드에 어노테이션이 들어 있습니다. 어노테이션을 선언하려면 @ 문자("at" 부호)를 사용한 키워드를 애플리케이션 어셈블러 앞에 둡니다. Java EE 5 이전 모듈에 대한 바인딩은 배치 디스크립터 편집기의 WebSphere Bindings 섹션에 지정됩니다. 배치 디스크립터를 수정하면 애플리케이션 개발 시 작성된 ibm-xxx-bnd.xmi 파일의 바인딩 정의가 변경될 수 있습니다. 바인딩을 정의한 후 어셈블러는 배치자에게 애플리케이션를 제공합니다. WebSphere Application Server에서 지원하는 서버에 애플리케이션을 설치할 때 배치자는 애플리케이션을 배치하는 데 필요한 바인딩을 변경해야 하는 경우가 아니면 바인딩을 수정 또는 대체하거나 기본 바인딩을 생성하지 않습니다.
- 애플리케이션 설치 시
애플리케이션 배치자 또는 서버 관리자는 관리 콘솔을 사용하여 WebSphere Application Server에서 지원하는 서버에 애플리케이션을 설치할 때 바인딩을 수정할 수 있습니다. 새 바인딩 정의는 설치 마법사 페이지에서 지정할 수 있습니다.
또한 배치자 또는 관리자는 애플리케이션 설치 중에 기본 바인딩을 생성하도록 선택할 수도 있습니다. 애플리케이션 설치 중에 기본 바인딩 생성을 선택하면 제품이 애플리케이션의 불완전 바인딩을 기본값으로 채웁니다. 기존 바인딩은 변경되지 않습니다.
제한사항: 애플리케이션 클라이언트에 대한 애플리케이션 설치 중에 바인딩을 정의 또는 대체할 수 없습니다. 어셈블리 중에 애플리케이션 클라이언트 모듈의 바인딩을 정의하여 ibm-application-client-bnd.xmi 파일에 저장해야 합니다. - 설치된 애플리케이션
구성 시
WebSphere Application Server에서 지원하는 서버에 애플리케이션이 설치된 후 애플리케이션 배치자 또는 서버 관리자는 엔터프라이즈 애플리케이션의 설정 페이지에서 액세스한 페이지와 같은 관리 콘솔 페이지에서 값을 변경하여 바인딩을 수정할 수 있습니다.
필수 바인딩
애플리케이션을 성공적으로 배치하려면 다음 아티팩트에 대한 참조 바인딩을 정의해야 합니다.
- EJB JNDI 이름
- 각 EJB 2.1 이전 EJB(엔터프라이즈 Bean)마다 JNDI 이름을 지정해야
합니다. 이 이름은 EJB 홈 오브젝트의
글로벌 JNDI 네임스페이스에 있는 항목을 바인드하는 데 사용됩니다. Store 애플리케이션에서 Product EJB에 대한 JNDI 이름의
예는 store/ejb/Product가 될 수 있습니다. 바인딩 정의는
META-INF/ibm-ejb-jar-bnd.xmi 파일에 저장됩니다.
배치자가 애플리케이션을 설치할 때 기본 바인딩을 생성하도록 선택하면, 설치 마법사가 prefix/EJB_name 양식의 EJB JNDI 이름을 완료되지 않은 바인딩에 지정합니다. 기본 접두부는 ejb이지만 대체할 수 있습니다. EJB_name은 <ejb-name> 태그에 지정되는 것과 같습니다.
애플리케이션 설치 중이거나 설치한 후에 Bean용 JNDI 이름 제공 페이지에서 EJB JNDI 이름을 지정할 수 있습니다. 설치 후에, 관리 콘솔에서 을 클릭하십시오.
EJB 컨테이너가 기본 바인딩을 지정하므로 엔터프라이즈 Bean의 각 EJB 3.x 홈 또는 비즈니스 인터페이스에 JNDI 바인딩 이름을 지정하지 않아도 됩니다.
- 엔티티 Bean의 데이터 소스
- CMP(Container-Managed Persistence) Bean과 같은 엔티티 Bean은 데이터 저장소에 지속 데이터를 저장합니다. CMP Bean의 경우에는 EJB 컨테이너가 Bean의
지속적 상태를 관리합니다. EJB 모듈 또는 개별 엔터프라이즈 Bean을 데이터 소스에 바인드하여 Bean이 사용하는
데이터 저장소를 지정합니다. EJB 모듈을 데이터 소스에 바인드하면
해당 모듈의 모든 엔티티 Bean이 지속을 위해 동일한 데이터 소스를 사용합니다.
Store 애플리케이션에서 Store 데이터 소스에 대한 JNDI 이름의 예는 store/jdbc/store가 될 수 있습니다. Java EE 5 이전 모듈의 경우, 바인딩 정의는 ibm-ejb-jar-bnd.xmi와 같은 IBM 바인딩 파일에 저장됩니다. 또한 배치자는 인증을 컨테이너 또는 애플리케이션 레벨에서 처리할 것인지 여부를 지정할 수 있습니다.
WebSphere Application Server 버전 8.x는 EJB 2.x 또는 1.x 모듈에서 CMP Bean을 지원합니다. 버전 8.x는 EJB 3.0 모듈에서는 CMP Bean을 지원하지 않습니다.
배치자가 애플리케이션을 설치할 때 기본 바인딩을 생성하기로 선택하면, 설치 마법사가 완료되지 않은 바인딩에 대해 다음을 생성합니다.
- EJB 2.x .jar 파일의 경우, 지정된 JNDI 이름 및 권한 정보에 기반한 연결 팩토리 바인딩
- EJB 1.1 .jar 파일의 경우, 지정된 JNDI 이름, 데이터 소스 사용자 이름 및 비밀번호에 기초한 데이터 소스 바인딩
생성된 바인딩은 설치할 애플리케이션의 각 EJB 2.x .jar 파일에 기본 연결 팩토리 설정을 제공하고 각 EJB 1.1 .jar 파일에 기본 데이터 소스 설정을 제공합니다. 기본 바인딩 생성 도중 제공한 사용자 정의 계획에 지정하지 않을 경우 Bean 레벨 연결 팩토리 바인딩 또는 데이터 소스 바인딩이 생성되지 않습니다.
애플리케이션 설치 중 및 설치 후, 데이터 소스를 2.x CMP Bean 데이터 소스 페이지 및 2.x 엔티티 Bean 데이터 소스 페이지에서 2.x 엔티티 Bean에 맵핑할 수 있습니다. 설치 후에, 관리 콘솔에서 2.x CMP Bean 데이터 소스 또는 2.x 엔티티 Bean 데이터 소스를 선택하십시오. 데이터 소스를 모든 1.x CMP Bean 페이지 및 1.x 엔티티 Bean을 포함하는 모듈에 기본 데이터 소스 맵핑 제공 페이지에서 1.x 엔티티 Bean에 맵핑할 수 있습니다. 설치 후, 1.x CMP Bean 링크를 클릭한다는 점만 제외하고 2.x CMP Bean의 경우와 마찬가지로 콘솔 페이지에 액세스하십시오.
을 클릭한 후 - EJB 모듈의 백엔드 ID
- CMP Bean을 정의하는 EJB .jar 파일에
다중 백엔드 데이터베이스에 대한 맵핑이 있는 경우, 실행 시 로드되는
persister 클래스를 결정하는 해당 백엔드 ID를 지정하십시오.
애플리케이션 설치 중에 백엔드 ID를 지정하십시오. 애플리케이션이 서버에 설치된 후에 백엔드 ID를 선택할 수 없습니다.
개별 EJB 모듈에 백엔드 ID를 사용 가능하게 하려면 다음을 수행하십시오.
- 애플리케이션 설치 중에 설치 옵션 선택 페이지에서 엔터프라이즈 Bean 배치를 선택하십시오. 엔터프라이즈 Bean 배치를 선택하면 EJB 배치를 수행할 옵션 제공 페이지에 액세스할 수 있습니다.
- EJB 배치를 수행할 옵션 제공 페이지에서 데이터베이스 유형을 ""(널)로 설정하십시오.
애플리케이션 설치 중에 설치 옵션 선택 페이지에서 엔터프라이즈 Bean 배치를 선택하고 EJB 배치를 수행할 옵션 제공 페이지에서 EJB 배치 도구의 데이터베이스 유형을 지정한 경우, 선택한 데이터베이스 유형이 모든 EJB 모듈에 대해 이전에 정의된 백엔드 ID를 겹쳐씁니다.
기본 데이터베이스 유형은 DB2UDB_V81입니다.
EJB 3.0 이상 모듈 설치 중에는 EJB 배치 도구가 실행되지 않습니다.
백엔드 데이터베이스에 대한 정보는 EJB 배치 도구 및 ejbdeploy 명령에 대한 V8.5.5 문서를 참조하십시오.
- EJB 참조
- EJB(엔터프라이즈 Bean) 참조는 엔터프라이즈 Bean의 홈 인터페이스를 찾는 데
사용되는 논리 이름입니다. EJB 참조는
배치 중에 지정됩니다. 실행 시 EJB 참조는 대상 조작 환경dptj 엔터프라이즈 Bean의
실제 위치(글로벌 JNDI 이름)에 바인드됩니다. 참조 이름이 java:module, java:app 또는
java:app URL인 경우에는
java:comp/env/ejb
Java 네이밍 서브컨텍스트 또는
다른 java: 네임스페이스에서 EJB 참조를 사용할 수 있습니다. URL 이름이 있는 EJB 참조가
URL에 따른 해당 네임스페이스로 바인드됩니다.
제품에서 불완전 EJB 3.0 참조 대상의 기본 JNDI 값을 지정하거나 자동으로 해결합니다.
각 EJB 2.1 이전 EJB 참조에 대해 JNDI 이름을 지정해야 합니다. Store 애플리케이션에서 Supplier EJB 참조에 대한 JNDI 이름의 예는 store/ejb/Supplier가 될 수 있습니다. 바인딩 정의는 ibm-ejb-jar-bnd.xmi와 같은 IBM 바인딩 파일에서 저장됩니다. 동일한 애플리케이션 서버에서 참조된 EJB도 배치되는 경우, 서버 범위의 JNDI 이름을 지정할 수 있습니다. 그러나 참조된 EJB가 다른 애플리케이션 서버에서 배치되거나 애플리케이션 클라이언트 모듈에 ejb-ref가 정의되어 있으면, 글로벌 셀 범위의 JNDI 이름을 지정해야 합니다.
배치자가 애플리케이션을 설치할 때 기본 바인딩을 생성하기로 선택하면, 설치 마법사가 다음과 같이 EJB 참조를 바인드합니다. 즉, <ejb-link>가 있으면 이 링크를 따릅니다. 애플리케이션에 정의된 EJB의 ejb-name이 ejb-ref 이름과 일치하면 해당 EJB가 선택됩니다. 그렇지 않으면 참조된 EJB으로 홈(또는 로컬 홈) 인터페이스를 갖는 고유한 Bean이 있는 경우 참조가 자동으로 분석됩니다.
애플리케이션 설치 중 및 설치 후, Bean으로 EJB 참조 맵핑 페이지에서 EJB 참조 JNDI 이름을 지정할 수 있습니다. 설치 후에, 관리 콘솔에서 를 클릭하십시오.
참고: EJB 2.1 이하 모듈 또는 웹 2.3 이하 모듈에서 온 참조인 경우 EJB 참조 대상을 자동으로 해결하도록 하려면, 애플리케이션 설치 준비 페이지에서 기본 바인딩 생성을 선택하거나 설치 옵션 선택, Bean으로 EJB 참조 맵핑 또는 EJB 참조 콘솔 페이지에서 EJB 참조 대상의 자동 해결 허용을 선택하십시오. - 자원 참조
- 자원 참조는 애플리케이션의 외부 자원을 찾는 데 사용되는 논리 이름입니다. 자원 참조는
배치 중에 지정됩니다. 실행 시 참조는 대상 조작 환경의 실제 위치(글로벌 JNDI 이름)에
바인드됩니다. JNDI 이름에 대해 URL을 사용하지 않는 자원 참조가
다음과 같이 사용 가능해집니다.
표 1. 자원 참조 서브컨텍스트. JNDI java:comp/env 이름은 자원 참조 서브컨텍스트에 사용됩니다. 자원 참조 유형 선언된 서브컨텍스트 JDBC(Java DataBase Connectivity) 데이터 소스 java:comp/env/jdbc JMS 연결 팩토리 java:comp/env/jms JavaMail 연결 팩토리 java:comp/env/mail URL(Uniform Resource Locator) 연결 팩토리 java:comp/env/url 또는 애플리케이션은 java:module, java:app 및 java:global과 같은 접두부를 붙여 java: URL 형태의 자원 참조에 이름을 지정할 수 있습니다. URL은 java:comp/env 이름 바인딩을 포함하는 컴포넌트 네임스페이스가 아닌 네임스페이스에 맵핑됩니다. URL 이름이 있는 자원 참조가 URL에 따른 해당 네임스페이스로 바인드됩니다.
각 자원 참조의 경우, JNDI 이름을 지정해야 합니다. 배치자가 애플리케이션을 설치할 때 기본 바인딩을 생성하도록 선택하면, java:comp/env 이름이 자원 글로벌 JNDI 이름과 같을 경우 설치 마법사가 <res-ref-name> 태그에서 파생된 자원 참조 바인딩을 생성합니다.
애플리케이션 설치 중에 참조로 자원 참조 맵핑 페이지에서 자원 참조 JNDI 이름을 지정할 수 있습니다. 자원 참조에 지정된 논리 이름을 나타내는 자원의 JNDI 이름을 지정하십시오. 선택적으로 자원에 대한 로그인 구성 이름과 인증 특성을 지정할 수 있습니다. 인증 특성을 지정한 후 확인을 클릭하여 값을 저장하고 맵핑 단계로 돌아가십시오. 애플리케이션에 정의된 각 자원 참조를 WebSphere Application Server 구성에 정의된 자원에 바인드해야 합니다. 설치 후, 관리 콘솔에서 를 클릭하여 자원 참조 페이지에 액세스하십시오.
- 웹 모듈에 대한 가상 호스트
- 각 웹 모듈을 특정 가상 호스트에 바인드해야 합니다. 바인딩은 웹 서버 플러그인에 웹 애플리케이션이
가상 호스트와 일치하는 모든 요청을 처리해야 함을 알립니다. Store 웹 애플리케이션에
바인드할 가상 호스트의 예는 store_host가 될 수 있습니다.
바인딩 정의는 WEB-INF/ibm-web-bnd.xmi와 같은 IBM 바인딩 파일에서 저장됩니다.
배치자가 애플리케이션을 설치할 때 기본 바인딩을 생성하도록 선택하면, 설치 마법사가 각 .war 파일에서 가상 호스트를 default_host로 설정합니다.
애플리케이션 설치 중이거나 설치 후에 애플리케이션에 정의된 웹 모듈에 가상 호스트를 맵핑할 수 있습니다. 웹 모듈에 대한 가상 호스트 맵핑 페이지에서 가상 호스트를 지정하십시오. 가상 호스트 정의에 지정된 포트 번호는 웹 모듈에서 서블릿 및 JSP(JavaServer Pages) 파일과 같은 아티팩트에 액세스하는 데 사용되는 URL에서 사용됩니다. 예를 들어, JSP 파일과 같은 웹 아티팩트의 외부 URL은 http://host_name:virtual_host_port/context_root/jsp_path입니다. 설치 후에, 관리 콘솔에서 를 클릭하십시오.
- 메시지 구동 Bean
- 각 메시지 구동 Bean에 대해 Bean이 청취할 큐 또는 주제를 지정해야 합니다. 메시지 구동 Bean은
JMS(Java Messaging Service) 리스너가 모니터링하고 있는 입력 큐에 메시지가
도착할 때 리스너에 의해 호출됩니다. 배치자는 어셈블리 도구 EJB 배치 디스크립터 편집기에 있는
WebSphere 바인딩 아래에서 커넥터 모듈(.rar 파일)에 정의된 대로
활성화 스펙의 JNDI 이름 또는 리스너 포트를 지정합니다. 예를 들어,
Store 애플리케이션에서 사용할 리스너 포트에 대한
JNDI 이름은 StoreMdbListener가 될 수 있습니다. 바인딩 정의는 ibm-ejb-jar-bnd.xmi와
같은 IBM 바인딩 파일에서 저장됩니다. 배치자가 애플리케이션을 설치할 때 기본 바인딩을 생성하도록 선택하면, 설치 마법사가 완료되지 않은 바인딩에 JNDI 이름을 지정합니다.
- JCA 1.5 준수 자원으로 배치된 EJB 2.0 이상 메시지 구동 Bean의 경우, 설치 마법사는 activationSpec 인스턴스에 대응하는 JNDI 이름을 eis/MDB_ejb-name 형식으로 지정합니다.
- 리스너 포트에 대해 배치된 EJB 2.0 이상 메시지 구동 Bean의 경우, 리스너 포트는 문자열 Port가 추가된 메시지 구동 Bean <ejb-name> 태그로부터 파생됩니다.
관리 콘솔을 사용하여 애플리케이션을 설치하는 중에 메시지 구동 Bean의 바인드 리스너 페이지에서 모든 메시지 구동 Bean에 대한 활성화 스펙 JNDI 이름 또는 리스너 포트 이름을 지정합니다. 리스너 포트 이름은 JMS 제공자(버전 5 기본 메시징, WebSphere MQ 또는 일반)를 사용할 때 제공해야 합니다. 인바운드 메시징을 지원하는 일반 J2C 자원 어댑터 또는 기본 메시징 제공자를 사용하여 애플리케이션의 자원을 구성한 경우 활성화 스펙을 제공해야 합니다. 둘 다 지정하지 않은 경우, 요약 페이지에서 완료를 클릭하면 유효성 검증 오류가 표시됩니다.
애플리케이션 설치 후,
또는 아래의 콘솔 페이지에서 JNDI 이름을 지정하고 메시지 구동 Bean을 구성할 수 있습니다.제한사항: EJB 3.0 이상 모듈에 정의된 메시지 구동 Bean만 활성화 스펙에 바인드할 수 있습니다. - 메시지 대상 참조
- 메시지 대상 참조는 EJB 모듈에서 메시지 대상 역할을 수행하는 엔터프라이즈 Bean을 찾는 데 사용되는 논리 이름입니다.
메시지 대상 참조는 J2EE 1.4 이상의 아티팩트에만 존재합니다. 예를 들면, 다음과 같습니다.
- J2EE 1.4 애플리케이션 클라이언트
- EJB 2.1 프로젝트
- 2.4 웹 애플리케이션
여러 메시지 대상 참조가 단일 대상 링크와 연관된 경우, 배치 중에 메시지 대상 링크에 맵핑되고 링크된 모든 메시지 대상 참조에 맵핑되는 엔터프라이즈 Bean의 단일 JNDI 이름이 수집됩니다. 실행 시, 메시지 대상 참조는 대상 조작 환경에서 관리되는 메시지 대상에 바인드됩니다.
메시지 대상 참조와 메시지 구동 Bean이 같은 메시지 대상에 의해 링크되어 있는 경우 이 참조와 Bean은 같은 대상 JNDI 이름을 가져야 합니다. 모두 같은 이름을 가진 경우 메시지 구동 Bean의 대상 JNDI 이름만 수집되어 해당 메시지 대상 참조에 적용됩니다.
배치자가 애플리케이션을 설치할 때 기본 바인딩을 생성하도록 선택하면, 설치 마법사가 미완료 메시지 대상 참조에 JNDI 이름을 지정합니다. 즉, 메시지 대상 참조에 <message-destination-link>가 있으면, JNDI 이름이 ejs/message-destination-linkName으로 설정됩니다. 그렇지 않으면, JNDI 이름은 eis/message-destination-refName으로 설정됩니다.
애플리케이션에서 사용하는 참조 및 아티팩트에 따라 기타 참조와 아티팩트에 대한 바인딩을 정의해야 합니다.
애플리케이션 자원 충돌
제품의 버전 8 이전 버전에서 참조 및 환경 항목과 같은 애플리케이션 정의 자원은 java:comp/env와 관련된 컴포넌트 네임스페이스로 바인드되었습니다. 버전 8.0 이상에서는 애플리케이션 개발자가 java: URL의 접두부가 java:module, java:app 또는 java:global인 자원에 이름을 지정할 수 있습니다. 이러한 각 URL은 컴포넌트 네임스페이스와 다른 구별되는 네임스페이스로 해석됩니다. java:module 네임스페이스는 모듈의 모든 컴포넌트 간에 공유되고 java:app 네임스페이스는 애플리케이션의 모든 모듈 간에 공유되며 java:global 네임스페이스는 셀의 모든 애플리케이션 간에 공유됩니다. 네임스페이스가 공유되므로 서로 다른 자원이 동일한 이름에 지정되어 충돌이 일어날 수 있습니다.
모듈의 두 컴포넌트가 동일한 이름의 자원을 정의하는 경우에만 모듈 범위에서 충돌이 발생할 수 있습니다. 이 범위의 크기가 작으므로, 모듈에서는 이러한 충돌이 거의 발생하지 않습니다. 그러나 동일한 자원 정의의 다중 인스턴스가 있는 경우 동일하게 구성되어야 합니다. 예를 들어, 특정 EJB 유형에 대해 동일한 java:module 이름으로 지정된 두 EJB 참조는 둘 다 동일한 바인딩 데이터로 구성되어야 합니다. 그렇지 않으면, 두 자원은 충돌하며 애플리케이션 구성 조치가 실패합니다.
애플리케이션 범위 자원은 모듈 범위 자원과 유사합니다. 유일한 차이는 정의가 애플리케이션의 아무 모듈에서나 생성될 수 있다는 것입니다. 모듈 범위 자원과 마찬가지로 동일한 이름을 가진 모든 애플리케이션 범위 자원은 동일한 유형의 자원이어야 하며 동일한 바인딩 데이터로 구성되어야 합니다.
글로벌 범위 자원은 다른 애플리케이션 간에 충돌이 발생할 수 있다는 점에서 애플리케이션 및 모듈 범위 자원과 다릅니다. 충돌이 발생하는 경우 자원이 논리적으로 동일하지 않으면 충돌하는 애플리케이션은 공존할 수 없습니다. 여러 위치에 사용된 글로벌 범위의 자원이 모두 논리적으로 동일한 자원으로 식별되는 경우 제품에서 이들을 충돌되는 것으로 감지하지 않도록 하기 위해 모두 동일한 바인딩 데이터로 구성해야 합니다. 여러 애플리케이션에서 사용된 글로벌 범위의 자원을 편집하려면 충돌이 발생하지 않도록 정의하는 모든 애플리케이션을 동일한 세션에서 편집해야 합니다. 그렇게 하지 않으면 세션을 저장할 때 실패하게 됩니다.