본문 바로가기

.주제별/Java

Java) Java Beans와 EJB

우선 JavaBeans에 대해 알아보자.

(JavaBeans와 EJB는 이름만 유사할 뿐, 직접적인 관계는 없다)


## Java Beans란...

1. 정의 by Sun 사

    자바 빈이란 개발자 도구에서 비주얼하게 수행되어질 수 있는 재사용 가능한 Software Component다.

    또한 JavaBeans 컴포넌트들을 Beans이라고 한다.

    참고 : 나비이야기님의 자바빈즈 설명
             (정의니 어쩌고 하다가, 그냥 코드에서 이런게 자바빈즈다! 하니깐 이해가 잘감..;;)

 
2. 자바 빈과 클래스 라이브러리의 차이점

    자바언어로 모든 소프트웨어 모듈들을 자바빈으로 만들 필요는 없다.

    자바빈은 비주얼하게 다룰 수 있으며, 특정 목적을 위해 기능이나 데이터를 비주얼하게 변경할 수 있는

    소프트웨어 컴포넌트에 적당하다.


    반면, 클래스는 비주얼하게 다룰 수 없고, 프로그램 소스상에서 특정 기능을 구현하기 위해 사용되는

    소프트웨어 모듈에 적당하다.


n. 참고 목록

  - 자바스터디 '김형일'님의 Java Beans - Java Component Architecture

  - Sun의 JavaBeans Specification 1.01



## EJB란..

1. 정의

EJB는 Client-Server 모델의 Server부분에서 운영되는 자바 프로그램 Component를 설정하기 위한 아키텍처이다. by [텀즈]


EJB 아키텍처는 객체지향 분산 Enterprise 어플리케이션의 개발 및 분산 배치를 위한 컴포넌트 아키텍처이다. by [Sun Microsystems]

2. 설명

    - EJB 아키텍쳐를 이용해 만들어진 Application은 확장성이 있거나 / 트랜잭션을 보장하며,

    다수 사용자 환경에서도 안전한 특징을 갖는다. 이들 EJB Application은 한 번 작성되면 Enterprise JavaBeans

    스펙을 지원하는 어떤 서버 플랫폼에서도 배치되고 운영될 수 있다.


    - EJB는 제품이 아니라 스펙이다.

     (스펙은 여기 참조)

   

    - EJB 컨테이너 모델 개요(JStorm 의 Enterprise JavaBeans 참고)

   


    - EJB 와 JavaBeans

  JavaBeans EJB
만든 곳 Sun Sun
목적 비주얼 개발환경에서 사용되는
재사용 가능한 컴포넌트 모델
미션 크리티컬한 서버쪽 비즈니스
어플리케이션에서 사용될 수 있는
분산객체 컴포넌트 모델
주로 동작하는 위치 클라이언트 > 서버 오직 서버
개발 난이도 상대적으로 쉬움 상대적으로 어려움
트랜잭션/페일오버
,동시동작 보장
불가능 가능
패키지 java.bean.* javax.ejb.*
동작 프로세스 Intra-process Inter-process