Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Korporativnye_informatsionnye_sistemy.docx
Скачиваний:
12
Добавлен:
01.03.2025
Размер:
260 Кб
Скачать
☆

Интегрированные и комплексные приложения

Любой вид деятельности человека на историческом пути развития проходит стадии специализации и обобщения (иногда несколько раз). Две альтернативы развития информационных систем постоянно ведут борьбу друг с другом. Первая – создание системы, автоматизирующей много видов деятельности человека сразу. Вторая – создание набора интегрируемых систем, отвечающих за автоматизацию тех или иных функций человеческой деятельности. Находятся сторонники и противники у обеих альтернатив. Но, по-видимому, учитывая возрастающий уровень информатизации, упрощение и ускорение способов передачи информации на большое расстояние, следует согласиться с тем, что правы сторонники интеграции.

Тот факт, что интеграция программных продуктов и попытка сделать комплексное (многофункциональное) приложение идут бок обок, легко доказывается на примере 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. До сих пор нередки случаи получения письма по электронной почте с невообразимым набором символов, полученным в результате работы нескольких некорректных программ – перекодировок.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]