chapter 03 : ejb 개요

28

Upload: jenny

Post on 06-Jan-2016

33 views

Category:

Documents


5 download

DESCRIPTION

chapter 03 : EJB 개요. 학습목표. EJB 개요 EJB 종류 EJB 구현 방법 Black Box 모델 EJB Architecture SessionBean 을 이용한 EchoEJB 실습. EJB 개요. 정의 Enterprise JavaBeans. 분산객체기술에 기반한 컴포넌트 모델이다. 특징 Container 에서 실행된다 . Black-Box 모델로 작성된다 . 재사용성이 뛰어나다 . 개발속도가 빠르다 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: chapter 03  : EJB   개요
Page 2: chapter 03  : EJB   개요

chapter 03chapter 03 : :

EJB EJB 개요개요

Page 3: chapter 03  : EJB   개요

학습목표학습목표

EJB EJB 개요개요

EJB EJB 종류종류

EJB EJB 구현 방법구현 방법

Black Box Black Box 모델모델

EJB ArchitectureEJB Architecture

SessionBeanSessionBean 을 이용한 을 이용한 EchoEJB EchoEJB 실습실습

Page 4: chapter 03  : EJB   개요

EJB EJB 개요개요

정의정의Enterprise JavaBeans.Enterprise JavaBeans.

분산객체기술에 기반한 컴포넌트 모델이다분산객체기술에 기반한 컴포넌트 모델이다 . .

특징특징

Container Container 에서 실행된다에서 실행된다 ..

Black-Box Black-Box 모델로 작성된다모델로 작성된다 ..

재사용성이 뛰어나다재사용성이 뛰어나다 ..

개발속도가 빠르다개발속도가 빠르다 ..

Enterprise Enterprise 개발 환경에 적합한 컴포넌트이다개발 환경에 적합한 컴포넌트이다 ..

Page 5: chapter 03  : EJB   개요

EJB EJB 개요개요

장점장점

안정적인 서비스 제공안정적인 서비스 제공 ..

확장성확장성 ( scalability) : ( scalability) : 다양한 규모의 서버에서 운용다양한 규모의 서버에서 운용 ..

보안보안 ( security ) : ( security ) : 인증 및 권한인증 및 권한

분산트랜잭션 처리분산트랜잭션 처리 ..

재사용성 재사용성 ( Reusability )( Reusability )

Black Box Black Box 모델모델클라이언트와의 의존도를 낮춘다클라이언트와의 의존도를 낮춘다 ..

유지보수가 쉽다유지보수가 쉽다 ..

클라이언트는 실제 구현 클래스를 접근할 수 없다클라이언트는 실제 구현 클래스를 접근할 수 없다 ..

인터페이스를 통하여 클라이언트는 접근할 수 있다인터페이스를 통하여 클라이언트는 접근할 수 있다 ..

Page 6: chapter 03  : EJB   개요

EJB EJB 구현구현

구현 내용구현 내용

비즈니스 로직비즈니스 로직

데이터데이터

EJB EJB 종류종류

javax.ejb.SessionBeanjavax.ejb.SessionBean

javax.ejb.EntityBeanjavax.ejb.EntityBean

javax.ejb.MessageDrivenBeanjavax.ejb.MessageDrivenBean

구현 방법구현 방법 2 2 개의 인터페이스개의 인터페이스

1 1 개의 개의 EJB EJB 클래스클래스 ..

Page 7: chapter 03  : EJB   개요

Black Box Black Box 모델모델

Home Interface

Component Interface

BeanClient

클라이언트는 직접 클라이언트는 직접 BeanBean 를 접근할 수 없다를 접근할 수 없다 ..

클라이언트는 인터페이스를 통해서 클라이언트는 인터페이스를 통해서 BeanBean 과 연결한다과 연결한다 ..

클라이언트와 클라이언트와 BeanBean 의 의존이 의 의존이 loose coupling loose coupling 이다이다 ..

EJB EJB 구현구현

Page 8: chapter 03  : EJB   개요

EJB EJB 종류 종류 - SessionBean- SessionBean

용도용도 일시적인 데이터 상태를 표현하기 위한 빈일시적인 데이터 상태를 표현하기 위한 빈 ..

주로 클라이언트의 비즈니스 처리를 담당한다주로 클라이언트의 비즈니스 처리를 담당한다 ..

‘ ‘ 클라이언트의 요청을 대변하는 역할’ 을 갖는다클라이언트의 요청을 대변하는 역할’ 을 갖는다 ..

종류종류

무상태유지 세션빈 무상태유지 세션빈 ( stateless SessionBean )( stateless SessionBean ) 한번 명령어를 요청하면 다음 요청까지의 상태를 유지하지 않는다한번 명령어를 요청하면 다음 요청까지의 상태를 유지하지 않는다 ..

클라이언트와 빈간의 관계는 다대다 관계이다클라이언트와 빈간의 관계는 다대다 관계이다 ..

개발이 용이하고 효율적이다개발이 용이하고 효율적이다 ..

빈의 메모리관리는 빈의 메모리관리는 pooling pooling 기법을 사용한다기법을 사용한다 ..

상태유지 세션빈 상태유지 세션빈 ( stateful SessionBean )( stateful SessionBean ) 수행되는 동안 오직 하나의 클라이언트에 할당되어 대리인 역할을 담당한다수행되는 동안 오직 하나의 클라이언트에 할당되어 대리인 역할을 담당한다 ..

클라이언트와 세션빈 간의 대화상태를 유지한다클라이언트와 세션빈 간의 대화상태를 유지한다 ..

클라이언트와 빈간의 관계는 클라이언트와 빈간의 관계는 1:1 1:1 관계이다관계이다 ..

Page 9: chapter 03  : EJB   개요

EJB EJB 종류 종류 - EntityBean- EntityBean

용도용도 데이터베이스에 영구적으로 저장된 데이터를 표현한다데이터베이스에 영구적으로 저장된 데이터를 표현한다 ..

테이블의 레코드를 객체화한 것이다테이블의 레코드를 객체화한 것이다 ..

종류종류

BMP ( Bean Managed Persistence )BMP ( Bean Managed Persistence ) 빈 제공자가 직접 작성한 빈 제공자가 직접 작성한 SQL SQL 문을 이용하여 문을 이용하여 EntityBeanEntityBean 을 작성한다을 작성한다 ..

CMP ( Container Managed Persistence )CMP ( Container Managed Persistence ) EJB Container EJB Container 에서 작성된 에서 작성된 SQL SQL 문을 이용하여 문을 이용하여 EntityBeanEntityBean 을 작성한다을 작성한다 ..

EJB EJB 종류 종류 - MessageDrivenBean- MessageDrivenBean

용도용도

비동기 통신에 사용되는 빈이다비동기 통신에 사용되는 빈이다 ..

Page 10: chapter 03  : EJB   개요

SessionBean SessionBean 이용한 이용한 EchoEJB EchoEJB 작성작성

Page 11: chapter 03  : EJB   개요

EchoEJB EchoEJB 실습 예제실습 예제

작업 순서작업 순서

탐색기에 작업 디렉토리 생성탐색기에 작업 디렉토리 생성

소스파일 작성 소스파일 작성 ( 2( 2 개의 개의 interface, 1interface, 1 개의 빈 클래스개의 빈 클래스 ))

컴파일 작업컴파일 작업

설정파일 설정파일 ( xml ( xml 파일 파일 ) ) 작성작성

jar jar 파일로 압축파일로 압축

클라이언트 컴파일용 클라이언트 컴파일용 jar jar 파일 작성파일 작성

클라이언트 소스파일 작성클라이언트 소스파일 작성

컴파일컴파일

배치 배치 ( Deployment )( Deployment )

실행실행

Page 12: chapter 03  : EJB   개요

탐색기에 작업 디렉토리 생성탐색기에 작업 디렉토리 생성

작업 디렉토리 생성작업 디렉토리 생성

Page 13: chapter 03  : EJB   개요

탐색기에 작업 디렉토리 생성탐색기에 작업 디렉토리 생성

server\binserver\bin

Page 14: chapter 03  : EJB   개요

탐색기에 작업 디렉토리 생성탐색기에 작업 디렉토리 생성

client\binclient\bin

Page 15: chapter 03  : EJB   개요

소스 파일 작성소스 파일 작성

작성 방법작성 방법

2 2 개의 인터페이스를 작성한다개의 인터페이스를 작성한다 ..

SessionBeanSessionBean 을 구현한 을 구현한 1 1 개의 클래스를 작성한다개의 클래스를 작성한다 .. 인터페이스 작성인터페이스 작성

Home Interface Home Interface javax.ejb.EJBHome javax.ejb.EJBHome 인터페이스를 상속받는다인터페이스를 상속받는다 ..

빈의 생성빈의 생성 // 소멸 작업관련소멸 작업관련 ..

Component InterfaceComponent Interface javax.ejb.EJBObject javax.ejb.EJBObject 인터페이스를 상속받는다인터페이스를 상속받는다 ..

비즈니스 메소드 작업관련비즈니스 메소드 작업관련 ..

빈 클래스 작성빈 클래스 작성

javax.ejb.SessionBean javax.ejb.SessionBean 인터페이스를 구현한다인터페이스를 구현한다 ..

Home Interface Home Interface 선언된 추상 메소드를 구현한다선언된 추상 메소드를 구현한다 ..

Component Interface Component Interface 선언된 추상 메소드를 구현한다선언된 추상 메소드를 구현한다 ..

Page 16: chapter 03  : EJB   개요

<<Home Interface>>

<<EJBHome>>

UserBean

<<SessionBean>>

<<Component Interface>>

<<EJBObject>>

: Bean 의 생성 / 소멸 관련 작업 .

: Bean 의 비즈니스 관련 작업 .

: Home Interface 메소드 구현 . Component Interface 메소드 구현 . SessionBean Interface 메소드 구현 .

소스 파일 작성소스 파일 작성

Page 17: chapter 03  : EJB   개요

소스 파일 작성소스 파일 작성

Page 18: chapter 03  : EJB   개요

컴파일 작업컴파일 작업

Page 19: chapter 03  : EJB   개요

설정파일 작성 설정파일 작성 ( xml ( xml 파일 파일 ))

WebLogic Builder Tool WebLogic Builder Tool 이용이용 ..

Page 20: chapter 03  : EJB   개요

설정파일 작성 설정파일 작성 ( xml ( xml 파일 파일 ))

Page 21: chapter 03  : EJB   개요

설정파일 작성 설정파일 작성 ( xml ( xml 파일 파일 ))

Page 22: chapter 03  : EJB   개요

설정파일 작성 설정파일 작성 ( xml ( xml 파일 파일 ))

Page 23: chapter 03  : EJB   개요

Jar Jar 파일로 압축파일로 압축

Page 24: chapter 03  : EJB   개요

WebLogic WebLogic 서버 실행서버 실행

Page 25: chapter 03  : EJB   개요

실습예제 실습예제 ArchitectureArchitecture

Echo Echo 실습예제 실습예제 ArchitectureArchitecture

EchoHomeEchoHome

JNDI

EJB Container

ClientEchoEJB

Echo

: 생성자 호출 setSessionContext 호출 ejbCreate 호출

Page 26: chapter 03  : EJB   개요

클라이언트 소스파일 작성클라이언트 소스파일 작성

Binding Binding 된 된 EchoHomeEchoHome 를 를 lookup lookup 한다한다 ..

narrow narrow 메소드를 이용하여 메소드를 이용하여 EchoHome EchoHome 객체로 객체로 narrownarrow 캐스팅한다캐스팅한다 ..

EchoHomeEchoHome 에 에 create create 메소드를 요청한다메소드를 요청한다 ..

Echo Echo 에 비즈니스 메소드를 요청한다에 비즈니스 메소드를 요청한다 ..

EchoClient.java EchoClient.java 작성작성

Page 27: chapter 03  : EJB   개요

클라이언트 소스파일 작성클라이언트 소스파일 작성

컴파일 컴파일

실행 실행

Page 28: chapter 03  : EJB   개요

공부한 내용공부한 내용

EJB EJB 개요개요

EJB ArchitectureEJB Architecture

EJB EJB 종류종류