DCOM4.2.2 LINGUAGEM DE DEFINIÇÃO DE INTERFACE

Description

MSC DSD Mind Map on DCOM4.2.2 LINGUAGEM DE DEFINIÇÃO DE INTERFACE, created by itounip on 02/09/2013.
itounip
Mind Map by itounip, updated more than 1 year ago
itounip
Created by itounip over 10 years ago
81
0

Resource summary

DCOM4.2.2 LINGUAGEM DE DEFINIÇÃO DE INTERFACE
  1. é um mecanismo formal utilizado pelo COM para descrever o conjunto de métodos suportados por uma interface
    1. Interface Definition Language" - IDL
      1. desenvolvida pelo "Open Software Foundation's Distributed Computing Environment" (OSF DCE)
        1. VTABLE
          1. Um determinado cliente possui o ponteiro de interface (A) para essa interface (I)
            1. ponteiro de interface (A) aponta, na realidade, para um ponteiro (B) dentro do objeto
              1. ponteiro (B), por sua vez, aponta para uma tabela (vtable) que contém ponteiros. possui um ponteiro para cada método contido nessa interface (M1, M2, M3, M4, M5, M6)
                1. Quando um cliente invoca um método da interface a estrutura de ponteiros é percorrida e o método correto é executado
                2. INTERFACE FUNDAMENTAL IUnknown
                  1. QueryInterface
                    1. possibilita ao cliente obter o ponteiro de uma outra interface do objeto
                      1. O primeiro ponteiro de interface para um objeto pode ser adquirido por um cliente quando, por exemplo, ele o cria
                        1. Uma vez obtido este ponteiro inicial, o cliente, através do método QueryInterface, é capaz de adquirir os demais ponteiros de interfaces cujos métodos ele necessite invocar
                      2. AddRef/Release
                        1. quando um cliente deseja utilizar um objeto, ele deve instanciá-lo explicitamente, mas não poderá destruir esta instância diretamente

                          Annotations:

                          • Isto ocorre porque ao dar início a um objeto, ele adquire um ponteiro de uma de suas interfaces o qual poderia ter sido passado para outro cliente
                          1. ao dar início a um objeto, ele adquire um ponteiro de uma de suas interfaces o qual poderia ter sido passado para outro cliente
                            1. segundo cliente pode usar esse ponteiro (recebido do primeiro cliente) para invocar um método do mesmo objeto, podendo também repassá-lo para um terceiro cliente e assim por diante
                              1. Cada objeto COM mantém um contador de referência. Sempre que o objeto passar adiante um ponteiro para uma de suas interfaces, ele soma 1 ao seu contador de referência (na verdade o objeto mantém um contador de referência para cada uma das interfaces do objeto). Se um cliente passa um ponteiro de interface para um outro cliente, aquele que o recebe deve invocar o método AddRef através deste ponteiro. Isto faz com que o objeto incremente seu contador de referência. Indiferentemente de como um cliente adquiriu este ponteiro, ele deve sempre invocar o método Release, através deste ponteiro, quando não necessitar mais dele. A execução deste método causa um decremento do contador de referência deste objeto. O objeto, usualmente, se destrói quando o contador de referência chega a zero.
                        Show full summary Hide full summary

                        Similar

                        TRI P1
                        lemecaue
                        Efeitos de grandes obras civil
                        Guilherme Vignoli
                        5.2.O que é CORBA?
                        itounip
                        DCOM03-Interface
                        itounip
                        DSD- 1 O.O.
                        itounip
                        DSD-2 ORB
                        itounip
                        distribuição O O
                        itounip
                        Middleware
                        itounip
                        Three Tiers
                        itounip
                        O Middleware em si
                        itounip
                        3.2.1 SERVIÇOS "MIDDLEWARE"
                        itounip