2007/11/11 - [Hot Issues] - Web App Framework 전쟁이야기(1)
2007/11/12 - [Hot Issues] - Web App Framework 전쟁이야기(2)
2007/11/12 - [Hot Issues] - Web App Framework 전쟁이야기(3)
2007/11/17 - [Hot Issues] - Web App Framework 전쟁이야기(4)

새롭게 원격 블러깅 툴을 ecto라는 이쁜 툴로 바꿨는데 쩝..아직 익숙하지 않아서인지  작성이 완료된 마지막 글을 모두 날려 버렸습니다. 우울. 하여간 빨리 마무리를 하고 연말 준비를 해야 겠습니다. 다음 주에는 해외 출장도 있고..돌아오면 발표도 있고..무지하게 바쁜 한주가 될 것 같습니다 ^-^ .

마지막으로 이전 글에서의 정리한 내용들을 기반으로 하여 WAF를 분류하고 마지막으로 저만의 결론을 좀 정리해 보겠습니다.

1.WAF 분류

현재 제공되고 있는 WAF의 수는 무지하게 많습니다. 이 모든 것을 속속들이 살펴보고 이의 장.단점만을 분석하는 것도 족히 논문 주제꺼리라고 생각합니다. 어떻게 분류를 해 볼까 고민을 하다 크기 2가지로 분류를 해보기로 했습니다 - MVC 모델, 요청 처리 방식.

1.1 MVC 모델에 따른 분류

- M(model only):JavaBean/JDO(Java Database Object)/Hibernate/iBatis/...
개발자에게  관계형 DB를 손쉽게 다둘 수 있는 모델 기능을 제공합니다. 가장 범용적으로는 자바 빈에서 부터 JDO, 그리고 국내 개발자들이 많이 이용하는 자카르타 Hibernate와 iBATIS가 있습니다. 제 주변에서는  iBATIS를 선호하는 개발자가 많습니다. 아마 SQL에 익숙하며 DBA를 통해 Query 최적화 등이 가능하기 때문인 것 같습니다.

- V(View only-Template engine) : Velocity/FreeMarker/WebMacro/JSP/...
템플릿 엔진이라고도 합니다. 처리된 결과의 뷰를 작성하고 사용자의 요청된 폼을 분석하고 레이아웃 등을 관리하며 심지어 여러 다양한 언어의 뷰를 만들어 주기도 합니다. 가장 일반적으로는 JSP를 많이 사용하지만 Velocity가 다양한 프레임웍과 통합되어 많이 이용됩니다.

- C(Controller Only-Front controller) :Struts(ActionServlet)/...
컨트롤러 개발시 주로 이용되어 페이지 컨트롤로나 프론트 컨트롤러 등 MVC  호출 패턴을 손쉽게 구현하게 해줍니다. 현재  Structs가 애용되고 있습니다. 개발자는  Struts  의 ActionServlet을 구현하여 프론트 컨트롤러를 손쉽게 구현할 수 있습니다.

- MVC
 MVC 모델이 경우 컨트롤러가 처리된 결과를 뷰에게 전달하는 푸쉬 모델과 반대로 뷰에서 사용자의 요청 처리를 위해 필요한 데이타를 복수 개의 컨트롤러에게 요청하여 받아처리는 풀 모델로 구분할 수 있습니다. 다음은 이에 따른 분류입니다.

 Push MVC : Struts,Spring MVC,...
 Pull MVC : Tapestry,JBossSeam,Webwork,Struts2(Struts+WebWork)

- MVC+Component : JSF,Shale(+Spring),...
MVC 기반에 하에 컴포넌트 모델을 지원하는  WAF 으로 JSF와 구현체로 자카르타 Shale 등이 있습니다.


1.2 요청 처리 방식에 따른 분류

사용자의 요청을 처리하는 방법에 따라 WAF 을 분류할 수 있다.

- Request-based Framework
먼저 요청 기반 프레임웍은 컨트롤러가 액션을 이용하여 사용자의 요청을 처리합니다. 대부분의 WAF가 이러한 프레임웍을 제공하며 대표적으로는  Struts , Webwork(Struts2) , Beehive , Stripes가 이에 해당됩니다.

- Component-based Framework
컨트롤러와 액션을 통해 사용자의 요청을 처리하는 방법이 아니라 컴포넌트와 이에 대한 액션에 기반하여 처리합니다. JSF , Tepestry , Wicket이 이에 해당됩니다.

- Hybrid ::Request&Component Framework
상기 2개의 모델을 함께  제공합니다.  Spring , RIFE 등이 이에 해당됩니다.

2. 주요 WAF의 개반 패턴 정리
다음은 주요한   WAF의 개발 패턴에 따른 주요한 내용을 간략히 정리해 보았습니다.

사용자 삽입 이미지


3. 선택의 중요성
-신중이  WAF를 선택해야 합니다.
-왜냐하면 , 한번 선택된  WAF는 변경하기 어렵기 때문입니다.
-주변에는 아직도 Editor로 개발을 하는 개발자가 많지만......
-아직도 WAF를 사용하지 않는 것은 어리석은 것입니다.
-또한 선택한 WAF를 제대로 사용해야 합니다.

제가 정리를 하면서 추천하고 픈 의견은 다음과 같습니다.
현재 국내 많은 자바 개발자 분들께서는 주로 Struts를 많이 사용하십니다.  그렇다면 지금부터 Struts2로 전환을 추천 합니다. 그런데 이 과정은 기존 Struts를 업그레이드하기 보다는 기존의 컨트롤러 프레임웍 위주의 Struts를 웹 개발의 전체 과정을 지원하는 새로운 플랫폼으로 전환하는 것이라고 봐야 할 것 입니다. 그리고 새롭게 프레임웍 채택을 고민하신다면  JSF표준을 추천하고 싶습니다. 물론 Struts2/Spring같은 멋진 프레임웍도 있지만 표준이라는 점과 컨포넌트 기반의 웹 개발, 더우기 visual IDE와 함께 사용할 경우 높은 생산성을 얻을 수 있습니다. 그리고 개발하기도 기존의 프레임웍보다 쉽습니다. 특히,  Struts2가 컴포넌트 기반의 태그를 지원하기 때문에 종국에는 JSF표준을 수용하리라 예상됩니다.  가령, 현재 진행되고 있는 Shale 등을 통합하면 비로서 표준화된 WAF로 우뚝 설 수도 있겠죠^-^. 그리고 웹 개발에 있어 폼 처리는 아주 중요한 부분입니다. 따라서 XForm을 주의  깊게 보아야 합니다. 현재 표준화가 되었기에 조만간 널리 사용될 것 입니다.  XForm에 대해서는 올 5월에 올린 글들에서 자세히 설명했으니 참조하기 바랍니다.

마치면서....
처음 작업을 할 때 검토할 자료들이 너무 많아 무척 애를 먹었습니다.  그러나 저로서도 정리를 하면서 많은 것을 배울 수 있었던 좋은 기회였던 것 같습니다. 모쪼록  제가 정리한 글중에서 잘못된 것이 있을 수 있습니다. 특히, 제가 하드코딩을 하며 모든 기능과 패턴을 검증하지 않았기에 더욱 그러할 수 있습니다. 이런 부분은 여러분께서 의견을 주셔서 보다 정확한 정보들이 공유되었으면 합니다.

개발자 여러분! 행복하세요.

Posted by 박재현
,

시간이 흐르고 나이가 들어가며 변하는 게 있는 것 같습니다. 그중에 가장 큰 내부의 변화가 동적 시스템에서 정적 시스템으로 전환되는 것 같습니다. 과거에는 뛰고 움직이고 땀흘리는 것을 좋아하고 , 동물이나 아이를 좋아했었습니다. 그런데 현재에는 그 반대가 되어 버렸습니다.  동물보다는 묵묵히 자리를 지키는 꽃과 식물이 좋고 , 격한 운동보다는 정적인 운동이 좋아지는 거. 모두 세월 탓 아닌가 싶습니다.

최근 들어 사진에 대해 무척 많은 관심이 가는 것도 그러한 변화 중 하나인 것 같습니다^-^. 마침내 그 변화의 증후로 카메라를 하나 구입했습니다. 사진에 대해 공부한 적이 없었기 때문에 욕심을 내서 고가의  DSLR  카메라를 구매하는 것은 부담이 갔지만 그렇다고 일반 디카를 사서 맘에 드는 사진을 찍는 것도..

그래서 고민 끝에 , 우연히 아래의 카메라를 구입했습니다. 캐논 파워샸 G9이란 넘인데 하이엔드 제품으로 DSLR에 준하는 기능을 낸다고 합니다. - 제품 설명서

사용자 삽입 이미지

이제 열심히 공부를 하면서 멋진 사진을 좀 찍어 볼까 합니다 ^-^. 그런데 공부할 께 너무 많네요. 오늘 배운 용어 하나.. DSLR(Digital Single Lens Reflex)

DSLR-디지털 일안 반사식 사진기. 쉽게 말해 카메라에 렌즈가 하나뿐인 사진기로, 그 렌즈를 통해 사물도 보고, 동시에 사진을 찍는 센서에 빛을 보내는 방식을 말한다. 한 가지 몸통에 다양한 렌즈를 탈·부착해 쓸 수 있다. 콤팩트 디카의 경우에는 사물을 보는 데 렌즈 하나, 사진을 찍는 데 렌즈 하나를 써서 총 두 개의 렌즈를 쓰는 이안식(二眼式)을 사용한다. 이 경우 화면을 보면서 사진을 찍을 수 있는 장점이 있지만, 사물이 화면에 나오는 대로 정확히 찍히지 않는다는 단점이 있다.

'Log > PhotoLog' 카테고리의 다른 글

창의적인 재개발  (2) 2008.10.26
즐거운 성탄절 되세요!  (0) 2007.12.23
첫번째 사진..  (0) 2007.12.01

Posted by 박재현
,

주말에 고려대학교에 갔었습니다. 노트북 열람실에서 오후 내내 이모저모 책도 보고 자료도 정리하다 우연히 고대신문을 보게되었습니다. 고대신문에 난 재미난 기사가 눈에 띠네요. 역사상 인물 가상 재판... 보고 많이 웃었습니다.

연산군 -특수폭정 및 유부녀 간음죄

사용자 삽입 이미지

변학도 -부정축재 및 엽색죄

장희빈 -궁중 소란 및 독부죄

스탈린 -집단 학살 및 전쟁 도발죄

이등박문 -한국침략 및 동양 평화 문란죄

임꺽정 -향군 소집 불응죄 및 납세 의무 얼렁뚱당죄

조조 -권모술수 남발죄 및 게릴라 전법 특허미필죄

미니스커트 -형이하학적 천정부지죄 및 제3경제 시비죄

컬럼버스 -대서양횡단 밀입국죄 및 흑백분규 장소제공죄

브루투스 -어부지리 혁명가죄 및 하극상의 풍조 획책죄

허생 -판돈 몽땅긁어 땅장사한 죄 및 근로자를 종놈처럼, 공자돈을 내돈처럼 챙긴죄

어우동 -공공연한 프리섹스로 전 총각의 비 총각화에 앞장선죄 , 국민적 합의없는 대중문화 농락죄 및 애매를 위한 모호로 뒷모습에 대한 호기심을 가중시켜 신문독자를 혼란케한 죄

섰다 -부도난 배짱남발 후 양심 불법폐기 처분죄, 패가망신 방조죄 및 한큐 심리 선동 고무죄

람보 -사탕발림식 약소국 우롱죄 및 종속 예비 음모죄, 아편성 람보 문화 전도 후 전통문화 전복 기도죄, 불건적 외국 영화 가중처벌죄

앞으로 또 아래의 사람들이 어떻게 재판될까요? 생각나는 데로 의견들 좀.. ㅎㅎㅎ

노무헐 - 천상천하 유아독존, 남의 말은 무조건 틀리다고 우긴 죄.
386 운동권 - 이론과 실천의 차이를 완전히 무시하고 지들 맘대로 사회 발전을 지연시킨 죄
이명팍 - 무조건 불리하면 모르쇠로 일관한 죄
빌게이트-모든 컴퓨터를 하나의 운영체제로 통일시켜 차별성을 없애려 한 죄
대기업SI-하청 기업을 괴롭히고 착취하여 국내 소프트웨어 개발의 토대를 없앤 죄

이상 죠크 였습니다.


Posted by 박재현
,

항상 발표를 한다는 것은 어렵다고 생각합니다. 그러나 발표를 하는 모든 과정을 통해서 너무나도 배우는 것이 많은 것도 사실입니다. 다른 사람을 이해시키지 못한다면 나도 정확히 알고 있는 것이 아니라고 생각하기 때문입니다.

근래 들어 , 웹 애플리케이션 프레임웍들이 너무 많아 이들을 정확히 알고 사용하는 것이 아주 중요해 졌습니다. 사실 , 바쁜 일정에 짬짬히 자료를 보다 웹 월드 컨퍼런스 에 발표를 요청받고 이 때가 기회다 해서 자료를 정리했습니다. 아뿔사 많다 많다 해도 정말 많은 WAF이 있고 이들 모두 특장점이 있기에 무척 당혹스러웠습니다.

이런 과정에서 준비와 발표를 하는 저도, 발표를 듣는 분들도 좋은 기회가 되었으면 합니다.

다음은 11월 29일 월 월드 컨퍼런스에서 발표할 발표 자료입니다.


다음은 발표를 준비하며 검토한 자료들 입니다. 참고하세요.


Posted by 박재현
,