블로그 이미지
우디냥
"지금 잠을 자면 꿈을 꾸지만, 지금 공부하면 꿈을 이룰수있다"

calendar

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Notice

'─☻раցеº②/└ᘐ ejb'에 해당되는 글 2

  1. 2007.07.24 EJB의 선수 기술 [RMI]
  2. 2007.07.23 EJB 환경설치
└ᘐ RMI란?
       - Remote Method Invocation의 약자
       - 원격 함수 호출 기법 
          (클라이언트가 Socket나 다른 네트워크 기술과 관계없이 서버에 있는  함수를 직접
           호출해서 그 결과(반환값)를 가지고 가는 기법)
 
   * EJB는 여러대의 서버를 가지고 웹서버를 구성하는 방식
     즉, 여러대의 서버가 가지고 잇는 고유의 기능을 다른 서버에서 이용하는 방식은
                                                                                             => RMI방식을 이용해서 구현
 
     ▷ 구성
          Stub/Skeleton 
             - RMI를 구성하는 원격 메소드를  참조하기 위해서 구성된 내부적인 Proxy
                                        (클라이언트가 호출 가능한 함수)
               Marshalling 과 Unmashalling을 해주어서 원격 함수를 클라이언트가 참조(호출) 가능
               하도록 해주는 내부적인 기술을 가진다.
          Naming
             - RMI를 이용해서 원격 메소드(함수)를 찾아내는 기술
               JNDI(Java Naming Directory Interface)를 사용해서 구현
               즉, 원격 메소드를 내부 장치에 Hash Table기법으로 저장해놓고, 클라이언트가 이 Hash
                Table을 이용해서 자신이 필요로 하는 원격 함수를 검색하고 호출하도록 해주는 기술

     ▷ 주요 클래스
          1. Remote
               원격 객체가 되기 위해서 필요한 각종 기능을 포함한 인터페이스
               원격 인터페이스는 반드시 이 인터페이스를 상속받아서 만들어야 한다.
          2. UnicastRemoteObject
               해당 클래스가 원격 객체가 되기 위해 필요한 각종 기능을 포함한 클래스

└ᘐ 구성방식
          1. 원격 메소드를 포함한 인터페이스 제작  => 원격 인터페이스
               (인터페이스안의 메소드 RMI의 대상 -> 클라이언트가 호출 가능한 메소드)      
          2. 원격 인터페이스를 이용한 실제 구현 클래스 제작
               (실제적인 작업을 코딩하는 클래스)
          3. 서버는 원격객체를 등록
               (RMI Register에 등록)
          4. 클라이언트는 RMI Register에서 Naming 기법에 의해 필요한 원격 메소드를 검색하고,
             메소드를 호출함으로써 RMI를 실제 구현

     ▷ 원격 인터페이스 제작규칙
          1) 반드시 public 이어야 한다.
          2) Remote 인터페이스를 상속받아야 한다.
          3) 안에 있는 모든 함수(원격 호출 가능한 함수)는 반드시 RemoteException을 처리
          4) 함수의 반환값은 반드시 Serializable

     ▷ 실제 클래스 제작 규칙
          1) 반드시 public 이어야 한다.
          2) UnicastRemoteObject에서 상속받아야 한다.
          3) 원격 인터페이스를 이용해서 만들어야 한다.
          4) 반드시 생성자 함수를 가지고 있어야 하며
              생성자 함수는 반드시 RemoteException처리
          5) 필요한 함수들을 만들어 나간다.

posted by 우디냥
TAG rmi
└ᘐ 웹로직 다운로드 사이트
           http://kr.bea.com/

└ᘐ 가상디렉토리 만들기(설치후 configuration wizard 실행)
         새 웹로직 구성 -> 서버 도메인 -> 빠른 구성 -> 비번적기 (8자이상) -> 버젼 선택
          -> 도메인 이름

     * 가상디렉토리란?
       -> 자신(웹서버)이 제공할 파일을 따로 분리해서 관리하고  제공 가능한 파일을 포함하고
           있는 폴더

     ▷ 성공확인
          C:\bea\user_projects\domains\도메인 이름 폴더 -> 가상 디렉토리의 위치!!

     ▷ 서버관리
          http://localhost:7001/console 

     ▷ 운영과 개발모드 변경
          운영모드 - 미리 컴파일된 클래스를 가지고 실행
          개발모드 - 계속해서 새롭게 컴파일하고 실행
         [방법]
             C:\bea\user_projects\domains\도메인이름
             폴더 안에 startWebLogic.cmd을 편집기로 수정
              - 38번째줄 set PRODUCTION_MODE= false/true
                                                                   false => 개발모드
                                                                   true  => 운영모드
 
     ▷ 포트번호 변경
           - config.xml파일을 편집기로 열고 ListenPort="80"를 변경하면 된다.
                 http://localhost:80/console
            * 참고 -> 웹로직의 기본 포트번호는 7001번

└ᘐ 작업디렉토리 만들기
       C:\bea\user_projects\domains\가상디렉토리(freewell)\applications 안에
                작업 디렉토리 --> WEB-INF --> classes
                                                        --> lib

       WEB-INF 폴더 아래 web.xml , weblogic.xml 이 있어야 한다.

       http://loacalhost/작업디렉토리/파일명
   
     ▷ 작업 폴더를 ROOT 폴더로 만드는 방법
         weblogic.xml 파일
              <context-root>/</context-root> 
        를 포함시킨다.
        * 참고  -> /(ROOT)로 강제 지정하는 태그 
posted by 우디냥
prev 1 next

티스토리 툴바