Зертханалық жұмыс №6. Ole, сом және ActiveX технологияларын қолдану



Дата04.12.2023
өлшемі107 Kb.
#194973
Байланысты:
lab4


Зертханалық жұмыс №6. OLE, СОМ және ActiveX технологияларын қолдану

Жұмыстың мақсаты: формальды модельдерді құруды үйрену және олардың негізінде әзірленетін бағдарламалық қамтамасыз етудің техникалық сипаттамаларын анықтау.


Зертханалық жұмыс 4 академиялық сағатқа есептелген.
Зертханалық жұмысқа дайындық
1. «Бағдарламалық қамтамасыз етуді әзірлеу технологиясы» пәнінің «OBE, COM және AcbueX технологияларын қолдану» тақырыбы бойынша дәріс материалымен танысыңыз.
2. [1–3, 10, 11] басылымдардағы сәйкес тарауларды зерттеңіз.
3. секпен танысыңыз. Осы оқулықтың 6.2.
Теориялық бөлім. OLE-ден ActiveX-ке
Бұл зертхана әртүрлі процестерден деректер мен кодты ортақ пайдалану үшін нысанға бағытталған протокол ретінде анықталуы мүмкін OLE (Object Linking and Embedding) пайдалануды зерттейді. OLE бағдарламашыларға құрама құжаттармен жұмыс істеуге арналған қосымшаларды құруға мүмкіндік береді, олар динамикалық байланысқан құрылымдар, олардың бөліктері әртүрлі бағдарламаларда өңделуі мүмкін.
Microsoft корпорациясының ActiveX және OLE бағдарламалары жақсырақ, сенімдірек және тиімді бағдарламаларға тағы бір қадам болып табылады.
ActiveX және OLE өте қарапайым идеяға негізделген, бірақ белгілі болғандай, ол бағдарламалаудың тиімділігін айтарлықтай арттыра алады.
Бастапқыда OLE Microsoft Office пакетіне енгізілген бағдарламалық өнімдерді біріктіру технологиясы ретінде ойластырылған. OLE предшественнигі Windows жүйесінде енгізілген DDE (Динамикалық деректер алмасу) технологиясы болып табылады, ол осы ортада әлі де кеңінен қолданылады. Дегенмен, көптеген әзірлеушілер DDE-ні пайдалануды қиын деп санайды, себебі бұл төмен деңгейлі технология.
OLE 1.0 OLE 1 жоғары деңгейлі технология ретінде жүзеге асырылды.Ол DDE хаттамасының мүмкіндіктерін кеңейтті және оны негізгі коммуникация механизмі ретінде пайдалана отырып, құжатқа енгізілген объектіні белсендіруге, яғни құрамды алуға мүмкіндік берді. құжат. Осылайша, OLE 1.0 асинхронды хаттаманың көптеген мәселелерін мұра етті. Бұл технологияның көптеген кемшіліктері болды және оның орналасуы аралық пайдаланушылар үшін тым күрделі болды. Сонымен қатар, орнатылған сілтемелер оңай бұзылады, мысалы, байланысты объектінің файлына кіру жолын өзгерту нәтижесінде.
OLE 1 көмегімен пайдаланушы, мысалы, Microsoft Excel бағдарламасымен жасалған электрондық кестені «дайындалған» Microsoft Word мәтіндік құжатымен біріктіре алады. Құжатқа негізделген компьютер моделі пайдаланушыға ақпарат туралы көбірек және оны өңдейтін қолданбалар туралы азырақ ойлауға мүмкіндік береді деген идея болды. «Байланыстыру және кірістіру» сөздері айтып тұрғандай, құрама құжаттарды екі түрлі құжатты байланыстыру арқылы немесе бір құжатты екіншісіне толығымен ендіру арқылы жасауға болады.
OLE 1, бағдарламалық өнімдердің көптеген ерте нұсқалары сияқты, мінсіз болмады. Келесі нұсқаның сәулетшілері бастапқы дизайнды жақсартуға мәжбүр болды. Олар көп ұзамай құрама құжаттардың жалпы мәселенің ерекше жағдайы екенін түсінді: әртүрлі бағдарламалық құрал құрамдастары бір-біріне қалай қызмет көрсетуі керек? Бұл мәселені шешу үшін OLE архитекторлары құрама құжаттардан әлдеқайда жоғары технологиялар тобын жасады. OLE 2 осы технологиялардың ішіндегі ең маңыздысы Компоненттік нысан үлгісіне (COM) негізделген. OLE жаңа нұсқасы біріншіге қарағанда құрама құжаттарды жақсырақ қолдауды қамтамасыз етіп қана қоймайды, сонымен қатар ол әртүрлі қолданбаларда жасалған құжаттарды жай ғана біріктіруден де асып түседі. OLE 2 бағдарламаның кез келген түрінің өзара әрекеттесуіне жаңа көзқараспен қарауға мүмкіндік береді.

1996 жылдың басында Microsoft корпорациясы ActiveX деген жаңа терминді енгізді. Алдымен ол Интернетпен байланысты технологияларға және одан пайда болған қолданбаларға, мысалы, WWW (World Wide Web) туралы айтты. Microsoft корпорациясының осы саладағы әзірлемелерінің көпшілігі COM-ға негізделгендіктен, ActiveX де OLE-мен тікелей байланысты болды. Дегенмен, көп ұзамай жаңа термин дәстүрлі түрде OLE-ге тиесілі аумақтарды ала бастады және қазір бәрі қалыпты жағдайға оралды: OLE, бұрынғыдай, тек байланыстыру және ендіру арқылы құрама құжаттарды құру технологиясына қатысты және әртүрлі COM. -негізделген технологиялар, бұрын OLE атауымен біріктірілген, ActiveX туының астында жиналған. Ал кейбір технологиялар, олардың атауында «OLE» сөзі бар, тіпті шомылдыру рәсімінен өткен - енді бұл ActiveX технологиялары.


COM түсінігі
Төменде сипатталған барлық OLE және ActiveX технологиялары COM ұсынған негізге құрылған. Сонымен, COM дегеніміз не? Бұл сұраққа жауап беру үшін алдымен тағы бір сұрақ қояйық: «Бағдарламалық жасақтаманың бір бөлігі екінші бөлік ұсынатын қызметтерге қалай қол жеткізуі керек?» Бүгінгі күні жауап осы бөліктердің не екеніне байланысты.
Кітапханаға байланыстырылған қолданбалар сияқты қолданбалар сол кітапхананың функцияларын шақыру арқылы оның қызметтерін пайдалана алады.
Қосымша басқаның қызметтерін де пайдалана алады, бұл мүлдем бөлек процесс. Бұл жағдайда осындай екі жергілікті процесс байланыс механизмінің қандай да бір түрі арқылы байланысады, бұл әдетте осы қолданбалар арасындағы хаттаманы анықтауды талап етеді (бір қолданбаға сұраныстар беруге, ал екіншісі оларға сәйкес жауап беруге мүмкіндік беретін хабарламалар жиынтығы).
Мысалы, қолданба операциялық жүйенің қызметтерін немесе басқа құрылғыда жұмыс істейтін бағдарламалық құралдың қызметтерін пайдаланады.
Барлық осы жағдайлардағы мәселе бірдей: бағдарламалық жасақтаманың бір бөлігі басқа бөлік ұсынған қызметтерге қол жеткізуі керек. Бірақ әр жағдайда қол жеткізу механизмі әртүрлі: жергілікті функцияларға шақырулар, процестер арасындағы байланыс арқылы берілетін хабарлама, жүйелік шақырулар (бағдарламашы көзқарасы бойынша олар функционалдық шақыруларға ұқсайды) немесе желілік байланыстың қандай да бір түрі. .
Бұл COM жасайды. Ол жоғарыда сипатталған барлық жағдайларда жұмыс істейтін бағдарламалық жасақтаманың бір бөлігі екіншісіне өз қызметтерін көрсететін стандартты механизмді анықтайды. Кітапханалардағы, қолданбалардағы, жүйелік бағдарламалық құралдағы және желілік бағдарламалық құралдағы қызметтердің жалпы архитектурасы COM-ға бағдарламаларды жазу жолын өзгертуге мүмкіндік береді.
COM-да бағдарламалық жасақтаманың кез келген бөлігі өз қызметтерін бір немесе бірнеше COM объектілері ретінде жүзеге асырады (COM объектілерін C++ сияқты бағдарламалау тілдеріндегі объектілермен шатастырмау керек; олардың ортақ мүмкіндіктері болғанына қарамастан, бұл әртүрлі ұғымдар; өзара байланыс нысандар төменде COM және басқа түрдегі нысандар сипатталатын болады.). Әрбір осындай нысан әдістерден тұратын бір немесе бірнеше интерфейстерді қолдайды. Әдіс – бұл қандай да бір әрекетті орындайтын және объектіні (объектінің клиенті) пайдаланатын бағдарламалық құрал арқылы шақырылуы мүмкін функция немесе процедура. Интерфейстердің әрқайсысын құрайтын әдістер әдетте қандай да бір жолмен байланысты. Клиенттер COM нысанының қызметтеріне тек нысанның интерфейстеріне әдіс шақырулары арқылы қол жеткізе алады, олардың нысан деректеріне тікелей қатынасы жоқ.
Көптеген COM нысандары бірнеше интерфейсті қолдайды. Нысанның өзі әрқашан кейбір серверде жүзеге асырылады. Сервер орындалу уақытында жүктелетін динамикалық сілтеме кітапханасы (DLL) немесе бөлек оқшау процесс болуы мүмкін.
COM нысанының интерфейсіндегі әдістерді шақыру үшін клиент сол интерфейске көрсеткішті алуы керек. Әдетте
COM нысаны өз қызметтерін бірнеше интерфейстер арқылы көрсетеді және клиент әдістерін шақыруға ниеттенген әрбір интерфейс үшін бөлек көрсеткіш қажет.

Кез келген COM нысаны белгілі бір сыныптың данасы болып табылады. Бір сыныптың нысандары,


мысалы, емле және синонимдік сөздік қызметтерін жүзеге асыра алады, ал басқа сыныптың нысандары банктік шоттарды көрсете алады. Әдетте, COM кітапханасы арқылы орындалатын нысанның данасын іске қосу үшін объект класын білу қажет. Бұл кітапхана COM қолдайтын кез келген жүйеде бар және осы құрылғыда қол жетімді барлық COM нысан сыныптарының каталогына қол жеткізе алады. Клиент, мысалы, COM кітапханасының функциясына қоңырау шала алады, оған қажетті COM нысанының класын бере алады және клиентке бірінші кезекте қажет көрсеткіші қажет нысан қолдайтын интерфейстердің бірін көрсете алады. (Бұл қызметтерді COM кітапханасы COM интерфейс әдістері арқылы емес, кәдімгі функция шақырулары ретінде жүзеге асырады.) Содан кейін COM кітапханасы осы сыныптың нысандарын жүзеге асыратын серверді іске қосады. Сонымен қатар, кітапхана клиентке жаңадан жасалған нысан данасы қажетті интерфейсіне көрсеткішті қайтарады. Бұдан басқа, клиент өзіне қажет басқа интерфейстерге көрсеткіштерді тікелей нысанның өзінен сұрай алады.
Қажетті іске қосылған нысанның интерфейсіне көрсеткішті ескере отырып, клиент осы интерфейстегі
әдістерді жай шақыру арқылы нысанның қызметтерін пайдалана алады. Бағдарламалаушының көзқарасы бойынша әдісті шақыру жергілікті процедураны немесе функцияны шақырумен бірдей. Бірақ шын мәнінде, әдісті шақыру арқылы орындалатын код кітапхананың немесе бөлек процестің немесе операциялық жүйенің бөлігі болуы мүмкін, тіпті басқа компьютерде де орналасуы мүмкін.
COM көмегімен клиенттер бұл айырмашылықтармен күресудің қажеті жоқ - барлығына бірдей жолмен қол
жеткізіледі. Бір жалпы үлгі бағдарламалық құралдың кез келген түрі ұсынатын қызметтерге қол жеткізу үшін пайдаланылады.
Microsoft көптеген өнімдерде COM пайдаланады; ол Microsoft Windows және Microsoft Windows NT кеңейтімдерін көрсету үшін және әртүрлі қызмет түрлеріне стандартты интерфейстерді анықтау үшін қолданылады. Бағдарламалық қамтамасыз етудің барлық түрлерін әзірлеуде COM пайдаланудың артықшылықтары даусыз.
OBE контейнерлері мен серверлерін әзірлеудің ең оңай жолы - арнайы шеберлерді (мысалы, App^arc1), сондай-ақ MEC кітапханасын пайдалану арқылы \%u1C++ ортасында.
Жұмыс киімі
1. Ол үшін Cnt қолданбасын жасаңыз:
• жаңа жобаны құруды бастау үшін Файл мәзірінен MicrosoftVisualC++ компилятор терезесінде Жаңа командасын таңдаңыз;
• Жаңа терезеде MFC AppWizard(exe) элементін таңдаңыз, нәтижесінде қолданба шебері іске қосылады, ол алты кезеңде жұмыс істейді:
- бірінші терезеде Singledocument опциясын орнатыңыз;
- екінші терезеде деректер базасын қолдауды орнатуға болмайды;
- үшінші терезеде қолданбаның OLE контейнері болатынын көрсететін Контейнер опциясын орнатыңыз. Сол терезеде ActiveX басқару элементтерін қолдауды қосу керек;
- келесі, төртінші терезеде әдепкі бойынша орнатылған барлық опцияларды қалдыру керек;
- бесінші терезеде MFC Standard опциясын, бағдарламаға түсініктемелерді қосу опциясын және MFC кітапханасын статикалық байланыстыру опциясын орнатыңыз;
- соңында алтыншы терезеде автоматты түрде құрылатын сыныптар тізімін қарап, «Аяқтау» түймесін басыңыз;
• Қолданба шебері жасалған параметрлердің есебі бар терезені көрсетеді. Егер бәрі дұрыс болса, жаңа қолданба кодын жасау процесін бастау үшін OK түймесін басыңыз;
• Құру мәзірінен Барлығын қайта құру пәрменін таңдау арқылы қолданбаның орындалатын файлын құру ғана қалады. Нәтижесінде CMT.EXE файлы DEBUG қалтасына қосылады.2. Проанализировать программный код.
Қолданба AppWizard арқылы жасалған бес негізгі бастапқы файлды қамтиды: CNT.CPP, MAINFRM.CPP, CNTDOC.CPP, CNTVIEW.CPP және CNTRITEM.CPP. Файлдар тізімі 5-қосымшада келтірілген.
3. Қажет болған жағдайда өзгертулер енгізіңіз.
4. Түзету бағдарламалары.
5. Контейнердің жұмысқа қабілеттілігін тексеріңіз, ол үшін: • Csh қолданбасын іске қосыңыз (L6.1-сурет);
Күріш. L6.1. Cnt қолданбасының терезесі

• Правка менюінен InsertNewObject... командасын таңдау, нәтижесінде объект кірістіруге арналған стандартты диалогтық терезе ашылады;


• осы терезеде Excel электрондық кестесіне сәйкес элементті таңдаңыз (Cурет A6.2).
Күріш. L6.2. Енгізілген нысанды таңдау
6. Нәтижені бағалаңыз (A6.3-сурет).
Күріш. L6.3. Excel электрондық кестесін Cnt қолданбасына ендіру
7. Мұғалімнің таңдауы бойынша қосымшаны құрыңыз.
8. Жұмысыңызды тапсырыңыз және қорғаңыз.
Зертханалық есептерді қорғау
Зертханалық есеп мыналардан тұруы керек:
1. Бағдарлама тізімдері.
2. Жұмыстың нәтижесі.
Зертханалық жұмыс бойынша есепті қорғау нәтижені оқытушыға (монитор экранында) көрсетуден, алған дағдыларын көрсетуден және оқытушының сұрақтарына жауап беруден тұрады.
тест сұрақтары
1. 01_E, COM және AcNueX технологияларын сипаттаңыз.
2. OBE артықшылықтары мен кемшіліктері қандай?
3. COM артықшылықтары мен кемшіліктері қандай?
4. OBE-ден AcHueX-ке дейінгі дамуды сипаттаңыз.
5. Y1$u1C++ және 01_E қалай байланысты?

Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет