tehnologia (Г.С. Иванова - Учебник - Технология программирования), страница 4
Описание файла
Файл "tehnologia" внутри архива находится в папке "Учебник - Технология программирования". PDF-файл из архива "Г.С. Иванова - Учебник - Технология программирования", который расположен в категории "". Всё это находится в предмете "информационные технологии" из 2 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информационные технологии" в общих файлах.
Просмотр PDF-файла онлайн
Текст 4 страницы из PDF
При использованиивизуальной среды у программиста появляется возможность проектировать некоторую часть,например, интерфейсы будущего продукта, с применением визуальных средств добавления инастройки специальных библиотечных компонентов. Результатом18визуального проектирования является заготовка будущей программы, в которую ужевнесены соответствующие коды.Использование объектного подхода имеет много преимуществ, однако его конкретнаяреализация в объектно-ориентированных языках программирования, таких, как Pascal и C++,имеет существенные недостатки:• фактически отсутствуют стандарты компоновки двоичных результатов компиляцииобъектов в единое целое даже в пределах одного языка программирования: компоновкаобъектов, полученных разными компиляторами C++ в лучшем случае проблематична, чтоприводит к необходимости разработки программного обеспечения с использованием средстви возможностей одного языка программирования высокого уровня и одного компилятора, азначит, требует наличия исходных кодов используемых библиотек классов;• изменение реализации одного из программных объектов, как минимум, связано сперекомпиляцией соответствующего модуля и перекомпоновкой всего программногообеспечения, использующего данный объект.Таким образом, при использовании этих языков программирования сохраняетсязависимость модулей программного обеспечения от адресов экспортируемых полей иметодов, а также структур и форматов данных.
Эта зависимость объективна, так как модулидолжны взаимодействовать между собой, обращаясь к ресурсам друг друга. Связи модулейнельзя разорвать, но можно попробовать стандартизировать их взаимодействие, на чем иоснован компонентный подход к программированию.Четвертый этап – компонентный подход и CASE-технологии (с середины 90-х годовXX в.
до нашего времени). Компонентный подход предполагает построение программногообеспечения из отдельных компонентов – физически отдельно существующих частейпрограммногообеспечения,которыевзаимодействуютмеждусобойчерезстандартизованные двоичные интерфейсы. В отличие от обычных объектов объектыкомпоненты можно собрать в динамически вызываемые библиотеки или исполняемыефайлы, распространять в двоичном виде (без исходных текстов) и использовать в любомязыке программирования, поддерживающем соответствующую технологию.
На сегоднярынок объектов стал реальностью, так в Интернете существуют узлы, предоставляющиебольшое количество компонентов, рекламой компонентов забиты журналы. Это позволяетпрограммистам создавать продукты, хотя бы частично состоящие из повторноиспользованных частей, т.е. использовать технологию, хорошо зарекомендовавшую себя вобласти проектирования аппаратуры.Компонентный подход лежит в основе технологий, разработанных на базе COM(Component Object Model – компонентная модель объектов), и технологии созданияраспределенных приложений CORBA (Common Object Request Broker Architecture - общаяархитектура с посредником обработки запросов объектов). Эти технологии используютсходные принципы и различаются лишь особенностями их реализации.19Технология СОМ фирмы Microsoft является развитием технологии OLE I (Object Linkingand Embedding – связывание и внедрение объектов), которая использовалась в раннихверсиях Windows для создания составных документов.
Технология СОМ определяет общуюпарадигму взаимодействия программ любых типов: библиотек, приложений, операционнойсистемы, т. е. позволяет одной части программного обеспечения использовать функции(службы), предоставляемые другой, независимо от того, функционируют ли эти части впределах одного процесса, в разных процессах на одном компьютере или на разныхкомпьютерах (рис. 1.7). Модификация СОМ, обеспечивающая передачу вызовов междукомпьютерами, называется DCOM (Distributed COM – распределенная СОМ).По технологии СОМ приложение предоставляет свои службы, используя специальныеобъекты – объекты СОМ, которые являются экземплярами классов СОМ. Объект СОМ также, как обычный объект включает поля и методы, но в отличие от обычных объектов каждыйобъект СОМ может реализовывать несколько интерфейсов, обеспечивающих доступ к егополям и функциям.
Это достигается за счет организации отдельной таблицы адресов методовдля каждого интерфейса (по типу таблиц виртуальных методов). При этом интерфейсобычно объединяет несколько однотипных функций. Кроме того, классы СОМподдерживают наследование интерфейсов, но не поддерживают наследования реализации, т.е. не наследуют код методов, хотя при необходимости объект класса-потомка может вызватьметод родителя.Каждый интерфейс имеет имя, начинающееся с символа «I» и глобальный уникальныйидентификатор IID (Interface IDentifier). Любой объект СОМ обязательно реализуетинтерфейс lUnknown (на схемах этот интерфейс20всегда располагают сверху).
Использование этого интерфейса позволяет получить доступ костальным интерфейсам объекта.Объект всегда функционирует в составе сервера – динамической библиотеки илиисполняемого файла, которые обеспечивают функционирование объекта. Различают тритипа серверов:• внутренний сервер – реализуется динамическими библиотеками, которыеподключаются к приложению-клиенту и работают в одном с ними адресном пространстве –наиболее эффективный сервер, кроме того, он не требует специальных средств;• локальный сервер – создается отдельным процессом (модулем, ехе), который работаетна одном компьютере с клиентом;• удаленный сервер – создается процессом, который работает на другом компьютере.Например, Microsoft Word является локальным сервером.
Он включает множествообъектов, которые могут использоваться другими приложениями.Для обращения к службам клиент должен получить указатель на соответствующийинтерфейс. Перед первым обращением к объекту клиент посылает запрос к библиотекеСОМ, хранящей информацию обо всех, зарегистрированных в системе классах СОМобъектов, и передает ей имя класса, идентификатор интерфейса и тип сервера. Библиотеказапускает необходимый сервер, создает требуемые объекты и возвращает указатели наобъекты и интерфейсы.
Получив указатели, клиент может вызывать необходимые функцииобъекта.Взаимодействие клиента и сервера обеспечивается базовыми механизмами СОМ илиDCOM, поэтому клиенту безразлично местонахождение объекта. При использованиилокальных и удаленных серверов в адресном пространстве клиента создается proxy-объект –заместитель объекта СОМ, а в адресном пространстве сервера СОМ – заглушка,соответствующая клиенту. Получив задание от клиента, заместитель упаковывает егопараметры и, используя службы операционной системы, передает вызов заглушке.
Заглушкараспаковывает задание и передает его объекту СОМ. Результат возвращается клиенту вобратном порядке.На базе технологии СОМ и ее распределенной версии DCOM были разработаныкомпонентные технологии, решающие различные задачи разработки программногообеспечения.OLE-automation или просто Automation (автоматизация) – технология созданияпрограммируемых приложений, обеспечивающая программируемый доступ к внутреннимслужбам этих приложений. Вводит понятие диспинтерфейса (dispinterface) – специальногоинтерфейса, облегчающего вызов функций объекта.
Эту технологию поддерживает,например, Microsoft Excel, предоставляя другим приложениям свои службы.ActiveX – технология, построенная на базе OLE-automation, предназначена для созданияпрограммного обеспечения как сосредоточенного на од-21ном компьютере, так и распределенного в сети. Предполагает использование визуальногопрограммирования для создания компонентов – элементов управления ActiveX. Полученныетаким образом элементы управления можно устанавливать на компьютер дистанционно судаленного сервера, причем устанавливаемый код зависит от используемой операционнойсистемы.
Это позволяет применять элементы управления ActiveX в клиентских частяхприложений Интернет.Основными преимуществами технологии ActiveX, обеспечивающими ей широкоераспространение, являются:• быстрое написание программного кода – поскольку все действия, связанные сорганизацией взаимодействия сервера и клиента берет на программное обеспечение СОМ,программирование сетевых приложений становится похожим на программирование дляотдельного компьютера;• открытость и мобильность – спецификации технологии недавно были переданы в OpenGroup как основа открытого стандарта;• возможность написания приложений с использованием знакомых средств разработки,например, Visual Basic, Visual C++, Borland Delphi, Borland C++ и любых средств разработкина Java;• большое количество уже существующих бесплатных программных элементов ActiveX(к тому же, практически любой программный компонент OLE совместим с технологиямиActiveX и может применяться без модификаций в сетевых приложениях);• стандартность - технология ActiveX основана на широко используемых стандартахInternet (TCP/IP, HTML, Java), с одной стороны, и стандартах, введенных в свое времяMicrosoft и необходимых для сохранения совместимости (COM, OLE).MTS (Microsoft Transaction Server – сервер управления транзакциями) -технология,обеспечивающая безопасность и стабильную работу распределенных приложений прибольших объемах передаваемых данных.MIDAS (Multitier Distributed Application Server - сервер многозвенных распределенныхприложений) – технология, организующая доступ к данным разных компьютеров с учетомбалансировки нагрузки сети.Все указанные технологии реализуют компонентный подход, заложенный в СОМ.
Так, сточки зрения СОМ элемент управления ActiveX – внутренний сервер, поддерживающийтехнологию OLE-automation. Для программиста же элемент ActiveX – «черный ящик»,обладающий свойствами, методами и событиями, который можно использовать какстроительный блок при создании приложений.Технология CORBA, разработанная группой компаний OMG (Object Management Group– группа внедрения объектной технологии программирования), реализует подход,аналогичный СОМ, на базе объектов и интерфейсов CORBA.