
- •Тема 1.Корпоративные информационные системы. Задача интеграции. Корпоративные системы.
- •Модель osi – набор стандартов для построения корпоративной системы
- •Интегрированные и комплексные приложения
- •Задача: общие данные, общие процедур, общие вычислительные ресурсы.
- •Проблемы на пути интеграции
- •Тема 2.Прозрачность. Открытость. Масштабируемость. Концепции аппаратных решений. Определение распределенной системы. Прозрачность.
- •Открытость.
- •Масштабируемость.
- •Параллелизм.
- •Raid-технологии.
- •Концепции аппаратных решений. Мультипроцессоры.
- •Гетерогенные мультикомпьютерные системы.
- •Симметричное мультипроцессирование
- •Кластеры.
- •Тема 3.Двухуровневые, трехуровневые, распределенные одноранговые информационные системы. Виды ис
- •Функциональная нагрузка компонентов в ис
- •Двухуровневые архитектуры
- •Трехуровневые архитектуры
- •Распределенные одноранговые архитектуры
- •Единое информационное пространство. Подход к построению объектно-ориентированной одноранговой информационной системе.
- •Архитектура взаимодействия компонент распределенной ис
- •Тема 4.Обзор методов интеграции. Введение
- •Пути устранения аппаратных различий, кросс – платформенные приложения.
- •Java applets, апплеты.
- •Файлы (буферы) общего доступа.
- •Единый язык доступа к данным (sql).
- •Обмен сообщениями (dde).
- •Удаленный вызов процедур (rpc)
- •Вставка и внедрение объектов
- •Ole (связывание и внедрение объектов), ole Automation.
- •Классификация приложений по отношению к технологии ole (com).
- •ActiveX объекты.
- •Идентификация com объектов.
- •Сравнение com (ActiveX) объектов и java апплетов.
- •Доступ к удаленным объектам (dcom, .Net, corba)
- •Использование командных файлов и скриптов
- •Доступ к базам данных (ado, dao, odbc)
- •Применение web-технологий
- •Именованные каналы
- •Процедуры, функции, передача параметров, область видимости.
- •Типы данных.
- •Вызов макроса с вычисляемым именем
- •Запуск макроса в заданное время
- •Запуск внешней программы, управление ею
- •Вызов api-функций и других библиотечных функций
- •Программное изменение кода.
- •Динамические массивы
- •Объектно-ориентированное программирование Базовые понятия ооп
- •Расширение объектной модели
- •Коллекция
- •Раннее и позднее связывание
- •Дополнительные элементы управления (ActiveX –объекты)
- •Описание программирования в vba, модели com Доступ к вставленным в документ ole-объектам
- •Доступ к внешним com-серверам
- •Вычисляемые свойства, свойства только для чтения.
- •События. Обработчики событий.
- •Использование событий объекта Application
- •Использование диалогов
- •Свойство для программиста.
- •Пользовательские классы. Классы.
- •Класс, объекты которого реагируют на события.
- •Моделирование наследования. Фактическое наследование. WithEvents.
- •Пользовательские события.
- •Как исп польз события
- •Создание экземпляра класса.
- •Автоматическая сборка мусора
- •Уничтожение экземпляра класса
- •???Интерфейсы.
- •Тема 6.???Интеграция при помощи промежуточного буфера
- •Тема 7.Обмен сообщениями. Протокол dde.
- •Задачи интеграции и децентрализации.
- •Фрагментация данных и размещение
- •Язык доступа к данным sql Стандартные команды
- •Язык запросов
- •Изменение данных при помощи sql
- •Изменение структуры базы данных при помощи ddl
- •Выполнение команд изменения структуры, изменения базы данных
- •Расширения Jet 4.0 ansi-92
- •Доступ к базам данных.
- •Доступ к базам данных с помощью odbc.
- •Доступ через odbc из Delpi7.
- •Доступ к базам данных с помощью технологий ado. Соединение, курсор
- •Свойства и методы набора записей (курсора).
- •Вызов отчетов, сформированных в базе данных
- •Пример dao
- •???Доступ к базам данных с помощью технологий dao.
- •Удаленный вызов процедур.
- •Обращение к удаленным объектам. Привязка клиента к объекту. Статическое и динамическое удаленное обращение к методам. Передача параметров. Dce, rmi.
- •Тема 13.Распределенная система объектов corba. Введение.
- •Архитектура системы.
- •Структура связей corba.
- •Исключения corba.
- •Передача параметров.
- •Corba-объекты и серванты.
- •Отображение idl на языки программирования
- •Объектные адаптеры.
- •Транзакции и сервис транзакций в corba.
- •Тема 14.Обзор технологий dcom, .Net Определение
- •Немного истории
- •Решение .Net
- •Модель .Net
- •Обзор двоичных файлов .Net.
Именованные каналы
Именованные каналы – это еще один способ передачи сообщений между процессами, работающими на одном компьютере или на разных компьютерах в локальной сети. Этот механизм отсутствует в Windows Me, 95, 98. Именованные каналы могут использоваться как на дуплексных, так и на симплексных линиях связи.
Так же, как и сокеты, это – двусторонний протокол. Идея метода состоит в том, что на серверной стороне объявляется именованный канал. На клиентской стороне устанавливается соединение с этим каналом. А дальнейший обмен информацией похож на обычную работу с файлами: любая сторона может писать – посылать в канал данные или читать – получать из канала поток байтов. Кстати, любопытно, что в UNIX именованный канал считается просто одним из файловых типов.
Чтобы иметь возможность одновременно обрабатывать запросы нескольких клиентов, сервер именованного канала может быть написан в виде многонитиевого (многопотокового) приложения – по одной нити на одного клиента.
Тема 5.Объектно-ориентированное программирование в VBA
Среда программирования. Типы данных. Процедуры.
Окно проекта, окно свойств, окно кода, окно немедленно выполняемых команд, окно контрольных значений.
Программы на VBA объединяются в проект. Программы могут реализовывать некоторые пользовательские методы, выступать в роли обработчиков событий, играть вспомогательные роли. Программы, не являющиеся обработчиками событий, не являющиеся методами объектов, указанных в проекте, следует писать в модулях. В одном проекте может быть несколько модулей.
Воспользовавшись меню "View", Вы можете расположить на экране окна, которые помогут Вам написать и отладить проект на VBA. Это окно проекта (Project Explorer), окно свойств (Properties Window), окно текущих значений (Watch Window) , окно немедленного выполнения команд (Immediate Window), окно локальных переменных (Locals Window).
В окне проекта видны доступные объекты верхнего уровня: документ, формы, модули, модули классов, шаблоны. Двойной щелчок переведет Вас в код выбранного объекта.
В проект можно добавлять (в главном меню пункт Insert) модули, формы, описания классов (модули классов). В разных модулях могут быть даже одноименные доступные извне процедуры, т.к. полное имя процедуры включает имя модуля. Например, пусть в M_math описана процедура trycalc. Тогда ее полное имя: «M_math.trycalc».
Из любого объекта проекта можно перейти в кодовое окно (окно программ), если в контекстном меню "View code".
В окне локальных переменных видны в ходе пошагового выполнения программы все переменные, описанные на уровне текущего модуля (наверху, в General области) и внутри текущей программы (то есть локальные переменные). Здесь достаточно удобно следить за изменением значений переменных, их типами. Если текущая выполняемая процедура была вызвана из какой-то другой процедуры, а та, в свою очередь, была тоже вызвана из третьей процедуры, то чтобы увидеть текущее состояние локальных переменных любой из этих процедур, воспользуйтесь пунктом главного меню «View – Call Stack». При выборе этого пункта вы увидите стек вызовов и щелчком по имени процедуры сможете перейти к нужной. Важно, что значение переменной вы можете тут же в окне изменить, щелкнув по нему.
Преимущество окна локальных переменных состоит в том, что вам ничего не требуется добавлять в него, только смотрите. В этом же его недостаток. Вы здесь не можете увидеть значение некоторого интересующего вас выражения, вы не видите доступных объектов, с другой стороны вы видите, возможно, массу не интересующих вас сейчас переменных, которые только рассеивают внимание.
Более удобное окно – окно текущих значений (Watch). В это окно необходимо добавить все, за чем вы собираетесь следить. Для этого выберите в контекстном меню пункт «Add Watch». И это могут быть и локальные переменные и выражения и переменные из других процедур и функций, из других модулей. Таким образом вы устраиваете для себя рабочую среду. Самое интересное – возможность отладочного останова выполнения программы в случае, если значение какого-то выражения изменится или в случае, если оно станет истинным.
Также необходимо уметь пользоваться окном немедленного выполнения команд. Это очень удобное средство изучения встроенных функций, средство для поэтапного составления сложного выражения. В этом окне на стадии отладки доступны все локальные переменные и все объекты. Это – консоль VBA. Здесь можно выполнять любые операции и операторы. В этом окне можно заводить переменные, присваивать им значения. К сожалению, увидеть значения этих переменных в окне Watch невозможно. Но можно их вывести тут же, в консоль при помощи оператора «print» или его сокращенного варианта «?». Интересно, что оператор выполняется тогда, когда вы, находясь на его строчке (в совершенно произвольном месте!) нажимаете на клавишу «Enter».
В этом окне работает браузер объектов, подсказывая вам и имена свойств и методов объектов и имена доступных переменных. Вызов этого помощника Ctrl+J. Экономьте свои усилия, пользуйтесь подсказками. Причем, не обязательно полностью вводить имя свойства или метода. Если в контекстном списке уже выделено нужное, нажимайте на клавишу – следующую операцию, а полный текст сформирует помощник. Пусть вам надо набрать следующий фрагмент: ActiveDocument.Paragraphs.Add. Нажмите Ctrl+J, наберите символ «a». Если уже выделилось слово «ActiveDocument», нажимайте на точку «.». Далее набирайте последовательно «para», либо стрелочкой подойдите к нужному слову, когда оно совсем рядом, снова нажмите на точку, затем наберите символ «а» и далее пробел. Убедитесь, что такой способ набора, хотя и требует определенного навыка, очень скоро дает значительный выигрыш во времени и почти не отвлекает внимание от собственно программирования.
Достаточно удобное средство отладки – объект Debug. С его помощью можно организовать «трассировку» работы программы: выдавать некоторые информационные сообщения в окно Immediate.
Debug.Print "прошли по всему массиву"
Можно перейти в режим отладки при выполнении некоторого условия, воспользовавшись, например, следующей конструкцией:
If x>100 then Debug.Assert false