Взаимодействие программ в информационных системах
Сказанное выше относилось к технологиям разработки отдельных программ. Но в настоящее время программы, как правило, должны являться частью некоторой информационной системы (ИС),т.е. функционировать не сами по себе, а во взаимодействие с большим количеством других программ. Также программы должны уметь «использовать» другие программы и системы, разработанные сторонними организациями. Например, ваша программа может подготовить некоторый отчетный документ в формате Microsoft Word, и этот документ будет доступен на всех компьютерах, на которых установлен Word (но на которых может не быть вашей программы). Аналогично, можно из прикладной программы создать итоговые чертежи в формате распространенных графических систем (например, в формате AutoCAD или Corel Draw). В этом случае один из основных вопросов — организация взаимного общения программ друг с другом и с источником данных. В качестве последнего в ИС выступают базы данных (БД), вместе с системой управления базами данных (СУБД). Программы, работающие в составе ИС, получают информацию из БД, к которым имеют доступ и другие программы. В этом случае естественным образом создается возможность взаимосвязи приложений через данные. Например, одна программа записывает результаты своей работы, а другая использует их как начальные данные для своей работы. Этот простейший уровень взаимосвязи требует одного — унификацию данных и форматов их хранения. Для целей унифицированного доступа к данным используются специальные языки, например SQL (Structured Query Language — язык структурированных запросов).
Но во многих случаях этого простейшего механизма общения недостаточно для современной ИС — например, программа не должна ожидать, когда кем-то будет запущена другая программа — поставщик данных. Необходимо иметь возможность запускать из одной программы другую, передавая при этом ей управляющую информацию. Запуск основного приложения порождает в среде операционной системы процесс, для которого операционная система выделяет необходимые ресурсы компьютера (память и время процессора). Дочерняя программа может выполняться как в адресном пространстве вызвавшей ее программы, так и в собственном адресном пространстве и в другом потоке.
Однако часто требуется обмен информацией между программами, выполняющимися одновременно (параллельно). Желательно, чтобы этот обмен не зависел от языка программирования, на котором написаны разные программы, а в сетевых системах не зависел и от операционных систем, установленных на разных компьютерах. Яркий пример подобной организации взаимосвязи — Интернет, в глобальную сеть соединены компьютеры с различными операционными системами (Windows, Unix, Solaris, сотовые телефоны и др.).
Простейшими средствами параллельного общения вначале были файлы совместного доступа, или разделяемые файлы (файлы, к которым могут иметь одновременный доступ несколько программ), которые появились еще на заре Windows. Также ранним средством является буфер обмена ClipBoard, доступный практически всем приложениям Windows, в котором можно временно хранить для передачи другим программам информацию различного формата — текстовую, графическую и т.п. Несколько позже для межпрограммного взаимодействия использовалась технология DDE — динамический обмен данными. Сегодня актуальность DDE ниже из-за появления новых технологий, а использование БД, буфера обмена и разделяемых файлов как простейшего варианта межпрограммного взаимодействия остается актуальным.
Позднее появилась технология связывания и внедрения объектов OLE1 (Object Linking and Embedding). Благодаря OLE1 появилась возможность создавать составные документы (например, в документ Word вставлять таблицу Exel, при ее редактировании из Word используются возможности Exel). На смену ей пришла технология OLE2, позволяющая различным программам предоставлять друг другу свои функции (сервис). Программа, предоставляющая свои функции, называется сервером, а программа, их использующая — клиентом. В этой технологии одна программа может не просто вызвать другую, но использовать ее отдельные функции.
Следующим шагом на пути совершенствования межпрограммного обмена явилась технология компонентной модели объектов (СОМ — Component Object Model). Эта технология заключается в стандартизированном описании служб программы, к которым она дает доступ другим программам. В технологии СОМ неважно, на каких языках написаны программы и где они выполняются: в одном потоке, в разных потоках, на разных компьютерах. Расширение этих возможностей дает технология DCOM — распределенная модификация СОМ. Отметим, что СОМ подразумевает взаимосвязь на уровне специальных объектов, структура которых во многом схожа с рассмотренными ранее объектами внутри одной программы.
Необходимо сказать о еще одной стремительно развивающейся технологии — Интернет. В Интернете располагаются и базы данных, и серверы, с которыми общаются приложения пользователя.
Дата добавления: 2015-10-13; просмотров: 689;