220 likes | 461 Views
EJB 소개. EJB 2.0 규격을 기준으로 엔터프라이즈 자바 빈즈 기술의 용도 , 장점 , 특성을 파악합니다. EJB 소개. 1.EJB 는 도대체 무엇일까 ? ■ 컴포넌트 기반 개발. EJB 소개. 2.EJB 에서 얻을 수 있는 것은 무엇일까 ? ■ 여러분은 비즈니스 로직 부분에 집중할 수 있다 . ■ 트랜잭션 , 네트워킹 , 보안등은 EJB 서버제작자가 처리해준다. EJB 소개. 3. 더 이상 제작자한테 얽매이지 않아도 됩니다 . ■ 엔터프라이즈 빈은 이식성이 좋습니다 .
E N D
EJB 소개 EJB 2.0 규격을 기준으로 엔터프라이즈 자바 빈즈 기술의 용도, 장점, 특성을 파악합니다.
EJB 소개 1.EJB는 도대체 무엇일까? ■ 컴포넌트 기반 개발
EJB 소개 2.EJB에서 얻을 수 있는 것은 무엇일까? ■ 여러분은 비즈니스 로직 부분에 집중할 수 있다. ■ 트랜잭션, 네트워킹, 보안등은 EJB 서버제작자가 처리해준다.
EJB 소개 3.더 이상 제작자한테 얽매이지 않아도 됩니다. ■ 엔터프라이즈 빈은 이식성이 좋습니다. ■ 다른 JVM에서 실행 될 뿐 아니라 다른 EJB서버에서도 잘 실행됩니다.
EJB 소개 4.어떤 식으로 작동하나요? ■ 여러분이 만든 빈은 EJB서버의 관리와 보호 하에 실행됩니다. ■ 클라이언트에서 빈의 메소드를 호출할 때마다 서버가 그 사이에 끼어들면서 보안, 트랜잭션, 지속성과 같은 ‘서비스’를 추가합니다.
EJB 소개 5.빈의 세가지 유형 ■ 엔티티 ● Entity Bean ● 지속성 저장공간(데이터베이스) ■ 메시지 구동 ● message-driven bean ● JMS 메시징 서비스 ■ 세션 ● stateless session bean ● stateful session bean ● 위의 두 가지 케이스를 제외한 모든 용도
EJB 소개 6.빈을 만들기 위해 해야 할 다섯 가지 작업 • 비즈니스 메소드가 들어간 빈 클래스 코드 작성 • 두 인터페이스를 위한 코드 작성 • XML 배치 기술자(DD, deployment descriptor) 작성 • 빈,인터페이스,배치 기술자를 ejb-jar에 삽입 • 서버 제작자 쪽에서 제공한 툴을 이용해 빈을 서버에 배치
EJB 소개 7.튜토리얼 테스트 환경 ■ 왜 J2EE 1.3 RI를 사용하는가? ■ 무료로 사용할 수 있는 서버 중에서 가장 간단한 구조를 가진 서버 ■ 각 도구 별로 서로 다른 작업에 대해서 신경을 쓰지 않아도 된다는 점 ■ 관련 URL : http://java.sun.com/j2ee/
EJB 소개 9.튜토리얼 1/13 Step 1. 인터페이스 및 빈 클래스 컴파일 Step 2. 서버를 시작합니다.
EJB 소개 8.튜토리얼 프로젝트 디렉토리 구성법 ■ 이 번에 소개할 튜토리얼의 디렉토리 구조는 아래와 같다. ■ Classes에는 컴파일이 끝난 .class파일들이 위치 ■ Src에는 java파일들이 위치
EJB 소개 9.튜토리얼 2/13 Step 3. Deploytool을 실행시킵니다 ■ Deploytool 애플리케이션이 로딩됩니다. Step 4. 새로운 애플리케이션을 만듭니다 ■ File-> New -> application 선택
EJB 소개 9.튜토리얼 3/13 Step 5. 새로운 애플리케이션의 이름을 정하고 저장합니다 ■ 애플리케이션에 AdviceApp라는 이름을 붙입니다. ■ 필요하면 project/advice/AdviceApp에 대한 전체경로도 입력합니다. ■ OK를 클릭합니다. Step 6. 애플리케이션의 이름을 지정하고 저장한 다음 화면에 보이는 내용 ■ AdviceApp아이콘을 클릭합니다.
EJB 소개 9.튜토리얼 4/13 Step 7. 이제 새로운 엔터프라이즈 빈(ejb-jar와 DD)을 만들어 봅시다 ■ File->New->Enterprise Bean… 선택 Step 8. New Enterprise Bean 마법사가 나옵니다 • ■ 마법사 핵심기능 • ejb-jar를 생성합니다. • 빈 클래스와 두 인터페이스를 ejb-jar에 집어 넣습니다. • 빈을 기술하는 배치 기술자를 생성합니다.
EJB 소개 9.튜토리얼 6/13 Step 11. JAR에 들어있는 세 클래스 파일 가운데 어떤 것이 실제 빈 클래스인지 알려줍니다 ■ Enterprise Bean Class 드롭다운 메뉴 클릭 ■ headfirst.AdviceBean 선택 Step 12. 홈 인터 페이스와 컴포넌트 인터페이스를 지정합니다 ■ Remote Home Interface 드롭다운 메뉴 클릭 ■ headfirst.AdviceHome 선택 ■ Remote Interface 드롭다운 메뉴 클릭 ■ headfirst.Advice 선택
EJB 소개 9.튜토리얼 5/13 Step 9. 디렉토리와 클래스 파일만 들어있는지 확인합니다 ■ 클래스 파일이 제대로 들어있는지 확인합니다. ■ 제대로 들어있지 않으면 Remove클릭 후 처음부터 다시 시작합니다. ■모두 끝나면 OK를 클릭한 다음 NEXT를 클릭합니다. Step 10. 무상태 세션 빈으로 지정합니다 ■ Session 라디오 버튼 선택 ■ Stateless 라디오 버튼 선택
EJB 소개 9.튜토리얼 7/13 Step 13. 이 화면에 있는 모든 것을 확인해 봅시다 ■ Enterprise Bean Class : headfirst.AdviceBean ■ Remote Home Interface : headfirst.AdviceHome ■ Remote Interface : headfirst.Advice Step 14. 끝났습니다. Finish를 클릭하세요 ■ Finish 클릭
EJB 소개 9.튜토리얼 8/13 Step 15. Deplytool 검증기를 통해 빈을 실행시켜 봅시다 ■ Ejb1 아이콘(조그만 병 모양 아이콘)을 클릭해서 역상으로 표시되도록 합니다. ■ Tools-> Verifier… 선택 Step 16. 눈을 감고 OK를 클릭합시다 ■ Failures Only 라디오 버튼을 선택합니다. ■ OK 클릭 ■ Details의 로그를 확인합니다.
EJB 소개 9.튜토리얼 9/13 Step 17. 배치할 때가 됐습니다 ■ Tools-> Deploy… 선택 Step 18. 클라이언트 jar를 리턴합니다. ■ Stub Class 생성하는 단계 ■ Return Client Jar 체크 박스 선택(projects/advice 디렉토리에 집어 넣음) ■ Next > 클릭
EJB 소개 9.튜토리얼 10/13 Step 19. 클라이언트에서 찾을 수 있도록 이름을 부여합니다 ■ JNDI Name칸에 Advisor라고 입력 ■ Finish 클릭 ■ 배치 절차가 끝날 때까지 가슴을 졸이며 대기합니다. ■ ‘Deplyment of AdviceApp is complete’ 메시지를 확인한 후 OK 클릭 Step 20. 이제 서버에 AdviceApp가 들어있음을 확인할 수 있습니다 ■ Server > localhost 아이콘을 확장시키면 AdviceApp 아이콘이 있습니다
EJB 소개 9.튜토리얼 11/13 Step 21. 이제 클라이언트만 있으면 됩니다. • ■ 클라이언트의 다섯 가지 해야 할 일 • JNDI InitialContext에 대한 레퍼런스를 받는다. • InitialContext를 써서 빈의 홈 인터페이스를 룩업한다.(Advisor) • 룩업 과정을 통해서 받게 되는 것을 좁히고 캐스트 합니다. • 홈 인터페이스의 create를 호출하여 컴포넌트 인터페이스에 대한 레퍼런스를 가져옵니다. • 컴포넌트 인터페이스의 getAdvice()를 호출한 다음 그 결과를 출력합니다.
EJB 소개 9.튜토리얼 12/13 Step 22. 클라이언트를 위한 프로젝트 디렉토리 구성법 ■ 배치할 때 서버에서 넘겨준 클라이언트 jar(AdviceAppClient.jar)
EJB 소개 9.튜토리얼 13/13 Step 23. 클라이언트를 컴파일합니다 Step 24. 클라이언트를 실행시킵시다!