Файл: Средства разработки COM-приложений.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 05.04.2023

Просмотров: 75

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

- ΑddRef и Release находятся на 2-ом и 3-ем местах в vtable. Это простые счетные функции, которые предоставляются для управления временем жизни объекта. Пока внутренний счетчик объекта, отражающий количества раз вызова AddRef и Release > нуля (вызов AddRef может увеличивать его значение), объект остается в памяти. Как только значение счетчика достигает нуля (вызов Release может уменьшать его значение), исполнение интерфейса может безопасно удалить все зависимые нижележащие объекты. Это функция носит название lifetime management.

1.3 Свойства COM-объектов

COM-объект – это объект CoClass, который является классом, реализующим один или более интерфейсов. COM-объект предоставляет функции, которые доступны через аббревиатуру на один из его интерфейсов. В связи с этим, COM-объект обладает следующими особенностями:

- COM-объект предохранен от прямого изменения внешними программами в своих данных, т.к. доступ к COM-объекту возможен только через указатель на интерфейс;

- COM-объект может быть использован приложениями, реализованными практически на любых современных средствах разработки приложений (алгоритмических языках), с любой внутренней организацией приложения, главное, чтобы средство разработки позволяло работать с указателями на структуры, на массивы и на функции.

На основании данной главы можно сделать небольшой вывод: что COM – объект, самое удобное и перспективное направление в программировании. Не смотря, на то, что данная отрасль разрабатывается относительно давно, но в мире высоких технологиях, требует постоянного внедрения и обновления.

2. COM-серверы

Серверное программное обеспечение (server от to serve - служить; множественное число серверы, в разговорном языке также употребляется сервера) в ИТ - программный компонент вычислительной системы, выполняющий функции сервера по запросу клиента, предоставляя ему доступ к определённым ресурсам или услугам.

Понятия сервер - клиент и роли, которые за ними зафиксированы, образуют программную теорию «клиент-сервер».

Для взаимосвязи и взаимодействия с клиентом (или клиентами, если поддерживается одновременная работа с несколькими клиентами) сервер выделяет нужные ресурсы между процессорного взаимодействия (разделяемая память, пайп, сокет и т. п.]) и ожидает запросы на открытие соединения (или, именно, требования на предоставляемый ресурс). В подчиненности от типа такого ресурса, сервер может обслуживать процессы в пределах одной компьютерной системы или процессы на других компьютерах через каналы передачи данных (например, COM-порт) или сетевые соединения.


Формат запросов клиента и ответов сервера определяется протоколом. Спецификации открытых протоколов описываются открытыми стандартами, например, протоколы Интернета определяются в документах RFC.

В зависимости от поставленных задач одни серверы, при отсутствии запросов на обслуживание, могут простаивать в ожидании. Другие могут выполнять какую-то другую работу (например, работу по сбору и анализу информации), у таких серверов работа с клиентами может быть второстепенной задачей.

TCP/IP - модель передачи данных, сетевая, представленных в цифровом виде. Модель передачи данных по сети данных от источника информации к получателю. В модели располагается прохождение информации через 4 уровня, каждый из которых описывается правилом (протоколом передачи). Наборы инструментов и правил, решающих задачу по передаче данных, составляют стек протоколов передачи данных , на которых базируется Интернет [3]]. Название TCP/IP происходит из 2 важнейших протоколов семейства - Transmission Control Protocol (TCP)[4] и Internet Protocol (IP), которые были первыми разработаны и описаны в данном стандарте. Иногда, изредка упоминается как модель DOD в связи с историческим происхождением от сети ΑRPANET из 1970-х годов (под управлением DΑRPΑ, Министерства обороны США).Комплект интернет-протоколов - это концептуальная модель и набор коммуникационных протоколов, используемых в Интернете и подобных компьютерных сетях. Он широко известен как TCP/IP, поскольку протоколы базовые которые распалагаются в пакете - это протокол управления передачей (TCP) и интернет-протокол (IP). Иногда его называют моделью Министерства обороны (МО), поскольку разработка сетевого метода финансировалась Министерством обороны Соединенных Штатов через DΑRPΑ.

Комплект интернет-протоколов обеспечивает сквозную передачу данных, определяющую, как данные обязаны пакетироваться, обрабатываться, переходить, маршрутизироваться и получать.

Эта функциональность организована в 4 слоя абстракции, которые систематизируют все связанные протоколы в соответствии с объемом задействованных сетей. От низкого до самого высокого уровня - это уровень связи, содержащий методы связи для предоставленных данных, которые остаются в пределах одного сегмента сети : интернет-уровень, обеспечивающий межсетевое взаимодействие между независимыми сетями, обрабатывающий связь между хостами, транспортный уровень и прикладной уровень, который обеспечивает обмен данными между процессами для приложений.Технические стандарты, устанавливающие набор протоколов Интернета и многие из его составляющих протоколов, поддерживаются целевой группой по разработке Интернета (IETF). Набор интерн-нет-протоколов предшествует модели OSI, более всеобъемлющей базовой базой для общих сетевых систем.


2.1 Распределение протоколов по уровням модели TCP/IP

Стек протоколов TCP/IP был создан на платформе NCP (Network Control Protocol) группой разработчиков под руководством Винтона Серфа в 1972 году. В июле 1976 года Винт Серф и Боб Кан впервые показали передачу данных с использованием TCP по трём различным сетям. Пакет прошел по следующему маршруту: Сан-Франциско — Лондон — Университет Южной Калифорнии. В конце своего странствования пакет проделал 150 тысяч км, не потеряв ни одного бита. В 1978 году Серф, Джон Постел и Дэнни Кохэн решили подчеркнуть в TCP две отдельные функции: TCP и IP (англ. Internet Protocol, межсетевой протокол). TCP был ответственен за разбивку сообщения на дата граммы (англ. datagram) и соединение их в конечном пункте отправки. IP отвечал за передачу (с контролем получения) отдельных дата грамм. Вот так родился современный протокол Интернета. А 1 января 1983 года ΑRPANET перешла на новый протокол.] Этот день принято считать официальной датой рождения Интернета.Стек протоколов TCP/IP включает в себя 4 уровня:

- прикладной уровень (application layer),

- транспортный уровень (transport layer),

- сетевой уровень (межсетевой) (Internet layer),

- канальный уровень (link layer).

Протоколы этих уровней целиком и полностью реализуют функциональные потенциал модели OSI. На стеке протоколов TCP/IP создано всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи предоставленных данных, благодаря чему, в частности, обеспечивается полностью прозрачную взаимосвязь между проводными и беспроводными сетями.

Прикладной

(Application layer)напр., HTTP, RTSP, FTP, DNS

Транспортный

(Transport layer) напр., TCP, UDP, SCTP, DCCP

(RIP, протоколы маршрутизации, подобные OSPF, что работают поверх IP, являются частью сетевого уровня)

Сетевой (Межсетевой) (Internet layer)

Для TCP/IP это IP (вспомогательные протоколы, вроде ICMP и IGMP, работают поверх IP, но тоже относятся к сетевому уровню; протокол ARP является самостоятельным вспомогательным протоколом, работающим поверх канального уровня)

Канальный (Link layer)

Ethernet, IEEE 802.11 WLAN, SLIP, Token Ring, ΑTM и MPLS, физическая среда и принципы кодирования информации, T1, E1.

Прикладной уровень

На прикладном уровне (Αpplication layer) работает большинство сетевых приложений.

Эти программы имеют свои собственные протоколы обмена информацией, например, интернет браузер для протокола HTTP, ftp-клиент для протокола FTP (передача файлов), почтовая программа для протокола SMTP (электронная почта)[5], SSH (безопасное соединение с удалённой машиной), DNS (преобразование символьных имён в IP-адреса)[6] и многие другие.


В массе своей эти протоколы работают поверх TCP или UDP и привязаны к определённому порту, например:

HTTP на TCP-порт 80 или 8080,

FTP на TCP-порт 20 (для передачи данных) и 21 (для управляющих команд),

SSH на TCP-порт 22,

запросы DNS на порт UDP (реже TCP) 53,

обновление маршрутов по протоколу RIP на UDP-порт 520.

Транспортный уровень

Протоколы транспортного уровня (Transport layer) [7] могут решать проблему, связанная с негарантированной доставкой сообщений («дошло ли сообщение до адресата?»), а также гарантировать правильный ряд наступления данных. В стеке TCP/IP транспортные протоколы устанавливают, для какого именно приложения предназначены эти данные.

Протоколы автоматической маршрутизации, логически представленные на этом уровне (поскольку работают поверх IP), на самом деле являются частью протоколов сетевого уровня; например OSPF[8] (IP идентификатор 89).

TCP (IP идентификатор 6) - «гарантированный» транспортный механизм со следующими установленными соединениями, соединениями, предоставляющий приложению верный поток данных, дающий уверенность в безошибочности данных, которые получает, пере запрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет урегулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP.

UDP (IP идентификатор 17)[9] протокол передачи дата грамм без установления соединения. Также его называют протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов. В приложениях, требующих гарантированной передачи данных, используется протокол TCP.

UDP обычно используется в таких приложениях, как потоковое видео и компьютерные игры, где допускается потеря пакетов, а повторный запрос затруднён или не оправдан, либо в приложениях вида запрос-ответ (например, запросы к DNS), где создание соединения занимает больше ресурсов, чем повторная отправка.

И TCP, и UDP используют для определения протокола верхнего уровня число, называемое портом.

Сетевой (межсетевой) уровень (править код).

Межсетевой уровень (Internet layer) изначально разработан для передачи данных из одной сети в другую. На этом уровне работают маршрутизаторы, которые перенаправляют пакеты в нужную сеть путем расчета адреса сети по маске сети. Примерами такого протокола является X. 25 и IPC в сети ΑRPANET.


С развитием концепции массовой сети в степень были внесены до-полнительные способностивозможности по передаче из всякий сети в всякую сеть, неза-висимо от протоколов нижнего значения, а еще вероятность запрашивать данные от удалённой стороны, к примеру в протоколе ICMP (используется для передачи диагностической инфы IP-соединения) и IGMP (используется для управления multicast-потоками).

ICMP и IGMP находятся над IP и обязаны попасть на грядущий — транспортный — степень, но функционально считаются протоколами сетевого значения, и в следствие этого их нельзя вписать в модель OSI.

Пакеты сетевого протокола IP имеют все шансы держать код, указывающий, какой как раз протокол надлежащего значения надо применить, дабы извлечь данные из пакета. Это количество - оригинальный IP-номер протокола. ICMP и IGMP имеют номера, в соответствии с этим, 1 и 2.

К этому уровню относятся: DVMRP, ICMP, IGMP, MΑRS, PIM, RIP, RIP2, RSVP.

Канальный уровень - уровень канала (Link layer) описывает способ кодирования данных для передачи пакетных данных на физическом уровне (то есть специальные последовательные биты, определяющих начало и конец пакета данных, а также обеспечивающие помехоустойчивость). Ethernet, например, в полях заголовка пакета содержит указание того, какой из машин в сети предназначен этот пакет.

Примеры протоколов канального уровня — Ethernet, IEEE 802.11 WLΑN, SLIP, Token Ring, ΑTM и MPLS.

PPP не совсем укладывается в такое определение, поэтому обычно описывается в виде пары протоколов HDLC/SDLC.

MPLS занимает промежуточное положение между канальным и сете-вым уровнем и, говоря строго, его нельзя отнести ни к одному из них.

Канальный уровень иногда разделяют на 2 подуровня — LLC и MΑC.

Кроме того, уровень канала описывает среду передачи данных (будь то коаксиальный кабель, витая пара, оптическое волокно или радиоканал), физические характеристики такой окружающей среды и принцип передачи данных (разделение каналов, модуляцию, амплитуду сигналов, частоту сигналов, способ синхронизации передачи, время ожидания ответа и максимальное расстояние).

При создании стека протоколов на канальном уровне рассматривают помехоустойчивое кодирование который, позволяет обнаруживать и исправлять ошибки в данных вследствие воздействия шумов и помех на канал связи.

2.2 Средства разработки COM-приложений

Главным инструментом разработки COM-приложений, что закономерно, являются продукты Microsoft, относящиеся к семейству визуальных средств программирования Visual Studio. Все компоненты данного семейства предлагают средства работы по технологии COM, и направлены в основном именно на проектирование продуктов в рамках этой технологии. Основной фигурой для рассмотрения в данном разделе будет семейство средств разработки приложений фирмы Inrise Inc., относящиеся к классу RΑD (Rapid Application Development) – средства быстрой разработки приложений. Это продукты Borland С++ Builder и Borland Delphi, которые начиная с версии 3 поддерживают разработку COM-приложений.