JCA(Java EE Connector Architecture)는 웹 애플리케이션 서버와 레가시 시스템과 연동할 수 있도록 하는 자바 기반 기술이다. JDBC는 웹 애플리케이션 서버와 데이터베이스와의 연동에 사용된다면, JCA는 웹 애플리케이션 서버와 레거시 시스템(데이터베이스 포함)과 연동하는 보다 일반적인 방법이다. JCA 1.0는 자바 커뮤니티 프로세스의 JSR 16에 의해 개발됐으며, 최신 버전은 JCA 1.5 (JSR 112)이다.
목차[숨기기] |
[편집] 배경
JCA는 ERP나 레거시 정보 시스템 등을 포함하는 비 WAS 환경 서비스(이하 EIS; Enterprise Information System)와의 연동을 위해 정의된 표준 프레임 워크이다. JCA 이전까지는 이들 EIS와의 연동을 위해서 각 벤더의 EIS 및 WAS마다 별도의 인터페이스를 구현하는 커스텀 드라이버를 구현하여 사용했으므로 특정 제품간에 연동 자체가 불가능 해지는 것을 제외하더라도 각각의 드라이버에 따라 다양한 인터페이스와 개발 방식을 따라야 하는 문제가 있었다.
이른바 N * M 문제라고 불리는 이 상황은 기본적으로 코드 레벨의 수정없는 연동을 불가능하게 만들고, 이로 인하여 J2EE 환경의 이식성과 확장성에 심각한 제약을 가한다.
이 문제를 해결하기 위하여 JCA 스펙은 리소스 어댑터와 WAS 사이의 인터페이스와 상호작용을 확정하여 표준에 맞는 WAS와 리소스 어댑터라면 코드 레벨의 수정없이 상호 호환성 있게 동작하는 것을 목표로 발전되었다. 각 EIS 벤더마다의 커스텀 드라이버를 표준화된 아키텍처로 대체함으로써 이전에 발생하였던 N * M 연동 문제를 N + M 으로 줄일 수 있게 되었다.
[편집] JCA와 Java EE의 관계
J2EE 1.3 기반의 웹 애플리케이션 서버는 JCA 1.0을 지원하였으나, J2EE 1.4에 이르러 인플로우 메시지 처리를 포함한 여러 가지 확장된 기능을 포함하여 JCA 1.5로 발전하게 되었다.
[편집] 버전 역사
JCA version | 발표 | 자바 플랫폼 | 중요한 변화 |
---|---|---|---|
JCA 1.6 | Java EE 6 | JSR 322 | |
JCA 1.5 | Java EE 5 | JSR 112 | |
JCA 1.0 | J2EE 1.3 | JSR 16 |
[편집] 바깥 고리
'Development > Java' 카테고리의 다른 글
java.lang.OutOfMemoryError: PermGen space (0) | 2012.02.02 |
---|---|
스윙(Swing) (0) | 2012.01.30 |
엔디언(endian) 그리고 UTF-8에서 illegal character: \65279 에러 (0) | 2012.01.27 |
JNDI와DBCP/DataSource의 사용법 (0) | 2012.01.25 |
java 역어셈블러와 역컴파일러 (0) | 2012.01.23 |