Организация синхронного взаимодействия для интеграции информационных систем

Изучение стратегического подхода к объединению информационных систем. Обеспечение возможности обмена информацией и поддержание распределенных бизнес-процессов. Описания синхронного взаимодействия информационных систем в рамках модели "клиент-сервер".

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 09.06.2018
Размер файла 193,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Организация синхронного взаимодействия для интеграции информационных систем

Тимакин Олег Анатольевич доцент кафедры Экономической кибернетики Экономического факультета ЮФУ г. Ростов-на-Дону

Интеграция приложений -- это стратегический подход к объединению информационных систем, который обеспечивает возможность обмена информацией и поддержания распределенных бизнес-процессов. Интеграция информационных систем дает предприятию такие несомненные конкурентные преимущества, как:

ведение бизнеса в режиме реального времени с использованием событийно-управляемых сценариев;

владение достоверной, полной и своевременно полученной информацией.

Задача интеграции -- обеспечить эффективный, надежный и безопасный обмен данными между различными программными продуктами, изначально не предназначенными для совместной работы. Как правило, требования бизнеса эволюционируют быстрее, чем способы их поддержки информационными технологиями.

Основные бизнес-выгоды, которые предприятие может получить в результате успешной реализации интеграционного проекта:

улучшение качества поддержки и обслуживания клиентов;

автоматизация бизнес-процессов;

уменьшение производственного цикла;

сокращение количества ошибок обработки данных;

прозрачность процессов;

уменьшение стоимости транзакций;

оптимизация логистических процессов;

более тесное взаимодействие с бизнес-партнерами;

быстрое внедрение новых бизнес-сервисов;

сохранение инвестиций в информационные технологии.

Одной из моделей взаимодействия интеграционных систем является метод синхронного взаимодействия. Взаимодействие ИС может быть описано в рамках модели «клиент-сервер». В данном контексте под клиентом будем понимать приложение, которое отправляет запрос на обработку. Приложение, отвечающее на запрос, будем называть сервером. В большинстве случаев одно и то же приложение в зависимости от ситуации может выступать в роли как клиента, так и сервера.

Взаимодействие между приложениями может быть синхронным или асинхронным. Синхронным называется такое взаимодействие, при котором приложение, выступающее в роли клиента, отослав запрос, блокируется и может продолжать работу только после получения ответа от приложения, выступающего в роли сервера. Иногда такой вид взаимодействия называют блокирующим. Схема синхронного взаимодействия представлена ниже на рисунке 1.

синхронный взаимодействие информационный система

Рисунок 1 -- Схема синхронного взаимодействия

Обычное обращение к функции или методу объекта с помощью передачи управления по стеку вызовов является примером синхронного взаимодействия.

Синхронное взаимодействие достаточно легко организовать, и оно является гораздо более простым для понимания. Человеческое сознание обладает единственным «потоком управления», представленным в виде фокуса внимания, и поэтому человеку проще понимать процессы, которые разворачиваются последовательно, один за другим, поскольку внимание не рассеивается при наблюдении за процессами, происходящими одновременно. Код программы клиентского компонента, которая описывает синхронное взаимодействие систем, устроен более простым способом -- одна из его частей, которая отвечает за обработку ответа сервера, располагается сразу же после части, в которой составляется запрос. В силу того, что синхронные взаимодействия проще по своей организации, они используются гораздо чаще асинхронного взаимодействия.

Однако вместе с этим синхронное взаимодействие ведет к существенным затратам времени на ожидание ответа. Время, затраченное на ожидание ответа, зачастую можно использовать более целесообразно -- при ожидании ответа на один запрос, клиент мог бы параллельно выполнить другую работу, обрабатывать другие запросы, которые не зависимы от еще не пришедшего результата. Так как все распределенные системы состоят из достаточно большого количества уровней, через которые проходят практически все взаимодействия, общее снижение производительности, связанное с синхронностью взаимодействий, оказывается очень значительным.

Одним из самых популярных и исторически первым практически универсальным методом реализации синхронного взаимодействия в распределенных системах является удаленный вызов процедур (Remote Procedure Call, RPC). Его модификация для объектно-ориентированной среды именуется удаленным вызовом способов (Remote Method Invocation, RMI).

Удаленный вызов процедур описывает как метод организации взаимодействия между компонентами, так и методику разработки данных компонентов (Рисунок 2).

Рисунок 2 -- Схема разработки компонентов, взаимодействующих с помощью RPC

Первым этапом разработки является разработка интерфейс процедур, которые будут использоваться для удаленного вызова. Это делается при помощи языка определения интерфейсов (Interface Definition Language, IDL). Данным языком может выступать либо специальный, либо обыденный язык программирования. Но с ограничениями, которые определяются возможностью передачи вызовов на удаленную машину. Спецификация процедуры для удаленных вызовов формируется компилятором IDL в описание данной процедуры на языках программирования, на которых будут разрабатываться сервер и клиент (например, файлы-заголовки на языках C/C++), и два дополнительных компонента -- заглушки клиентские и серверные (client stub и server stub).

Клиентская заглушка представляет собой элемент, который размещается на той же машине, где находится клиент.

Удаленный вызов процедуры клиентом функционирует как обыденный, локальный вызов определенной функции в клиентской заглушке. При обработке данного вызова клиентская заглушка выполняет нижеописанные действия:

1. Определение физического местонахождения в системе сервера, для которого предназначен данный вызов. Это шаг именуется привязкой (binding) к серверу. Результат данного этапа -- адрес машины, на которую необходимо передать вызов.

2. Вызов процедуры, затем упаковка ее аргументов в сообщение в некотором формате, который понятен серверной заглушке. Этот шаг именуется маршалингом (marshaling).

3. Преобразование приобретенного сообщения в поток байтов (сериализация, serialization), затем он отсылается при помощи какого-либо протокола на машину, на которой помещен серверный компонент.

4. Распаковка сообщения после получения от сервера ответа, после этого оно возвращается клиенту в качестве результата работы процедуры.

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

На той же машине, где находится компонент-сервер, располагается и серверная заглушка.

Заглушка выполняет операции, которые обратны по своей сущности к действиям клиентской заглушки -- принимает сообщение, которое содержит аргументы вызова, распаковывает эти аргументы при помощи таких способов как десериализация и демаршалинг, вызывает локально соответствующую функцию серверного компонента, получает результат от нее, упаковывает его и высылает по сети на машину-клиент. Таким образом обеспечивается отсутствие видимых серверу различий между удаленным вызовом некоторой его функции и ее же локальным вызовом.

После определения интерфейса процедур, вызываемых удаленно, становится возможным перейти к разработке сервера, который реализует данные процедуры, и клиента, который использует их для решения своих задач.

При удаленном вызове процедуры обращение клиента оформляется таким же способом, как вызов локальной функции и обрабатывается при помощи клиентской заглушкой. Она же определяет адрес устройства, на котором находится сервер, собирает данные вызова в сообщение и передает на серверную машину. На серверной машине серверная заглушка после получения сообщения распаковывает его, извлекает из него необходимые аргументы вызова, затем обращается к серверу с таким вызовом локально, дожидается от него результата, упаковывает результат в сообщение и, наконец, передает его обратно на клиентскую машину. Получив сообщение в ответ, клиентская заглушка распаковывает его и отправляет полученный ответ клиенту.

Эта же техника может найти свое применение и для реализации взаимодействия компонентов, которые работают в рамках различных процессов на одной машине (Рисунок 3).

Рисунок 3 -- Схема реализации уделённого вызова процедуры

При организации удаленного вызова методов в объектно-ориентированной среде применяются такие же механизмы. Отличия в его реализации связаны с аспектами, которые описаны ниже:

Аргументами удаленного вызова могут служить объекты. Следует отметить, что передача указателей в аргументах удаленного вызова процедур почти полностью запрещена -- указатели имеют привязку к памяти данного процесса и не могут быть переданы в другой процесс.

Один объект-сервер может реализовать несколько методов для удаленного обращения к ним. Для таких объектов формируются клиентские заглушки, которые имеют в своем интерфейсе все описанные методы. Вдобавок, информация о том, какой конкретно метод вызывается, должна упаковываться вместе с аргументами вызова и использоваться серверной заглушкой для обращения именно к данному методу. Серверная заглушка в контексте удаленного вызова способов иногда называется скелетоном (skeleton) или каркасом.

При передаче объектов возможны следующие подходы, и все они используются на практике.

Идентичность передаваемых объектов могут не иметь значения, например, если сервер использует их только как хранилище данных и получит точно идентичный результат при работе с их правильно построенными копиями. В этом случае определяются методы для сериализации и десериализации данных объекта, позволяющие сохранить их в виде потока байтов и восстановить объект с теми же данными на другой стороне.

Идентичность передаваемого объекта может иметь большое значение, например, если сервер вызывает в нем методы, работа которых зависит от того, что это за объект. При этом используется специализированная ссылка на данный объект, которая позволяет обратиться к нему из другого процесса или с другой машины, т.е. также с помощью удаленного вызова методов.

Таким образом, интеграция информационных систем в настоящее время необходима бизнесу для его дальнейшего успешного развития. Каждое предприятие выбирает способ интеграции информационных систем в зависимости от своих потребностей и ресурсов, и зачастую синхронное взаимодействие систем помогает их удовлетворить. Этот способ обладает как достоинством (простота организации), так и недостатком (затраты значительного количества времени при работе). Если же фирма считает, что данный вид взаимодействия не является подходящим для нее, то она сможет выбрать альтернативный способ -- организация асинхронного взаимодействия информационных систем.

Список использованных источников

1. Морозова О.А. Интеграция корпоративных информационных систем: М80 учебное пособие. -- М.: Финансовый университет, 2014. -- 140 с.

2. В. В. Кулямин Технологии программирования. Компонентный подход. (http://panda.ispras.ru/~RedVerst/RedVerst/Lectures%20and%20training%20courses/Software%20Dev

Размещено на Allbest.ru

...

Подобные документы

  • Виды архитектуры распределенных информационных систем. Сущность синхронного и асинхронного, блокирующего и неблокирующего взаимодействия в распределенных информационных системах. Основные проблемы и принципы реализации удаленного вызова процедур.

    реферат [26,4 K], добавлен 22.06.2011

  • Методология структурного анализа и проектирования информационных систем. Базовый стандарт процессов жизненного цикла программного обеспечения. Цели и принципы формирования профилей информационных систем. Разработка идеальной модели бизнес-процессов.

    презентация [152,1 K], добавлен 07.12.2013

  • Программное обеспечение решения аналитических и прогнозных задач сбытовой деятельности, критерии выбора средств, использование информационных технологий управления. Архитектура "клиент-сервер" в локальных сетях информационных маркетинговых систем.

    реферат [50,1 K], добавлен 12.03.2011

  • Общее понятие и признаки классификации информационных систем. Типы архитектур построения информационных систем. Основные компоненты и свойства базы данных. Основные отличия файловых систем и систем баз данных. Архитектура клиент-сервер и ее пользователи.

    презентация [203,1 K], добавлен 22.01.2016

  • Жизненный цикл информационных систем, методологии и технологии их проектирования. Уровень целеполагания и задач организации, классификация информационных систем. Стандарты кодирования, ошибки программирования. Уровни тестирования информационных систем.

    презентация [490,2 K], добавлен 29.01.2023

  • Факторы угроз сохранности информации в информационных системах. Требования к защите информационных систем. Классификация схем защиты информационных систем. Анализ сохранности информационных систем. Комплексная защита информации в ЭВМ.

    курсовая работа [30,8 K], добавлен 04.12.2003

  • Изучение деятельности фирмы СООО "Гейм Стрим", занимающейся разработкой программного обеспечения интеллектуальных систем. Проведение работы по тестированию информационных систем на степень защищенности и безопасности от разного рода информационных атак.

    отчет по практике [933,1 K], добавлен 05.12.2012

  • Предмет и основные понятия информационных систем. Базовые стандарты корпоративных информационных систем. Характеристика входящих и исходящих потоков информации. Основные понятия искусственного интеллекта. Обеспечение безопасности информационных систем.

    курс лекций [295,6 K], добавлен 11.11.2014

  • Недостатки позадачного подхода к проектированию. Понятие реинжиниринга бизнес-процессов предприятий, их структурные и оценочные характеристики, модели классификации. Структура бизнес-процесса SY, разработка систем и технологий. Правила декомпозиции.

    презентация [409,8 K], добавлен 06.09.2015

  • Виды обеспечения автоматизированных информационных систем. Составление технического задания, разработка информационной системы, составление руководства пользователя к программе. Средства программирования распределенных систем обработки информации.

    отчет по практике [1,1 M], добавлен 16.04.2017

  • Рассмотрение взаимосвязи информационных подсистем предприятия. Характеристика сервис-ориентированной архитектуры информационных систем. Оценка реализации SOA-инфраструктуры на базе сервисной шины предприятия. Анализ бизнес-цели внедрения SOA-решений.

    контрольная работа [1,0 M], добавлен 28.03.2018

  • Изучение общих понятий теории систем и системного анализа. Методика построения объектных репозиториев открытых информационных систем. Принципы восприятия визуальной информации. Средства визуального моделирования рабочих процессов по интеграции данных.

    курсовая работа [195,1 K], добавлен 04.06.2015

  • Основные направления в истории развития компьютерной индустрии. Специфика информационных программных систем. Основные задачи информационных систем. Классификация архитектур информационных приложений. Файл-серверные и клиент-серверные приложения.

    презентация [110,8 K], добавлен 11.04.2013

  • Характеристика деятельности ГУП "Национальное кадастровое агентство". Использование интернет-ресурсов в работе агентства. Обеспечение безопасности информационных систем. Описание бизнес-процессов фирмы и анализ информационной системы "1С:Предприятие".

    отчет по практике [1,9 M], добавлен 19.05.2015

  • Общее понятие, история возникновения и эволюция корпоративных информационных систем. Сущность, виды, возможности и механизм работы систем класса MRPII/ERP. Способы внедрения и оценка эффективности использования систем класса MRPII/ERP на предприятии.

    курсовая работа [263,5 K], добавлен 03.06.2010

  • Развитие информационных систем. Современный рынок финансово-экономического прикладного программного обеспечения. Преимущества и недостатки внедрения автоматизированных информационных систем. Методы проектирования автоматизированных информационных систем.

    дипломная работа [1,5 M], добавлен 22.11.2015

  • Составляющие информационных систем: определение, соотношение, изменчивость, выбор подхода к проектированию. Принципы построения корпоративных систем. Обзор технических решений для построения локальных вычислительных систем. Схемы информационных потоков.

    курсовая работа [571,6 K], добавлен 16.10.2012

  • Понятие, модели и назначение информационных систем. Функциональное моделирование ИС. Диаграмма потоков данных. Декомпозиция процессов и миниспецификации. Реализация макета системы средствами MS SQL Server 2005. Создание базы данных. Скалярные функции.

    курсовая работа [1,0 M], добавлен 16.09.2012

  • Особенности проектирования информационных систем основанных на базах данных. Использование CASE-средств и описание бизнес процессов в BP-Win. Этапы проектирования современных информационных систем, виды диаграмм и визуальное представление web-сайта.

    курсовая работа [1,9 M], добавлен 25.04.2012

  • Роль структуры управления в информационной системе. Примеры информационных систем. Структура и классификация информационных систем. Информационные технологии. Этапы развития информационных технологий. Виды информационных технологий.

    курсовая работа [578,4 K], добавлен 17.06.2003

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.