struts로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

struts로 검색한 결과
등록일:2008-03-14 15:27:38
작성자:
제목:Java framework에 대해서


구글  애드센스가  영문에  맞는  광고는  잘  가져오는지  테스트  하기  위해  한글  단어들을  영문으로  수정....

IT  블로그를  살펴보면  struts,  Spring,  Hibernate등으로  대표되는  Open  Source  Java  framework을  사용하여  web  program을  개발하는것에  대해  부정적으로  생각하는  개발자들이  많은것  같다.  사실  단순한  CRUD  web  program을  개발하는데  이런  framework을  사용하는건  오버킬이  맞다.
시스템의  규모가  일정  수준  이상  커지면  framework이  개발,  유지/보수  생산성에  도움이  된다고  말들을  하는데,  체험들을  못해봐서  별로  공감을  하지  못하는듯한  느낌이  든다.

그럼  도대체  얼마나  큰  시스템을  다루는  경우에  프레임웍의  혜택이  느껴질것인가?  사실  나도  명확히  선을  그어  말하기가  어렵다.  내가  만지고  있는  시스템의  경우  프레임웍이  도움이  된다는  정도는  말해줄수  있을뿐이다.

현  재  내가  만지고  있는  시스템은  98년에  첫  버전이  개발되었으니  거의  10년  묵은  시스템이다.  테이블의  갯수는  4자리수이고  전체  class  file의  갯수는  여섯  자리수에  근접한다.  연관되어  있는  엔지니어는  한  50~100명  사이일것  같다.  component  갯수가  50개  정도  될  것  같다.  이런걸  framework  없이  개발자에게  맡겨놓으면    구현이  중구난방이  된다.  이런  규모의  시스템을  일관성있게  구현하기  위해서  framework은  필수  불가결하다.

그럼  어떤  framework을  쓰는가?  struts,  Spring,  Hibernate  하나도  안쓴다.  모든  framework은  내부에서  개발된  것이다.  Gavin  King이  Hibernate  프로젝트  시작도  하기전에  개발  완료된  OR  engine을  쓰고,  JSP  1.0이  구현이  되기도  전에  JSF나  Tapestry스타일의  component  based  UI  framework을  개발해서  썼다.  사실  component  based  UI  framework은  90년대  중반에  벌써  Nextstep이  WebObject란걸  만들어  썼는데,  이거  만들었던  사람이  와서  만든것이다.  Apple  에서  web  program램  만드는  사람은  아마  알  것이다.

이  framework를  써서  productivity가  어떻게  높아지는가  알아보자.
상품  catalog를  관리하기  위해  상품의  이름과  가격등을  입,출력,검색하는  UI가  필요하다.
상품  검색  UI는  주문을  입력하는  화면에서도  필요하고,  송장이나  지불을  처리하는  화면에서도  필요하고,  웹  사용자  카탈로그  검색  화면에도  필요하다.
이제  이  상품  class에  새로운  필드가  하나  추가되어야  한다고  예를  들어보자.
이  framework를  사용하면  상품  metadata  file에  새로운  field하나  넣는걸로  일이  끝난다.
Database  table  column을  추가할  필요도  없고,  위에  나열한  screen들을  다  수정할  필요도  없다.
Metadata는  XML  text  file이므로  일반  version  control  system을  통해  언제  뭐가  바뀌었는지  알  수  있고  다시  이전  version으로  돌아갈수도  있다.

System을  serious하게  개발  유지하는  회사는  Open  source  framework을  가져와서  productivity가  높아지게  자기들이  직접  개선을  하거나  아니면  돈  주고  사거나  알아서  할  일이다.

Java  web  framework이  너무  많이  나온다고  불평들이  많은데  그건  당연한  거다.  주로  개발자  한명이  자기가  web  application  시스템  만들어  보니까  틀을  이렇게  가져가면  편리하고  생산성도  높아지겠더라고  생각해서  쉬는  시간에  열심히  만들어서  그거  가지고  project  들어가서  consulting도  하고  돈도  좀  벌어보겠다고  내놓는  것이다.
나오는  framework마다  배우느라고  정신없다고  불평할게  아니라,  본인이  web  application을  만들어보니까  이런식으로  틀을  만들어야  겠다는  아이디어를  가져야되고,  다른  넘이  이미  나하고  비슷한  생각을  가지고  만든게  있으면  그거  가져다가  개선하면  되는것이다.

그런  역량이  안되면  유명한거  찍어서  source  code  보고  열심히  배우는  수밖에  없다.

만  약  framework이  필요하지  않는  수준의  시스템이어서  framework을  사용하는게  시간도  더  걸리고  유지보수도  더  어렵다고  가정하더라도,  그걸  왜  파견나간  개발자가  걱정하나?  어차피  돈  받고  일하는데,  그  기간동안  하나라도  더  배우는  기회로  활용하면  되는것이다.