메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

웹 개발자들에게 JSF가 필요한 이유

한빛미디어

|

2003-10-10

|

by HANBIT

10,884

저자: 『Jakarta Struts Pocket Reference』의 저자 척 카바네스(Chuck Cavaness), 역 이상화

JCP(Java Community Process)를 통해 생성되는 JSR(Java Specification Requests)들 중에서 요즘 특히 하나의 이슈에 대해 많은 기사들이 쏟아져 나오고 있다. JSR 127이 바로 그것으로 자바언어의 약속이었던 Write Once, Run Anywhere를 가능하게 만드는 JavaServer Faces(이하 JSF)라는 새로운 기술을 설명하고 있다.

자바 웹 애플리케이션을 몇 년 동안 개발해온 사람이라면 애플리케이션을 배치(deploy)하고 개발하는데 있어서 이러한 기술이 얼마나 편리하고 도움이 되는지를 알 수 있다. 서블릿으로 출발하여 이후 JSP가 소개되었고, 이러한 두 기술을 서로 잘 활용하는 방법인 모델1과 모델2에 대한 논의가 시작되었다. 그 결과 현재 상업적, 혹은 오픈 프로젝트 모두 이러한 기술의 기능과 외형을 형성해가고 있는 추세이다. 스트러츠와 같은 프레임워크 및 기타 다른 프레임워크가 진행중이기 때문이다.

논쟁의 여지가 있지만 애플리케이션 작성은 점점 쉬워지고 있다. 그러나 초급 프로그래머에게는 여전히 혼란스럽고 귀찮은 존재로 남아 있을 것이다. 무엇보다도 모델로부터 UI의 분리가 완벽하지 않기 때문이다. 여전히 UI 디자이너에게 프로그램 지식이 요구되고 있으며 역할 구분이 불분명하다. 물론 JSP 태그 같은 컴포넌트가 역할에 초점을 맞추게는 해주지만 아직 부족한 것이 사실이다. 심지어 JSTL(Java Standard Tag Library)이나 JSP 수식 표현 언어와 같은 새로운 기술을 알고있다 하더라도 특정 클라이언트 또는 채널에 적합한 UI를 작성해야 한다. 무선 장치와 같은 클라이언트를 어떻게 지원해야 하는가? 많은 스트러츠 애플케이션이 마크업 언어를 HTML으로 가정한 JSP로 만들어지고 있다. 아직까지는 여러 개의 클라이언트나 채널을 지원하는 산업 전반적인 표준은 없다.


Jakarta Struts Pocket Reference

참고 도서

Jakarta Struts Pocket Reference
Chuck Cavaness, Brian Keeton




또 다른 한계는 이벤트 처리 능력의 부족이다. MVC 모델에서 View는 처리 가능한 이벤트를 발생시킬 수 있다. 예를 들어 UI 컴포넌트의 값이 변경 되었을 때 모델은 갱신되어야 한다. 어떻게 View가 모델에게 변경 상황을 알릴 수 있을까? 이런 모든 기능이 리치 클라이언트에서는 가능하다. 그렇지만 애플리케이션이 웹 브라우져 상에서 작동한다면 이러한 기능을 포기 해야 할 것인가?

JavaServer Faces는 이러한 문제들을 비롯하여 여기서 언급되지않은 다양한 문제들을 해결하기 위해 개발되었다. JSF는 UI를 클라이언트로 투영하기 위한 구조이며 특정한 클라이언트를 위한 UI를 표현하기 위해 서로 다른 표현 도구를 활용할 수 있게끔 한다. 컴포넌트의 상태와 그 값들은 서버에서 유지되며 UI 컴포넌트들은 서버에 의해 처리되는 이벤트를 발생 시킬 수 있다. JSF는 또한 데이터 변환, 검증, 지역화 같은 기능을 정의하고있다. JSF는 자바 웹 개발자에게 밝은 미래(현재 보다는 더욱더 많은 지원이 존재하는)를 약속한다. 만약 JSF에 관해 잘 모른다면 지금이 기회이다. 현재 크레이그 맥클라나한(Craig McClanahan)에 의해 스트러츠에 추가된 Struts/JSF 라이브러리가 존재한다.

두 번째 공개 초안 버전이 발표되었고 다음주소에서 확인할 수 있다. java.sun.com/j2ee/javaserverfaces

또한 Java Web Service Developer Pack 1.2(http://java.sun.com/webservices/webservicespack.html)에 포함된 JSF의 최근 버전을 다운 받을 수도 있다.

다음 주소에서는 온라인 튜토리얼을 제공한다.
java.sun.com/j2ee/javaserverfaces/docs/tutorial.html

척 카바네스는 조지아 공과대학(Georgia Tech)에서 컴퓨터 과학과 컴퓨터공학 학위를 받고 자바기반 건강관리, 금융, B2B 분야에서 경력을 쌓았다. 또한 『Programming Jakarta Struts』와 『Jakarta Struts Pocket Reference』의 저자이기도 하다.
TAG :
댓글 입력
자료실

최근 본 상품0