Конспект лекции дисциплины «Графические системы и интерфейс оператора»


НазваниеКонспект лекции дисциплины «Графические системы и интерфейс оператора»
страница6/17
Дата публикации13.03.2013
Размер1.2 Mb.
ТипКонспект
userdocs.ru > Информатика > Конспект
1   2   3   4   5   6   7   8   9   ...   17
^

Р2: Лекция №5. Принципы взаимодействия .Net с разработанным кодом


Принципы взаимодействия с разработанным кодом. Преобразование исходных кодов в новый формат. Использование двоичных компонентов для организации взаимодействия (COM, ActiveX, DLL).

Зачем нужна миграция приложений на новую платформу? .Net обособленная платформа, обладающая своими механизмами работы (CLR, CTS, CLS). Однако, в мире уже существует более 200 млрд. строк активно используемого кода. Поэтому успех .NET (впрочем, как и любой другой платформы) во многом будет зависеть от успешности миграции существующих приложений разработанных с использованием определённых технологий.

Преимущества .NET для использования существующих систем:

  • Неизменность языка программирования (сохранение инвестиций (обучение, окружение) психологические преимущества);

  • Возможность использовать старую систему как базу для новых разработок;

  • Межъязыковое взаимодействие и улучшенные возможности для повторного использования без привязки к тому или иному языку программирования или компонентной модели

В .Net можно выделить следующие два направления во взаимодействии с предшествующими технологиями:

  • преобразование исходных кодов в новый формат языков .NET для последующей компиляции

  • использование двоичных компонентов(COM и DLL) для организации взаимодействия с компонентами .NET
^

Преобразование исходных кодов в новый формат языков .NET


В данном случае имеется возможность для преобразования исходных кодов (С++, VisualBasic, Java) в формат приемлемый для компиляции в среде .NET.

Для С++ этот переход имеет следующие возможности:

  • Перекомпиляция приложения с использованием опции /CLR

  • Переписывание системных сервисов (c использованием классов .NET)

  • Переход к managed code (использование C++ managed extensions)

  • Переход к verifiable code (поддающийся проверке код), уничтожение адресной арифметики, явная запись boxing / unboxing (преобразование структурного типа в ссылочный и наоборот – упаковка / распаковка) и т.д.

Процесс перехода к managed C++ может быть постепенным. Однако существуют трудности взаимодействия между managed и unmanaged code (например, распространение исключений, сборка мусора). Переход к управляемым указателям должен производиться одновременно для всех связанных указателей (нельзя использовать управляемый указатель в неуправляемом коде). Существуют также трудности использования сложных типов данных (ограничение названия: 256 символов).

Для не менее популярных языков программирования VisualBasic и Java предусмотрено преобразование исходных кодов с применением специальных механизмов преобразования. Для преобразования исходных кодов VisualBasic применяется подсистема обновления проекта (Upgrade project), где возможно произвести настройки конвертирования. Для Java используется специальный инструмент JUMP (Java Users Migration Path). В качестве решения проблемы независимости от платформы исполнения, предлагается миграция в C#.

^

Использование двоичных компонентов для организации взаимодействия с компонентами .NET


Обобщенно использование двоичных компонентов заключается в следующем:

  • Взаимодействие с COM компонентами

    • COM сервисы для .NET

    • .NET сервисы для COM

  • Использование вызовов функций из DLL

Существует ряд важных причин для использования взаимодействия COM и .NET:

  • Взаимодействие необходимо для сохранения финансовых вложений в COM-приложения

  • Для осуществления постепенной пошаговой миграции на новую платформу

  • Некоторые приложения никогда не будут переписываться под .NET и поэтому необходимо двустороннее взаимодействие, для внедрения новых компонентов в существующие приложения

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

Для взаимодействия с сервисами COM, роль промежуточного уровня в .NET выполняет служба RWC (Runtime Callable Wrapper – вызываемая оболочка времени выполнения)


Рис. 19 Взаимодействие .NET c COM сервисом

Типы данных из COM можно использовать как обычные управляемые типы:

  • Можно создавать экземпляры с помощью new

  • Можно ловить исключения

  • Можно даже расширять типы данных и наследовать от них!

При использовании COM сервисов происходит преобразование типов данных. Модуль RCW предоставляет типы COM для клиента .NET точно так же, как будто это обычные типы .NET. При этом происходит скрытие низкоуровневых интерфейсов (такие как IUnknown, IDispatch, IConnectionPoint и другие).

С другой стороны для обеспечения доступа клиента COM к типу .NET используется специальный промежуточный уровень называемый CCW (COM Callable Wrapper – оболочка для COM с возможностью вызова). Роль CCW представлена на рисунке (Рис. 20):



Рис. 20 Взаимодействие COM c сервисом .NET

Модуль CCW автоматически реализует множество служебных интерфейсов COM, чтобы создать у клиентов COM полную иллюзию, что они имеют дело с соклассом. Помимо этого модуль CWW, конечно же, реализуют и пользовательские интерфейсы типов .NET, включая так называемый интерфейс класса (специальный интерфейс, в который помещаются все свойства, методы, поля и события, которые определены в типе как public). CCW также управляет экземплярами, исключениями, преобразованием сигнатур и т.д.

Использование вызова функций, реализованных в традиционных двоичных модулях, из кода .NET обеспечивается службой активизации платформ (Platform Invocation Services, PInvoke). PInvoke передаёт параметры при вызове функций, транслируя типы данных .NET в их аналоги в традиционном двоичном коде.


Рис. 21 Использование вызовов DLL

Вопросы


  1. Возможности перехода исходных кодов языка C++ на платформу .Net.

  2. Способ взаимодействия .NET c COM сервисом.

  3. Способ взаимодействие COM клиента c сервисом .NET.

  4. Использование библиотек неуправляемого кода в .NET.
1   2   3   4   5   6   7   8   9   ...   17

Похожие:

Конспект лекции дисциплины «Графические системы и интерфейс оператора» iconПлан-конспект лекции Тема лекции «Культура Античности»
Зелинский Ф. Ф. Древний мир и мы. Научно популярные статьи [1904]. Спб., 1997. ("Из жизни идей", т. 2)
Конспект лекции дисциплины «Графические системы и интерфейс оператора» iconВопросы к зачёту (1-й семестр)
Прикладное программное обеспечение: системы управления базами данных, графические редакторы
Конспект лекции дисциплины «Графические системы и интерфейс оператора» iconЛабораторная работа Оценка соответствия эргономических параметров рабочего места оператора пэвм
Рассмотреть составляющие элементы рабочего места оператора персонального компьютера (ПК). Ознакомиться с принципами оптимальной организации...
Конспект лекции дисциплины «Графические системы и интерфейс оператора» iconКонспект лекции План лекции Цель, задачи и объекты анализа финансовой...
Одним из видов экономического анализа является финансовый анализ, который с определенной долей условности подразделяется на внутренний...
Конспект лекции дисциплины «Графические системы и интерфейс оператора» iconС. П. Филин Концепции современного естествознания: конспект лекций
Конспект лекций соответствует требованиям Государственного образовательного стандарта высшего профессионального образования РФ и...
Конспект лекции дисциплины «Графические системы и интерфейс оператора» iconДжеф Раскин, Интерфейс: новые направления в проектировании компьютерных систем
...
Конспект лекции дисциплины «Графические системы и интерфейс оператора» icon«Психодиагностика. Конспект лекций»: Эксмо; Москва; 2008 isbn 978-5-699-26681-4
Книга предназначена длястудентов-психологов и представляет собой конспект лекций по психодиагностике. Подробное изложение материала...
Конспект лекции дисциплины «Графические системы и интерфейс оператора» iconПрограмма лекции Адрес Время проведения лекции Участники лекции 12...

Конспект лекции дисциплины «Графические системы и интерфейс оператора» iconТема №1 Первичные графические элементы композиции и основные принципы ее организации
Онятие. Система, структура. Психологические особенности восприятия визуальной информации. Зоны активного восприятия. Взаимосвязь...
Конспект лекции дисциплины «Графические системы и интерфейс оператора» iconДисциплины
Всего часов 108, из них аудиторных занятий 48 (лекции – 32, практические занятия –16)
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2015
контакты
userdocs.ru
Главная страница