요새 새로운 프로젝트를 시작하느라 프로젝트 셋업을 준비중이다. 새롭게 시작하는 만큼 더 나은 시스템과 프레임워크 그리고 기술을 이용하여 이제껏 팀원들이 느껴온 여러 문제점을 해결하고 싶었다.
아무튼 코딩 스타일이나 주석 스타일부터 네이밍룰 등등을 정하면서 그 외 프로젝트 셋업에 필요한 게 무엇이 있을까 이곳 저곳을 둘러보았다.
먼저 이번 프로젝트는 EJB기반하에서 개발될 예정이기 때문에 이전 EJB기반 프로젝트에서 겪어야 했던 잦은 Application Server Deploy에 의한 번거로움과 시간 낭비를 줄이고자 Mock Object기반 테스트 툴을 알아보았다.
가장 쓸만한 것은 MockEjb라는 툴로써 DB 테스트나 세션빈 테스트까지 지원이 되지만 애석하게도 Entity Bean이 아직까지 제대로 지원되지 않았다. 때문에 반쪽짜리 테스트를 하느라 MockEJB를 믿고 쓰느니 안쓰는 것이 낫겠다는 결론을 내었다. 대신에 Mock Object기반 테스트는 아니고 Container-In 방식의 테스트 툴인 Cactus를 아쉬운 대로(?) 도입하여 사용할까 생각중이다.
애초에 기대했던 deploy에 의한 부하를 막는 데에는 도움이 안되겠지만 보다 확실한 테스트가 가능할 것이므로 이것저것 테스트하느라 걸리는 시간을 조금은 줄일 수 있을 것이다. 자동화된 빌드를 위한 툴도 찾아보았다. 막강 Ant를 사용하였으나 요 근래 Maven이라는 빌드툴이 뜨길 래 자세하게 살펴보았다.
Maven은 이를테면 Ant를 개량하여 보다 쉽게 자동화된 빌드를 가능하게 하면서 고수준의 자동화된 플러그인을제공하는 툴이다. 여러가지 기능을 제공하는 데 이를테면 라이브러리 종속성을 관리하여 버젼별 빌드가 가능하고 주로 많이 쓰이는 Ant에서의 Task들이 Maven에서는 Goal이라는 형태로 특별한 수작업없이 바로 사용이 가능하다(컴파일 패키지 문서화 clean 등등등). 또한 자동화된 단위 테스트 기능도 훌륭하고 프로젝트의 현 상태를 바로 바로 비주얼하게 확인할 수 있는 프로젝트 사이트 자동 생성 기능도 매우 훌륭하다 하겠다. 그 많은 장점에도 불구하고 아직까지는 조금 불안한 모습을 보이는 것이 사실이며 실제로 이번 프로젝트의 경우 이클립스를 기반으로 개발되는데 MavenIde라는 좋은 툴이 있기는 하지만 아직 걸음마 수준이어서 이 것 믿고 지금 당장 프로젝트를 진행하기는 어려울 것 같다. 결국 Ant의 수많은 확장 Task들을 충분히 활용해야겠다고 결정하였다.
가장 결정하기 어려운 문제 중의 하나는 웹 프레임워크이다. 비록 몇몇 프로젝트에서 Struts가 요긴하게 사용되고 있기는 하나 저번 프로젝트에서도 일부분에 이 Struts를 실험적으로 구현해봤지만 아무리봐도 정이 들지 않는 프레임워크이고 팀원들도 그다지 좋아하지 않는다. 우째 그리 복잡한 건지... 그래서 보다 직관적이면서도 Layering이 잘되는 웹프레임워크는 없을지 찾아보고 있으나 딱히 입맛에 맞는 것이 보이질 않는다. 아직 Cocoon 쪽은 손대보질 않았는데 괜찮으려는지.... 이 블로그를 읽으시는 분들 중에 추천할만한 웹프레임워크가 있으면 제발 Comment 부탁합니다....
아무튼 코딩 스타일이나 주석 스타일부터 네이밍룰 등등을 정하면서 그 외 프로젝트 셋업에 필요한 게 무엇이 있을까 이곳 저곳을 둘러보았다.
먼저 이번 프로젝트는 EJB기반하에서 개발될 예정이기 때문에 이전 EJB기반 프로젝트에서 겪어야 했던 잦은 Application Server Deploy에 의한 번거로움과 시간 낭비를 줄이고자 Mock Object기반 테스트 툴을 알아보았다.
가장 쓸만한 것은 MockEjb라는 툴로써 DB 테스트나 세션빈 테스트까지 지원이 되지만 애석하게도 Entity Bean이 아직까지 제대로 지원되지 않았다. 때문에 반쪽짜리 테스트를 하느라 MockEJB를 믿고 쓰느니 안쓰는 것이 낫겠다는 결론을 내었다. 대신에 Mock Object기반 테스트는 아니고 Container-In 방식의 테스트 툴인 Cactus를 아쉬운 대로(?) 도입하여 사용할까 생각중이다.
애초에 기대했던 deploy에 의한 부하를 막는 데에는 도움이 안되겠지만 보다 확실한 테스트가 가능할 것이므로 이것저것 테스트하느라 걸리는 시간을 조금은 줄일 수 있을 것이다. 자동화된 빌드를 위한 툴도 찾아보았다. 막강 Ant를 사용하였으나 요 근래 Maven이라는 빌드툴이 뜨길 래 자세하게 살펴보았다.
Maven은 이를테면 Ant를 개량하여 보다 쉽게 자동화된 빌드를 가능하게 하면서 고수준의 자동화된 플러그인을제공하는 툴이다. 여러가지 기능을 제공하는 데 이를테면 라이브러리 종속성을 관리하여 버젼별 빌드가 가능하고 주로 많이 쓰이는 Ant에서의 Task들이 Maven에서는 Goal이라는 형태로 특별한 수작업없이 바로 사용이 가능하다(컴파일 패키지 문서화 clean 등등등). 또한 자동화된 단위 테스트 기능도 훌륭하고 프로젝트의 현 상태를 바로 바로 비주얼하게 확인할 수 있는 프로젝트 사이트 자동 생성 기능도 매우 훌륭하다 하겠다. 그 많은 장점에도 불구하고 아직까지는 조금 불안한 모습을 보이는 것이 사실이며 실제로 이번 프로젝트의 경우 이클립스를 기반으로 개발되는데 MavenIde라는 좋은 툴이 있기는 하지만 아직 걸음마 수준이어서 이 것 믿고 지금 당장 프로젝트를 진행하기는 어려울 것 같다. 결국 Ant의 수많은 확장 Task들을 충분히 활용해야겠다고 결정하였다.
가장 결정하기 어려운 문제 중의 하나는 웹 프레임워크이다. 비록 몇몇 프로젝트에서 Struts가 요긴하게 사용되고 있기는 하나 저번 프로젝트에서도 일부분에 이 Struts를 실험적으로 구현해봤지만 아무리봐도 정이 들지 않는 프레임워크이고 팀원들도 그다지 좋아하지 않는다. 우째 그리 복잡한 건지... 그래서 보다 직관적이면서도 Layering이 잘되는 웹프레임워크는 없을지 찾아보고 있으나 딱히 입맛에 맞는 것이 보이질 않는다. 아직 Cocoon 쪽은 손대보질 않았는데 괜찮으려는지.... 이 블로그를 읽으시는 분들 중에 추천할만한 웹프레임워크가 있으면 제발 Comment 부탁합니다....
공유하기 버튼
|
|



최근 덧글