1 / 28

chapter 03 : EJB 개요

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

jenny
Download Presentation

chapter 03 : EJB 개요

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. chapter 03 : EJB 개요

  2. 학습목표 • EJB 개요 • EJB 종류 • EJB 구현 방법 • Black Box 모델 • EJB Architecture • SessionBean을 이용한 EchoEJB 실습

  3. EJB 개요 • 정의 • Enterprise JavaBeans. • 분산객체기술에 기반한 컴포넌트 모델이다. • 특징 • Container 에서 실행된다. • Black-Box 모델로 작성된다. • 재사용성이 뛰어나다. • 개발속도가 빠르다. • Enterprise 개발 환경에 적합한 컴포넌트이다.

  4. EJB 개요 • 장점 • 안정적인 서비스 제공. • 확장성( scalability) : 다양한 규모의 서버에서 운용. • 보안( security ) : 인증 및 권한 • 분산트랜잭션 처리. • 재사용성 ( Reusability ) • Black Box 모델 • 클라이언트와의 의존도를 낮춘다. • 유지보수가 쉽다. • 클라이언트는 실제 구현 클래스를 접근할 수 없다. • 인터페이스를 통하여 클라이언트는 접근할 수 있다.

  5. EJB 구현 • 구현 내용 • 비즈니스 로직 • 데이터 • 구현 방법 • 2 개의 인터페이스 • 1 개의 EJB 클래스. • EJB 종류 • javax.ejb.SessionBean • javax.ejb.EntityBean • javax.ejb.MessageDrivenBean

  6. Home Interface Bean Component Interface Client • EJB 구현 • Black Box 모델 • 클라이언트는 직접 Bean를 접근할 수 없다. • 클라이언트는 인터페이스를 통해서 Bean과 연결한다. • 클라이언트와 Bean의 의존이 loose coupling 이다.

  7. EJB 종류 - SessionBean • 용도 • 일시적인 데이터 상태를 표현하기 위한 빈. • 주로 클라이언트의 비즈니스 처리를 담당한다. • ‘클라이언트의 요청을 대변하는 역할’ 을 갖는다. • 종류 • 무상태유지 세션빈 ( stateless SessionBean ) • 한번 명령어를 요청하면 다음 요청까지의 상태를 유지하지 않는다. • 클라이언트와 빈간의 관계는 다대다 관계이다. • 개발이 용이하고 효율적이다. • 빈의 메모리관리는 pooling 기법을 사용한다. • 상태유지 세션빈 ( stateful SessionBean ) • 수행되는 동안 오직 하나의 클라이언트에 할당되어 대리인 역할을 담당한다. • 클라이언트와 세션빈 간의 대화상태를 유지한다. • 클라이언트와 빈간의 관계는 1:1 관계이다.

  8. EJB 종류 - EntityBean • 용도 • 데이터베이스에 영구적으로 저장된 데이터를 표현한다. • 테이블의 레코드를 객체화한 것이다. • 종류 • BMP ( Bean Managed Persistence ) • 빈 제공자가 직접 작성한 SQL 문을 이용하여 EntityBean을 작성한다. • CMP ( Container Managed Persistence ) • EJB Container 에서 작성된 SQL 문을 이용하여 EntityBean을 작성한다. • EJB 종류 - MessageDrivenBean • 용도 • 비동기 통신에 사용되는 빈이다.

  9. SessionBean 이용한 EchoEJB 작성

  10. EchoEJB 실습 예제 • 작업 순서 • 탐색기에 작업 디렉토리 생성 • 소스파일 작성 ( 2개의 interface, 1개의 빈 클래스) • 컴파일 작업 • 설정파일 ( xml 파일 ) 작성 • jar 파일로 압축 • 클라이언트 컴파일용 jar 파일 작성 • 클라이언트 소스파일 작성 • 컴파일 • 배치 ( Deployment ) • 실행

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

  12. 탐색기에 작업 디렉토리 생성 • server\bin

  13. 탐색기에 작업 디렉토리 생성 • client\bin

  14. 소스 파일 작성 • 작성 방법 • 2 개의 인터페이스를 작성한다. • SessionBean을 구현한 1 개의 클래스를 작성한다. • 인터페이스 작성 • Home Interface • javax.ejb.EJBHome 인터페이스를 상속받는다. • 빈의 생성/소멸 작업관련. • Component Interface • javax.ejb.EJBObject 인터페이스를 상속받는다. • 비즈니스 메소드 작업관련. • 빈 클래스 작성 • javax.ejb.SessionBean 인터페이스를 구현한다. • Home Interface 선언된 추상 메소드를 구현한다. • Component Interface 선언된 추상 메소드를 구현한다.

  15. : Bean의 생성/소멸 관련 작업. <<EJBHome>> <<Home Interface>> : Bean의 비즈니스 관련 작업. <<EJBObject>> : Home Interface 메소드 구현. Component Interface 메소드 구현. SessionBean Interface 메소드 구현. <<Component Interface>> <<SessionBean>> UserBean • 소스 파일 작성

  16. 소스 파일 작성

  17. 컴파일 작업

  18. 설정파일 작성 ( xml 파일 ) • WebLogic Builder Tool 이용.

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

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

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

  22. Jar 파일로 압축

  23. WebLogic 서버 실행

  24. EJB Container EchoHome EchoHome EchoEJB :생성자 호출 setSessionContext 호출 ejbCreate 호출 Client Echo JNDI • 실습예제 Architecture • Echo 실습예제 Architecture

  25. EchoClient.java 작성 • Binding 된 EchoHome를 lookup 한다. • narrow 메소드를 이용하여 EchoHome 객체로 narrow캐스팅한다. • EchoHome에 create 메소드를 요청한다. • Echo 에 비즈니스 메소드를 요청한다. • 클라이언트 소스파일 작성

  26. 클라이언트 소스파일 작성 • 컴파일 • 실행

  27. 공부한 내용 • EJB 개요 • EJB Architecture • EJB 종류

More Related