Файл: Технология COM (Технология COM).pdf

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

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

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

Добавлен: 29.06.2023

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

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

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

Фабрика класса - это специальный СОМ-объект, который поддерживает интерфейс IclassFactory и отвечает за создание экземпляров того класса, с которым ассоциирована данная фабрика класса.

Интерфейс IclassFactory определен в модуле Delphi ActiveX так:

type

IClassFactory = interface (IUnknown)

['{00000001-0000-0000-COOO-000000000046}']

function Createlnstance (const unkOuter: lUnknown; const iid: TIID out obj): HResult; stdcall;

function LockServer (fLock: BOOL): HResult; stdcall; end;

Как видно из вышеприведенного куска кода, интерфейс имеет два метода:

Createlnstance и LockServer.

Метод Createlnstance создает экземпляр СОМ-объекта ассоциированной фабрики класса.

Метод LockServer применяется для хранения СОМ-сервера в памяти. Если параметр метода fLock имеет значение true, то счетчик ссылок сервера увеличивается, иначе - уменьшается. Когда счетчик достигает значения о, сервер выгружается из памяти.

Всякий раз, когда услуги СОМ-объекта запрашиваются клиентом, фабрика класса создает и регистрирует экземпляр объекта для конкретного пользователя. Если услуга того же СОМ-объекта запрашивает другой клиент, фабрика класса создает второй экземпляр объекта для обслуживания второго клиента. coclass должен иметь фабрику класса и идентификатор класса CLSID. Использование CLSID для cociass подразумевает, что они могут быть откорректированы всякий раз, когда в класс вводятся новые интерфейсы. Таким образом, в отличие от DLL, новые интерфейсы могут изменять или добавлять методы, не влияя на старые версии.

Мастер создания СОМ-объектов Delphi самостоятельно заботится о создании фабрики класса.

Локальные и удаленные серверы

С использованием СОМ клиент не должен беспокоиться о том, где располагается объект, он просто делает вызов интерфейса данного объекта. Технология СОМ обеспечивает все необходимые шаги для того, чтобы сделать этот вызов. Шаги могут отличаться, в зависимости от местонахождения объекта. Объект может находиться в том же процессе, где и клиент, в другом процессе на том же компьютере, где расположен клиент, или на другом компьютере в сети. В зависимости от этого применяются разные типы серверов:

- внутренний сервер (In-process server);

- локальный сервер или сервер вне процесса (Local server, Out-of-process server);

- удаленный сервер (Remote server).

Внутренний сервер - это библиотека DLL, которая запущена в одном процессе вместе с клиентом. Например, элемент управления ActiveX, который внедрен на Web-страницу и просматривается при помощи Internet Explorer или Netscape Navigator. В данном случае элемент управления ActiveX загружен на клиентскую машину и находится в том же процессе, что и обозреватель Web. Приложение-клиент связывается с сервером внутри процесса при помощи прямых вызовов СОМ-интерфейса.


Внутренний СОМ-сервер должен экспортировать четыре функции:

function DllRegisterServer: HResult; stdcall;

function DllUnregisterServer: HResult; stdcall;

function DllGetClassObject (const CLSID, IID: TGUID; var Obj): HResult;

stdcall;

function DllCanUnloadNow: HResult; stdcall;

Все вышеперечисленные функции уже реализованы в модуле comserv, их нужно только добавить в описания exports вашего проекта.

СОМ-объекта.

образом, - это процесс информации, а - процесс информации.

Тип зависит от принадлежности СОМ. могут стандартный маршалинга, интерфейсом . Стандартный позволяет связь при стандартного удаленного процедуры ( Procedure , RFC).

СОМ-сервер в системном Windows так же, как и СОМ-сервер.

сервер - это DLL или иное , запущенное на компьютере. То клиент и работают на компьютерах в . Например, базы , написанное с Delphi, с сервером на компьютере в . Удаленный использует СОМ-интерфейсы ( COM, DCOM) для с клиентом.

сервер также с прокси. в работе локальным и сервером в типе межпроцессной . В случае сервера - это СОМ, а в удаленного - DCOM.

C

Очень при разработке является приложений, СОМ-клиентами, могут интерфейсы , чтобы те услуги, может СОМ-объект.

СОМ-клиентом диспетчер (Automation ). Диспетчер - это часть , которая какой тип необходим ему объектов , и она запрашивает информацию по надобности.

СОМ

Технология СОМ разрабатывалась как для осуществления взаимодействия. Уже на разработки расширять технологии при так называемых СОМ. СОМ расширяет функциональность, созданию наборов для решения задач.

ActiveX - это , которая компоненты СОМ, элементы . Она была для того, работа с управления более . Это особенно при работе с Internet/Intranet, в элементы должны загружены на клиента, чем они будут .

Технология - не единственное СОМ. В табл. 3.2 некоторые из в настоящее расширений СОМ.

в табл. 3.2 СОМ - это далеко не все из . Постоянно доработка и создание , более технологий взаимодействия.гия СОМ базовой по к OLE и ActiveX. СОМ-объектов как преимущества, так и ограничения. могут как визуальными, так и . Какие-то должны запущены в процессе с , другие - в процессах на разных .

1.3 Технология OMG

Технология , разрабатываемая с года OMG (Object Group), результатом ведущих из более чем 800 и организаций. процесс , включая взаимодействия CORBA от поставщиков (), независимость от программирования и сред, поддержка ООП и другие характеристики, CORBA стандартом в инфраструктурного .

Основой CORBA :

IDL (Interface Language) - , позволяющий все аспекты взаимодействия; отображения на конкретные программирования;


ORB ( Request ) - объектная , позволяющая запросы от к серверам и ;

Сервисы( Object ) CORBA;

система, CORBA, не на применение операционных , двоичных , сетевых и языков . Фактически, это технология, обеспечивает использования любых программирования и программного практически на аппаратно-программных

Архитектура

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

технология четкое модулей на клиентские ( приложения) и (драйверы ). Технология удаленную модулей.

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

Язык

Технология позволяет разработку на любом программирования (++, Java, и др.) и под любую платформу ( Windows – , Linux, Sun Solaris – ). Однако языка Java получить преимущество программного не только без его , но даже и без его .

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

к БД

В случае языка для разработки ПК доступна технология с различными баз данных (Java Connectivity). частями JDBC JDBC API ( классов и , к которым прикладной ) и JDBC-драйверы, транслируют эти в команды API СУБД. данную можно систему, от используемого БД и, соответственно, возможность сервера для каждого в соответствии с объекта.

данных

Для настроек , конфигурации мест и информации в БД применять реляционную , при которой объектов типа в отдельной , содержащей колонок, списку этих . Такой хранения быстрые , поиск и данных из БД, и в информационных .

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

Обмен .

Используя для системы CORBA для стандартных задач воспользоваться сервисами . Сервисы решают поиска, отношений объектами, их состояний, транзакциями и , синхронного и уведомления о тех или событиях и другое. из самых сервисов Сервис (Event ) или идущий ему на и являющийся его и обобщением Уведомлений ( Service). Эти позволяют образом объекты системы о событиях. безопасности.


При системы на базе технологий особое уделить самого . Для решения задачи специальный Безопасности ( Service). Это сложный , спецификация его почти из 300 . Самое , что при всей его и многочисленности им проблем, он не "виден" для программиста - все выполняются , в том числе и контекста .

Операции, для конкретного типа.

, специфичные для видов объектов.

2. ПРАКТИЧЕСКАЯ

2.1 Краткое задачи

В предприятия ООО «» производится налоговых , предоставляемых , и формирование ведомостей.

налоговый предоставляется сотруднику в 400 руб. до тех пор, пока доход с года не 50000 руб., вычет на предоставляется в 600 руб. НДФЛ – на доходы лиц (13%) с начасленной за минусом налогового .

  1. построить по приведённым .
  2. выполнить размера вычета
  3. и заполнить расчётной
  4. результаты заработной за текущий представить в виде.

2.2 выполнения

  1. Откроим процессор .
  2. Создадим книгу, «Налоги».
  3. первый в «Данные».
  4. второй в «».
  5. Лист в «Расчетная ».

Рисунок 1. имени

  1. На листе «» сформируем «Данные для налоговых ».

Рисунок 2. для расчёта вычетов

  1. На «Размер» таблицу « налоговых , предоставляемых в текущем ».

Рисунок 3. налоговых

  1. На листе « ведомость» таблицу « ведомость» .

4. Расчётная

  1. Заполним «Размер вычетов, сотрудникам в месяце». Для в ячейку D4 формулу =4. И размножим её для ячеек с D5-D8

5. Заполненная ведомость

10. таблицу « ведомость»

11. графы « за месяц, .» , «Размер вычета, .».

12.Заполним «НДФЛ .», «К выплате, .» Для этого в С17 введём ставку, в F7 формулу =($17 и размножим её, в G7 формулу =7 и размножим её.

6. Заполненная ведомость.

13. таблицу « ведомость» в виде. Для выделим нас ячейки.


7. Выделение для графика

14. интересующий нас .

Рисунок 8. графика

15. расположение на листе.

9. Расположение на листе

Пожалуй, это из самых сервисов . Он решает многие : идентификации , определения доступа к , режимов полномочий при последовательных объектов другом, аудита, информации при , ведении истории объектов и другое.

СОМ имеет два плюса:

- СОМ-объектов не от языка . Таким , СОМ-объекты быть на различных ;

- СОМ-объекты быть в любой программирования под . В число сред Delphi, C++, C++Builder, Basic, и другие.

      организации

Литература

  1. К.В. , В.В.Леонтьев, объектные в информационных // СУБД .
  2. ЭккерсонВ.В лучше й клиент-сервер // . 2014.
  3. М. Симфония . “Открытые ” № 3 2015 г.
  4. В. Многоуровневые клиент-сервер. “ ” 2014 г.
  5. Дж. Оберг COM+. = Understanding and COM+: A Guide to 2000 First . - М.:«Вильямс», . - С. 480. - ISBN
  6. Соммервилл И. программного .
  7. Драница А. против .NET. - "", #516.
  8. А.А. Визуализация полей с текстурной // Изв. вузов. . регион. . науки. . №4. С. 5-9.
  9. Jobard B., W. The Motion Map: computation of flow // IEEE '97. Phoenix, , USA. 2014. P.
  10. М. Эллис, Б. . Справочное по языку C++ с : Пер. с англ. - : Мир, 2015.445.
  11. Г. Шилдт. C++: Пер. с англ. - : BHV-Санкт-Петербург, .620с.
  12. Х. , П. Дейтел. Как на C++: Пер. с англ. - : ЗАО "Издательство ", 2013.1024.
  13. Бадд, Т. программирование в / Т. Бадд. - СПб.: , 2015. - 464 с.
  14. Р. Природа и сценарных // МИР ПК - ДИСК. - . - № 10.
  15. Буч, Г. Объектно-ориентированный и проектирование с приложений на C++ / Г. Буч; пер. с . И. Романовский, Ф. . - М.: Бином, . - 560 с.
  16. Головач В. пользовательского . - 2016.
  17. Дал, У.И. -67: Универсальный программирования / У.И. Дал, Б. , К. Нюгорд; пер. с . К.С. Кузьмина, Е.И. . - М.: Мир, 2014. - 100 с.
  18. А.Е. Методологические развития программирования: по ВАК 09.00.08. - М., . - Режим : dissertCat.com.
  19. , М. Изучаем / М. Лутц; пер. с . А. Киселев. - 4-е изд. - СПб.: , 2015. - с.
  20. Неклюдова С.А., А.Р. Парадигмы как инструменты программных // Информационные и системы: сборник трудов. 1 (12). - СПб., .
  21. Себеста, Р.У. концепции программирования / Р.У. . - 5-е изд. - М.: Издательский дом «», 2014. - 672 с.
  22. , Б. Дизайн и С++ / Б. Страуструп. - СПб.: ДМК , 2013. - 445 с.
  23. Г.С. Новая . - Киев: , 2012. - доступа:
  24. Фридман, А.Л. объектно-ориентированной программных / А.Л. Фридман. - М.: и статистика, . - 97с.
  25. Эккель Б. С++. Введение в С++. - 2-е изд. - СПб. : Питер, - 572 с.
  26. Berdonosov, V. of knowledge and // ScienceDirect, an Journal. - . - Vol.09. - P.