Методы обеспечения интеграции слабосвязанных информационных систем тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат наук Платонов, Юрий Георгиевич
- Специальность ВАК РФ05.13.11
- Количество страниц 107
Оглавление диссертации кандидат наук Платонов, Юрий Георгиевич
Оглавление
Введение
Глава 1. Современные технологии, использованные автором ю
1.1 Типовые подходы к обеспечению интеграции информационных систем и обмена данными между ними
1.2 Сервисно-ориентированная архитектура (Service-oriented Architecture SOA)
1.3 Архитектурный шаблон проектирования Command and Query Responsibility Segregation (CQRS)
1.4 Выводы
Глава 2. Интеграция программных модулей автоматизации жизненного цикла программного обеспечения для нужд предприятий с повышенными требованиями к качеству конечного программного продукта
2.1 Описание предметной области
2.2 Метод перевода информационных систем на сервисно-ориентированную архитектуру
2.3 Выводы
Глава 3. Решение задач интеграции произвольных независимых информационных систем
3.1 Интеграция независимых информационных систем, созданных ранее третьими фирмами
3.1.1 «Открытые» информационные системы
3.1.2 «Закрытые» информационные системы с внешним API
3.1.3 Информационные системы с закрытым программным кодом
3.2 Обеспечение масштабируемости объединенной системы
3.3 Защита от несанкционированного доступа
3.4 Возможности интеграции независимых информационных систем, созданных ранее третьими фирмами, с перспективой дальнейшей работы на устройствах с ограниченными вычислительными ресурсами
3.4.1 Проблема недостаточности вычислительных ресурсов и свободного
файлового пространства на стороне «клиента»
3.4.2 Авторизация и безопасность передачи данных в подобных системах
3.4.3 Штатная работа спроектированной системы
3.4.4 Работа в условиях недоступности сервера
3.4.5 Перспективы развития и особенности взаимодействия мобильного
клиентского приложения и корпоративного приложения
3.5 Выводы
Глава 4. Интеграция нескольких информационных систем методом «Business Community»
4.1 Модификация метода «Business Community» для «Облачных вычислений»
(Cloud computing)
Заключение
Литература
Приложение 1. Примеры конечных автоматов, описывающие жизненный цикл исполнительных документов
Приложение 2. Экспериментальные данные для сравнительного анализа шардинга баз данных в информационных системах с повышенным требованием к качеству кода
Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Исследование надежности бизнес-транзакций в сервис-ориентированной среде2015 год, кандидат наук Артамонов Иван Васильевич
Методы и алгоритмы выбора композиции веб-сервисов в системах с сервисно-ориентированной архитектурой2013 год, кандидат наук Душкин, Дмитрий Николаевич
Программно-технологический комплекс для развития информационной среды образовательного учреждения на основе системы электронного документооборота2013 год, доктор технических наук Гудов, Александр Михайлович
Математическое и алгоритмическое обеспечение эффективного выбора программных компонентов распределенного вычислительного комплекса заданной архитектуры2019 год, кандидат наук Гусев Александр Алексеевич
Методы и программные средства интеграции приложений с использованием внешней шины2015 год, кандидат наук Шумский, Леонид Дмитриевич
Введение диссертации (часть автореферата) на тему «Методы обеспечения интеграции слабосвязанных информационных систем»
Введение
Современное производство демонстрирует устойчивые тенденции к глобализации, будь то объединение нескольких независимых производств (или этапов производства) в один сложный производственный комплекс или добавление новых процессов к уже существующей совокупности.
В настоящее время существует ряд хорошо изученных способов проектирования объединенных информационных систем, включающих в себя несколько систем, независимых изначально.
В случаях, когда между интегрируемыми системами существует стабильный канал связи, исходный код каждого из включенных в интеграцию приложений доступен и может быть, при необходимости, изменен, и, кроме того, не существует ограничений на вычислительные ресурсы используемых устройств, качественная интеграция этих систем может быть обеспечена средствами, описанными в Главе 1.
В то же время, в случаях, когда возможности разработчика объединенной системы каким-либо образом ограничены, использование стандартных средств интеграции не всегда возможно.
Именно эти осложненные обстоятельства формируют предметную область настоящего исследования.
Автором предложен ряд принципиально новых методов, предназначенных для обеспечения интеграции слабосвязанных информационных систем в следующих случаях:
• Если связь между системами не стабильна. Интерес представляет обеспечение автоматической синхронизации данных, если связь между системами прерывается, а позже восстанавливается.
• Если отсутствует возможность реорганизации программного кода включенных приложений (по техническим, либо экономическим, причинам).
• Если вовлекаемые информационные системы представляют собой сложные производственные комплексы с большими объемами данных и сложной функциональностью, а вычислительные ресурсы используемых устройств ограничены. В частности, интерес представляет разработка интеграции для слабосвязанных информационных систем, которую можно будет использовать не только на стационарных компьютерах, но и на планшетных компьютерах и мобильных телефонах, вычислительные возможности которых, по сравнению со стационарным компьютером, существенно ограничены.
• Если необходимо время от времени менять состояние интеграции - добавлять в нее или исключать новые системы, делать закрытыми или доступными различные типы данных.
Из всех описанных в разделе 1.1 типов интеграции, наибольший интерес для автора представляет интеграция приложений, как самая, по его мнению, перспективная в части улучшения технологий интеграции и разработки новых ее способов.
В частности, в настоящее время не были системно исследованы и, соответственно, представляются интересными для разработки, технологии проектирования и интеграции информационных систем для следующих областей:
1. Интеграция информационных систем, разработанных для нужд предприятий с повышенными требованиями к качеству программного кода и заранее утвержденным жизненным циклом программного продукта;
2. Интеграция информационных систем, имеющих жесткие ограничения на аппаратные ресурсы;
3. Интеграция информационных систем различной природы данных без возможности (или с ограниченной возможностью) внесения изменений в программный код самих систем;
4. Создание управляемой динамической интеграции систем, т.е. интеграции, позволяющей быстро добавлять/исключать новые информационные системы или делать любые вовлеченные в интеграцию данные доступными/закрытыми. Метод должен подходить для интеграции любых информационных систем, имеющих разное программное обеспечение, но описывающих сходные реальные бизнес-модели. Предлагаемые автором настоящей диссертационной работы новые методы интегрирования являются результатом исследований, проводимых в вышеперечисленных областях.
В работе исследуются способы модификации шаблона архитектурного проектирования CQRS (Command-Query Responsibility Segregation) и рассматриваются способы интеграции независимых информационных систем. Основные принципы предложенных автором методов базируются на сочетании SOA (Service-Oriented Architecture) и использовании шаблона CQRS.
Таким образом, в данной диссертационной работе рассматриваются методы обеспечения взаимодействия между информационными подсистемами, имеющими одинаковую предметную область и предназначенные для автоматизации предприятий, работающих в одном сегменте рынка и методы обеспечения гибкой интеграции между независимыми информационными подсистемами, входящими в состав одного предприятия.
Объект исследования - распределенные слабосвязанные информационные системы и методы обеспечения информационного взаимодействия между ними.
Актуальность темы. С увеличением сложности программных комплексов на фоне общемировой тенденции глобализации, проблема интеграции двух и более информационных систем является актуальной. При этом стандартные методы интеграции зачастую не способны удовлетворить всем современным требованиям в части надежности используемого программного
обеспечения, целостности структуры базы данных, экономической разумности ведения разработок и прочих аспектов.
Кроме того, появление на рынке целого класса мобильных устройств спровоцировало рост пользовательского интереса к использованию этих устройств в качестве рабочих станций.
В настоящее время методы интеграции, позволяющие обеспечить настраиваемое (гибкое) взаимодействие между подсистемами в составе объединенного информационного комплекса, автору не известны
Целями диссертационной работы являются теоретическое и экспериментальное обоснование, а также разработка методов обеспечения гибкого взаимодействия различных информационных подсистем на основе использования шаблона CQRS с применением технологии Cloud. Предлагаемые технологии пригодны для решения задач интеграции в сложных условиях использования.
Основными требованиями к предлагаемым методам являются:
• Возможность применения для сложной системы на предприятиях с повышенными требованиями к качеству конечного программного продукта;
• Корректная работа методов при разработке сложных систем с возможным использованием в качестве рабочих станций устройств с ограниченными вычислительными возможностями (например, мобильных);
• Обеспечение гибкого (настраиваемого) взаимодействия между подсистемами.
Научная новизна:
1. Автором предложен не имеющий в настоящее время аналогов метод разработки сложных промышленных приложений с возможностью их дальнейшего использования на устройствах с ограниченными вычислительными ресурсами с обеспечением высокого уровня безопасности
данных и сохранением полного набора функций по отношению к стационарному прообразу.
2. Расширена научная область применения CQRS как шаблона, дающего возможность обеспечить информационное взаимодействие в слабосвязанных системах.
3. На примере предприятий с повышенными требованиями к качеству программного кода разработана методология обеспечения информационного взаимодействия путем перевода информационных систем на сервисно-ориентированную архитектуру.
4. Предложен и описан метод «Business Community» создания информационного сообщества на основе сервисно-ориентированной архитектуры, позволяющий обеспечить гибкое взаимодействие нескольких гомогенных систем. Под гомогенными системами здесь подразумеваются информационные системы, имеющие одинаковую предметную область и предназначенные для автоматизации предприятий, работающих в близких отраслях.
Практическая значимость. Предложенное автором значительное расширение области применения архитектурного шаблона CQRS позволяет организовывать информационное взаимодействие информационных систем, не подвергая их при этом значительной модернизации и с невысокими трудозатратами.
На основе результатов исследований описаны и внедрены новые методы обеспечения интеграции подсистем:
• Метод обеспечения информационного взаимодействия путем перевода информационных систем на сервисно-ориентированную архитектуру с использованием модифицированного шаблона CQRS;
• Метод динамически настраиваемой интеграции «Business Community»;
• Метод динамически настраиваемой интеграции «Business Community» для «Облачных вычислений»;
• Метод интеграции программных модулей, предназначенный для использования на предприятиях с повышенными требованиями к безопасности и качеству программного обеспечения;
• Методы интеграции независимых информационных систем, позволяющие осуществлять системный доступ пользователей в условиях недоступности сервера и на устройствах с ограниченными вычислительными ресурсами (в том числе удаленно);
• Методы, обеспечивающие эффективную масштабируемость обобщенной системы и гарантированную защиту данных от несанкционированного доступа.
Передана в промышленную эксплуатацию подсистема «Документооборот» ИС «АСПИД», разработанная для ОАО ИСС им. Решетнева (г. Же-лезногорск).
Переданы в промышленную эксплуатацию мобильные приложения «TRIS for iPad» и «TRIS for iPhone».
Апробация. Основные положения диссертации докладывались на следующих конференциях, конкурсах и семинарах:
• 8 Международная Ершовская конференция (8 PCI 11). Секция «Наукоемкое программирование» (Новосибирск, 2011);
• Конференция ИНФО-2011 (Москва, МИЭМ, 2011);
• Семинар ИСИ СО РАН «Системное программирование» и кафедры программирования НГУ, 2012. Тема: «Методы обеспечения интеграции в распределенных слабосвязанных информационных системах»;
• Семинар ИСИ СО РАН «Системное программирование» и кафедры программирования НГУ, 2011. Цикл докладов «Шаблоны программирования и проектирования».
Методы исследования включают в себя методы математической логики, методы теории множеств, методы конечных автоматов, методы языков
программирования, объектно-ориентированный анализ, вычислительный эксперимент, технологии документно-ориентированного программирования, и разработки, управляемой моделями.
Объем и структура работы: Диссертационная работа состоит из Введения, четырех глав, Заключения, Списка литературы и Приложений. Объем диссертации - 107 стр. Список литературы содержит 70 наименований. Работа включает 29 рисунков и графиков, полученных в результате расчетов на ЭВМ.
На защиту выносятся:
Обоснование и описание новых технологий, являющихся результатом исследований, направленных на расширение области применения теории использования CQRS в сфере обеспечения интеграции слабосвязанных информационных систем:
• Методы интегрирования информационных систем для нужд предприятий с повышенной мерой ответственности за конечный продукт;
• Метод обеспечения информационного взаимодействия путем перевода информационных систем на сервисно-ориентированную архитектуру с использованием шаблона CQRS;
• Метод Business Community;
• Метод Business Community с использованием технологии «Облачных вычислений» (Cloud computing).
Глава 1. Современные технологии, использованные автором
Перед разработчиками современных систем автоматизации производственных процессов часто встает задача интеграции нескольких уже существующих информационных систем в единое информационное пространство.
Разнообразие архитектур интегрируемых систем и целей их объединения породило различные интеграционные технологии, призванные обеспечивать информационное взаимодействие наилучшим для конкретной ситуации образом, что подробно описано в разделе 1.1. Детальное изучение этих методов натолкнуло автора на мысль о необходимости разработки новых технологий интеграции, которые позволят при создании объединенной системы устранить ряд проблем, возникающих при использовании типовых методов.
Кроме того, в своих исследованиях автор использовал основы построения информационный систем с сервисно-ориентированной архитектурой, детально описанной в разделе 1.2. Это позволило в дальнейшем использовать ее для разработки новой технологии интеграции, применимой для полностью независимых систем (т.е. систем, которые по тем или иным причинам не представляется возможным подвергнуть изменениям с целью построения интеграции).
Особую роль в разработке новых способов интеграции сыграло расширение сферы использования архитектурного шаблона CQRS, основы построения которого приведены в разделе 1.3.
1.1 Типовые подходы к обеспечению интеграции информационных систем и обмена данными между ними
Классификация методов интеграции по структуре интеграции, позволяет выделить принципы р2р («point-to-point») и «Звезда».
Принцип р2р [44-46] базируется на обеспечении внутри интегрированной системы связи каждой подсистемы с каждой, когда каждая пара подсистем имеет свою интерфейсную связь.
«Звезда» [44-46], как принцип построения объединенной системы, использует централизованный принцип управления системами, используя для связи интегрирующую среду.
Технология р2р предполагает наличие большого количества связей, поэтому применима преимущественно для небольшого количества интегрируемых подсистем.
Технология «Звезда», как правило, используется для систем, имеющих общий язык, либо единое программное обеспечение, и требует наличия интерфейса между мета-средой и каждой подсистемой, чем уменьшает количество связей до количества вовлеченных подсистем.
Интегрирующая среда «Звезды» с помощью центрального компонента выполняет обмен сообщениями между системами, протоколирование и мониторинг состояния, выполнение сценариев транзакций и т.д.
Помимо структурной классификации, методы интеграции классифицируются также в зависимости от сложности интеграционных преобразований, что позволяет выделить следующие их виды:
• Интеграция процессов достигается за счет создания «сквозных процессов». Этот способ не подразумевает существенных изменений приложений, участвующих в интеграции на различных этапах процесса. При этом отметим, что обработка данных может производиться различными приложениями, а мероприятия по поддержке процесса и обмену информацией между различными подсистемами реализуются в специализированной системе. Классическим примером реализации этого типа интеграции систем является технология WorkFlow [7].
• Интеграция приложений достигается за счет использования системных служб (сервисов) - серверных программ со стандартным API, ко-
торые посредством удаленного вызова процедур, либо обмена сообщениями, осуществляют файловый доступ, прикладную обработку данных, контроль безопасности и т.д. Интеграция приложений достигается посредством применения технологий р2р и интеграционной шины (интеграционного сервиса), представляющей собой общий для всех канал передачи сообщений определенного формата. Именно интеграция приложений, по мнению автора, представляет определенный интерес для проведения исследований.
• Интеграция данных основана на изменениях средств хранения данных и обеспечении межсистемного доступа к данным, не затрагивая при этом инфраструктуры вовлеченных систем [47]. Интеграция данных сравнительно проста для реализации и часто применяется для интеграции систем с клиент-серверной архитектурой, хотя может быть применена и в сложных случаях, когда другие принципы интеграции не работают. Результатом является объединенная база данных совместного доступа, причем все функции обработки данных осуществляются клиентскими программами.
Рассмотренные выше способы могут быть в больше или меньшей степени эффективно реализованы в случае, когда существует возможность изменить код приложения и постоянный канал для организации интеграционной шины. В противном случае стоит обратиться к таким технологиям, как фоновое копирование данных и репликация данных со способами разрешения конфликтов.
Фоновое копирование данных может использоваться только, как способ односторонней интеграции информационных систем [48]. Для его реализации необходимо организовать шлюз, доступный для обеих интегрируемых систем, и настроить некоторые специализированные приложения для отправки-приема пакетов данных. Наиболее простой реализацией такого способа интеграции является организация доступа к определенной части файло-
вой системы информационной системы - «приемника» данных, в то время как система - «отправитель» данных с помощью различных транспортных протоколов [51 - 53] (Http, ftp и т.д.) динамически размещает необходимую информацию в виде набора файлов в файловой системе «приемника».
Дальнейшая обработка этих файлов может осуществляться специальном приложением, которое проверяет вводные данные на безопасность, после чего объединяет их с данными системы - «приемника».
Таким образом, к достоинствам способа фонового копирования следует отнести отсутствие необходимости изменения интегрируемых информационных систем, отсутствие необходимости в постоянном канале связи между системами и дешевизна реализации. К недостаткам относится сравнительно невысокая применимость, потому что подобная интеграция возможна только на уровне данных, а не потоков или бизнес-логики, вследствие чего при попытках реализации способа нередко возникают конфликты.
Репликацию данных, как способ интеграции, целесообразно использовать, когда интегрируемые систем могут использовать одни и те же данные или часть из них, но разделены пространственно и не имеют постоянного канала, либо разобщены, исходя из бизнес-логики.
Репликации можно классифицировать следующим образом [8, 9]:
• По времени взаимодействия - «репликация реального времени» (когда объединять и синхронизировать данные приходится немедленно) и «отложенная репликация».
• По направлению движения данных - «односторонняя репликация» (процесс, когда данные только одной системы не подвергаются изменению), и «многосторонняя репликация».
• По способу передачи данных - «детерминированная репликация» (использующая при синхронизации данных гарантированный канал связи), и «вероятностная» или «недетерминированная репликация» (репликация происходит только в выделенных сеансах связи или прини-
мающая система не имеет возможности в любой момент времени дополнительно опросить передающую систему, если возникла необходимость).
• По способу анализа информации - «репликация по текущему состоянию» (если полученные данные сопоставляются с текущими данными базы данных сразу по мере их получения системой-«приемником»), и «дельта-репликация» (если анализ полученных данных происходит сразу для всего пакета информации).
Важно также отметить, что репликация данных, при всей простоте общей идеи, может вызвать значительные затруднения при реализации, для устранения которых разработчики традиционно прибегают к двум основным способам:
• Создание репликации с использованием универсальных СУБД, таких, как Microsoft SQL Server [49] или Oracle [50];
• Разработка специализированного дополнительного сервиса, взаимодействующего непосредственно с принимающей данные информационной системой [48]. Этот способ является более гибким, но его реализация является нетривиальной задачей, поскольку разработчику приходится брать на себя ответственность за разрешение возможных конфликтов.
Репликация данных, как способ интеграции, обладает рядом неоспоримых достоинств:
• Возможность работы системы как при наличии гарантированного канала связи, так и при отсутствии такового;
• Надежность;
• Возможность реализации для любых платформ;
• Возможность работы всех интегрируемых систем с обобщенным хранилищем данных;
• Гибкость в разрешении конфликтов. Недостатками данного способа будут:
• Нетривиальность проектирования «обобщенной системы»;
• Сложность конфигурирования;
• Возможность применения только для систем, имеющих единый формат базы данных.
1.2 Сервисно-ориентированная архитектура (Service-oriented Architecture SOA)
Под сервисно-ориентированной архитектурой мы будем понимать подход к разработке программного обеспечения, основанный на создании слабосвязанных модульных программных компонентов, имеющих стандартизированные интерфейсы, и последующем объединении их. Такие модули удобно реализовывать, как набор web-сервисов, связанных с помощью SOAP [5] протокола.
Программные компоненты, разработанные в соответствии с этим подходом, должны скрывать детали реализации.
Основой SOA можно считать технологию Enterprise Service Bus (ESB) [6], которая позволяет обеспечивать унифицированный механизм взаимодействия программных компонентов.
Сервис 1
взаимодействующие протоколы
взаимодействующие протоколы
Сервис 2
Рис. 1 - Принципы организации БОА
На Рис. 1 проиллюстрированы принципы работы 80А, которую можно кратко охарактеризовать следующим образом:
• Сервисы многократно используют бизнес-функции. Каждый сервис предназначен для выполнения строго определенного набора функций.
• Для связи между сервисами применяются транспортные протоколы, усиливающие функциональную совместимость блоков. Иначе говоря, используемые протоколы связи должны позволять сервису воспринимать данные, отправляемые другими сервисами, даже если формат этих данных отличен от формата данных, используемого принимающим сервисом.
• Использование независимых от реализации интерфейсов для определения сервисов.
Отметим, что технология использования \\^еЬ-сервисов полностью удовлетворяет характеристикам, приведенным выше, поэтому \¥еЬ-сервисы зачастую используются при реализации БОА, но это не единственный приемлемый способ реализации.
Как уже сказано выше, именно эволюция интеграции приложений привела к появлению информационных систем с 80А. В дальнейшем применение сервисно-ориентированной архитектуры вышло за рамки одной информационной системы, и возникли технологии, позволяющие использовать ее, как основу интеграции нескольких независимых систем. На Рис. 2 представлена схема такой интеграции.
Система 1
•О
Внутренний
код и процессы
Код интерфейса, представляющего собой хорошо инкапсулированные сервисы
взаимодействующие протоколы
Контракт
□on -0 Совместные процессы и определения интерфейсов
взаимодействующие протоколы
Код интерфейса, представляющего собой хорошо инкапсулированные сервисы
•О
си
Система 2
Внутренний
код и процессы
Рис. 2 - Применение SOA для интеграции информационных систем
Enterprise Service Bus в классической сервисно-ориентированной архитектуре представляет собой инфраструктуру, которая обеспечивает маршрутизацию доставки запросов сервиса требуемому поставщику сервиса, обеспечивает возможность замены одного сервиса другим, независимо от разме-
щения сервиса и протоколов связи. На Рис. 2 ЕЭВ представлен центральной частью схемы, обеспечивающей межсистемное взаимодействие.
Рассмотрим отношение инфраструктуры 80А к ЕЭВ подробнее (см. Рис. 3).
Все фрагменты схемы, приведенной на рисунке, за исключением блоков внешних компонентов, иллюстрирует модель информационной системы с ЭОЛ.
Взаимодействие системы с внешними компонентами, как предлагающими, так и запрашивающими сервис, осуществляется с помощью шины данных типа 'ЬштеББ^о-ЬштеББ'.
В то же время, взаимодействие внутренних компонентов осуществляется через Е8В.
Каталог маршрутизации сервиса необходим для организации маршрутов Е8В.
В случаях, когда для реализации интеграции, основанной на 8 О А, применяются \\^еЬ-сервисы, каталог бизнес-сервисов может представлять собой простой каталог сервисов многократного использования.
Внешние компоненты, запрашивающие сервис
Внутренние компоненты, запрашивающие сервис
Шина В2В
Enterprise Service Bus маршрутизация, трансформация безопасность итд
Диспетчер бизнес-сервисов
ЦКаталог t маршрутизации-
Внешние компоненты, предлагающие сервис
Внутренние компоненты, предлагающие сервис
Каталог бйзнес-сервисов
\Г" м i I I
I.
Инфраструктура сервис-ориентированной архитектуры
Рис 3 - Роль ESB в организации SOA
Необходимым минимальным набором функций, которым должен обладать ESB, является:
• Поддержка средств интеграции с поставщиками сервисов;
• Настраиваемая маршрутизация сервисов;
• Поддержка, как минимум, одного транспортного протокола;
• Управление адресацией и наименованием сервисов;
• Поддержка одной или нескольких форм обмена сообщениями (запрос/ответ, подписка/публикация).
Как видно из вышеперечисленного, данная архитектура достаточно универсальна: не привязана к конкретной реализации и не требует использования каких-либо особенных технологий.
Обычно SOA реализация выстраивается, как сеть взаимосвязанных сервисов, использующих в качестве внешних сервисов Web-сервисы, в качестве транспортного протокола - HTTP, а в качестве поддержки парадигмы запрос/ответ - SOAP/HTTP [43].
Одним из основных вопросов, возникающем на стадии проектирования систем с подобной архитектурой, является вопрос обеспечения безопасности данных.
Так как архитектура поддерживает легкое встраивание дополнительных сервисов, при проектировании системы важно будет определить общую модель безопасности системы, способы авторизации сервисов и надлежащий уровень безопасности транспортного протокола (HTTP с базовой аутентификацией по идентификатору пользователя, либо HTTPS).
В целом следует отметить, что теория проектирования SOA систем еще находится в стадии исследования и развития.
1.3 Архитектурный шаблон проектирования Command and Query
Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Методы и средства организации взаимодействия корпоративных информационных систем на основе сервис-ориентированной архитектуры2014 год, кандидат наук Дергачев, Александр Андреевич
Методы, модели и технологии разработки и интеграции распределённых гетерогенных программно-вычислительных комплексов в АСДУ ЕСГ2018 год, доктор наук Леонов Дмитрий Генадьевич
Технология агентно-реляционного отображения для проектирования распределенных систем обработки больших объемов данных2015 год, кандидат наук Лукьянчиков, Олег Игоревич
Методы и средства интеграции систем проектирования, производства и эксплуатации приборов на основе веб-сервисов2012 год, кандидат технических наук Дергачев, Андрей Михайлович
Анализ и оценка факторов, влияющих на скорость параллельной обработки информации в ГРИД-системах2014 год, кандидат наук Дробнов, Сергей Евгеньевич
Список литературы диссертационного исследования кандидат наук Платонов, Юрий Георгиевич, 2013 год
Литература
1. Greg Young Официальный сайт [Электронный ресурс]. - Режим доступа: http://codebetter.com/gregyoung (дата обращения: 10.01.2013).
2. Бертран Мейер Методы программирования : в 2 т./ пер. с фр.Ю. А. Первина; под ред. А. П. Ершова. -Москва : Мир 1982
3. Eckerson, Wayne W. "Three Tier Client/Server Architecture: Achieving Scalability, Performance, and Efficiency in Client Server Applications." Open Information Systems 10, 1 (January 1995): 3-20
4. Нильссон Д. Применение DDD и шаблонов проектирования. Проблемно-ориентированное проектирование приложений с примерами на С# и .NET = Applying Domain-Driven Design and Patterns with Examples in C# and .NET. — M.: «Вильяме», 2008. — С. 549.
5. Генри Бекет Java SOAP для профессионалов. - Москва : Бином 2004
6. Martin Keen, Susan Bishop, Alan Hopkins. Patterns: Implementing an SOA using Enterprise Service Bus, IBM Redbooks, NY, 2004
7. Дхарма Шукла, Боб Шмидт. Основы Windows Workflow Foundation = Essential Windows Workflow Foundation. — M.: «ДМК Пресс», 2008
8. V. Andronikou, K. Mamouras, K. Tserpes, D. Kyriazis, T. Varvarigou, Dynamic QoS-aware Data Replication in Grid Environments, Elsevier Future Generation Computer Systems - The International Journal of Grid Computing and eScience, 2012
9. Hamilton, James. "Inter-Datacenter Replication & Geo-Redundancy" [Электронный ресурс]. - Режим доступа: http://perspectives.mvdirona.com/2010/05/10/InterDatacenterReplicationGeo Redundancy.aspx (дата обращения: 10.01.2013)
Ю.Бертран Мейер Объектно-ориентированное конструирование программных систем: пер. с фр. В. Билиг, Е. Павлова. -Москва : Русская редакция 2005
П.Мартин Фаулер, Архитектура корпоративных программных приложений, Patterns of Enterprise Application Architecture, Вильяме - 2010
12.Bieberstein N., Bose S., Fiammante M., Jones K. Service-Oriented Architecture (SOA) Compass: Business Value, Planning, and Enterprise Roadmap. NY.: IBM Press, 2006. 1058 p
1 З.Платонов Ю.Г. Метод слабосвязанных бизнес-коммуникаций в гомогенных информационных системах // Современные проблемы науки и образования. - 2013. - № 1; URL: http://www.science-education.ru/107-8263 (дата обращения: 17.04.2013).
14.World Wide Web Consortium. Официальный сайт [Электронный ресурс]. - Режим доступа: http://www.w3.org/standards/xml/schema (дата обращения: 10.01.2013).
15.Дейт К. Введение в системы баз данных. - 6-е изд. - М.: Диалектика, 1998.-563 с.
16.Платонов Ю. Г. Разработка мобильных приложений для работы с корпоративными информационными системами // Проблемы информатики. -2011.-№3.-С. 15-33.
17.Платонов Ю. Г. Анализ перспектив перехода информационных систем на сервисно-ориентированную архитектуру // Проблемы информатики. -2011,-№4. -С. 56-65.
18.Платонов Ю.Г., Артамонова Е.В. МЕТОД BUSINESS COMMUNITY И «ОБЛАЧНЫЕ» ВЫЧИСЛЕНИЯ (CLOUD COMPUTING) // Фундаментальные исследования. - 2013. - № 4 (часть 5). - стр. 10891093; URL: http://www.rae.ru/fs/?section=content&op=show_article&article _id=10000577 (дата обращения: 17.04.2013).
19.Grossman R., The Case of Cloud Computing // IEEE IT Professional. -2009. - Vol 11, № 2. - P. 23-27.
20. Э. Гамма, P. Хелм, P. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проектирования. Паттерны проектирования = Design
Patterns: Elements of Reusable Object-Oriented Software. — СПб: «Питер», 2007. —С. 366.
21.Microsoft Inc. Официальный портал для разработчиков Windows Azure [Электронный ресурс]. - Режим доступа - http://www.windowsazure.com/ en-us/manage/services/recovery-services/ (дата обращения: 20.04.2013).
22.Платонов Ю. Г. Анализ необходимости перевода информационных систем на сервисно-ориентированную архитектуру для предприятий с повышенной ответственностью за качество кода // Тез. докл. Международной Ершовской конференции по информатики PSI' 11 //Секция «Наукоемкое программное обеспечение». - Новосибирск, 2011. - С.208-215.
23.Microsoft Inc. MSDN: "Globally Unique Identifiers - Internal Structure" [Электронный ресурс]. - Режим доступа: http://msdn.microsoft.com/en-us/library/cc246027.aspx (Дата обращения 01.05.2013)
24.Erik Hatcher, Otis Gospodnetic. Lucene in Action — Manning, NY, 2004. — P. 456.
25.Apache Inc. Lucene official website [Электронный ресурс].- Режим доступа: http://lucene.apache.org/core/4_2_l/index.html (Дата обращения 01.05.2013)
26.Rahul Roy, Shard - A Database Design [Электронный ресурс].- Режим доступа: http://technoroy.blogspot.ru/2008/07/shard-database-design.html (Дата обращения 10.12.2010)
27.Microsoft Inc. Federations: Building Scalable, Elastic, and Multi-tenant Database Solutions with Windows Azure SQL Database [Электронный pe-сурс]. - Режим доступа: http://social.technet.microsoft.com/wiki/ con-tents/articles/2281.federations-building-scalable-elastic-and-multi-tenant-database-solutions-with-windows-azure-sql-database-en-us.aspx (Дата обращения 05.04.2011)
28.Рэнд Моримото, Кентон Гардиньер, Майкл Ноэл, Джо Кока. Microsoft Exchange Server 2003. Полное руководство = Microsoft
Exchange Server 2003 Unleashed. — М.:«Вильямс», 2006. — С. 1024
29.Edge Charles S., Jr ch. 3 // Enterprise Mac Administrator's Guide. — New York City: Apress, 2009.
30.Платонов Ю. Г. Использование CQRS-технологии при разработке корпоративных приложений//Молодая информатика. -2011.-№3.-С. 5362.
31.Марк Лутц. Программирование на Python / Пер. с англ. — 4-е изд. — СПб.: Символ-Плюс, 2011. — Т. I. — 992 с.
32.Microsoft Inc. Типы триггеров DML. [Электронный ресурс]. - Режим доступа: http://msdn.microsoft.com/ru-ru/library/ms 178134(v=sql. 105).aspx (Дата обращения 05.04.2011)
33.Пол Нильсен. SQL Server 2005. Библия пользователя = Microsoft SQL Server 2005: Bible - M.: "Вильяме", 2008.-С. 123
34.Белоусов А. А. Службы Windows ХР. [Электронный ресурс]. - Режим доступа: http://bookfi.org/book/632955 (Дата обращения 05.04.2013)
35.Эрик Ньюкомер. Веб-сервисы: XML, WSDL, SOAP и UDDI - СПб.: Питер, 2003.-256 с.
36.Тао Чжоу. Системы балансировки нагрузки Web-сервисов // Windows 2000 Magazine. - 2000. - № 3 с 27-40; URL: http://citforum.ru/internet/ webservers/websbal.shtml (дата обращения 14.04.2013)
37.David Chappell. Enterprise Service Bus - NY.: O'Reilly, 2004,- 467 pp.
38.Michael Bell. Service-Oriented Modeling: Service Analysis, Design, and Architecture - NY.: Wiley & Sons, 2008. - 872 pp.
39.Gerhard Weikum, Gottfried Vossen. Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery -NY.: Morgan Kaufmann, 2002. - 852 pp.
40.Mark Seemann. Dependency Injection in .NET - NY.: Manning Publication Co, 2011.-584 pp.
41.ГОСТ P 34.10-2001 Информационная технология. Криптографическая
защита информации. Процессы формирования и проверки электронной цифровой подписи
42.Дал У., Дейкстра Э., Хоор К. Структурное программирование = Structured Programming. — 1-е изд. — М.: Мир, 1975. — С. 247.
43.W3 Inc. Официальный сайт спецификации SOAP. [Электронный ресурс]. - Режим доступа: http://www.w3.org/TR/2007/REC-soapl2-part0-20070427/ (Дата обращения 25.01.2011)
44. Maurizio Lenzerini. Data Integration: A Theoretical Perspective// Молодая информатика. - PODS 2002. - pp. 233-246; URL: http://www.dis.uniromal.it/~lenzerin/homepagine/talks/TutorialPODS02. pdf (дата обращения: 17.04.2013).
45. Добровольский A.H. Интеграция приложений: методы, взаимодействия,топология, инструменты// Открытые системы. - 2006. - № 9; URL: http://www.osp.ru/os/2006/09/3776464/ (дата обращения: 17.04.2013)
46. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс = Database Systems: The Complete Book.—Вильяме, 2003, — 1088 с.
47.Ahmed К. Elmagarmid, Panagiotis G. Ipeirotis, Vassilios S. Verykios. Duplicate Record Detection: A Survey. // IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 19, № 1, JANUARY 2007; URL: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.123.708&rank=l (Дата обращения: 15.04.2013)
48.V. Andronikou, К. Mamouras, К. Tserpes, D. Kyriazis, T. Var-varigou. Dynamic QoS-aware Data Replication in Grid Environments, Elsevier Future Generation Computer Systems// The International Journal of Grid Computing and eScience. - 2012. - №4; URL: http://jcst.ict.ac.cn:8080/jcst/EN/Y2012/V/I2/256 (Дата обращения: 29.02.2013)
49.Microsoft Inc. MSDN: "Репликация SQL Server" [Электронный ресурс]. - Режим доступа: http://msdn.microsofît.com/ru-ru/library/msl51198.aspx (Дата обращения 01.05.2013)
50.Oracle Inc. Oracle. Оптимизация производительности.- M. Символ-Плюс, 2006. - С. 879
51.В. Curtin, The Internet Society (1999). RFC 2640 - Internationalization of the File Transfer Protocol.[Электронный ресурс]. - Режим доступа: http://tools.ietf.org/html/rfc2640 (Дата обращения 25.01.2011)
52.R. Fielding, The Internet Society (1999). RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1. [Электронный ресурс]. - Режим доступа: http://tools.ietf.org/html/rfc2616 (Дата обращения 25.01.2011)
53.R. Droms, The Internet Society (3.1997). RFC 2131 - Dynamic Host Configuration Protocol. [Электронный ресурс]. - Режим доступа: http://tools.ietf.org/html/rfc2131 (Дата обращения 25.01.2011)
54.Evans Е. Domain-Driven Design - Tackling Complexity in the Heart of Software. — Addison-Wesley, 2004. — p. 529.
55.Domain Driven Design Community Официальный сайт [Электронный ресурс]. - Режим доступа: http://domaindrivendesign.org/ (дата обращения: 10.01.2013).
56.David Laribee. Введение в проблемно-ориентированное проектирование// MSDN Magazine. - 2009. - № 2; URL: http://msdn.microsoft.com/ru-ru/magazine/dd419654.aspx (Дата обращения: 15.12.2011)
57.Bloch, Joshua. Effective Java (2nd edition). Addison-Wesley. 2008. pp. 259
58.Lior Malka. How to Design API for Cryptographic Protocols. [Электронный ресурс]. - Режим доступа: http://www.lior.ca/publications/api_design.pdf (Дата обращения: 10.01.2013).
59.Shelly, Gary. Systems analysis and design. Boston, MA: Course Technology, Cengage Learning. 2011. p. 10
60.R. Rivest, The MD5 Message-Digest Algorithm. RFC 1321 - Internationalization of the File Transfer Protocol.[Электронный ресурс]. - Режим доступа: http://tools.ietf.org/html/rfcl321 (Дата обращения 25.01.2011)
61.Bruce Schneier, "Applied cryptography: Protocols, Algorithms and Source Code in C", John Wiley&Sons, 1995
62.W. David Schwaderer "C Programmer's Guide to Netbios", Howard W. Sams&Company, 1988
63.Гостехкомиссия России, "Руководящий документ: Защита от несанкционированного доступа к информации. Термины и определения." - М.: Военное издательство, 1992.
64.Clark D., Wilson D. A comparison of Commercial and Military Computer Security Policies / Proce. Of the 1987 IEEE Symposium on Security and Privacy. - Oakland. Cal., 1987.
65.Шишкин K.H. Бизнес-план мобильного приложения [Электронный ресурс]. - Режим доступа: https://smartmarket.net/static/media/projects /requests/docs/77/Business-plan-TIN.pdf (Дата обращения: 01.09.2011)
66.Samuelson P., Scotchmer S. The Law and Economics of Reverse Engineering // The Yale Law Journal, Vol. 111, No. 7 (May, 2002), pp. 1575-1663
67.Мартин Фаулер. Рефакторинг. Улучшение существующего кода = Refactoring: Imptoving the Design of Existing Code. - M.: Символ-Плюс, 2008.
68.Мартин Фаулер. UML. Краткое руководство по стандартному языку объектного моделирования. - М.: Символ-Плюс, 2006 г. - С. 192
69.Хассан Гома. UML. Проектирование систем реального времени, распределенных и параллельный приложений, 2-е издание. - М.: ДМК Пресс, 2011г.-С. 350
70.С.А. Трофимов. CASE-технологии. Практическая работа в Rational Rose. - М.: БИНОМ, 2002 г. - С. 728
Приложение 1. Примеры конечных автоматов, описывающие
жизненный цикл исполнительных документов
Рис. I - Исполнение Заявки на доработку БПО
Добавить ОПР {роль: Отв. за ПО || Отв. за ИД}
Создавший ОПР Отв. за ИД А или Отв. за ПО получает роль "Владелец" для этого ОПР
У_
#„ 1 Черновик
Опубликовать
Обязательные поля:
* Автор отчета;
* Исполнитель;
* Утверждающий;
Т\
Опубликовать {роль: Владелец}
Аннулировать {роль: Владелец || Отв. за ПО|| Отв. за ИД}
[подписание] {роль: Утверждающий}
1 л „„ Подготовлен к-
Принять
Предварительно должны быть получены подписи:
1. Исполнитель.
2. Согласующий (если указан).
"К
[отмена подписи] {роль: Утверждающий}
Аннулировать {роль: Владелец | Отв. за ПО|| Отв. за ИД}
Закрыть {роль: Утверждающий}
п Л
В работе;|
Аннулирован
■ ■
О
Закрыт * к-
тШ, Г • 1
Автоматическая процедура утверждения ЗАЗ, ЗАО на основании данного ОПР {Все ЗАЗ и ЗАО утверждены}
Рис. II - Исполнение документа «Отчет тестирования БПО»
Приложение 2. Экспериментальные данные для сравнительного анализа шардинга баз данных в информационных системах с повышенным требованием к качеству кода
Таблица 1. Сводная таблица результатов стресс-тестирования разных моделей шардинга
"Количество;" 1 .¿чч документов:(тыс) " _ §•50;- •• 100 500 --'ЩЩ-' "Чг 4,000 5,000
| А - * *, 'ДУ';!" • 1 2 : ¿ШРГ. я:: 6
Один сервер (классическое размещение)
Среднее время записи документа 8 8 9 9 9 11
Среднее время модификации документа 9 9 12 17 27 35
Среднее время удаление документа 4 5 5 9 14 20
Среднее время поиска документа 5 7 12 20 39 56
Вертикальный шардинг
Две копии Мв врь
Среднее время записи документа 8 8 9 9 9 9
Среднее время модификации документа 9 9 12 13 17 29
Среднее время удаление документа 4 5 5 8 14 17
Среднее время поиска документа 5 7 12 19 40 52
Три копии МБ
Среднее время записи документа 8 8 9 9 9 9
Среднее время модификации документа 9 9 12 14 18 26
Среднее время удаление документа 4 5 5 8 12 16
Среднее время поиска документа 5 7 12 19 33 48
Четыре копии М8 8<2Ь
Среднее время записи документа 8 8 9 9 9 9
Среднее время модификации документа 9 9 12 14 17 22
Среднее время удаление документа 4 5 5 9 12 16
Среднее время поиска документа 5 7 12 18 27 36
Пять копии МБ БОЬ
Среднее время записи документа 8 8 9 9 9 9
Среднее время модификации документа 9 9 12 13 15 21
Среднее время удаление документа 4 5 5 8 12 15
Среднее время поиска документа 5 7 12 17 26 34
Шесть копии Мв 8(}Ь
Среднее время записи документа 8 8 9 9 9 9
Среднее время модификации документа 9 9 12 13 16 23
Среднее время удаление документа 4 5 5 8 11 15
Среднее время поиска документа 5 7 12 17 27 33
Окончание Таблицы 1
* #,111111:1 1ШЙ11 Шй Hi iiil kill '
Горизонтальный шардинг
Две копии MS SQL
Среднее время записи документа 8 8 9 9 9 10
Среднее время модификации документа 9 9 12 13 17 29
Среднее время удаление документа 4 5 5 8 14 17
Среднее время поиска документа 5 7 12 19 40 52
Три копии MS SQL
Среднее время записи документа 8 8 9 9 9 9
Среднее время модификации документа 9 9 12 13 16 24
Среднее время удаление документа 4 5 5 7 9 14
Среднее время поиска документа 5 7 12 19 25 38
Четыре копии MS SQL
Среднее время записи документа 8 8 9 9 10 12
Среднее время модификации документа 9 9 12 14 18 22
Среднее время удаление документа 4 5 5 8 9 14
Среднее время поиска документа 5 7 12 17 20 23
Пять копии MS SQL
Среднее время записи документа 8 8 9 9 9 9
Среднее время модификации документа 9 9 12 13 15 21
Среднее время удаление документа 4 5 5 7 9 15
Среднее время поиска документа 5 7 12 16 20 23
Шесть копии MS SQL
Среднее время записи документа 8 8 9 9 9 9
Среднее время модификации документа 9 9 12 14 17 23
Среднее время удаление документа 4 5 5 7 9 15
Среднее время поиска документа 5 7 12 16 19 24
Все замеры приведены в миллисекундах.
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.