slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
chapter 02 : RMI 개요 PowerPoint Presentation
Download Presentation
chapter 02 : RMI 개요

Loading in 2 Seconds...

play fullscreen
1 / 21

chapter 02 : RMI 개요 - PowerPoint PPT Presentation


  • 108 Views
  • Uploaded on

chapter 02 : RMI 개요. 학습목표. RMI 개요 RMI Architecture RMI 작성 방법 RMI 실습 예제. RMI 개요. 정의 RMI ( Remote Method Invocation ) 원격지의 메소드를 로컬의 메소드 처럼 호출할 수 있는 분산기술 . 분산되어 존재하는 객체간의 통신이 가능한 분산기술 . 자바의 RMI 기술을 포함한 포괄적인 분산기술 . ( CORBA , DCOM 등 ). 특징 소켓통신의 번거로움을 해결할 수 있다 .

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'chapter 02 : RMI 개요' - zena-odonnell


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2

chapter 02 :

RMI 개요

slide3

학습목표

  • RMI 개요
  • RMI Architecture
  • RMI 작성 방법
  • RMI 실습 예제
slide4

RMI 개요

  • 정의
    • RMI ( Remote Method Invocation )
    • 원격지의 메소드를 로컬의 메소드 처럼 호출할 수 있는
    • 분산기술.
    • 분산되어 존재하는 객체간의 통신이 가능한 분산기술.
    • 자바의 RMI 기술을 포함한 포괄적인 분산기술.
    • ( CORBA , DCOM 등 )
  • 특징
    • 소켓통신의 번거로움을 해결할 수 있다.
    • EJB ( Enterprise JavaBeans )의 기반기술이다.
    • 직렬화 ( Serializable )
    • JNDI ( Java Naming & Directory Interface )
slide5

JNDI을 이용한 Name Server

1: 자원등록 ( Binding )

2: 자원검색 ( Lookup )

3: 자원응답

Client

4: 서버 메소드 호출

Server

6: 메소드 실행 결과 응답

5: 메소드 실행

  • RMI Architecture
slide6

RMI 실습 순서

  • 1. 소스 작성.
  • 2. 소스 컴파일.
  • 3. RMI 컴파일.
  • 4. rmiregistry 실행.
  • 5. 서버 실행.
  • 6. 클라이언트 실행.
slide8

A’

A

A

A’

client

server

client

server

A

  • RMI 실습 - 소스작성
  • 소스 작성
    • 인터페이스 작성.
    • 인터페이스를 구현한 클래스 작성 ( servant , 원격객체 ).
    • 서버 클래스 작성.
    • 클라이언트 클래스 작성.
  • 인터페이스 사용하는 이유
    • 클라이언트에서 객체 의존도를 낮추기 위함 ( loose coupling)

(tight coupling)

(loose coupling)

slide9

RMI 실습 - 소스작성

  • 인터페이스 작성
    • java.rmi.Remote 인터페이스를 상속 받는다.
    • 선언된 모든 메소드는 RemoteException를 throws 한다.
slide10

RMI 실습 - 소스작성

  • servant 작성
    • 선언된 인터페이스를 구현한다.
    • java.rmi.server.UnicastRemoteObject 클래스를 상속한다.
    • 인자없는 생성자는 반드시 RemoteException를 throws 한다.
slide11

RMI 실습 - 소스작성

  • 서버 프로그램 작성
    • servant 객체 생성.
    • Name Server에 Binding.
  • 클라이언트 프로그램 작성
    • servant 객체 Lookup.
    • 서버 메소드 호출.
slide12

RMI 실습 –소스 컴파일

  • 소스 컴파일
    • javac *.java
slide13

RMI 실습 – RMI 컴파일

  • RMI 컴파일
    • rmic.exe 명령어로 servant를 컴파일 한다.
    • servant이름_Stub.class 파일이 생성된다.
slide14

RMI 실습 – Name server 실행

  • Name Server 실행
    • 자바 RMI는 rmiregistry 라는 Name Service를 사용한다.
  • Server 실행
  • Client 실행
slide15

rmiregistry

1: servant 등록 ( Binding )

2: servant 검색 ( Lookup )

3: 자원응답

Echo

4: 서버 메소드 호출

EchoImpl

EchoClient

EchoServer

6: 메소드 실행 결과 응답

5: 메소드 실행

  • RMI 실습 Architecture
slide16

rmiregistry

Echo

EchoImpl

EchoClient

EchoServer

  • RMI 실습 Architecture

1: servant 등록 ( Binding )

2: servant 검색 ( Lookup )

3: 자원응답

4: 서버 메소드 호출

6: 메소드 실행 결과 응답

5: 메소드 실행

slide17

RMI 실습 – UnicastRemoteObject.exportObject() 메소드

  • servant 가 UnicastRemoteObject를 상속받지 않은 경우.
    • UnicastRemoteObject.exportObject() 메소드를 이용한다.
slide18

rmiregistry

EchoClient

EchoServer

stub

stub

stub

  • stub
  • stub 기능
    • 저수준의 네트워킹 작업과 I/O 역할을 담당한다.
    • 전송되는 객체들의 직렬화 작업과 역직렬화 작업을 한다.
      • 직렬화 : Marshalling
      • 역직렬화 : unMashalling
    • 원격객체 전송과 관련된대리인 역할을 담당한다.
slide20

C:\rmi\registry>Echo.class

EchoImpl_Stub.class

rmiregistry

C:\rmi\client>EchoClient.class

Echo.class

EchoImpl_Stub.class

C:\rmi\server>EchoServer.class

Echo.class

EchoImpl.class

EchoImpl_Stub.class

  • 폴더별 RMI 실습
slide21

공부한 내용

  • RMI 개요
  • RMI Architecture
  • RMI 실습
  • 스텁 ( Stub )