웹 애플리케이션 개발자에게 가장 큰 곤욕은 알아야 할 게 너무 많다는 것일 것 입니다. 운영체제는 기본이고 네트웍, 특히 웹 거기에 자바 언어, 서블릿, 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 박재현

댓글을 달아 주세요

  1. Favicon of http://www.likejazz.com/ BlogIcon likejazz 2007.11.12 10:56  댓글주소  수정/삭제  댓글쓰기

    좋은 자료입니다만 Java 커뮤니티에서 조사한 Java에 한정된 내용같네요. Web App Framework 전반에 대해 얘기하고자 한다면 모든 언어와 모든 프레임워크를 대상으로 해야 하지 않을까요. Java는 그 중 일부일뿐이니까요. 그렇지 않다면 이 글의 제목을 Java Web App Framework 전쟁이야기로 수정하는게 맞을것 같습니다.

    • Favicon of https://wisefree.tistory.com BlogIcon 박재현 2007.11.12 14:43 신고  댓글주소  수정/삭제

      맞습니다. 주로 자바 프레임웍을 중심에 놓고 이야기 할 것입니다. 다른 언어들의 프레임웍도 여러가지가 있습니다만 자바 프레임웍이 가장 많이 사용되기 때문입니다. 그러나 프레임웍이라는 게 언어 의존적인 것보다는 아키텍쳐와 패턴 그리고 프레임웍 의존적인 것이기에 큰 골격을 이해하면 언어에 상관없이 도움이 될 것입니다.

  2. 이문기 2007.12.04 23:25  댓글주소  수정/삭제  댓글쓰기

    안녕하세요?
    무료로 제공되는 ASP.NET 기반의 UCC 구축 솔루션, VAITE 솔루션에 대한 정보입니다.
    제가 최근에 www.ailogix.com 사이트에서 다운로드 받아서 설치할려고 했는데, 잘 안되네요.
    근데 최근에 주변에 물어 보니깐, 대선 UCC 사이트 불똥닷컴, www.blddong.com에 적용되었다고 하네요.
    가서 한번 보시고, 만약 이 솔루션으로 UCC 사이트를 구축 하실 수 있다면 정보 공유 좀 부탁 드립니다.
    주변에 들은 애기로는 일반 컴퓨터 20대 정도를 가지고 구축한 것인데, 고화질 동영상을 부담 없이 제공하고 있다고 합니다.
    개인 컴퓨터와 광랜을 가지고 구축해서 파일 호스팅 비용에 대한 부담이 전혀 없다고 합니다.
    웹 프로그램에 대한 많은 지식을 가지신 것 같아서 정보를 공유합니다.
    이 정보가 귀하께 도움이 되셨으면 합니다.
    좋은 하루되십시오.
    minipok@nate.com
    이문기