BLOG ARTICLE JCA | 1 ARTICLE FOUND

  1. 2008/04/10 SAP JCA Resource Adapter 만들기 ---- 안되는 것임.

사용자 삽입 이미지
잘들 지내고 계시죠? 저는 지금 인도 뱅갈로에서 삽질하고 있습니다.
 
여기서 회사내 SAP서버를 이용하여 JCA 연결 테스트를 진행을 했습니다.
결론부터 말씀드리자면 SAP product(예:SAP J2EE Server, Portal등) 외부에서 JCA를 만드는 것 자체가 안되네요.
 
결론은 JCA 공부만 잘했다는 거지요.

JCA 구현의 내부에는 connection관련 interface를 inheritance를 통하여 구현한 후 JNDI를 통해 client side로 전달해 주게 됩니다. 하지만 JCO.Client, JCO.Connection 등의 객체가 static class 로 구현되어 있어 상속 자체가 불가능한 구조입니다.
 
즉 CCI(Common Client Interface) type으로 connection을 만든다 하더라도 JCO의 class type으로 변환이 불가능하기 때문에 client side에서 SAP와의 연결객체를 얻어올 수 없었던 것이 원인이었습니다.
 
JCA를 만들기 전에 SAP JCA의 구현사례를 모든 검색엔진을 통해서 찾아봤는 데 없었던 이유가 바로 이 때문이었습니다.
 
혹시나 하여 검색어를 "SAP JCO JCA can't"라는 이름으로 검색했더니 IBM의 DeveloperWork와 javaranch에 이런 문구가 작성되어 있네요.
IBM : "JCA is supposed to be the recommended way for working with backend EIS systems - but the last time we checked, SAP's JCA resource adapter can't be used outside of their products (SAP J2EE Server and Portal). "
 
JavaRanch : "SAP also has a JCA resource adapter but you can't use it outside of SAP's J2EE product (it's also just a wrapper to the SAP JCO)."
 
대안은 다음과 같이 정의할 수 있겠네요.
1. SAP JCO.Pool와 PoolManager class를 wrapping하여 공통 모듈을 만들어 사용
2. Jakarta common pool을 사용하여 JCO connection을 commons pool로 위임.
 
위의 두 가지 방법 모두 simple한 구조입니다. 단순히 모니터링이 필요하다면 별도의 client pull 방식의 web application을 만들어 별도로 관리하는 방법을 구사하여야 합니다.
 
다른 좋은 방안이 있으시면 과감히 의견주십시오.
감사합니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
2008/04/10 16:08 2008/04/10 16:08