213
Егер СОМ нысаны СОМ іске асырудың негізгі элементі болып
табылса, онда интерфейстер СОМ әдістемесінің орталық буыны болып
табылады. Интерфейс клиентке СОМ нысанына дұрыс жүгінуіне, ал
нысанға оны клиент «түсінетіндей» мүмкіншілік беретін құрал болып
табылады.
Сәйкестендіру үшін әрбір интерфейстің екі атрибуты болады:
1) қолданылатын
бағдарламалау
тілінің
ережелеріне
сәйкес
символдардан құрылатын оның аты. Әрбір атау «I» символынан
басталуы тиіс. Бұл атау бағдарламалық кодта қолданылады;
2) жаһандық бірегеі идентификатор (Globally Unique IDentifier, GUID),
ол әлемдік ешбір
компьютерде қайталанбайтын, символдардың
кепілдендірілген бірегей қиысуын білдіреді. Интерфейстер үшін,
осындай идентификатордың атауы IID (Interface Identifier).
Жалпы жағдайда, клиент нысанның қандай интерфейстері бар
екендігін білмеуі мүмкін. Олардың тізімін алу үшін, кез келген СОМ
нысанынде бар IUnknown негізгі интерфейсі қолданылады.
СОМ сервері орындалатын файлды білдіреді: бір немесе әртүрлі
кластардың бір немесе бірнеше нысандарын қамтуы мүмкін қосымша
немесе динамикалық кітапхана. Сервердің үш типі бар:
1)
ішкі сервер (in-process server) динамикалық
кітапханалармен іске
асырылады, олар қосымша-клиентке қосылады және онымен бірге
бір адрестік кеңістікте жұмыс істейді;
2)
жергілікті сервер (local server) клиентпен бірге бір компьютерде
жұмыс істейтін бөлек процессормен құрылады;
3)
қашықтықтағы сервер (remote server) клиентке қатысты басқа
компьютерде жұмыс істейтін процессормен құрылады.
Негізгі
функциялар мен интерфейстердің орындалуын қамтамасыз
ету үшін операциялық жүйеде арнайы
СОМ кітапханасы бар (нақты іске
асыру әртүрлі болуы мүмкін). Кітапхана мүмкіншілктерін
рұқсат
стандартты жолмен жүзеге асырылады - функцияларды шақыру арқылы.
Қолдайтын СОМ қосымшаны орнату кезінде желілік тізілімге
онымен іске асырылатын барлық СОМ нысандары туралы ақпарат
жазылады:
■
клас идентификаторы (Class Identifier, CLSID), ол бір мәнді
нысанның класын анықтайды;
■
нысан серверінің типі - ішкі,
жергілікті немесе қашықтықтағы;
■
жергілікті және ішкі серверлер үшін динамикалық кітапхананың
немесе орындалатын файлдың толық аты сақталады;
■
қашықтықтағы серверлер үшін толық желілілк адресі жазылады.
Кітапхана, қызметтерді басқару диспетчерлерінің көмегімен (Service
Control
Manager,
SCM),
желілік
тізілімге
жүгінеді,
класс
214
идентификаторы бойынша сервер туралы ақпаратты табады және оны
іске қосады. Сервер класс данасы - нысанды құрады және кітапханаға
сұратылған интерфейске нұсқаушыны қайтарады.
СОМ кітапханасы клиентке нұсқаушыны табыстайды, ол ақырында
тікелей нысанға жүгінуі мүмкін.
Класс данасын іске қосу үшін арнайы нысанды - класс фабрикасы
қолданылады.
Оның көмегімен бір нысанды, сондай-ақ оның бірнеше
данасын құруға болады. Әрбір класс үшін өзінің жеке класс фабрикасы
болуы тиіс.
2002 ж. Microsoft . NET плаатформасы ресми түрде шығарылды, оны
Microsoft бүгінгі уақытта Windows астына қосымшаларды және
компоненттерді құруға ұсынылатын негіз ретінде жарияланған. NET-ке
.NET қосымшасынан және керісінше СОМ компоненттеріне жүгінуге
болатын барлық құралдар енгізілген. Microsoft, COM өкілдерінің айтуы
бойынша .NET өзара толықтырушы технологиялар болып табылады.
Достарыңызбен бөлісу: