Кіріспе
Microsoft компаниясы әзірлеген технология – Microsoft компаниясының құжаттар мен басқа да объектілерді кіріктіруге және байланыстыруға мүмкіндік беретін, эксклюзивті технологиясы. Бағдарламашылар үшін бұл OLE Control Extension (OCX) арқылы қолданушы интерфейсінің жекелеген элементтерін жасау және пайдалану жолы болды. Техникалық тұрғыдан алғанда, OLE объектісі – бұл объектінің қажеттіліктеріне қарай IOleObject интерфейсін және одан да көп басқа интерфейстерді қолдайтын кез келген объект.
Object Linking and Embedding (OLE) is a proprietary technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control Extension (OCX), a way to develop and use custom user interface elements. On a technical level, an OLE object is any object that implements the IOleObject interface, possibly along with a wide range of other interfaces, depending on the object's needs.
Шолу
OLE редакциялау бағдарламасына құжаттың бір бөлігін басқа редакциялау бағдарламасына экспорттап, одан кейін оны қосымша мазмұнымен импорттауға мүмкіндік береді. Мысалы, беттік басылым жүйесі мәтінді сөз өңдеушіге немесе суретті бит карта редакторына OLE арқылы жіберуі мүмкін. OLE-нің басты артықшылығы – мәтін редакторы және кескін редакторы сияқты әртүрлі бағдарламалардан құжатқа әртүрлі деректерді қосу. Бұл құрама файлдың екілік форматындағы құжатты және құжаттың сілтеме жасайтын бас файлды құрайды. Бас файлдағы деректерге енгізілген өзгерістер дереу оған сілтеме жасайтын құжатқа әсер етеді. Бұл "байланыс" деп аталады ("енгізу" орнына). OLE сонымен қатар әртүрлі бағдарламалар арасында деректерді сүйреп тастау және алмастыру буфері арқылы беру үшін де қолданылады.
ОЛЕ 1.0
1990 жылы шыққан OLE 1.0 – Microsoft компаниясының Windows-тың бұрынғы нұсқалары үшін әзірлеген бастапқы Динамикалық деректер алмасу (DDE) тұжырымдамасының дамуы. DDE екі жұмыс істеп тұрған бағдарлама арасында шектеулі көлемде деректерді жіберумен ғана шектелсе, OLE екі құжат арасында белсенді байланыстарды сақтауға немесе бір құжат түрін екіншісіне ендіруге мүмкіндік берді. OLE серверлері мен клиенттері жүйелік кітапханалармен виртуалды функция кестелерін (VTBL) пайдалана отырып байланысады. VTBL – жүйелік кітапхананың сервермен немесе клиентпен байланысу үшін пайдаланатын функция көрсеткіштерінің құрылымы. Сервер және клиент кітапханалары, бастапқыда бір-бірімен хабар арқылы байланысу үшін жасалған. OLE 1.0 кейіннен Component Object Model (COM) және одан кейін DCOM деп аталатын бағдарламалық компоненттердің архитектурасына айналды. OLE нысаны клипбордқа орналастырылғанда немесе құжатқа енгізілгенде, Windows-тың түпкілікті форматтарындағы (мысалы, биттік карта немесе метафайл) визуалды бейнесі, сондай-ақ оның негізіндегі деректер өз форматтарында сақталады. Бұл бағдарламаларға нысанды жасау үшін пайдаланылған бағдарламаны жүктемей-ақ нысанды көрсетуге мүмкіндік береді, ал тиісті бағдарлама орнатылған болса, нысанды өңдеуге де болады. OLE құрамындағы Object Packager, Windows 3.1-ден Windows XP-ге дейін қол жеткізіледі, OLE емес нысанды OLE клиентіне ендіру үшін "жинақтауға" мүмкіндік береді.
ОЛЕ 2.0
OLE 2.0 – OLE-нің келесі дамуы болды, ол 1.0 нұсқасымен ұқсас мақсаттарды бөлісті, бірақ тікелей VTBL-дерді пайдаланудың орнына COM негізінде қайта іске асырылды. Жаңа мүмкіндіктер: OLE автоматтандыру, сүйреп тастау, орнында белсендіру және құрылымдалған сақтау. Моникерлер OLE 1 нысандарының атауларынан дамыды және URL-дерге немесе URI-лерге ұқсас иерархиялық нысан мен ресурс атау жүйесін ұсынды, олар жекеше түрде ойлап табылды. Қазір Windows екі технологияны біріктірді, URL Moniker түрін және Moniker URL схемасын қолдайды.
OLE-нің бапталған басқару элементтері
OLE-нің арнайы басқару элементтері 1994 жылы қазір қолданыстан шығарылған Visual Basic Extension басқару элементтерінің орнына енгізілді. Оларды жаңартудың орнына, жаңа архитектура OLE-ге негізделді. Атап айтқанда, OLE 2.0 қолдайтын кез келген контейнер OLE арнайы басқару элементтерін орната алатын, бірақ егер контейнер оны қолдамаса, бұл басқару элементтері оқиғаларға реакция жасай алмайды. OLE арнайы басқару элементтері әдетте ocx кеңейтімді динамикалық кітапхана түрінде таратылады. 1996 жылы басқару элементтерінің файлының мөлшерін азайту үшін (IUnknown-нан басқа) барлық интерфейстер міндетті емес деп белгіленді, осылайша олар жылдамырақ жүктеледі; содан кейін олар ActiveX Controls деп аталды.
Техникалық мәліметтер
OLE объектілері мен контейнерлері Component Object Model негізінде жүзеге асырылады; олар өздерінің функционалдығын экспорттау үшін интерфейстерді іске асыратын объектілер. Тек IOleObject интерфейсі ғана міндетті, бірақ егер осы интерфейстер арқылы экспортталатын функционалдық қажет болса, басқа интерфейстерді де іске асыру қажет болуы мүмкін. Бұдан кейінгі мәтінді түсінуді жеңілдету үшін кейбір терминдерді түсіндіру қажет. Объектінің көрсетілу күйі – объектінің мөлдір, түссіз немесе қатты фонмен түссіз болуы, сондай-ақ белгілі бір аспектімен салуды қолдайтынына байланысты. Объектінің орны – контейнердегі объектінің орнын көрсететін объект. Контейнер өзінің құрамындағы әрбір объект үшін сайт объектісін қолдайды. Төменде интерфейстердің тізімі келтірілген, олар көбінесе оларды іске асыру қажетті объектілер бойынша топтастырылған. OLE объектісі көбінесе іске асыратын интерфейстерді OLE контейнері шақырады, және керісінше. Ескеріңіз, төмендегі тізімдегі енгізілгендер интерфейстің мұрагерлігін көрсетеді. Барлық енгізілмеген интерфейстер IUnknown-нан туындайды.
Жарыс
OpenDoc технологиясы OLE-мен бәсекелесуге тырысты. Microsoft компаниясының кейбір бәсекелестері OpenDoc-ты сенімдірек және қолдануға ыңғайлы деп есептеді; алайда OpenDoc-тың белгілі бір мәселелері болды. OpenDoc пайдаланушыларға Microsoft компаниясының өзгеше OLE стандартымен тікелей бәсекелесе отырып, әртүрлі бағдарламалар арқылы ақпаратты қарауға және өңдеуге мүмкіндік берді. 1993 жылы Microsoft компаниясының бәсекелестерінің бір тобы OpenDoc-ты платформалар аралық байланыс пен кіріктіру үшін ашық стандарт ретінде әзірлеу мақсатында Component Integration Laboratories ("CIL") деп аталатын консорциум құрды. Microsoft Windows 95 жүйесімен үйлесімділігі үшін бағдарламаны сертификаттау шарты ретінде OLE үйлесімділігін талап етті. Microsoft бастапқыда OpenDoc қолданатын бағдарламалар OLE-мен үйлесімді болады және Windows 95 үшін сертификат алады деп хабарлады. Бірақ кейіннен Microsoft бұл шешімнен бас тартып, OpenDoc қолданатын бағдарламалар сертификат алмай қалуы мүмкін екенін мәлімдеді. Microsoft өзінің бәсекелес бағдарламаларын шығарғанға дейін OLE-нің техникалық сипаттамаларын және түзетілген нұсқаларын жарияламай сақтап қалды.
Өзара әрекеттесу мүмкіндігі
OLE объектілерін пайдалану өзара үйлесімділікті шектейді, себебі бұл объектілер Microsoft Windows жүйесінен тыс файлдарды қарау немесе өңдеу бағдарламаларында кеңінен қолдау таба алмайды (мысалы, файлдың ішінде басқа файлдарды, сияқты мәтіндік құжатта немесе презентация файлында электрондық кестелерден немесе диаграммалардан кестелерді қою). Егер OLE объектісін түсінетін бағдарламалық қамтамасыз ету болмаса, объект әдетте суретпен (объектінің растрлік бейнесі) алмастырылады немесе мүлдем көрсетілмейді.