Technologie komponentowe COM, COM+, DCOM

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Systemy Single Sign On Praca magisterska Opiekun:
Programowanie obiektowe
Role w zespole projektowym
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.
CORBA Łukasz Wnęk.
ADAM Active Directory w trybie aplikacyjnym
Microsoft Office System w praktyce wdrożenie w COMARCH-CDN
Zarządzanie informacją a produktywność przedsiębiorstwa
Prognozowanie zapotrzebowania na usługi medyczne
Politechnika Gdańska WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI
Politechnika Gdańska WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI
Inteligentny System Aktualności
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
System Medyk Założenia, historia, wynik prac i wnioski.
Platforma .Net i Vs.Net.
Zarządzanie Wersjami Na przykładzie pakietu Microsoft Visual SourceSafe 6.0 (VSS) Krzysztof Trela, s1761.
(Content Management System)
ASP.NET i platforma.NET Technologie internetowe ( ) Tomasz Popów
Longhorn - Usługi terminalowe
Koordynatorzy: Krzysztof BIKONIS Marek MOSZYŃSKI
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
Information Bridge Framework platforma integracji Microsoft Office 2003 z aplikacjami Line of Business Krzysztof Michalski10/01/2005.
Microsoft Serwer - wprowadzenie
Paweł Fałat Katedra Informatyki Stosowanej
Rynek tłumaczeń i lokalizacji w Polsce, Wrocław marca 2009r. Przegląd najnowszych technologii różnych producentów Autor: Wojciech Froelich Argos.
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Analiza i ocena procesów wdrożeniowych systemów klasy MRP/ERP w firmie
Projekt i implementacja narzędzia wspierającego zarządzanie siecią komputerową Dyplomant: Piotr Kodzis Promotor: mgr inż. Krzysztof Nierodka.
Autor: Michał GAWRYLUK
Analiza, projekt i częściowa implementacja systemu obsługi kina
C# Windows Forms Zastosowania Informatyki Wykład 2
„Implementacja modułu tworzenia siatki do komponentowej biblioteki Metody Elementów Skończonych w języku C++” Autor: Piotr Opiekun Wydział Inżynierii Metali.
Budowa platformy do rejestracji i odtwarzania wykładów akademickich
Trochę historii Budowa Hello World Właściwości języka.
.NET gdzie szukać? .NET co warto wiedzieć?
IT Asset Management Service
MMH Mobile Projekt programistyczny 2013
Platforma Eclipse.
Opracował : Przemysław Drzymała
Systemy operacyjne. Komputer aby mógł realizować zadania oraz aby wszystkie urządzenia w systemie komputerowym mogły działać poprawnie, musi być wyposażony.
Rozdział 1: Wprowadzenie do systemu Windows 2000 i podstaw sieci
Obsługa dostępu do danych i ich dostępności
Mechanizm OLE ang. Object Linking and Embedding źródła:
Wykonał: Michał Nikołajuk
Obsługa procesów biznesowych w MOSS 2007 Na przykładzie procesu obsługi zleceń Paweł Wróbel.
Biblioteka publiczna w regionie jako interfejs między organami władzy samorządowej a obywatelem. Otwieranie świata - w drodze ku otwartemu społeczeństwu.
Kostyantyn Doronovych, 79129, sr1640 Łukasz Marciniak, 79166, sr1640
Kostyantyn Doronovych, 79129, sr1640 Łukasz Marciniak, 79166, sr1640
Laborka.wp.pl / opiwo.com / Piotr Gabryjeluk / 28 lutego 2008 Czym jest opiwo.com Projekt serwisu internetowego, który umożliwia spisywanie zakładów w.
Automatyzacja zadań administracyjnych za pomocą Windows PowerShell
SOS SYSTEM OBSŁUGI SZKOŁY
„Kalkulator zużycia oraz kosztu energii elektrycznej online „
96 Volt A. Mucha & M. Płonka Spółka Jawna Misją naszego przedsiębiorstwa jest przyczynianie się do rozwoju firm i zaspokajanie ich potrzeb po przez dostarczanie.
Bazy danych, sieci i systemy komputerowe
Systemy operacyjne Krzysztof Rumanowski.
XXV lat WINDOWS A Ty, od której, wersji zaczynałeś ? *j.
Technologie programowania systemów internetowych
System operacyjny Windows
Technologie internetowe i mobilne
Waldemar Bartyna Pytania egzaminacyjne 1.
Komponentowe systemy rozproszone Wprowadzenie. Komponent... jest to podstawowa jednostka oprogramowania z kontraktowo (deklaratywnie) opisanymi interfejsami,
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.
Podsłuchiwanie klawiatury z użyciem mechanizmu Windows Hooks
SIEĆ KLIENT-SERWER Pojęcie sieci typu klient – serwer.
Temat 1 Pojęcie systemu operacyjnego Opracował: mgr Marek Kwiatkowski.
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
Podstawy programowania
JavaBeans by Paweł Wąsala
Zapis prezentacji:

Technologie komponentowe COM, COM+, DCOM Marek Zdarta©®™ I tak pewnie nikt tego nie będzie czytał więc na rozluźnienie link: http://www.sweetbrokacik.propl.eu/ LOL

Wstęp Pierwotne założenia Historia technologii Podział (COM, COM+, DCOM) Pierwotne założenia. Podstawowy skrót jest rozumiany jako Component Object Model i odnosi się do zasady działania technologii. Słowo komponent oznacza skompilowany moduł programowy, który za pomocą odgórnie zdefiniowanego interfejsu udostępnia swe funkcje i jest zdolny do współpracy z systemem operacyjnym i innymi komponentami. Już w czasach Windows 3.0 zaistniała potrzeba stworzenia komunikacji międzyprocesowej wykraczającej poza wysyłanie wiadomości tekstowych lub komunikatów systemu. W roku 1993 Microsoft przedstawił więc technologię COM. Jej główną częścią składową były OLE2 (ang. Object Linking and Embedding), których zadania wykraczały poza współdzielenie treści między różnymi dokumentami. Od tej pory były to moduły, które swoją funkcjonalność udostępniały wielu różnym aplikacjom korzystającym z interfejsu COM. Na bazie tej specyfikacji powstały takie technologie, jak DirectX, SQL Server, MS Access i inne. Technologia COM jest w zasadzie ramową i określa całą rodzinę technologii komponentowych. COM+ natomiast powstał z myślą o systemach biznesowych (np.. Windows NT). Z kolei rozwinięcie DCOM powstało jako odpowiedź na konkurencyjną technologię CORBA i umożliwiało aplikacjom sieciowym komunikację. Zostało ono wprowadzone po raz pierwszy również w Windows NT4.0.

COM Główne cechy: Możliwość uruchamiania na wielu różnych platformach Implementacja wspólnych obiektów dla różnych środowisk programistycznych Łatwy dostęp do funkcji przy pomocy tzw. interfejsów Choć COM został stworzony przez Microsoft głównie dla systemów operacyjnych Windows, możliwe jest stosowanie go także na innych platformach. Głównym celem stworzenia technologii było (oprócz współdzielenia tekstu między aplikacjami) danie możliwości współpracy między różnymi językami programowania. Udało się to osiągnąć poprzez implementację obiektów w sposób niezależny od języka programowania, dzięki czemu nie dość, że mogą być używane w środowiskach różnych od tych w jakich zostały stworzone, ale nawet na różnych platformach sprzętowych. Jeśli dany komponent jest bardzo dobrze napisany i odpowiednio wykorzystuje interfejsy – aplikacja nie będzie w stanie „rozpoznać” metody implementacji. Obiekty utworzone za pomocą COM same są odpowiedzialne za tworzenie konstruktorów oraz destruktorów przy pomocy licznika odniesień. Preferowaną metodą dziedziczenia w technologiach komponentowych jest natomiast tworzenie pod-obiektów, do których odwołują się poszczególne metody.

COM Wady technologii: Pętla zdarzeń Zliczanie odniesień „DLL hell” Bezpieczeństwo Mimo, że technologia ma wiele szczytnych założeń, ma też sporo wad. Pierwszą z nich jest tzw. event loop (message pumping, message loop). Sama ta technologia oznacza stworzenie obiektu, który odpowiada za przesyłanie wiadomości między procesami. W praktyce sprowadza się to do odpytywania (a raczej czekania na przyjście zdarzenia) i często do zakleszczeń (nawet w obrębie całego systemu!) jeśli nie pojawi się żadne ze zdarzeń. Drugim znaczącym problemem jest tzw. „Reference counting”. Zliczanie odniesień może stanowić problem, gdy do dwóch lub więcej obiektów pojawiają się cykliczne odniesienia. Projektant aplikacji musi też pamiętać, że obiekty nie mogą zostać osierocone. W tym przypadku proces oczekuje z uruchomieniem zdarzenia do czasu, gdy licznik osiągnie wartość 0; a to nie musi wcale nastąpić! Istnieją dwie metody przerywania cyklu: „out-of-band termination” polega na udostępnieniu przez jeden z obiektów metody, która automatycznie przerwie cykl „split identities” – jeden proces tworzy dwa obiekty połączone „słabym odniesieniem”, przez co mogą być usunięte przez mechanizm garbage collector DLL h3ll – problem dotyczący tylko systemów Windows (95-Me). Wywodził się z tego, że GUID każdego pliku DLL, COM, etc musiał zostać wpisany do rejestru systemu operacyjnego. Nie dość, że powiększało to znacząco jego rozmiary to powodowało masę problemów: Często zdarzało się, że dany plik był wykorzystywany tylko przez jedną aplikację Kilka różnych aplikacji mogło wymagać plików o tych samych nazwach, choć różniących się np. wersją i tym samym zgłaszało komunikaty z błędami Problem ten dało się znacznie ograniczyć w Windows XP (i późniejszych) poprzez tzw „Registration-free COM” – komponenty już nie musiały być „spisane” w rejestrze, a mogły się znajdować w folderach programów (wyjątkami są Internet Explorer, DirectX, MSXML, etc). Kwestia bezpieczeństwa – pomijając negatywny wpływ na bezpieczeństwo i stabilność systemu powyższych problemów jest jeszcze kwestia kontrolek ActiveX. Są to obiekty COM przeznaczone do rozpowszechniania w internecie i zazwyczaj rozszerzające możliwości przeglądarki Internet Explorer. Do niedawna, gdy nie był od nich wymagany podpis cyfrowy – były źródłem rozprzestrzeniania szkodliwego oprogramowania, ataków na komputery, etc. Spowodowało to ogólną niechęć do produktu MS.

COM+ Wprowadzone technologii do Windows NT4.0 Nowe możliwości wraz z premierą Windows 2000 Technologia ta miała swój początek w Win NT4 po to, by dać developerom możliwość korzystania z wielu zaawansowanych mechanizmów, pokroju transakcji rozproszonych, odpytywania o zasoby, lepszego wykorzystania CPU i pamięci, ale też by Microsoft mógł wkroczyć na rynek profesjonalnego oprogramowania biznesowego jako „zawodnik” alternatywny do już obecnych. Wraz z premierą Win200 firma wprowadziła do systemu tzw. Microsoft Transaction Server, a wraz z nim na stałe technologię COM+. Interfejsy komponentów COM+ z kolei dostępne przez usługi komponentowe, co pozwalało pozbyć się części problemów i odciążało programistów. Jedną z ważniejszych zalet nowej technologii była możliwość tworzenia wielokrotnych odwołań do już załadowanego komponentu (o ile był dobrze napisany), co pozwalało zmniejszyć zużycie zasobów.

DCOM Sieciowa wersja technologii komponentowych Konieczność rozwiązania problemu marshallingu, „distributed garbage collection” Konkurencyjne technologie Zarzucenie na rzecz platformy .NET Najważniejszą cechą nowej technologii była możliwość użytkowania jej przez interfejsy sieciowe, co w poprzednich wersjach znacznie niedomagało. Przedrostek „D” wziął się z użycia technik DCE/RPC (zdalne wywołanie procedur – pozwala to na pracę oprogramowania na kilku maszynach jednocześnie). Ułatwiło to programistom pisanie aplikacji rozproszonych – nie musieli już się martwić o problemy związane z elementami stricte sieciowymi. Problemem, którego Microsoft (tak samo jak twórcy konkurencyjnej CORBY) nie mógł przeskoczyć były firewalle, przez co obie technologie zwyciężył protokół HTTP wraz z przeglądarkami internetowymi. Dwoma problemami, z którymi trzeba się było uporać był marshalling i „zbieranie nieużytków z aplikacji rozproszonych”. Pierwszy oznacza – konieczność transformacji bardziej złożonych obiektów na prostsze (ciąg znaków, plik XML) w celu przesłania ich np. przez sieć, do innych wątków, czy też aplikacji napisanych w różnych językach programowania. Z kolei drugi problem oznacza systemowy mechanizm usuwania z pamięci użytych już komponentów, danych przez nie pozostawionych i innych śmieci, pozostawionych nawet przez aplikacje „rezydujące” na innej maszynie. Choć DCOM powstało jako odpowiedź na konkurencyjną technologię CORBA, istnieją także inne technologie komponentowe, takie jak COMsource, j-Interloop, j-Integra czy EntireX DCOM (komercyjny). Niezależnie od wad i zalet technologii COM, firma Microsoft zarzuciła jej rozwijanie na rzecz całkowicie autorskiej platformy .NET.

Koňec!