Obiekty COM Przemysław Buczkowski. Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM.

Slides:



Advertisements
Podobne prezentacje
Platformy e-learningowe Krzysztof Andrelczyk IS, WIMiIP, III rok
Advertisements

20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
C++ wykład 2 ( ) Klasy i obiekty.
Mechanizmy pracy równoległej
Generics w .NET 2.0 Łukasz Rzeszot.
Systemy rozproszone W. Bartkiewicz
Systemy rozproszone W. Bartkiewicz
18/11/ Języki programowania 1 Piotr Górczyński Biblioteki.
ActiveX. OLE W Windows 95 wprowadzono nową wersję techniki łączenia i osadzania OLE różnica między łączeniem a osadzaniem Office jako przykład wykorzystania.
WEB SERVICE Stefan Rutkowski.
CORBA Łukasz Wnęk.
Wdrożenie portalu korporacyjnego w oparciu o MOSS2007
ASP.NET 2.0 AJAX Extensions 1.0
18/11/ Języki programowania 1 Piotr Górczyński Łączenie z bazą danych.
Architektura systemu Gra strategiczna „Strusia Jama”
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
COM Maciej Głowacki
Platforma .Net i Vs.Net.
Microsoft Exchange Server 2003 Obieg dokumentów
Dokumentowanie wymagań w języku XML
Obiektowe metody projektowania systemów
Biblioteki i przestrzenie nazw
C++ wykład 2 ( ) Klasy i obiekty.
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
Systemy zarządzania treścią CMS
Projektowanie - wprowadzenie
Architektura SOA.
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
Budowa, przeglądanie i modyfikacja
Technologie komponentowe COM, COM+, DCOM
Rozwój aplikacji przy wykorzystaniu ASP.NET
Instytut Tele- i Radiotechniczny WARSZAWA
Opracował : Przemysław Drzymała
Programowanie strukturalne i obiektowe
Prezentacja i szkolenie
ASP BAZY. 2.2 S. Wolek Wst. do Inf. Połączenie z bazą danych przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika ODBC.
Autor: Kamil Szafranek
Mechanizm OLE ang. Object Linking and Embedding źródła:
InTouch.
Narzędzia administracyjne
Maszyna wirtualna ang. virtual machine, VM.
Wybrane zagadnienia relacyjnych baz danych
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
Komendy SQL do pracy z tabelami i bazami
Prasek Aneta, Skiba Katarzyna. Funkcje stałe const to takie funkcje, które nie mogą modyfikować stanu obiektu. Oznacza to, że funkcja stała nie może zmieniać.
Aplikacje TCP i UDP. Łukasz Zieliński
Programowanie w języku C++
Programowanie w języku C++
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Oprogramowanie komponentowe w środowisku Microsoft Katarzyna Kuźniar 4 FDA, C1.
Beata Sanakiewicz. Spis treści  Łączenie dokumentów Łączenie dokumentów  Mechanizm OLE Mechanizm OLE  Obiekt osadzony Obiekt osadzony  Obiekt połączony.
Podstawy języka skryptów
Iga Lewandowska I EMII MU
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
.NET i Bazy Danych Projekt: Wadim Grasza.
Platforma .Net.
Łukasz Bieszczad Mateusz Gałązka Karol Włodarek
Programowanie Zaawansowane
1. Podaj definicję kartografii internetowej. 2. Geographic Markup Language: a) Jest schematem XML a) Opisuje obiekty w fizycznej przestrzeni a) Jest formatem.
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
materiały dla uczestników
Programowanie Obiektowe – Wykład 2
Strukturalny język zapytań SQL - historia
Aplikacje i usługi internetowe
Zapis prezentacji:

Obiekty COM Przemysław Buczkowski

Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM 6.Implementacja serwera COM 7.Pytania na kolokwium

COM – co to takiego? COM (ang. Component Object Model) to technologia firmy Microsoft z 1993 pozwalająca na współdzielenie i interakcje z binarnymi modułami za pomocą specjalnych interfece’ów. Wywodzi się z technologii OLE i OLE2. Współcześnie jest ciągle używana, jednak coraz częściej zastępowana jest przez technologie.NET’u o podobnej funkcjonajlości.

Zalety COM definiuje pewien standard na poziomie binarnym, w oderwaniu od konkretnego narzędzia projektowego czy języka programowania użytkownikowi jest obojętne, gdzie znajduje się wykorzystywany komponent; jeżeli nawet znajduje się on na odległym komputerze, aplikacja klienta korzysta z niego w taki sam sposób, jak z komponentu lokalnego

Wady COM zamknięty charakter technologii w związku z przywiązaniem do jednej platformy systemowej a nawet sprzętowej brak otwartych standardów

Historia DDE (Dynamic Data Exchange)(1987) OLE (Object Linking and Embeding)(1991) OLE2 (Object Linking and Embeding 2)(1992) COM (Component Object Model)(1993) OCXs (OLE custom controls),VBX->OCXs,OLE2->OLE(1994) ActiveX, (OCXs, OLE) -> ActiveX(1996) DCOM (Distributed COM)(1996) COM+,(COM,DCOM) -> COM+(2000)

COM – jak działa? Pisząc component COM tworzymy w dowolnym wspieranym języku (!) binarkę obsługującą daną funkcjonalność w postaci klasy. Jednocześnie tworzymy publiczną umowę w postaci interface’u który pod unikalnym kluczem GUID rejestrujemy w rejestrze systemu. Klasa z naszej binarki musi oczywiście implementować publikowany interface.

COM – jak działa 2? Ponadto klasa również posiada swój GUID. Do utworzenia definicji interface’u może służyć specjalny język Interface Definition Language, który po skompilowaniu narzędziem o nazwie MIDL (wchodzi w skład WinSDK) generuje pliki nagłówkowe, które dołączamy do projektu, w którym chcemy używać obiektu COM.

COM – jak działa 3? W docelowym programie za pomocą WinApi lub ‘wyżejpoziomowych’ blibliotek jak np. ATL dla c++ wywołujemy funkcje, które zwracają wskaźniki na utworzone ‘poza’ programem klasy implementujące pożądany interface.

Interface IUnknown Wszystkie definiowane interface’y muszą dziedziczyć z IUnknown, który zawiera trzy metody: AddRef(), Release() – są wywoływane przy tworzeniu i usuwaniu odnośnika do interface’u śledząc ilość odwołań QueryInterface() – pozwala uzyskać dostęp do obiektu poprzez inny, zadany obsługiwany przez niego interface

Paradygmaty COM Dzięki temu komponenty COM są zwrotne, przechodnie i symetryczne. Zwrotne - można na obiekcie danego typu żądać QueryInterface() na własny typ Przechodnie - jeśli A można zamienić na B i B na C to wtedy można uzyskać C z A Symetryczne - jeśli z A można uzyskać B to z B można uzyskać A

Implementacja

Pytania Opisz własnymi słowami jak działa COM, wymień wady i zalety Wymień i opisz trzy metody które musi implementować każdy komponent