[출처: okjsp] |
제가 보고 있는 메일링 중에 가장 많은 글이 올라 오는 곳이 Struts 메일링 리스트입니다. 그런데 몇 일전부터 'Hibernate vs. iBatis vs. POJO'라는 글이 수 없이 올라 오더군요.. 잘 들 아시는 것처럼 토론하는 애덜 한 번 필이 꽂히면 주구장창 올라오지 않습니까.. 흐흐 그래서 일요일 저녁 먹고 딸래미 재우고 잠시 찬찬히 읽어 보면서 애덜이 뭐라하는지 잠시 정리해 봅니다 . 방아쇠를 당긴 Access Denied라는 친구는 ORM utility에 관심을 가지기 시작했고, 공부해 볼려고 하니 이미 JDO는 뒤로 제껴 놓고 Hibernate와 iBatis 두 utility의 첨예한 대립에 강팡질팡하는 것 같더군요.. 그래서 대세가 무엇인지에 대한 질문을 올렸었습니다. 바로 이어진 2개의 답글에서는 현재 Hibernate를 쓰고 있는데, iBatis 또한 좋다라던지, If you want ORM, use Hibernate. If you want SQL mapping, use iBatis. 이런 말을 하면서 모호한 현 상태 즉, 뚜렸한 의견을 남기지 않았습니다. 여기에 살짝쿵 Lindholm, Greg라는 사람은개인적으로 SQL 쿼리를 작성하고 싶지 않다고 하면서 Hibernate에 손을 들어 줍니다.그러면서 마케팅적인 메세지를 1개 남기지요.. Manning의 "Hibernate In Action"를 추천한다고요.. ㅋㅋ 저도 갠적으로 좋은 책이라고 생각하지만.. 살짝쿵 마게링적인 냄새가... 흐흐 이 정도로 의견이 올라올 때 쯤 우리의 Ted Husted가 한 말을 날립니다. Ted Husted는 저 갠적으로 최고의 Struts책이라고 생각하는 'Struts in Action'을 쓴 사람으로 Struts 메일링에서 결정적인 답변을 해 주는 사람입니다. ㅋㅋ 그런 Ted Husted가 낸 의견 또한 원론적입니다. 그 선택은 애플리케이션의 사이즈, 범위에 따라 다르며, 현행 데이타베이스, 개발자들의 선호도에 따라 다르므로, Hibernate와 iBatis로 해당 애플리케이션의 주요 부분을 코딩해 보고 결정하랍니다. 어는쪽에도 손을 들어 주지 않는 역시 세계 팬을 가진 고수의 말은 대단합니다. 흐흐 여기서 살짝쿵 방향이 바뀝니다. Rick Reumann라는 사람은기존 데이타베이스를 기준으로 생각하랍니다. 즉, 완전히 새롭게 DB를 구성한다면, Hibernate가 좋겠지만, 기존 데이타베이스를 버리지 않고 같이 가는 한 iBatis가 훨 좋다고 합니다.역시 여기 저기서 if가 걸려야 한다면 iBatis로 쿼리문을 짜야한다는 것입니다. 이에 Larry Meadors라는 사람이 한표를 줍니다. 저도 한표... 흐흐 이정도 얘기가 오고 가니 뚜렷하게 한 쪽으로 표를 던지는 사람이 나오기 시작했습니다.Nitish Kumar라는 사람은 지금까지 Hibernate 2.X를 써왔으며, 상당히 도움을 많이 받은 모양입니다. 그러나, 몇몇 경우에선 지독하리만치 일을 어렵게 만드는 것이 Hibernate라고 하면서 3.X에서 해결해 달라고 합니다.그리고 iBatis는 안 써봐서 아무 말도 못하겠다고 잘라 말합니다. 그러면서, Spring과 같이 쓰면 더 좋다고 Hibernate와 Spring의 궁합도 언급니다. 아.. 요즘 Hibernate와 Spring의 궁합에 금이 가는 기사가 여기 저기 올라오고 있습니다. 오래가지 않기를... 흐흐 Hibernate와 Spring에 푹 빠져있는 사람인 것 같습니다. 그러나, 위에 사람이 살짝쿵 논쟁거리를 남겨 놓습니다. I think I would still like to have the freedom of writing normal SQL queries while having the flexibility of using a mapping tool. I guess Hibernate does provide that kind of flexibility. 라고 얘기를 하자, 기다렸다는 듯이 Larry Meadors는 이 기능은 iBatis의 특징이라고 면박을 줍니다.. ㅋㅋ 이에 뒤질세라, Stéphane Zuckerman이라는 사람은 Larry Meadors가 잘못 이해를 한 것이며,Nitish Kumar가 한 말은 HQL (Hibernate Query Language)를 말한 것으로, 실제로 HQL을 Spring에서 사용하는 방법을 코드를 통해서 장문으로 대응합니다.그러면서 마지막에 말을 하나 남김니다. Hibernate는 중대규모 애플리케이션에 적합하다고 이야기 합니다. 이에 대한 매우 복잡한 애플리케이션에 Hibernate가 좋은지, iBatis가 좋은지 다시 묻는 질문에, 이제 나와야 할 논쟁거리가 나오게 됩니다. Stéphane Zuckerman은 Spring에서 복잡한 것은 초기 세팅이라고 합니다. 잘 들 아시는 것처럼 테이블 하나에 여러개의 class 파일, XML configuration file, 또 전체적인 config 파일을 만들어야 합니다. 그러나, 이건 잠시일 뿐 그 다음부터는 상당히 편하게 Hibernate를 사용할 수 있다고 합니다.Hibernate를 공부해보신 분들은 잘 알겠지만, 설정 파일이 넘 많습니다. 복잡하고 서로 유기적으로 넘 잘 엮여있어서 한 쪽에서 삑사리나면 헤어 나오질 못합니다. 그러나, 아주 좋은 eclipse plug-in이 많이 나와 있어서 이런 수고를 상당히 많이 덜 수 있습니다. 다른 개발자 분들도 꼭 plug-in 쓰시고 Hibernate 포기하지 마세요.. 흐흐 이런 Hibernate 설정 파일의 복잡함을 eclipse plug-in으로 풀어야 한다고 DGraham@EvergreenInvestments.com가 이야기하며http://hibernatesynch.sourceforge.net/.도추천해 줍니다. 훗~ 이후로 여러 개의 글에서 plug-in을 소개하고 추천합니다. 이런 일련의 논쟁에 쐐기를 박는 글이 떴습니다. 처음 질문을 한 Access Denied의 글입니다. 그는 James Elliott's "Hibernate" (O'Reilly Developer Notebook Series 2004) 책을 구입했다고 합니다. 또 아마존에서 iBatis 관련 서적을 검색해 보았으나, "Pocket Guide to the Birds of Britain and North-West Europe" and "An Introduction To The Mystical Use of Classical Persian Poems."와 같은 책을 검색했다고 합니다.이런 시장의 상황을 보고 그는 현재는 Hibernate의 세상이고 단정짓습니다. 아울러 최근에 Hibernate를 요구하는 구인광고는 많이 보았으나, iBatis를 요구하는 것은 본적이 없다고 합니다. 그렇기 때문에 다시 한번 Hibernate가 점령하고 있다고 판단하더군요. 이와 비슷한 이야기가 있습니다. 현재 오픈소스진영 framework는 struts, webwork, spring, Tapestry 등등 많은 framework가 있습니다. 어떤 framework를 선택할 것인가? 라는 질문에 답을 하는 양 특정 framework를 요구하는 구인광고를 토대로 통계를 과거 2차례 냈으며, 전세계적으로 상당한 반향을 불러 일으켰고 framework 선택의 기준으로 많이 작용하기도 했습니다. 결국은 시장에서 요구하는 기술이 무엇이냐일 것입니다. 그 척도로는 구인시 개발자가 갖추어야 할 필수 기술이며 그런 기술을 갖추기 위한 관련 서적일지도 모릅니다. 하튼 당분간 이 논쟁은 지속되리라 생각합니다. 이에 개발자 여러분들의 의견 또한 메일링에 남겨 주세요… 흐흐.. 영어라서… 흐흐 |
반응형
'개발' 카테고리의 다른 글
java 코드 컨벤션 한글번역본 (0) | 2007.02.28 |
---|---|
gmail 필터적용시 여러 검색어 사용하기. (2) | 2007.02.25 |
오피스 기본단축키. (0) | 2007.02.08 |
CSS익숙해지기! 1.텍스트관련 (0) | 2007.02.07 |
ubuntu(우분투) 6.10 Intel915계열 해상도 1280*800셋팅하기 (0) | 2006.12.11 |