- •Корпоративные информационные системы. Задача интеграции. Корпоративные системы.
- •Модель osi – набор стандартов для построения корпоративной системы
- •Интегрированные и комплексные приложения
- •Задача: общие данные, общие процедур, общие вычислительные ресурсы.
- •Проблемы на пути интеграции
- •Прозрачность. Открытость. Масштабируемость. Концепции аппаратных решений. Определение распределенной системы. Прозрачность.
- •Открытость.
- •Масштабируемость.
- •Raid-технологии.
- •Параллелизм.
- •Концепции аппаратных решений. Мультипроцессоры.
- •Гетерогенные мультикомпьютерные системы.
- •Симметричное мультипроцессирование
- •Кластеры.
- •Двухуровневые, трехуровневые, распределенные одноранговые информационные системы. Виды ис
- •Функциональная нагрузка компонентов в ис
- •Двухуровневые архитектуры
- •Трехуровневые архитектуры
- •Распределенные одноранговые архитектуры
- •Единое информационное пространство. Подход к построению объектно-ориентированной одноранговой информационной системе.
- •Архитектура взаимодействия компонент распределенной ис
- •Обзор методов интеграции. Введение
- •Пути устранения аппаратных различий, кросс – платформенные приложения.
- •Java applets, апплеты.
- •Файлы (буферы) общего доступа.
- •Единый язык доступа к данным (sql).
- •Обмен сообщениями (dde).
- •Удаленный вызов процедур (rpc)
- •Вставка и внедрение объектов
- •Ole (связывание и внедрение объектов), ole Automation.
- •Классификация приложений по отношению к технологии ole (com).
- •ActiveX объекты.
- •Идентификация com объектов.
- •Сравнение com (ActiveX) объектов и java апплетов.
- •Доступ к удаленным объектам (dcom, .Net, corba)
- •Использование командных файлов и скриптов
- •Доступ к базам данных (ado, dao, odbc)
- •Применение web-технологий
- •Именованные каналы
- •Объектно-ориентированное программирование в vba Среда программирования. Типы данных. Процедуры. Окно проекта, окно свойств, окно кода, окно немедленно выполняемых команд, окно контрольных значений.
- •Процедуры, функции, передача параметров, область видимости.
- •Типы данных.
- •Вызов макроса с вычисляемым именем
- •Запуск макроса в заданное время
- •Запуск внешней программы, управление ею
- •Вызов api-функций и других библиотечных функций
- •Программное изменение кода.
- •Динамические массивы
- •Объектно-ориентированное программирование Базовые понятия ооп
- •Расширение объектной модели
- •Коллекция
- •Раннее и позднее связывание
- •Дополнительные элементы управления (ActiveX –объекты)
- •Описание программирования в vba, модели com Доступ к вставленным в документ ole-объектам
- •Доступ к внешним com-серверам
- •Вычисляемые свойства, свойства только для чтения.
- •События. Обработчики событий.
- •Использование событий объекта Application
- •Использование диалогов
- •Свойство для программиста.
- •Пользовательские классы. Классы.
- •Класс, объекты которого реагируют на события.
- •Моделирование наследования. Фактическое наследование. WithEvents.
- •Пользовательские события.
- •Как исп польз события
- •Создание экземпляра класса.
- •Автоматическая сборка мусора
- •Уничтожение экземпляра класса
- •???Интерфейсы.
- •???Интеграция при помощи промежуточного буфера
- •Обмен сообщениями. Протокол dde.
- •Задачи интеграции и децентрализации.
- •Фрагментация данных и размещение
- •Язык доступа к данным sql Стандартные команды
- •Язык запросов
- •Изменение данных при помощи sql
- •Изменение структуры базы данных при помощи ddl
- •Выполнение команд изменения структуры, изменения базы данных
- •Расширения Jet 4.0 ansi-92
- •Доступ к базам данных.
- •Доступ к базам данных с помощью odbc.
- •Доступ через odbc из Delpi7.
- •Доступ к базам данных с помощью технологий ado. Соединение, курсор
- •Свойства и методы набора записей (курсора).
- •Вызов отчетов, сформированных в базе данных
- •Пример dao
- •???Доступ к базам данных с помощью технологий dao.
- •???Доступ к базам данных с помощью web технологий.
- •Удаленный вызов процедур.
- •Обращение к удаленным объектам. Привязка клиента к объекту. Статическое и динамическое удаленное обращение к методам. Передача параметров. Dce, rmi.
- •Распределенная система объектов corba. Введение.
- •Архитектура системы.
- •Структура связей corba.
- •Исключения corba.
- •Передача параметров.
- •Corba-объекты и серванты.
- •Отображение idl на языки программирования
- •Объектные адаптеры.
- •Транзакции и сервис транзакций в corba.
- •Обзор технологий dcom, .Net Определение
- •Немного истории
- •Решение .Net
- •Модель .Net
- •Обзор двоичных файлов .Net.
Интегрированные и комплексные приложения
Любой вид деятельности человека на историческом пути развития проходит стадии специализации и обобщения (иногда несколько раз). Две альтернативы развития информационных систем постоянно ведут борьбу друг с другом. Первая – создание системы, автоматизирующей много видов деятельности человека сразу. Вторая – создание набора интегрируемых систем, отвечающих за автоматизацию тех или иных функций человеческой деятельности. Находятся сторонники и противники у обеих альтернатив. Но, по-видимому, учитывая возрастающий уровень информатизации, упрощение и ускорение способов передачи информации на большое расстояние, следует согласиться с тем, что правы сторонники интеграции.
Тот факт, что интеграция программных продуктов и попытка сделать комплексное (многофункциональное) приложение идут бок обок, легко доказывается на примере MS Word. Он предоставляет возможность разработки графических объектов. Это абсолютно не нужное, к тому же, плохо реализованное средство в MS Word (линии, окружности, квадратики, сноски и т.п.). Но, с другой стороны, дается возможность вставки в документ MS Word рисунка, выполненного в Corel Draw (или другом графическом редакторе), что является примером интеграции приложений.
В настоящее время в целом задача интеграции дешевле, чем создание самодостаточных программных средств. Конечно же, она тоже не проста, методы и способы интеграции ИС (информационных систем) обладают недостатками и преимуществами. В настоящем курсе мы попробуем разобраться с этим.
Задача: общие данные, общие процедур, общие вычислительные ресурсы.
Задача интеграции рассматривается в следующих аспектах:
одновременная работа нескольких информационных систем с общими данными,
повторное использование процедур обработки данных,
совместное использование вычислительных ресурсов одного компьютера,
использование удаленных вычислительных ресурсов.
Проблемы на пути интеграции
Проблемы связи, очевидно, возникают на всех уровнях модели OSI, от прикладного до физического (аппаратного).
Попытаемся рассмотреть важнейшие черты каждой из задач интеграции. Очевидно, что интеграция ИС требует от разработчика продуманного способа хранения данных, удобного способа доступа к данным, распределения данных и процедур обработки в сети компьютеров. Часть задач интеграции, а именно: совместное использование вычислительных ресурсов одного компьютера традиционно решает операционная система. Специализированные приложения и операционные системы позволяют использовать вычислительные ресурсы компьютеров, расположенных в локальной или глобальной сети. Новейшие сетевые технологии позволяют пользователям подключаться к сетям из произвольных мест. Источниками и потребителями информации становятся не только компьютеры, но и обычные бытовые приборы. Беспроводные способы передачи информации изменили понятие сети, сделали сеть быстро модифицирующейся, что не могло не сказаться на традиционных сетевых протоколах и привело к созданию новых протоколов.
Задача интеграции ИС усложняется при попытке интегрировать приложения, работающие на различных операционно–аппаратных платформах.
Для того, чтобы доказать, что проблема аппаратной интеграции существует, пояснить только один ее аспект, приведем пару небольших примеров.
На разных процессорах по-разному представляются обычные целые числа. Даже если мы говорим о двухбайтных числах, то можно считать первый байт старшим, а второй – младшим, а можно наоборот. Таким образом число 1 может выглядеть в двоичном виде как 00000000 00000001 или как 00000001 00000000.
С вещественными числами дело обстоит еще запутаннее. Пусть некий сервер данных (например, банк) находится на компьютере IBM. Клиент располагает персональным компьютером на базе процессора Intel. Не затрагивая проблему передачи данных, попробуем оценить, что получает клиент от такого сервера. Пусть клиент хочет увидеть количество денег на своем счете. Поскольку формат представления чисел с плавающей запятой на этих аппаратных платформах различный, то при передаче вещественных чисел без дополнительного преобразования мы получим удивительные результаты.
Пусть получено число в формате с плавающей запятой для IBM:
0100 0100 1100 0100 0000 0000 0000 0000
В этом формате первый левый бит – знак мантиссы (1 – мантисса отрицательная), следующие слева 7 разрядов – характеристика, а затем идет мантисса, нормализованная в шестнадцатеричном виде (т.е старшая цифра мантиссы в шестнадцатиричной форме не может быть нулем). Характеристика – число, показывающее, на сколько цифр надо передвинуть запятую в шестнадцатеричном представлении числа. Причем это число смещено вправо на 4016, то есть 1 в старшем разряде обозначает положительное число, а 0 – отрицательное (наоборот по сравнению с о знаком мантиссы). В четырех двоичных разрядах можно представить однозначное (одну цифру) шестнадцатеричное число (0-F). Если учесть все сказанное, то получим: мантисса положительная и равна C4000016(по-другому - 0,С40000), характеристика равна 44, следовательно, порядок равен 44 – 40 = 4. Таким образом, имеем число С40016. Переведем его в десятичную систему счисления, получим 12*163 + 4*162 + 0*161 + 0*160 = 49152 + 1024 = 50176.
В процессорах Intel схема представления чисел с плавающей точкой очень похожа, но обладает несколькими существенными отличиями: мантисса нормализуется в двоичном виде, а поскольку при этом первый бит мантиссы по определению нормализации должен быть равен 1, то его пропускают, то есть всегда подразумевают, но не хранят. Под характеристику отдаются не семь, а восемь разрядов (у нас же высвободился один разряд). Причем характеристика показывает количество цифр в двоичном (!) представлении числа, на которое надо сдвигать запятую. Характеристика сдвигается вправо на 8016, то есть также первый бит – знак порядка. Итак, считаем число. Мантисса равна 1100 0100 0000 0000 0000 0000, обратите внимание на добавленную слева 1. Порядок положительный и равен 10001001 – 10000000 = 1001, в десятичном виде это число равно 9. Исходное число в двоичном виде равно 110001000. Переведем в десятичную систему счисления 1*28+1*27+0*26+0*25+0*24+1*23+0*22+0*21+0*20 = 256+128+8 = 382. Разница значительная!
Последнее, о чем хотелось бы упомянуть, это то, что с отрицательными числами дело обстоит еще хуже (больше различий).
Что бывает, когда возникают рассогласования при кодировке букв национальных алфавитов, Вы уже знаете. Для представления русских букв в настоящее время существует несколько стандартов: так называемая кодовая страница 866 MS DOS, кодовая страница 1251 Windows и кодировка Unicode. До сих пор нередки случаи получения письма по электронной почте с невообразимым набором символов, полученным в результате работы нескольких некорректных программ – перекодировок.
