1 / 18

Distributed Object-Based Systems

Distributed Object-Based Systems. 분산 시스템 구성에 사용되는 다양한 패러다임을 조사 - 분산 객체 : 객체는 분산 투명성을 확립하는데 핵심적인 역할 - CORBA - Microsoft ’ s DCOM CORBA - CORBA(Common Object Request Broker Architecture) - OMG(Object Management Group) 목적 : 통합 네트워크 응용이 갖는 많은 상호운용성 문제를 극복할 수

nassor
Télécharger la présentation

Distributed Object-Based Systems

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. Distributed Object-Based Systems • 분산 시스템 구성에 사용되는 다양한 패러다임을 조사 - 분산 객체: 객체는 분산 투명성을 확립하는데 핵심적인 역할 - CORBA - Microsoft’s DCOM • CORBA - CORBA(Common Object Request Broker Architecture) - OMG(Object Management Group) 목적: 통합 네트워크 응용이 갖는 많은 상호운용성 문제를 극복할 수 있는 분산 시스템을 정의하는 것. - CORBA Specification: 1990대 초  CORBA Ver. 2.4  CORBA Ver. 3.0 SS Lab., CUD, Korea

  2. Distributed Object-Based Systems • CORBA의 개요 - CORBA의 광역 구조: OMG의 참조 모델에 충실 - CORBA의 광역 구조 Application objects Vertical facilities (domain specific) Horizontal facilities (general purpose) Common Object Services Object Request Broker SS Lab., CUD, Korea

  3. Distributed Object-Based Systems • ORB(Object Request Broker) - 분산과 이종성과 관련된 문제를 감추고, 동시에 객체와 그것들의 클라이언트 간의 통신을 가능하게 한다. - 클라이언트, 서버 응용과 링크되어진 라이브러리로 구현 - 기본 통신 서비스를 제공 • CORBA facilities: CORBA 서비스의 조립으로 구축 - Horizontal facilities: 응용 도메인에 독립적인 범용 고수준 서비스로 구성(사용자 인터페이스, 정보 관리, 시스템 관리, 태스크 관리) - Vertical facilities: 특정 응용 도메인을 위하여 목적 되어진 고수준 서비스로 구성(전자상거래, 뱅킹, 제조업) • 객체 모델 - CORBA는 원격-객체 모델을 사용한다. SS Lab., CUD, Korea

  4. Distributed Object-Based Systems - 객체의 구현은 서버의 주소 공간에 거주한다. - 객체들과 서비스들은 CORBA IDL(Interface Definition Language) 로 명세 되어진다. - CORBA 시스템의 일반적인 구성 Server machine Client machine SS Lab., CUD, Korea

  5. Distributed Object-Based Systems - ORB는클라이언트와 객체간의 기본 통신을 처리하는 런타임 시스템, 특정 객체를 위한 메소드 호출을 처리하기 위한 stubs로만 본다. - 클라이언트 응용은 사용한 각 객체로 같은 인터페이스를 구현한 가용 프락 시를 가지고 있다. - DII(Dynamic Invocation Interface): 클라이언트에게 런타임에 호출 요청을 구 축하는 것을 허용. - 객체 어댑터: 입력 요청을 적절한 객체에게 전달 - 서버 측에서 실제 unmarshaling은 CORBA에서 skeleton이라 부르는 stub에 의 해 실행된다. - 동적 골격을 사용할 때, 어떤 객체는 사용자의 요청에 따라 invoke 함수의 적 절한 구현을 제공할 것이다. SS Lab., CUD, Korea

  6. Distributed Object-Based Systems • 인터페이스와 구현 저장소 - 인터페이스 저장소는 모든 등록된 객체에 대한 인터페이스, 메소드 및 필요한 매개변수들(CORBA에서는 이들을 묶어서 "method signatures"라 한다)에 관한 정보들을 획득하여 저장하거나 수정하 는 역할을 수행한다. • 구현 저장소 - 객체를 구현하고 활성화하는데 필요한 모든 것을 포함한다. - 그러한 기능들은 ORB와 하부 운영체제에 밀접한 관계가 있기 때문에 표준 구현을 제공하기는 어렵다. - 클라이언트가 처음으로 서버의 객체와 통신을 할 때 ORB는 구현 저장소를 검사하여 연결(connection)을 담당할 상응하는 서버를 검색한다. 실행시간의 정보 저장소 역할을 하는 구현 저장소에는 서버가 지원하는 클래스와 ID에 의해 활성화되는 객체에 대한 정보가 저장된다. SS Lab., CUD, Korea

  7. Distributed Object-Based Systems • CORBA 서비스 - CORBA가 사용하고 있는 응용의 범용성과 독립성 - Collection service: 객체들을 리스트, 큐, 스택, 집합 등으로 그룹하는 방법을 제공한다. - Query service: 선언적 질의어를 사용하여 질의 될 수 있는 객체의 집 합을 구축하는 방법을 제공한다. - Concurrency control service: 공유 객체에 접근하는 어떤 클라이언트 에 의해 제출된 락킹 메커니즘을 제공한다. - Transaction service: 클라이언트가 하나의 트랜잭션에서 다수의 객체 에 걸쳐 일련의 메소드 호출을 정의하는 것을 허용한다. - Event service: 어떤 클라이언트와 객체는 특정 사건의 발생에 따라 인터럽트될 수 있다. SS Lab., CUD, Korea

  8. Distributed Object-Based Systems - CORBA 서비스의 개요 SS Lab., CUD, Korea

  9. Distributed Object-Based Systems • 통신 - 객체 호출 모델 - CORBA에서 지원되는 호출 모델 SS Lab., CUD, Korea

  10. Distributed Object-Based Systems - 사건 및 공지 서비스: 사건은 supplier에 의해 생성 되고 consumer에 의해 수신된다. 사건은 supplier와 consumer 사이에 논리적으로 위치 하는 event channel을 거쳐서 전달된다. - Push model Supplier Consumer Event channel Supplier Consumer Supplier Push event to consumers SS Lab., CUD, Korea

  11. Distributed Object-Based Systems - Pull model Supplier Consumer Event channel Supplier Consumer Supplier Ask suppliers for new event - 메시징 (1) Callback model: 클라이언트는 callback 메소드를 포함하는 인터페 이스를 구현한 객체를 제공한다. 그러한 메소드들은 비동기 호출의 결과를 전달하기 위하여 하부 통신 시스템에 의해 호출될 수 있다. SS Lab., CUD, Korea

  12. Distributed Object-Based Systems - 예) int add(in int i, int j, out int k) Client application 1. Call by the application Callback interface 4. Call by the ORB Client proxy 3. Response from server Client ORB 2. Request to server SS Lab., CUD, Korea

  13. Distributed Object-Based Systems (2) Polling model: 클라이언트는 입력 결과를 위해 그것의 ORB를 폴 하기 위한 연산 집합을 제공한다. Client application 1. Call by the application 4. Call by the application Client proxy Polling interface 3. Response from server Client ORB 2. Request to server SS Lab., CUD, Korea

  14. Distributed Object-Based Systems - 상호운용성:표준 inter-ORB 포로토콜의 도입 TCP 위에서 작동하는 GIOP(General Inter-ORB Protocol)를 IIOP(Internet Inter-ORB Protocol)이라 한다. - GIOP 메시지 종류 SS Lab., CUD, Korea

  15. Distributed Object-Based Systems • 프로세스 - 클라이언트 * Interceptor: 클라이언트로부터 서버로의 경로상에서 인터셉트될 수 있는 어떤 호출에 따르는 메커니즘. SS Lab., CUD, Korea

  16. Distributed Object-Based Systems - 포터블 객체 어댑터: 클라이언트에게 CORBA 객체로 나타나는 서버측 코드를 만드는 책임이 있는 컴포넌트 * Servant: 클라이언트가 호출할 수 있는 메소드를 구현한 객체 부분 Mapping of CORBA object identifiers to servants. (1) The POA supports multiple servants. (2) The POA supports a single servant. SS Lab., CUD, Korea

  17. Distributed Object-Based Systems - 에이전트: place, region, finder SS Lab., CUD, Korea

  18. Distributed Object-Based Systems • 기타 - Naming - Synchronization - Caching과 Replication - Fault Tolerance - Security SS Lab., CUD, Korea

More Related