웹 애플리케이션 개발자에게 가장 큰 곤욕은 알아야 할 게 너무 많다는 것일 것 입니다. 운영체제는 기본이고 네트웍, 특히 웹 거기에 자바 언어, 서블릿, JSP 등을 숙지해야 하며  DBMS 관리, 세션 및 권한 관리 등 시스템 기반 기술과 더불어 최근에는 HTML과  CSS, Aajx 등도 알아야 어디가서 웹 개발자라고 명함을 내밀 정도가 되었습니다.

이러한 개발자들의 노고를 덜어 주고자 나온 것이 바로 웹 개발 프레임웍(WAF, Web Application Framework)입니다. 그 간 웹 개발을 하며 얻은 노하우( 일반적으로 소프트웨어 패턴이라고 하죠)를 하나의 체계적인 프레임웍으로 만든 것 입니다. 현재 상황이 이러다 보니 개발자들입장에서 거의 대다수가 WAF를 하나 이상 사용하고 있습니다.  그런데 문제는 WAF가 너무 많아 현재 프로젝트나 상황에 적합한 것을 고르기가 만만치 않을 뿐만 아니라 , 새로운  WAF를 배우고 익히는 게 무척 부담스러운 일이기 때문입니다.

짬짬히 WAF 에 대해 정리를 하던 차에 이달 29일에 개발의 성과를 좌우할 웹개발 프레임워크 최신 동향 및 선택 가이드라는 제목으로 발표를 하게 되었습니다. 그런데 정리를 하다 보니 생각보다 참 봐야 할 것이 너무 많아 곤욕스럽습니다. 정리를 하며 발표에는 시간상 자세히는 소개하지 못하지만 중요한 것들을 좀 재미나게 소개해 보겠습니다.

1. 얼마나 많은 WAF가 있을까?

http://en.wikipedia.org/wiki/List_of_web_application_frameworks , WAF 종류
http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks,  WAF 비교

무지하게 많습니다. 위의 자료를 보면 100여 종류가 넘습니다. 저도 듣도 보다 못한 것들이 있는데 더욱 중요한 것은 여러 곳에서 , 여러 이유에서 사용되고 있다는 것 입니다. 그리고 이들 역시 치열한 경쟁을 통해 사라지거나 합쳐지면서 발전하고 있다는 것 입니다. 지금 사용하고 있는 WAF가 몇개월 후에는 사라져 있을지도 모르니까요..

2. 개발자들은 어떤 WAF 를 사용하고 있을까요?

사용자 삽입 이미지

사용자 삽입 이미지

왼쪽의 투표 결과는 개발자를 대상으로 한 조사 결과입니다.

현재 , 템플릿 프레임웍으로는 JSP를 가장 많이 사용하고 있고 이어서 JSF가 사용되고 있습니다.

그리고 클라이언트의 Request를 받고 이를 처리하는 컨트롤러로는  Struts가 가장 각광을 받고 있고 이어서 Spring MVC가 뒤를 따르고 있습니다.(참고로 해당 투표를 진행한 사이트가  Spring입니다^-^)

마지막으로 스프링과 가장 많이 사용되는 오픈소스 서버로
사용자 삽입 이미지
는 톰캣과 Model 층의  서버인 Hibernate였습니다.

3.  WAF 의 선택은 생산성을 선택하는 것이다.

WAF는 웹 개발에 있어 개발자들의 생산성을 높이기 위해 개발된 것이기에 이의 선택은 아주 중요합니다. 

앞으로 몇번에 걸쳐 WAF에 대해 살펴보면서 가장 최선의 방법을 찾아 보도록 하겠습니다(WAF 는 자바 기반의  WAF 를 말합니다).

다음 주제는 WAF의 분류 입니다. 다양한 WAF 를 분류해 보겠습니다.


Posted by 박재현
,