Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXXVIII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 26 января 2016 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Гончарова Д.И., Тишкина Е.В. ИССЛЕДОВАНИЕ WEB-ИНТЕГРАЦИИ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. XXXVIII междунар. студ. науч.-практ. конф. № 1(37). URL: https://sibac.info/archive/technic/1(37).pdf (дата обращения: 31.12.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

ИССЛЕДОВАНИЕ WEB-ИНТЕГРАЦИИ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ

Гончарова Дарья Игоревна

студентка 1 курса магистратуры, кафедра КТ РГРТУ, г. Рязань

Тишкина Екатерина Витальевна,

студентка 1 курса магистратуры, кафедра САПР ВС РГРТУ, г. Рязань

Орехов Вячеслав Викторович

научный руководитель, канд. технических наук, доцент РГРТУ, г. Рязань

 

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

Одной из самых нетривиальных и трудоёмких задач в проектировании современных информационных систем является задача объединения различных разно-специализированных программных компонентов для их взаимодействия. Такой процесс получил название интеграция. При этом надо учесть, что интегрируемые компоненты могут быть разработаны с использованием различных языков программирования и работать на разных ЭВМ, доступных по сети.

Для разработки масштабируемого ПО, важную роль играет выбор технологии, используемой для интеграции распределённых компонентов приложения. Выбранная технология интеграции в дальнейшем становится средой «общения» отдельных интегрируемых программных компонентов. Особая важность этого выбора заключается в том, что выбранная технология будет накладывать различный ограничений, влияющий сложность масштабирования и её возможность в принципе. Такими ограничениями могут быть: невозможность использования защищённых протоколов; неэффективное кодирование передаваемых структур, данных; невозможность использования выбранного языка программирования, невозможность использования http протокола, и т.д.

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

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

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

1. На уровне представления. Уровень представления — web-базированный пользовательский интерфейс, платформно-зависимый графический пользовательский интерфейс (GUI) или консоль терминала. Этот уровень дает возможность пользователю взаимодействовать с приложением. Интеграция на данном уровне предоставляет доступ к пользовательскому интерфейсу удаленных приложений.

2. Интеграция на уровне функциональности. Такая интеграция подразумевает обеспечение прямого доступа к бизнес-логике приложений. Это может быть достигнуто непосредственным взаимодействием приложений с API (программному интерфейсу приложений) или же взаимодействием посредством web-сервисов.

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

4. Комплексная интеграция. Коммерческие решения по web-интеграции обычно включают все три типа интеграции [2].

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

Так, например, интеграция на уровне представления может иметь место, когда один программный интерфейс должен отобразить информацию из разных информационных систем. Например, когда сайт интернет-магазина отображает элемент для оплаты покупки через платежную систему. Иногда в таких случаях происходит передача данных из одной формы в другую. В web-приложениях при интеграции на уровне пользовательского интерфейса точкой интеграции становится web-браузер. Набор инструментов, используемых для обмена данными в таком случае, будет очень ограничен. А именно он будет ограничен использованием текстового протокола http и интерпретируемого языка программирования javascript. Исключение составляет использование встраиваемых компонентов flash, flex, activex и т.д. Но эти технологии, как средства интеграции, сложно назвать современными и широко распространенными. Кроме того, выбор инструментов обмена данными по сети при их использовании является довольно тривиальной задачей.

На Рисунке 1.1 представлена схема интеграции на уровне представления, где представлением выступает web-браузер.

Рисунок 1.1 – Схема интеграции на уровне представления

 

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

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

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

3. Удаленный вызов процедуры. Приложение предоставляет доступ к части своей функциональности посредством удаленного вызова процедуры. Взаимодействие между приложениями осуществляется синхронно в режиме реального времени.

4. Обмен сообщениями. Приложение размещает сообщение в общем канале, которое потом считывается другим приложением. Приложения должны согласовать канал и формат сообщения. Взаимодействие приложений производится в асинхронном режиме [3].

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

Для интеграции могут быть использованы следующие технологии:

1. Web-сервис. Является реализацией сервис-ориентированной архитектуры (Services Oriented Architecture, SOA). Среди наиболее популярных в настоящее время средств разработки Web-сервисов Microsoft SOAP Toolkit и IBM XML and Web Services Development Envirоnment (WSDE).

2. JCA (Java Connector Architecture). Является стандартной архитектурой, предназначенной для интеграции приложений Java 2 Enterprise Edition (J2EE) с информационными системами предприятий, не являющимися реляционными базами данных.

3. JMS (Java Message Service). Представляет собой технологию обмена сообщениями, поддерживающую асинхронное функционирование Java-приложений.

4. RMI (Remote Method Invocation). Механизм, который позволяет вызывать метод удалённого объекта.

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

 

Список литературы:

  1. Свободная энциклопедия [электронный ресурс] - Режим доступа. -  URL: https://ru.wikipedia.org/wiki/Интеграция (дата обращения 15.09.2015)
  2. Фаулер, Мартин. Архитектура корпоративных программных приложений: Пер. с англ. — М.: ООО «И.Д. Вильямс», 2006. — 544 с.
  3. Хоп, Грегор, Вульф, Бобби. Шаблоны интеграции корпоративных приложений: Пер. с англ. – М. : ООО «И.Д. Вильямс», 2007. – 672 с.
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий