Wicket Features

 

Wicket Features

자바 Swing과 같은 객체지향형 컴포넌트 모델(Swing-like OO Component Model)
Wicket의 페이지와 컴포넌트는 캡슐화와 상속, 이벤트를 기능을 지원하는 Real 자바 객체이다.

* 개발의 용이함(Ease of Development)
Wicket은 자바와 HTML로 되어 있기 때문에 Wicket 어플리케이션을 작성하기 위해 여러분이 알고 있는 자바와 여러분이 좋아하는 HTML 에디터를 그대로 사용할 수 있다.

* 연관의 분리(Separation of Concerns)
Wicket 은 마크업 파일과 자바 코드를 뒤섞지 않고, 마크업 파일에 특별한 문법을 추가하지 않는다. HTMl과 자바 코드는 평행하며 오직 Wicket id만에 의해서만 연관되어 진다. Wicket id는 HTML에서 Attribute로 표현되고 자바 코드에서 컴포넌트 프로퍼티를 말한다. Wicket HTML은 순수한 HTML이고 Wicket 자바 코드는 순수한 자바 코드이기 때문에 프로그래머와 디자이너는 특별한 툴에 의존하지 않고 독립적으로 작업할 수 있다.

* 보안(Secure)
Wicket 은 디폴트로 보안 기능이 지원된다. URL은 중요한 정보를 노출하지 않고 컴포넌트 경로는 세션에 상대적이다. 세션간에 정보를 공유하기 위해서는 명시적인 단계를 필요로 한다. Wicket의 다음 버전에서는 더욱 높은 수준의 보안을 지원하는 웹 사이트를 위해 URL 암호화 기능을 추가할 것이다.

* 투명하고, 확장성있는 클러스터링 지원(Transparent, Scalable Clustering Support)
모든 Wicket 어플리케이션은 추가적인 작업없이 자동적으로 클러스터링에서 작동할 수 있다. 일단 병목구간이 파악되면 Wicket은 페이지 상태 복제를 튜닝하는 것이 가능하다. Wicket의 다음 버전에서는 zero-state 확장성을 위해 클라이언트쪽 모델을 지원할 것이다.

* 투명한 뒤로 가기 버튼의 지원(Transparent Back Button Support)
Wicket 은 페이지의 설정가능한 버젼 관리를 지원한다. 사용자가 폼을 전송하거나 브라우저의 뒤로 가기 버튼으로 사용자가 접근된 페이지에서 링크를 클릭할 때, Wicket은 페이지 객체를 원래 페이지가 렌더링됐을 때의 상태로 되돌리는 것이 가능하다. 이것은 여러분이 매우 적은 노력으로 뒤로 가기 버튼을 지원하는 웹어플리케이션을 작성할 수 있다는 것을 의미한다.

* 재사용가능한 컴포넌트(Reusable Components)
Wicket에서 재사용가능한 컴포넌트는 매우 만들기 쉽다. 여러분은 기존 컴포넌트를 확장할 수 있을뿐 아니라, 또한 재사용가능한 단위로서 컴포넌트의 그룹을 연관시키는 Panel 컴포넌트를 만들 수 있다.

* 단순하고 유연하며 지역화된 폼 검증(Simple, Flexible, Localizable Form Validation)
Wicket에서 폼 validator 클래스를 작성하고 사용하는 것은 간단하다. 또한 검증 에러 메세지의 출력과 내용을 커스터마이징하는 것도 매우 쉽다.

* Typesafe Sessions
Wicket 은 HttpSession을 직접 관리할 필요성을 없앴다. 페이지와 컴포넌트 객체는 세션을 투명하게 저장하고 또한 여러분의 어플리케이션은 타입세이프한 프로퍼티로 만들어진 커스텀 세션 서브 클래스를 만들 수 있다. 세션에 저장된 모든 객체는 자동적으로 클러스터링 복제에 참여한다.

* Factory Customizable
Wicket은 매우 확장성이 높다. 대부분의 기능들은 Factory 클래스나 Factory 메소드로 커스터마이징 가능하다.

* 분리가능한 모델(Detachable Models)
Wicket 의 모델 객체는 메모리 사용과 클러스터 상에서 네트워크 자원 사용에 있어서 매우 가볍다(lightweight). 모델이 사용될 때 DB에서 정보를 읽어와서 메모리에 로딩(attach)되고, 모델이 더 이상 사용되지 않을 때 객체의 크기를 줄일수 있도록 임시적인 정보는 리셋될 수 있다.

* Border Components
Wicket Border 컴포넌트는 페이지 꾸미는 것을 재사용 가능하게 해준다. 이것은 공통적인 구조나 레이아웃을 상속할 때 특히 유용하다.

* 모든 기본 HTML 기능의 지원(Support for All Basic HTML Features)
Wicket은 이미지 태크, 링크, 폼과 여러분이 웹어플리케이션 개발을 위해 지금까지 사용한 다른 모든것들을 지원한다.

* HTML 특성의 프로그래밍적인 조작(Programmatic Manipulation of Attributes)
Wicket 컴포넌트는 Java 코드내에서 어떤 HTML 태크 attribute라도 변경할 수 있다.

* Automatic Conversions
폼이 검증되면, 모델 객체는 Wicket의 컨버터를 이용하여 업데이트될 수 있다. 대부분의 일반적인 컨버젼은 내장되어 있고 새로운 커스텀 컨버터를 작성하는 것도 쉽게 할 수 있다.

* 동적 이미지(Dynamic Images)
Wicket은 이미지의 사용, 공유, 생성을 매우 쉽게 해준다. 간단하게 paint 메소드만 구현함으로써 동적인 이미지를 생성할 수 있다.

* 페이징 기능이 가능한 ListView(Pageable ListView)
Wicket 의 ListView는 매우 강력하다. 여러분은 ListView의 행에 어떤 종류의 컴포넌트(심지어 또 다른 ListView도 사용가능하다.)라도 사용할 수 있다. PageableListView는 대량의 List를 위한 페이징 네비게이션 링크를 지원한다.

* Tree Component
노드들을 이동하고 선택할 수 있는 트리 컴포넌트의 지원

* 지역화(Localization)
HTML 페이지, 이미지 그리고 리소스 문자열은 모두 지역화될 수 있다.

* 예제들
Wicket은 위에서 언급한 기능을 보여주는 수많은 예제를 가지고 있다.

참고
원문 : http://wicket.sourceforge.net/Features.html
번역 : http://tmheo.egloos.com/680493

 

This entry was posted in Java/JSP and tagged , . Bookmark the permalink.

댓글 남기기