https://github.com/spring-sprout/egov-data

관심받고 싶습니다. 저를 포함해서 봄싹 개발자 다섯명이서 짬짬히 개발중인 프로젝트입니다. eGov Data라는 이름으로 두개의 프로젝트를 묶었습니다.

  • eGov iBatis
  • eGov Hibernate

아이바티스와 하이버네이트에 Spring Data 기술을 접목시키는 프로젝트입니다. 저는 이 중에서 eGov Hibernate 프로젝트 리더를 담당하고 있고 박용권님께서 eGov iBatis 프로젝트 리더를 담당하고 있습니다.

제가 아이바티스를 많이 써본건 아니지만 아이바티스를 사용한 자바 코드를 보면 특히 스프링이 제공하는 SqlMapClientTemplate을 사용한 코드를 보면 참으로 그런 생각이 듭니다.

'이런 코드가 진짜 필요한가?'

사실상 쿼리 아이디로 XML에 적어둔 쿼리 호출해주는 코드 한줄이 끝이자나요? 그런 코드는 얼마든지 Spring Data 스타일로 없앨 수 있지 않을까? DAO 인터페이스 하나면 끝이지 않을까? 굳이 구현체를 만들필요가 있을까? 하는 생각을 저만 가지고 있던것은 아니었습니다. 이미 작년 여름 봄싹 스웨거에서 용권형이 eGov Data와 비슷한 코드를 공개해 주었죠. 그리고 용권형 블로그와 깃헙에도 이미 코드가 올라가 있습니다.

그때 그 코드를 다시 다듬고 봄싹에서 토론하며 새로운 코드로 옮기고 있으며 새로운 기능도 구상해 두었습니다. 인터페이스 조차 코딩하지 않게 해줄 순 없을까? 어차피 XML에 있는 SQL을 SQL 맵 id로 호출하는게 다라면 코드도 자동으로 생성해 줄 수 있지 않을까? 여러가지 방법이 있지만 지금은 어떻게 하면 여러 개발자가 가장 편하게 그런 기능을 이용할 수 있을지 연구 중입니다. 그리고 조만간 개발할 계획입니다.

eGov Hibernate는 Spring Data JPA의 하이버네이트 버전입니다. 저는 JPA가 싫습니다. 애노테이션까지는 참고 써주겠는데 Criteria API를 포함한 자바 코드는 정말 못봐주겠고 못써먹겠습니다. 표준이라면 꼭 써줘야 하나요? 그렇치 않죠. 구리면 안써야 표준도 좋아지려고 노력할테니까요. 저는 안쓰고 싶습니다.

하지만 Spring Data Hibernate라는 프로젝트는 없습니다. 그래서 제가 eGov Hibernate라는 이름으로 Spring Data JPA가 제공하는 기능을 똑같이 제공하지만 하이버네이트만 사용할 수 있는 프로젝트를 개발 중입니다.

이 두 프로젝트 이름에 eGov가 들어가는 이유는 제가 전자정부 표준프레임워크 2기 커미터로 활동중이기 때문이죠. 이 프로젝트가 향후에 어떻게 될지는 저도 장담하지 못하겠습니다. 전자정부 표준프레임워크 커미터를 운영하고 있는 사무국에서조차 전자정부 표준프레임워크에 대해서 완전한 오너쉽을 가지고 있는것처럼 보이지 않아 걱정입니다. 하지만 오픈 커뮤니티 운영 만큼은 정말 성심 성의껏 잘하고 계시고 많은 개발자 분들과 소통하기 좋은 창구로 제역할을 충실히 하고 계신것 같아 한편으로는 안심입니다. 어찌됐든! 제가 2기 커미터로서 봄싹 개발자와 eGov Data를 개발하여 여러분께 많은 편의를 제공해 주었으면 하는 바램입니다.

그러려면 여러분의 조그마한 관심이 필요합니다. 프로젝트에 필요한 기능을 이슈로 적어 주시거나 포크와 와치로 항상 프로젝트를 주시해 주시면 좋겠습니다. 우리 다섯명이 머리를 맛대고 고민하는 것보다 더 다양하고 많은 의견으로 정말 필요한 기능을 담은 프로젝트를 개발해보고 싶습니다. 도와주시어요.

감사합니다.