22
01 학학 학학 : EJB 소소 EJB 2.0 학학학 학학학학 학학학학학학 학학 학학 학학학 학학 , 학학 , 학학학 학학학학학 .

EJB 소개

  • Upload
    libby

  • View
    58

  • Download
    3

Embed Size (px)

DESCRIPTION

EJB 소개. EJB 2.0 규격을 기준으로 엔터프라이즈 자바 빈즈 기술의 용도 , 장점 , 특성을 파악합니다. EJB 소개. 1.EJB 는 도대체 무엇일까 ? ■ 컴포넌트 기반 개발. EJB 소개. 2.EJB 에서 얻을 수 있는 것은 무엇일까 ? ■ 여러분은 비즈니스 로직 부분에 집중할 수 있다 . ■ 트랜잭션 , 네트워킹 , 보안등은 EJB 서버제작자가 처리해준다. EJB 소개. 3. 더 이상 제작자한테 얽매이지 않아도 됩니다 . ■ 엔터프라이즈 빈은 이식성이 좋습니다 . - PowerPoint PPT Presentation

Citation preview

Page 1: EJB  소개

01

학습 목표

: EJB 소개

EJB 2.0 규격을 기준으로 엔터프라이즈 자바 빈즈 기술의 용도 ,

장점 , 특성을 파악합니다 .

Page 2: EJB  소개

Chapter01

EJB 소개

1.EJB 는 도대체 무엇일까 ?

■ 컴포넌트 기반 개발

Page 3: EJB  소개

Chapter01

EJB 소개

2.EJB 에서 얻을 수 있는 것은 무엇일까 ?

■ 여러분은 비즈니스 로직 부분에 집중할 수 있다 .■ 트랜잭션 , 네트워킹 , 보안등은 EJB 서버제작자가 처리해준다 .

Page 4: EJB  소개

Chapter01

EJB 소개

3. 더 이상 제작자한테 얽매이지 않아도 됩니다 .

■ 엔터프라이즈 빈은 이식성이 좋습니다 .■ 다른 JVM 에서 실행 될 뿐 아니라 다른 EJB 서버에서도 잘 실행됩니다 .

Page 5: EJB  소개

Chapter01

EJB 소개

4. 어떤 식으로 작동하나요 ?

■ 여러분이 만든 빈은 EJB 서버의 관리와 보호 하에 실행됩니다 .

■ 클라이언트에서 빈의 메소드를 호출할 때마다 서버가 그 사이에 끼어들면서 보안 , 트랜잭션 , 지속성과 같은 ‘서비스’를 추가합니다 .

Page 6: EJB  소개

Chapter01

EJB 소개

5. 빈의 세가지 유형

■ 엔티티 ● Entity Bean

● 지속성 저장공간 ( 데이터베이스 )

■ 메시지 구동 ● message-driven bean

● JMS 메시징 서비스

■ 세션 ● stateless session bean

● stateful session bean

● 위의 두 가지 케이스를 제외한 모든 용도

Page 7: EJB  소개

Chapter01

EJB 소개

6. 빈을 만들기 위해 해야 할 다섯 가지 작업

1. 비즈니스 메소드가 들어간 빈 클래스 코드 작성

2. 두 인터페이스를 위한 코드 작성

3. XML 배치 기술자 (DD, deployment descriptor) 작성

4. 빈 , 인터페이스 , 배치 기술자를 ejb-jar 에 삽입

5. 서버 제작자 쪽에서 제공한 툴을 이용해 빈을 서버에 배치

Page 8: EJB  소개

Chapter01

EJB 소개

7. 튜토리얼 테스트 환경

■ 왜 J2EE 1.3 RI 를 사용하는가 ?

■ 무료로 사용할 수 있는 서버 중에서 가장 간단한 구조를 가진 서버

■ 각 도구 별로 서로 다른 작업에 대해서 신경을 쓰지 않아도 된다는 점

■ 관련 URL : http://java.sun.com/j2ee/

Page 9: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 1/13

Step 1. 인터페이스 및 빈 클래스 컴파일

Step 2. 서버를 시작합니다 .

Page 10: EJB  소개

Chapter01

EJB 소개

8. 튜토리얼 프로젝트 디렉토리 구성법

■ 이 번에 소개할 튜토리얼의 디렉토리 구조는 아래와 같다 .

■ Classes 에는 컴파일이 끝난 .class 파일들이 위치

■ Src 에는 java 파일들이 위치

Page 11: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 2/13

Step 3. Deploytool 을 실행시킵니다

Step 4. 새로운 애플리케이션을 만듭니다

■ File-> New -> application 선택

■ Deploytool 애플리케이션이 로딩됩니다 .

Page 12: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 3/13

Step 5. 새로운 애플리케이션의 이름을 정하고 저장합니다

Step 6. 애플리케이션의 이름을 지정하고 저장한 다음 화면에 보이는 내용

■ 애플리케이션에 AdviceApp 라는 이름을 붙입니다 .

■ 필요하면 project/advice/AdviceApp 에 대한 전체경로도 입력합니다 .

■ OK 를 클릭합니다 .

■ AdviceApp 아이콘을 클릭합니다 .

Page 13: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 4/13

Step 7. 이제 새로운 엔터프라이즈 빈 (ejb-jar 와 DD) 을 만들어 봅시다

Step 8. New Enterprise Bean 마법사가 나옵니다

■ File->New->Enterprise Bean… 선택

■ 마법사 핵심기능

•ejb-jar 를 생성합니다 .

•빈 클래스와 두 인터페이스를 ejb-jar 에 집어 넣습니다 .

•빈을 기술하는 배치 기술자를 생성합니다 .

Page 14: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 6/13

Step 11. JAR 에 들어있는 세 클래스 파일 가운데 어떤 것이 실제 빈 클래스인지 알려줍니다

Step 12. 홈 인터 페이스와 컴포넌트 인터페이스를 지정합니다

■ Enterprise Bean Class 드롭다운 메뉴 클릭

■ headfirst.AdviceBean 선택

■ Remote Home Interface 드롭다운 메뉴 클릭

■ headfirst.AdviceHome 선택

■ Remote Interface 드롭다운 메뉴 클릭

■ headfirst.Advice 선택

Page 15: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 5/13

Step 9. 디렉토리와 클래스 파일만 들어있는지 확인합니다

Step 10. 무상태 세션 빈으로 지정합니다

■ 클래스 파일이 제대로 들어있는지 확인합니다 .

■ 제대로 들어있지 않으면 Remove 클릭 후 처음부터 다시 시작합니다 .

■ 모두 끝나면 OK 를 클릭한 다음 NEXT 를 클릭합니다 .

■ Session 라디오 버튼 선택

■ Stateless 라디오 버튼 선택

Page 16: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 7/13

Step 13. 이 화면에 있는 모든 것을 확인해 봅시다

Step 14. 끝났습니다 . Finish 를 클릭하세요

■ Enterprise Bean Class : headfirst.AdviceBean

■ Remote Home Interface : headfirst.AdviceHome

■ Remote Interface : headfirst.Advice

■ Finish 클릭

Page 17: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 8/13

Step 15. Deplytool 검증기를 통해 빈을 실행시켜 봅시다

Step 16. 눈을 감고 OK 를 클릭합시다

■ Ejb1 아이콘 ( 조그만 병 모양 아이콘 ) 을 클릭해서 역상으로 표시되도록 합니다 .

■ Tools-> Verifier… 선택

■ Failures Only 라디오 버튼을 선택합니다 .

■ OK 클릭

■ Details 의 로그를 확인합니다 .

Page 18: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 9/13

Step 17. 배치할 때가 됐습니다

Step 18. 클라이언트 jar 를 리턴합니다 .

■ Tools-> Deploy… 선택

■ Stub Class 생성하는 단계

■ Return Client Jar 체크 박스 선택 (projects/advice 디렉토리에 집어 넣음 )

■ Next > 클릭

Page 19: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 10/13

Step 19. 클라이언트에서 찾을 수 있도록 이름을 부여합니다

Step 20. 이제 서버에 AdviceApp 가 들어있음을 확인할 수 있습니다

■ JNDI Name 칸에 Advisor 라고 입력

■ Finish 클릭

■ 배치 절차가 끝날 때까지 가슴을 졸이며 대기합니다 .

■ ‘Deplyment of AdviceApp is complete’ 메시지를 확인한 후 OK 클릭

■ Server > localhost 아이콘을 확장시키면 AdviceApp 아이콘이 있습니다

Page 20: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 11/13

Step 21. 이제 클라이언트만 있으면 됩니다 .

■ 클라이언트의 다섯 가지 해야 할 일

1. JNDI InitialContext 에 대한 레퍼런스를 받는다 .

2. InitialContext 를 써서 빈의 홈 인터페이스를 룩업한다 .(Advisor)

3. 룩업 과정을 통해서 받게 되는 것을 좁히고 캐스트 합니다 .

4. 홈 인터페이스의 create 를 호출하여 컴포넌트 인터페이스에 대한 레퍼런스를 가져옵니다 .

5. 컴포넌트 인터페이스의 getAdvice() 를 호출한 다음 그 결과를 출력합니다 .

Page 21: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 12/13

Step 22. 클라이언트를 위한 프로젝트 디렉토리 구성법

■ 배치할 때 서버에서 넘겨준 클라이언트 jar(AdviceAppClient.jar)

Page 22: EJB  소개

Chapter01

EJB 소개

9. 튜토리얼 13/13

Step 23. 클라이언트를 컴파일합니다

Step 24. 클라이언트를 실행시킵시다 !