'benelog'에 해당되는 글 2건

  1. 2008/07/12 [봄날포럼 환영사9] 포럼이 발견한 숨은 고수 정상혁님
  2. 2008/07/10 [정상혁] 이미 35개 이상의 Accenture 고객사에 Spring batch가 적용되고 있다 (1)
2008/07/12 07:27

[봄날포럼 환영사9] 포럼이 발견한 숨은 고수 정상혁님

2회였던가요. 세미나가 끝나고 자봉단을 이끌고 뒷풀이를 하는데 조용히 따라 오신 두 분이 있었습니다. 선뜻 그러기가 쉽지 않은데 말이죠. 그날은 택시까지 함께 타고 갔었죠. 뒷풀이에선 다른 얘기만 하느라 몰랐는데, 포럼을 열고 보니 스프링 고수였네요.
사용자 삽입 이미지
간단한 자기 소개와 KSUG 포럼 개설에 대해서 할 말이 있다면?

네. 작년까지는 SI 프로젝트에서, 올해부터는 포탈업체에서 일하고 있는 Java 개발자입니다. 요즘은 데이터 연계 관련 업무를 하고 있습니다. KSUG의 세미나가 시작된 때가 제가 스프링에 본격적으로 관심을 가진 시점과 비슷하기 때문에 KSUG와 회원분들을 통해서 배운 것이 많습니다. 그래서 KSUG의 포럼 개설이 더욱 반갑고 기대되는 일입니다.


블로그를 보면 스프링 지식과 경험이 많아 보이는데 어떻게 사용했고, 그때마다 학습은 어떻게 했는지?

 사실 작년까지는 스프링을 실무에서 쓰지 않았기 때문에, 아직 경험이 깊지는 못합니다. 업무와 별도로 스프링을 공부해야 했던 그 시절에는 '스프링 인 액션'이나 '스프링프레임웍 워크북'과 같은 책을 통해서 기초를 익히고, KSUG의 세미나나 회원분들의 블로그를 통해서 정보를 얻고, 정리해 두었었습니다. 그나마 Avalon기반의 프레임웍을 3년간 사용했기 때문에, IoC같은 개념들이 낯설지는 않았고, Avalon보다 훨씬 깔끔하고 유연한 구조에 매력을 느꼈었습니다.

 새로운 팀에 오면서 본격적으로 스프링을 활용하게 되었는데, 오랫동안 쓰고 싶었던 전자기기를 얻은 기분과 비슷한 느낌이였었습니다. 담당 업무에 필요해서 Spring-batch와 Spring-WS의 모듈을 공부하고 적용했었고, 이때는 주로 레퍼런스 매뉴얼과 샘플 프로젝트를 다운 받아서 참조했었습니다. Spring-batch에서는 포럼(http://forum.springframework.org/forumdisplay.php?f=41 )에 매뉴얼의 오류에 대한 신고도 하고, 저희 프로젝트에서 만든 코드에 대한 질문을 하기도 했었습니다. 소스 코드의 주석에서 보던 사람들이 직접 답변을 해주니까 신기하더군요.

상혁님 자기소개로 인해 올라온 'Spring Batch에 대한 경험담을 듣고 싶습니다.'가 가장 뜨거운 글 중에 하나가 되었다. 현재 하고 있는 일이 Spring Batch와 관계되어 있는지?

담당하는 데이터 연계 업무가 스케쥴러에 의한 대용량 처리가 많다보니  batch 프로그래밍과 깊이 연관되어 있습니다. 지난 프로젝트의 프로그램 중에 Spring batch가 쓰인 모듈도 있고, 아닌 것도 있습니다.


마소에 Spring Batch관련 글을 기고하고 있다 하셨는데, 주로 어떤 메시지를 담으려 했는지?

한 때 유지보수 프로젝트에 있으면서 배치프로그램이 얼마나 껄끄러운 존재가 될 수 있는지 경험해 보았습니다. 배치는 대부분 틀이 없이 짠 기본 Java 어플리케이션으로 만들어지기 때문에 한 클래스가 모든일을 담당하고 한 메소드가 수백라인이 되는 프로그램들을 많이 봐왔습니다. 그래서 에러확인과 디버깅도 힘들어서 나중에는 소스나 로그를 들여다 보기도 싫어지더군요. 그리고 대용량 데이터처리에 DOM을 써서 out-of-memory exception을 내거나, 하나의 트랜잭션으로 Job전체를 묶는 프로그램들도 있었습니다. 웹에 대해서는 사람들이 관심이 많이 가지니까 노하우들이 금방 전파가 되는데, 배치는 아직까지도 원칙없는 코딩이 많아 보입니다.

 Springbatch를 쓰면 문제가 다 해결되니, 모든 배치 프로그래밍에 Spring-batch를 써야 한다고 주장하고 싶은 것은 아닙니다. 배치 프로그램을 하는 사람이라면 누구라도 Spring-batch의 구조들을 본다면 경험있는 batch 프로그래머의 비법을 전수 받을 수 있을 것이라고 생각하고, 그것을 잘 풀어서 전달하고 싶은 것이 연재의 의도였습니다. 그럴려면 저도 레퍼런스 메뉴얼 이상의 지식이 있어야 되는데, 아직 그렇지는 못해서 고심 중입니다.


개발자로써 스프링이 있는 삶과 없는 삶을 간단하게 비교해본다면?

스프링이 있어서 든든한 후원자를 옆에 둔 느낌이 듭니다. 빠른 발전 속도를 보여주면서도, 견고한 하위 호완성을 보여주기 때문에 스프링을 활용해서 프로그래밍을 하면 더 안심이 됩니다. 스프링 위에 올라간 모듈들은 비옥한 화분에 올라간 새싹 같아서 앞으로도 튼튼하게 잘 자라줄 것만 같습니다.


Trackback 0 Comment 0
2008/07/10 08:44

[정상혁] 이미 35개 이상의 Accenture 고객사에 Spring batch가 적용되고 있다

  Spring batch 프레임웍은  스프링 프레임웍의 본부인 SpringSource와 컨설팅 회사 Accenture로 협업으로 개발되고 있습니다. SpringSource의 기술력과 Accenture의 현장경험이 합쳐진 것이죠. 작년 5월에 국내에도 이 것이 보도된 것이 있군요.

 Spring batch 포럼에 서 보면 이미 현장에서 적용하고 있는 사람들이 많아 보이기는 해도, 아직 얼마나 쓰이고 있는지 짐작하기는 어려웠습니다. 그런데, 얼마전에 Accenture에서 내놓은 기사에 따르면 이미 35개 이상의 고객사에서 활용되고 있다고 합니다.


  지난 5월에 Spring batch에 대해서 공개 세미나에서 발표를 한 적이 있었습니다. 그 때 받은 질문 중에 하나가 '금융권 등에서는 민감하고 고성능이 필요한 프로그램들이 배치로 돌고 있고, DB의 Stored procedure로 되어 있는 것이 많다. 그런 것들이 다 SpringBatch로 가능하겠느냐'는 것이였습니다. 그 때 저는 '성능에 대해서는 구체적으로 나온 자료가 없다. DB를 많이 쓰는 작업이라면 DB내부에서 돌아가는 Stored Procedure가 더 빠를 가능성이 크다. 그러나 배치 어플리케이션의 프로그래밍에서 추구할 우선적인 가치는 업무의 특성에 따라 다를 것이다. 그것이 성능일 때도 있고, 생산성이나 유지보수성일 때도 있다.  빠른 성능이 절대적으로 중요한 프로그램이 Spring batch의 모듈을 썼을 때 그 기대치가 안 나온다면 Store procedure로 주요부분을 짜고 그것을 Spring batch 내부에서 호출하는 방법도 가능하다.'라고 대답을 했었습니다.

  그 때 위의 기사의 사례들을 알았다면 '이미 Accenture의 많은 고객사에서 사용하고 있는 것으로 보아 기업환경의 실무에서 충분히 사용 가능한 수준이라고 말할 수 있다.'라는 말을 덧붙일수 있었을 건데 아쉽군요.

  우리나라의 SI에서도 적용될만한 곳이 분명 있을 것입니다.


출처: http://benelog.egloos.com/1970645

Trackback 0 Comment 1