레슨: JavaBeans의 개념

Java EE 2008/02/20 13:42 Posted by Sun

JavaBeans™ 아키텍처는 컴포넌트 모델에 기초한 것으로, 이것을 통해 개발자들은 컴포넌트라 불리는 소프트웨어 유닛을 작성할 수 있다. 컴포넌트는 그 자체가 필요한 것을 모두 갖추고 있고 재사용 가능한 소프트웨어 유닛으로 비주얼 애플리케이션 빌더 툴을 사용하면 복합 컴포넌트, 애플릿, 애플리케이션 및 서블릿으로 만들 수 있다. JavaBean 컴포넌트는 bean이라고도 한다.

API 세트는 특정 언어로 컴포넌트 모델을 설명하는 것이다. JavaBeans API 스펙에는 JavaBeans 컴포넌트 아키텍처에 대한 핵심적이고 세부적이며 상세한 설명이 포함되어 있다.

bean은 변경할 수 있고 사용자 정의할 수 있다는 점에서 동적이라고 할 수 있다. 빌더 툴의 디자인 모드에서 bean의 속성 윈도우를 사용하여 bean을 사용자 정의한 후 가시적 조작으로 bean을 저장할 수 있다. 툴 박스에서 bean을 선택하여 폼에 가져다 놓고, 그것의 형태와 동작을 수정하며, 다른 bean과의 상호작용을 정의하고 해당 bean과 다른 bean을 결합하여 애플릿, 애플리케이션 또는 새로운 bean이 되도록 할 수 있다.

다음 리스트는 bean의 주요 개념을 간략하게 기술한 것이다.

  • 빌더 툴은 bean의 특성(예: 속성, 메소드 및 이벤트)을 내부 검사라는 프로세스를 통해 찾아낸다. bean은 내부검사를 다음의 두 가지 방식으로 지원한다.
    • bean의 특성에 이름을 부여할 때 디자인 패턴이라는 특정 규칙을 고수함으로써. Introspector 클래스는 이와 같은 디자인 패턴에 대해 bean을 검사하여 bean의 특성을 찾아낸다. 내부검사자 클래스는 핵심 리플랙션 API에 의존한다. 리플렉션(reflection)에 대한 정보는 튜토리얼 Reflection API 편을 참조한다.
    • 관련이 있는 bean information 클래스를 사용하여 명시적으로 속성, 메소드 및 이벤트 정보를 제공함으로써. bean information 클래스는 BeanInfo 인터페이스를 구현한 것이다. BeanInfo 클래스는 애플리케이션 빌더 툴에서 보여줄 bean의 특성들을 명시적으로 나열한다.
  • 속성은 설계 시 변경할 수 있는 bean의 형태와 동작에 관한 특성이다. 빌더 툴은 bean에 대해 검사하여 그것의 속성을 알아내고 조작할 수 있도록 그러한 속성들을 보여준다.
  • bean은 속성을 보여줌으로써 설계 시 사용자 정의, 즉 커스터마이즈할 수 있다. 커스터마이제이션(Customization)은 다음 두 방식으로 지원된다. 속성 에디터를 사용하거나 좀 더 복잡한 빈 커스터마이저를 사용.
  • bean은 이벤트를 사용하여 다른 bean들과 통신한다. 이벤트를 수신할 bean(수신자 bean)은 이벤트를 발생시킨 bean(발신 bean)과 함께 등록한다. 빌더 툴은 bean을 검사하고 해당 bean이 발생시킬 수 있는(발신) 이벤트와 처리할 수 있는(수신) 이벤트를 결정한다.
  • 지속성으로 인해 bean은 자신의 상태를 저장하고 복구할 수 있다. bean의 속성을 변경한 후에, 사용자는 bean의 상태를 저장하고 후에 그 bean을 속성 변경은 그대로 둔 채 복구할 수 있다. JavaBeans 아키텍처는 지속성을 지원하기 위해 자바 객체 직렬화를 사용한다.
  • bean의 메소드는 자바 메소드와 차이가 없으며 다른 bean이나 스크립트 환경에서 호출할 수도 있다. 기본적으로 모든 공개 메소드는 익스포트될 수 있다.

bean은 기능과 목적에 있어서 다양하다. 프로그래밍을 하면서 다음과 같은 bean 중 일부는 이미 접했을 수도 있다.

  • GUI (graphical user interface)
  • 철자 검사기와 같은 비가시적인 bean
  • 애니메이션 애플릿
  • 스프레드시트 애플리케이션

자세한 정보는 JavaBeans Trail을 참조한다.

이 글의 영문 원본은
http://blogs.sun.com/javafundamentals/e ··· concepts
에서 보실 수 있습니다.

"Java EE" 카테고리의 다른 글

2008/02/20 13:42 2008/02/20 13:42

TRACKBACK :: http://blog.sdnkorea.com/blog/trackback/508

댓글을 달아 주세요

[로그인][오픈아이디란?]

◀ Prev 1  ... 159 160 161 162 163 164 165 166 167  ... 641  Next ▶