예전(90년대부터 2000년 초까지)에는 Application 개발자가 파워빌더나 델파이등을 이용해서 화면을 만들고 또 Query까지 직접 작성하고는 했는데, 요즘은 화면 개발과 Query 개발이 나뉘어지는 추세인 것 같습니다.
물론 아직도 대분의 SI Project에서 개발자가 북치고 장구치고 다 하지만, Business Logic이 복잡해질수록 화면과 Query(로직)의 분리가 생산성 향상 측면에서 훨씬 이득이 많았습니다. 하지만 문제가 한 가지 있었죠. 얼마 전까지만 해도 대부분의 프로젝트(제가 몸담았었던 금융권)가 EJB 환경으로 개발됐었는데, Bean 안에 있는 Query 보는 게 정말 장난이 아니었습니다. 잠시 예제 하나 보시죠...
sqls = " SELECT DECODE(FUND_CD , 'NEDU', "
+ " 'NETC', DECODE(AIM_CD, '01', '자동차','02','여행','03','의료비','04','투자자금','기타'), "
+ " 'NEDU', DECODE(AIM_CD, 'US','대학교육','GS','유학'), CODE_NM) "
+ " FROM PF_COM_COMMON_CODE B, PF_LFP_NEEDS_FUND A "
+ " WHERE CUST_NO = ? AND FUND_CD = ? AND FAMILY_CD = ? AND SEQ_NO = ? "
+ " AND B.CODE_GUBUN = 'SB1000' AND B.CODE1 > ' ' AND A.FUND_CD = B.CODE1 "
+ " AND FUND_CD != 'NFAM' ";
개발까지는 어떻게 넘어간다고 쳐도, 나중에 이거 인수인계 받은 사람 죽어 납니다. 현업에서 데이타가 이상하다고 하면, Query 부분 카피해서 울트라에디터에서 + 지우고 " 도 지우고 , 소스 분석해서 ? 뭔지 찾아내고 해서 토드에서 Qeury 돌려 본 다음에야 뭐가 잘못됐는지 알 수 있었습니다. 만약에 query가 많이 수정된다면, 다시 쿼리를 수정한 다음 + , ", ?을 붙여서 소스에 넣어야 합니다.
자바 개발자와 query 개발자가 다르다면 아주 난리도 아니었습니다. 그러던 어느날 그러니까 개발자를 그만두고 위키북스 출판사를 만들고 나서 누군가 iBATIS 이야기를 해주더군요. 이런 책이 있으니까 번역하면 좋을거라고...인터넷에서 자료를 조금 찾아 봤죠.
지난 세월이 너무 억울했습니다.. 예전에 진작 알았더라면...
다른 프레임워크를 사용하지 않고, JDBC만 이용해서 개발하고 있는 사이트라면 iBATIS를 정말 추천해 드립니다. 저희 회사책 꼭(?) 안 사보셔도 좋지만(^^;;) 도입을 검토해 보세요. 최소한 10~20 % 정도의 개발 생산성 향상 보장합니다.(왠지 약장수 모드 같은...)
iBATIS 자체가 그리 크지 않은 프레임워크라서 iBATIS에 관한 거의 모든 내용이 이번 책에 담겨 있고 이번 주 내로 저희 위키북스에 최종 편집한 내용 일부를 pdf로 공개하도록 하겠습니다. 아마 기존에 사용하시던 분들도 참고하실 수 있는 사항이 많을 겁니다. 아무쪼록 개발자 분들께 많은 도움이 되길 바랍니다. 정식 출간은 5월 중순 정도가 될 것 같습니다.
막바지 교정작업차 위키북스를 방문하신 역자 분들이십니다.
맨 좌측이 오픈마루 (http://www.openmaru.com/) 에 근무하시는 손권남님,
중앙이 오픈프레임워크카페(http://openframework.or.kr/)를 운영하고 계시는 이동국님,
맨 우측이 편집을 맡고 있는 위키북스의 김윤래 팀장입니다.