티스토리 툴바

자바지기(javajigi)로 유명한 박재성님께서 최근에 자바지기 커뮤니티KSUG를 통해 Spring Batch Monitoring System(이하 Batchmon)을 소개하며 활발한 활동에 하시고 있어 인터뷰를 청했습니다.

1. 팀장을 맡고 있어 바쁘실 텐데 Batchmon을 개발하신 동기는 무엇인가요?

첫번째 이유는 회사에서 돈을 벌기 위한 개발이 아니라 내 자신의 재미를 찾기 위한 개발을 하고 싶었다. 점점 더 관리 업무가 많아지고 있는 상황에서 개발에 대한 끈을 놓지 않고 지속적인 관심을 가지기 위해서는 한가지 소프트웨어를 지속적으로 개발하면서 다양한 시도를 할 때 가능하다고 생각했다. 시작은 작지만 지속적으로 하나를 만들다보면 더 깊이 있는 공부가 가능하리라 생각한다. 이 상태에서 2008년에 간단하게 만든 Spring Batch 관리툴을 지속적으로 개발하고 싶은 마음이 있었지만 계속 미루고 있다가 최근에 시간적인 여력이 생겨 최대한 빠른 시점에 0.5버전을 공개했다.


2. 미래의 Batchmon의 모습은 어떤가요? 혹시 오픈소스 프로젝트로 발전시킬 의향은 있으신가요?

공개 소프트웨어로 발전시켜 나갈 계획이다. 지금은 관리툴의 가장 핵심적인 기능만 가지고 있다. 그 이유는 내가 Spring Batch 기반으로 Batch  업무를 주도적으로 하고 있지 않기 때문에 어느 기능이 우선적으로 필요할지 모르는 상태이다. 따라서 Spring Batch에 경험이 많은 개발자들의 의견을 수렴하고 발전시켜 나가기 위해서는 공개소프트웨어로 가는 것이 이 툴이 살아남기 위한 방법이라고 생각한다.


3. 현재 개발은 혼자 하시나요? 앞으로는 팀을 꾸리실 의향은 없나요? 함께 참여하고 싶은 사람이 있다면 어떤 방법이 있을까요?

현재는 혼자 개발하고 있다. 지금은 잠시 동안 시간적인 여력이 생겨 1차 기능을 개발했지만 앞으로 언제 시간적인 여력이 생길지 모르기 때문에 열정과 마음이 맞는 개발자가 있다면 같이 개발해 나가고 싶다. 일차적으로 내가 몸담고 있는 조직에서 이 툴이 필요하다고 요청하는 조직이 있다면 먼저 지원하면서 기능적인 요구사항을 수렴해 볼 계획이다. 아직 어떻게 어떤 방식으로 개발을 해나갈지에 대한 구체적인 모습은 생각해보지 않았다. 지금 단계에서는 1.0 버전을 만들기 위하여 의견을 수렴하고 기능을 추가하는데 시간을 할애할 계획이다. 일정 정도의 수준이 된다면 그 이후에는 더 많은 개발자와 같이 툴을 발전시켜 나갔으면 좋겠다.


4. Batchmon의 적합한 활용 사례는 무엇인가요? 내부적으로 사용한 기술은 어떤 것이 있나요?

Batchmon이 지향하는 바는 Spring Batch에 대한 모니터링을 온라인 상에서 하고 싶은 것이다. 일차적으로는 실행되고 있는 Job에 대한 관리(Job의 성공, 실패 유무에 대한 관리, 실패시 자동 Noti 등)에 집중할 계획이다. 따라서 Spring Batch 기반으로 Batch를 관리하면서 현재 Batch의 상태를 파악하고자하는 조직에 유용할 것으로 판단된다. 이후 이 툴이 좀 더 발전한다면 각 Batch Job에 대한 실행 시간, 메모리 사용등에 대해서도 추적하여 문제가 발생할 가능성이 있을 때 미리 인지시켜줄 수 있는 기능까지 추가되면 좋겠다. 개인적인 바램인데 이 단계까지 갈 수 있으면 좋겠다.

사용한 기술은 GWT, GWT Ext, Spring Framework, Spring Batch, Spring Security이다. GWT를 사용한 이유는 내가 UI에 대한 개발 능력이 없는 상태였기 때문에 GWT가 가장 좋은 선택이라고 생각했다. 물론 지금까지 경험해보지 못했던 새로운 기술을 적용해 보는 것에 대한 관심도 있었다. 아직까지 GWT에서 많은 삽질을 하고 있지만 참 잘한 선택이라고 생각한다.


5. 미진한 사항이나 바로 보강하실 내용이 있다면 말씀해주세요.

현재 미흡하지만 일단 공개한 이유는 다양한 요구사항을 수렴하기 위해서이다. 최대한 빨리 공개하고 그에 따른 피드백을 듣고 싶은 마음도 있었다. 빠른 기간 내에 다음 기능을 추가할 생각이다.
  • Role과 User를 관리툴에서 관리할 수 있는 기능. 현재는 Spring Security 설정 파일에서 md5 기반으로 관리하고 있다.
  • 현재는 동일한 Instance 내에 있는 Job만 실행하는 것이 가능한데 JMX를 통하여 원격에서 실행되고 있는 Batch Job도 실행할 수 있도록 한다.
Spring Batch를 사용하고 있는 개발자들의 많은 요구사항이나 의견이 있었으면 좋겠다. 이 의견을 바탕으로 1.0 버전의 최종 모습을 만들고 기능을 발전시켜 나가고 싶다.


6. 끝으로 50대에 전원으로 돌아가신다는 꿈을 들은 바 있는데 조금 더 들려주시죠.

지금까지 50대가 되면 고향으로 돌아가고 싶다고 막연하게 생각했다. 그런데 최근에 조화로운 삶(http://www.javajigi.net/pages/viewpage.action?pageId=255754257) 이라는 책을 읽으면서 귀농에 대한 구체적인 목표를 세우게 되었다. 매년마다 한가지씩 이루어 귀농의 꿈을 이루어가볼 생각이다. 올해는 일차적으로 토지 매입을 목표로 세웠다. 마지막 목표는 내가 살 집을 내 손으로 직접 지어서 살고 싶은 생각이다. 이 같은 목표를 세우면서 지금 살고 있는 수도권에 집을 살 계획도 포기했다. 그러고 나니 오히려 마음이 편안하다. 물론 집 값이 폭락한다면 집 구입은 한번 다시 고려해보겠지만 지금의 집 값으로는 구매할 계획이 없다.
내가 귀농의 꿈을 꾸는 이유는 자연과 더불어 살 때 진정 행복감을 느끼기 때문이다. 개인적으로 프로그래밍을 나의 업으로 살고 있지만 내가 진정 행복감을 느끼고 보람을 느낄 때는 시골에서 한 알의 쌀을 얻기 위하여 땀을 흘릴 때이다. 제 2의 삶은 시골에서 자연과 더불어 살고 싶다.

감사합니다.

설정

트랙백

댓글