автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Исследование методов и программных средств построения распределенных информационных систем

кандидата технических наук
Лвин Маунг Со
город
Москва
год
2013
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Исследование методов и программных средств построения распределенных информационных систем»

Автореферат диссертации по теме "Исследование методов и программных средств построения распределенных информационных систем"

005049472

Лвин Маунг Со

На правах рукописи

ИССЛЕДОВАНИЕ МЕТОДОВ И ПРОГРАММНЫХ СРЕДСТВ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ

Специальность 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

7 ФЕВ 2013

Москва-2013

005049472

Работа выполнена на кафедре Прикладной математики Института автоматики и вычислительной техники ФГБОУ ВПО «НИУ МЭИ».

Научный руководитель: Кандидат технических наук, доцент

Маран Михкель Михкелевич

Официальные оппоненты: Климанов Вячеслав Петрович

Доктор технических наук, профессор МГТУ «СТАНКИН», профессор кафедры информационных систем.

Майоршин Александр Павлович

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

Ведущая организация: Российский НИИ

Информационных технологий автоматизации проектирования РосНИИ ИТ и АП

Защита состоится «ге.» фд^чмд. 2013 г. в 16.00 на заседании диссертационного совета Д 212.157.01 при ФГБОУ ВПО «НИУ МЭИ» по адресу: 111250, Москва, Красноказарменная ул., 13 (ауд. М-704).

С диссертацией можно ознакомиться в библиотеке ФГБОУ ВПО «НИУ «МЭИ».

Отзывы в двух экземплярах, заверенные печатью организации, просьба отправлять по адресу: 111250, Москва, Красноказарменная ул., д. 14, Ученый совет ФГБОУ ВПО «НИУ «МЭИ».

Автореферат разослан «22» января 2013 г.

Ученый секретарь

диссертационного совета Д 212.157.01 кандидат технических наук, доцент

М.В.Фомина

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы исследований. Информационные системы играют сегодня все более важную роль в большинстве организаций. Во многих отраслях промышленности компании в значительной степени зависят от их информационных систем. В начале большинство информационных систем были разработаны для решения конкретных задач или поддержки определенных функций. Но сегодня типичное предприятие использует большое количество информационных систем. Эти системы, как правило, интегрированы таким образом, чтобы они могли работать вместе. В результате растет потребность в интеграции разнородных информационных систем. Проблемы разработки эффективных систем обработки информации актуальны уже несколько десятилетий. С самого начала создания подобных систем специалисты в области информационных технологий пытаются разработать, с одной стороны, эффективные средства интеграции функциональных и структурных компонентов, а, с другой, - простые способы управления каждым из них в отдельности.

Прослеживая историческое развитие систем обработки информации, можно видеть, что они прошли путь от монолитных систем мейнфреймового типа, к двух- и трехуровневым архитектурам "клиент-сервер". Далее приобретают популярность многослойные вертикальные структуры; т. е. налицо тенденция все более узкой специализации и распределения отдельных компонентов систем. В последнее время активно обсуждаются вопросы организации распределенных систем с использованием глобальных сетей и \veb-технологий, но лишь с появлением ряда стандартов в области организации управления сервисами стало возможным говорить о новом направлении сервис-ориентированной архитектуре (БОА). Задача исследования подходов к построению распределенных информационных систем стала актуальной для разработчиков и архитекторов программного обеспечения.

Целью работы является исследование методов и программных средств построения распределенных информационных систем.

Для достижения данной цели в работе были поставлены следующие научные задачи:

• изучение основных характеристик распределенных информационных систем;

• анализ проблем построения распределенных информационных систем и предложение подходов и средств их решения;

• выявление проблем распределенных баз данных (РБД) и предложение подходов и средств их решения;

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

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

Предметом исследования являются методы и процессы построения распределенных информационных систем на основе сервис-ориентированной архитектуры и РБД.

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

Научная новизна исследования состоит в следующем:

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

2. Предложена технология реализации распределенных информационных систем с распределенной базой данных на основе сервис - ориентированной архитектуры.

3. На основе предложенной методики разработана и реализована информационная система поиска учебной литературы.

Методы исследования. В диссертационной работе использованы методы проектирования информационных систем на основе БОА, методы проектирования РБД, методы фрагментации и репликации данных.

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

Материалы также могут быть использованы в учебном процессе вузов при изучении дисциплин: «Распределенные информационные системы», «Сервис-ориентированная архитектура».

Реализация результатов. Разработанные подход, методы и программные средства к построению распределенных информационных систем были реализованы в рамках тестовой системы поиска учебной литературы, обеспечивающей удобный доступ через \УеЬ-интерфейс к каталогу полнотекстовых документов и мультимедийных ресурсов, полнотекстовому поиску и поиску по атрибутам документов.

Апробация работы. Основные положения и результаты диссертации докладывались и обсуждались на 17-ой, 18-ой научных конференциях аспирантов и студентов «Радиотехника, электроника, энергетика» в МЭИ (ТУ) (г. Москва, 2000 - 2004 г.), йа международной науЧно-методической конференции «Информатизация инженерного образования» ИНФОРИНО—2012 в НИУ «МЭИ».

Публикации. Основные результаты диссертационной работы, опубликованы в 5 печатных работах; в том числе 1 работа в издании, рекомендован-<

/

ном ВАК.

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

ОСНОВНОЕ СОДЕРЖАНИЕ ДИССЕРТАЦИИ В введении обоснована актуальность темы диссертации, ее научная новизна и практическая значимость, сформулированы цели работы и задачи, приведено краткое содержание диссертации по главам.

В первой главе «Архитектура распределенных информационных систем (РИС)» рассмотрены основные их характеристики. Распределенная система — это набор независимых компьютеров, который пользователи принимают как единую объединенную систему. Более узко, распределенную систему можно определить как набор соединенных каналами связи независимых компьютеров, которые с точки зрения пользователя выглядят единым целым.

В главе также рассмотрены проблемы построения РИС и описаны основные виды их архитектуры: клиент / сервер (двухуровневой и трехуровневой), и сервис - ориентированная архитектура (SOA). Длительное время самым распространенным подходом обеспечения доступа многих пользователей к единому информационному ресурсу была архитектура «клиент-сервер». Данный подход широко используется и сегодня, но при большом объёме хранимой информации и количества пользователей данный подход не обеспечивает необходимой надёжности и эффективности.

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

Разработка SOA обычно включает в себя некоторые общие фазы: сервис-ориентированный анализ, сервис-ориентированное проектирование, реализация сервисов, тестирование сервисов, размещение сервисов и администрирование сервисов. Основные принципы SOA:

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

зации других модулей.

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

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

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

• Управление. SOA управление—это осуществление контроля за сервисами. Управление SOA следует рассмотреть для трех разных этапов жизненного цикла: разработки, связывания, выполнения.

В самом общем виде SOA предполагает наличие трёх основных участников: поставщика сервиса, потребителя сервиса и реестра сервисов. Взаимодействие участников выглядит просто: поставщик сервиса регистрирует свои сервисы в реестре, а потребитель обращается к реестру с запросом.

В конце главы представлена технология Web-сервисов как перспективного и удобного средства внедрения SOA в РИС. Web-сервис это программный интерфейс, который описывает набор операций, которые могут быть вызваны удаленно по сети посредством стандартизированных XML сообщений. Web -сервисы базируются на четырех ключевых технологиях: extensible Markup Language (XML), Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL) и Universal Description, Discovery and Intégration (UDDI). Эти технологии активно используются для обеспечения функционирования Web-сервисов.

Во второй главе «Распределенные базы данных (РБД)» дан их краткий анализ. РБД представляет собой виртуальную базу данных, компоненты которой физически хранятся в нескольких различных реальных базах данных на нескольких различных узлах. Данные могут быть разделены в РБД путём хранения различных таблиц на разных узлах или даже хранения разных фрагментов одной таблицы на разных узлах. Для пользователя размещение данных в распределённой системе должно быть прозрачным.

Рассмотрены методы проектирования РБД. Проектирование РБД состоит из принятия решения по размещению данных и программ в узлах компьютерной сети и конструкции самой сети. Двумя основными стратегиями проектирования РБД являются стратегии «сверху вниз» и «снизу вверх».

Подход «сверху вниз» подход рассматривает данные требования всей организации, и генерирует глобальную концептуальную модель (ГКМ). ГКМ затем распределяется по всем соответствующим локальным СУБД для генерации локальных концептуальных моделей (JIKM). В результате в РБД все-

4

i

гда есть одна ГКМ и одна или более ЛКМ. Проектирование Начинается с анализа предметной области и формирования описания внешнего уровня БД. На основе описания внешнего уровня строится концептуальная информационна—логическая модель предметной области, затем на её основе получают даталогическую модель (ДЛМ) БД. Затем на основе ДЛМ формируется физическая модель БД. Физические модели определяют способы размещения данных в среде хранения и способы доступа к ним.

Подход «снизу вверх» подход включает в себя процесс, в котором участвующие БД могут быть (физически или логически) интегрированы в единую мультибазу данных. Есть два альтернативных подхода. При первом подходе определяется в первую очередь глобальная концептуальная схема (ГКС). В таком случае локальные концептуальные схемы (ЖС) отображают глобальную концептуальную схему. При втором подходе, ГКС определяется как интеграция частей ИКС. В этом случае, восходящее проектирование включает в себя формирование ГКС и отображение отдельных ЛКС на эту ГКС. Цель проектирования распределённой структуры заключается в разработке JIKC путем распределения сущностей данных по узлам распределённой системы. Можно, конечно, считать эти сущности в качестве единицы распределения. Вместо распространения отношений, их разделяют на подотноше-ния, Которые затем распределяются. Таким образом, проектирование распределённой структуры состоит из двух этапов: фрагментация и распределение.

Рассмотрены методики фрагментации и репликации данных в РБД. Фрагментация — это метод разделения базы данных или отношения на два или более фрагментов таким образом, что комбинация этих фрагментов содержит исходную базу данных без потери информации. Фрагментация позволяет хранить данные на том узле, где они наиболее часто используются. Существуют два основных типа фрагментации отношений: горизонтальная и вертикальная. Горизонтальная фрагментация позволяет разделить отношение на непересекающиеся кортежи (tuples) или экземпляры (instances). Вертикальная фрагментация позволяет разделить отношение на множество меньших отношений.

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

Случай 1. Независимость по ключу.

Согласно правилу транзитивности Армстронга, если имеются функциональные зависимости fl: А—»В и £2: В—>С, то имеет место и зависимость f: А—»С. Применяя это правило можно добиться того, что все атрибуты находятся в Прямой зависимости от ключа. Например, пусть имеем отношение

R (А, В, С, D)

и на нём множество функциональных зависимостей

F = {А—>B, В-»С, С —D}.

Нетрудно видеть, что отношение R находится во второй нормальной форме и ключом является А. По правилу транзитивности можем построить новое множество функциональных зависимостей F1 = { А—»В, А—>С, A—>D}, где А - ключ.

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

• В фрагменты не попадают и поэтому не будут сохранены часть функциональных зависимостей. В нашем примере {В—»С, С —»D}.

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

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

Случай 2. Независимость по группам.

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

R1 (Ап, Ai2...... Ai„), где Ап - локальный ключ в R1

R2 (Ал, А22...... А2п), где A2i - локальный ключ в R2

R (К, R1,R2) - фрагментируемое отношение, в котором имеются функции fl: К —»■ А,, и £2: К—► А21. В этом случае фрагмент - это отношение R¡ и ключ К. Обеспечивается отсутствие избыточности и независимость фрагментов. Корректность этой фрагментации следует из теоремы Хеза. Проблемы возникают в случаях, если фрагментация по этому критерию не соответствует потребностям в данных в разных узлах распределенной базы данных. Случай 3. Общий.

Распределение атрибутов отношения на основе функциональных зависимостей (случай 2) не соответствует их необходимому распределению по узлам, т.е. возникают функциональные зависимости между атрибутами на разных узлах. Так как каждое отношение должно иметь ключ, то при возникновении функциональных зависимостей между фрагментами придется их дополнить атрибутами для обеспечения связей. В таком случае возникает необходимость репликаций по определению, потому что один и тот же атрибут содержится в разных фрагментах. Пусть имеется отношение R(A, В, С, D, Е) и на нем задано множество функциональных зависимостей F = {А—»В, А—»С, С—»D, D—>Е}; А - ключ. Допустим, что, исходя из решаемых задач, была бы целесообразна фрагментация: R1(A, В, D) и R2(C, Е). При этом ни в одном фрагменте не будет ключа и такая фрагментация недопустима. Кроме того мы лишились бы возможности выполнения соединения фрагментов.

Единственный выход: дополнить фрагменты атрибутами для обеспечения существования ключей во всех фрагментах и возможности выполнения операции соединения фрагментов. В нашем случае могла бы быть применена следующая фрагментация: R1(A, В, С, D) и R2(C, D, Е). Возникла необходимость репликации по С и D. Функциональная зависимость С—»D хранится в двух местах и поэтому существует потенциальная опасность нарушения целостности данных. Это обстоятельство следует учитывать при проектировании репликации. Дальнейшее проектирование структуры данных на отдельных узлах может быть выполнено по обычным правилам проектирования реляционных баз данных.

Репликация - это поддержание двух и более идентичных копий (реплик) данных на разных узлах РБД. Реплика может включать всю базу данных (полная репликация), одно или несколько взаимосвязанных отношений или фрагмент отношения. Также возможен вариант с консолидацией данных, при котором каждый узел владеет своей частью данных (например, отношения) и может ее обновлять, а на одном из узлов РБД эти части соединяются (или объединяются) вместе для образования консолидированной копии "только для чтения" (read only).

В третьей главе «Проектирование информационных систем на основе SOA» используется SOA для построения распределенных информационных систем. В начале главы рассмотрен процесс сервис-ориентированного моделирования и построения архитектуры. В главе также рассмотрены принципы взаимодействия Web-сервисов в рамках S OA.

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

• разделение подсистем;

• проектирование РБД;

• проектирование сервисов;

• реализация сервисов;

• интеграция и обеспечение безопасности сервисов.

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

Проектирование РБД. Для достижения высокой производительности распределённых приложений, работающих с БД, необходимы эффективные методы проектирования РБД. Для проектирования РБД требуется определить следующее:

1) состав хранимых данных;

2) перечень решаемых задач и необходимая для них условно-постоянная информация;

3) сведения о том, какие задачи, каким клиентом и с какой частотой используются.

Задача определения состава хранимых данных решается традиционными методами проектирования БД. Определение перечня решаемых задач — это, по сути, первый этап жизненного цикла разработки программ согласно общепринятым методикам объектно-ориентированного анализа. Для решения третьей задачи необходима достоверная статистика частоты решения отдельных задач разными клиентами, По существу, решение третьей задачи — это известная в теории РБД задача фрагментации и размещения данных.

Проектирование сервисов. Разработанную систему можно позиционировать как набор сервисов для БОА. Проектирование сервисов состоит из следующих шагов: идентификация сервисов и определение функций, которыми обладают разрабатываемые сервисы. Для идентификации сервисов используют нисходящий и восходящий методы. Нисходящий подход начинается с определения необходимых бизнес-процессов на уровне предприятия. После этого определяются бизнес-деятельности для выполнения каждого бизнес-процесса. Такие бизнес-деятельности будут преобразованы в бизнес-сервисы. Существуют следующие методы для выполнения нисходящего подхода:

• метод на основе информации;

• метод на основе процесса моделирования;

• метод на основе требований.

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

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

и

• функция соответствии;

• конкретные стандарты на технологию и продукцию;

• существующие системы и платформы;

• существующие навыки.

Интеграция и обеспечение безопасности сервисов. Для интеграции берутся выделенные сервисы и определяются взаимозависимости и потоки данных между ними. В БОА взаимодействия между сервисами определяются с помощью контрактов, документов на языке WSDL. Клиенты и сервисы взаимодействуют друг с другом, отправляя и принимая сообщения. В БОА потребитель получает описание сервиса от посредника или прямого поставщика сервиса (на рис.1). Предоставляя свободно связанные сервисы, БОА позволяет гибко реагировать на постоянно меняющиеся деловые процессы. При этом необходимо уделить внимание не только функциональным аспектам, но и созданию гибкой инфраструктуры безопасности.

Рис.1. Взаимодействие между потребителем и поставщиком сервиса.

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

• Аутентификация. Надо проверить подлинность отправителя. Это базовая предпосылка для обеспечения контроля доступа (Access Control) со стороны сервиса, а кроме того, она необходима для организации учета и контроля.

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

• Целостность. Необходимо подтвердить целостность сообщений, надо распознать неправомерные модификации: изменение, удаление или добавление данных.

• Конфиденциальность. Надо шифровать важное сообщение или часть сообщения во время пересылки сообщения.

Используя предложенный подход построения РИС, мы имеем следую-

щие возможности:

• Обеспечение реализации различных типов интеграции:

■ интеграция приложений - обеспечение взаимодействия приложений;

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

■ информационная интеграция - интеграция с целью обеспечения доступности информации;

■ интеграция новых приложений и сервисов в существующие информационные системы.

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

В главе также обоснованы преимущества используемых технологий для создания РИС. Для построения Web-приложения использована технология ASP.NET MVC. ASP.NET MVC — это платформа для веб-разработки от Microsoft, которая сочетает в себе эффективность и аккуратность архитектуры "модель-представление-контроллер" (model-view-controller — MVC), новейшие идеи и приемы гибкой разработки, а также все лучшее из существующей платформы ASP.NET. Для создания Web-сервисов предложено использовать технологии WCF (Windows Communication Foundation). WCF предоставляет единую инфраструктуру разработки. Пользуясь WCF, разработчики могут сосредоточиться на приложениях, а не на коммуникационных протоколах. В распоряжение разработчика предоставляется готовый служебный код, необходимый практически в каждом приложении, поэтому применение WCF кардинально повышает производительность.

В четвёртой главе «Описание информационной системы «Му eLibrary»» описана реализация SOA. Выполненная реализация предзначена для информационной системы поиска литературы. РИС «Му eLibrary» обеспечивает удобный доступ через Web-интерфейс к каталогу полнотекстовых документов и мультимедийных ресурсов, полнотекстовому поиску и поиску по атрибутам документов. Кроме этого, используя эту РИС, администраторы библиотеки получают средства для редактирования ресурсов библиотеки.

Полученные в работе результаты положены в основу системы «Му eLibrary», состоящей из следующих подсистем (рис. 2):

1. подсистема «Science category»;

2. подсистема «Social-Science category»;

3. подсистема «User admin»;

4. подсистема «Му eLibrary Web portal».

Рис. 2. Подсистемы РИС «Му eLibrary»

Подсистема «Science category» (её архитектура показана на рис.3) предназначена для работы с базой данных научной литературы, реализованной на СУБД Microsoft SQL Server 2008. С помощью ADO.NET Entity Framework с базой данных соединен реализованный на WCF Web-сервис для взаимодействия с другими подсистемами и традиционное Web-приложение для Science category администратора. Структура данных для этой системы показана на рис.4.

Рис.3. Архитектура подсистемы «Science category»

l Categwy

.................

.J1

"wV,...............fa an

.^-/...i -L______

ПпаАЮюг I?.')

j^î Пеаны .....

е-

S), и

Itéaiype ÍT¡,>

РиЬШаг

Рис.4. Структура данных подсистемы «Science category» Подсистема «Social-Science category» имеет аналогичную структуру, но ее база данных содержит литературу по общественным наукам.

Подсистема «User admin» имеет аналогичную с описанными выше подсистемами структуру и предназначена для ведения базы данных пользователей и администраторов библиотеки.

Подсистема «Му eLibraiy Web portal» (её архитектура показана на рис.5) является клиентом для пользователей библиотеки, позволяющим пользователям найти все документы. В этой подсистеме нет своей собственной БД, нужные данные она получает из других подсистем с помощью Web-сервисов. Для этого в системе создан специальный слой, который управляет всеми работами с данными. Когда пользователь выполняет поиск, Data Layer получает запросы поиска, и посылает их в Web-сервисы, при получении оттуда ответа передаёт их в Controller для передачи пользователю. С помощью этого сайта пользователь может найти Материалы по названию, по издателю, по авторам, и по ключевым словам. Диаграмма деятельности для поиска документов по названию показана на рис.6._

Controllers Models Views

V ...J

О Û

Data Layer

О Û

о Û

Science category Web-сервис

User Admin Web-сервис

Social science category Web-сервис

Рис.5. Архитектура подсистемы «Му eLibraiy portal»

Рис.6. Диаграмма деятельности для поиска документов по названию

Рассмотрим процесс поиска литературы. Информационный фонд состоит из двух множеств документов:

T={ti, t2,..., t„} - документы научно-технического содержания U={ui, U2.....ит} - документы общественно-политического содержания

Для индексации документов используется множество дескрипторов: D={di, db..... dn}. Таким образом, для каждого документа t; и и; создается его поисковый образ Di с D с помощью функции документ - поисковый образ (функции индексирования):

(Vt j eT)(3D; с D): D ¡=f (t 0 (VuieU)(3DiCD):Dff(Ui) В общем случае один поисковый образ соответствует нескольким документам. Для ускорения поиска на фонде документов можно ввести классификацию на основе поисковых образов. Таким образом, T={Ti , Т2.....,Т

к}, где Т i - подмножество документов, с одинаковыми поисковыми образами.

В информационном фонде также хранятся:

Множество авторов: A={ai, а2,...... ап}

Множество ISDN: S={si,s2....... sn}

Функция tj= f (sO - Sj однозначно определяет документ.

Tj = f (a0 - автору, как правило, соответствует множество докумен-

тов.

Эти функции обеспечивают поиск по авторам и по ISDN.

Для поиска по ключевым словам создаётся поисковый образ Dx с D.

Критерии соответствия: документ tj соответствует поисковому образу если Dx с Dj ; чаще используется критерии | Dx n D, | > с, c=const, с»0.3*| Dx | или с«0.3*| Dj |.

В случае получения слишком маленького количества документов рекомендуется расширить поиск путем увеличения мощности множество Dx, при получения слишком большого количество - сузить поиск.

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

Далее в главе описана реализация Web-сервисов. Для реализации сервисов использован в Visual Studio 2010 шаблон «WCF Service Library» и .NET Framework версия 4.0. Реализация сервисов системы «Му eLibraiy» состоит из следующих процессов: создание контрактов; выбор подходящей привязки; определение конечных точек; размещение сервисов.

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

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

• Контракт о данных. Этот контракт описывает структуры данных, используемые сервисом для взаимодействия с клиентами. Контракт о данных отображает типы CLR на определения языка XML Schema Definitions (XSD) и определяет, как их следует сериализо-вывать и десериализовывать. Он описывает все данные, получаемые и отправляемые операциями сервисы.

Контракт о сервисе описывается с помощью атрибута [ServiceContract]. WCF позволяет применять атрибут ServiceContract к интерфейсам и классам. Для реализации интерфейса используется код С#. В интерфейсе определены все функции, выполняемые сервисом. Применение атрибута [ServiceContract]

к внутреннему интерфейсу раскрывает этот интерфейс как публичный контракт сервиса, готовый к внешнему использованию. Атрибут [ServiceContact] определяет набор операций, которые могут производиться сервисом, а другой атрибут, [OperationContract], идентифицирует конкретные методы. .NET CLR транслирует эти интерфейсы в SOAP типы. В основе работы сервисов «MyeLibrary» лежит протокол SOAP , который работает поверх протокола HTTP и предполагает передачу сообщений по сети в формате XML. Следовательно, сервис WCF при взаимодействии с клиентом сначала сериализует данные в XML, а затем передаёт их клиенту через SOAP, клиент в свою очередь десериализует полученное сообщение. Соответственно, все типы данных, которые мы используем в контрактах нашего сервиса, должны быть се-риализуемыми. Атрибут [DataContract] используется для обозначения того, какие классы следует представить на языке XSD и включить в WSDL описание, раскрываемое сервисом. Затем уточняется XSD представление, снабжая атрибутом [DataMember] те члены класса, которые должны быть видны извне. На этапе выполнения класс DataContractSerializer, входящий в состав WCF, сериализует объекты в виде XML, применяя правила, описанные атрибутами [DataContract] и [DataMember],

Привязка (binding) представляет собой логически согласованный, фиксированный набор настроек, относящихся к транспортному протоколу, кодированию сообщений, коммуникационной схеме, надежности, безопасности, распространению транзакций и совместимости. В WCF существует девять готовых привязок. Каждая из них отвечает потребностям одного конкретного способа распределенных вычислений. В нашей системе выбрана привязка WSHttpBinding, потому что данная привязка определяет безопасную, надежную привязку с возможностью взаимодействия. В привязке реализованы следующие возможности: обмен сообщениями WS-Reliable для обеспечения надежности, а также WS-Security для обеспечения безопасности и проверки подлинности сообщений. В качестве транспорта используется HTTP, а для кодировки сообщений — кодировка Text/XML. Она обеспечивает интеропе-рабельность распределенных систем. Для каждого сервиса привязка wsHttpBinding задается в конфигурационном файле. Задавая привязку таким образом, разработчик может затем заменить ее на другую или модифицировать параметры, не перекомпилируя приложение.

Конечные точки обеспечивают доступ клиентов к функциональным возможностям сервиса WCF. Конечная точка представляет собой совокупность адреса, контракта и привязки. В разработанной системе конечные точки каждого сервиса заданы с помощью конфигурации в конфигурационном файле. Здесь так же определена конечная точка обмена метаданными (МЕХ). Конечная точка МЕХ поддерживает отраслевой стандарт обмена метаданными, представленный в WCF интерфейсом iMetadataExchange. Запросив у работающего сервиса метаданные, клиент может узнать о ее конечных точках и требуемых форматах сообщений. На этапе проектирования клиенты посыпают такой запрос в виде сообщения, определенного в стандарте

WSMetadataExchange, и получают в ответ WSDL-документ. Этот документ клиент может использовать для генерации Нроксикласса и конфигурационного файла, которые впоследствии будут использоваться для доступа к сервису во время выполнения.

Чтобы сервис стал активным, его необходимо разместить в среде выполнения, которая создаёт его, а также управляет его контекстом и временем существования. Варианты размещения могут быть самыми различными — от выполнения внутри консольного приложения до серверных сред, таких как службы Windows, выполняемых внутри рабочего процесса, который управляется службами IIS или службой активации Windows (WAS).

В «Му eLibraiy» сервисы размещены в IIS (Internet Information Services), так как IIS прекрасно подходит на роль владельца сервисов. Размещение в сервисах IIS интегрировано с ASP.NET и использует возможности, предоставляемые этими технологиями, например перезапуск процессов, завершение при ожидании, мониторинг работоспособности процессов и активацию с помощью сообщений. Кроме того, сервисы ES обеспечивают встроенные возможности управления, которые обычно присущи серверным продуктам корпоративного уровня. Для реализации этого варианта размещения требуется правильно настроить сервисы IIS, но не требуется включать в приложение код размещения.

В конце главы приведены преимущества РИС «Му eLibrary». Преимуществами РИС «Му eLibrary» являются:

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

• Благодаря фрагментации данных система может обеспечивать необходимую производительность при большом объёме хранимой данных.

• В процессе поиска система повышается скорость получения результатов, так как сервисы работают параллельно.

• Использование открытых стандартов вместо закрытых протоколов делает систему независимой от платформ.

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ДИССЕРТАЦИОННОЙ РАБОТЫ

• Проанализированы и систематизированы характеристики распределённых информационных систем и на этой основе сформулированы требования к их разработке.

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

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

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

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

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

• Реализована распределенная информационная система для поиска учебной литературы. Реализация выполнена в среде Microsoft Visual Studio 2010 с помощью следующих технологий: ASP.NET MVC 3, ADO.NET Entity Framework, Windows Communication Foundations .

СПИСОК РАБОТ, ОПУБЛИКОВАННЫХ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Маран М.М, Лвнн Маунг Со. Распределенная информационная система поиска литературы. «Программные продукты и системы», № 1(97), 2012, с. 111-114.

2. Маран М.М, Лвнн Маунг Со. Исследование методов создания распределенных информационных систем. Труды международной научно-методической конференции «Информатизация инженерного образования» ИНФОРИНО—2012. - М.: Издательский дом «МЭИ», 2012. - С. 75-78.

3. Лвин Маунг Со. Моделирование распределенных информационных систем с помощью SOA и Web-services //Радиоэлектроника, электротехника и энергетика. Семнадцатая международная научно-техническая конференция студентов и аспирантов; Тезисы докладов. В 3 т. - Т.1. -М.: НИУ «МЭИ», 2011. - С. 373-374.

4. Лвин Маунг Со. Решение проблем параллелизма данных в распределенных информационных системах с помощью ADO.NET

//Радиоэлектроника, электротехника и энергетика. Восемнадцатая международная научно-техническая конференция студентов и аспирантов; Тезисы докладов. В 4 т. - Т.2. - М.: НИУ «МЭИ», 2012. - С. 52 - 53.

5. Лвин Маунг Со. Фрагментация данных в распределенной информационной системе «еОЬгагу». Труды 19-й МНТК «Информационные средства и технологии», 2011, том 2, с. 289 - 294.

Подписано в печать НоШШ Зак. ¡0 Тир. /ОС П.л. {[^■д Полиграфический центр МЭИ Красноказарменная ул.,д.13

Оглавление автор диссертации — кандидата технических наук Лвин Маунг Со

Введение.

1. Архитектура распределенных информационных систем (РИС).

1.1. Характеристики РИС.

1.1.1. Отказоустойчивость.

1.1.2. Открытость.

1.1.3. Прозрачность.

1.1.4. Масштабируемость.

1.1.5. Безопасность.

1.2. Архитектуры программного обеспечения распределённых информационных систем.

1.2.1. Базовая модель «клиент-сервер».

1.2.2. Сервис-ориентированная архитектура (БОА).

1.3. \¥еЬ-сервис.

Выводы по 1-й главе.

2. Распределенные базы данных (РБД).

2.1. Основные принципы, правила построения и функционирования РБД.

2.2. Проблемы при проектировании распределенных баз данных

2.3. Проектирования распределенных баз данных.

2.3.1. Нисходящие проектирование.

2.3.2. Восходящее проектирование.

2.4. Фрагментация данных.

2.5. Репликация данных.

2.6. Управление распределенными транзакциями.

Выводы по 2-й главе.

3. Проектирование информационных систем на основе БОА.

3.1.Сервис-ориентированное моделирование и анализ.

3.1.1. Идентификация сервиса.

3.1.2. Классификация сервисов.

3.1.3. Анализ подсистем.

3.1.4. Спецификация компонентов.

3.1.5. Размещение сервисов.

3.1.6. Реализация сервиса.

3.2. Слои БОА -приложений.

3.4. Проектирование РИС «Му еГлЬгагу» на основе БОА.

3.4.1. Разделение подсистем.

3.4.2. Проектирование РБД.

3.4.3. Проектирование сервисов.

3.4.4. Реализация сервисов.

3.4.5. Интеграция и обеспечение безопасности сервисов.

Выводы по 3-й главе.

4. Описание информационной системы «Му еОЬгагу».

4.1. Использованные технологии.

4.1.1. Asp.net МУС 3.

4.1.2. ADO.NET Entity Framework.

4.1.3. Windows Communication Foundation (WCF).

4.2. Структура информационной системы «Му eLibrary».

4.2.1. Подсистема « Science category».

4.2.2. Подсистема «Social-Science category».

4.2.3. Подсистема «User Admin».

4.2.4. Подсистема «Му eLibrary Web portal».

Модель информационного поиска.

4.3. Реализация Web-сервисов.

4.3.1. Создание контрактов.

4.3.2. Выбор подходящей привязки.

4.3.3. Определение конечных точек.

4.3.4. Размещение сервисов.

4.4. Реализация Web-приложение «Му eLibrary portal».

4.4.1. Создание моделей.

4.4.2. Создание котроллеров.

4.4.3. Создание Представлений (Views).

4.4.4. Подготовка к взаимодействию с Web- сервисами.

4.5. Преимущества РИС «Му eLibrary».

Выводы по 4-й главе.

Введение 2013 год, диссертация по информатике, вычислительной технике и управлению, Лвин Маунг Со

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

Прослеживая историческое развитие систем обработки информации, можно видеть, что они прошли путь от монолитных систем мейнфреймового типа, к двух- и трехуровневым архитектурам "клиент-сервер". Далее приобретают популярность многослойные вертикальные структуры; т. е. налицо тенденция все более узкой специализации и распределения отдельных компонентов систем. В последнее время активно обсуждаются вопросы организации распределенных систем с использованием глобальных сетей и \veb-технологий, но лишь с появлением ряда стандартов в области организации управления сервисами стало возможным говорить о новом направлении -сервис-ориентированной архитектуре (ЭОА). Задача исследование подходов к построение распределенных информационных систем стала актуальной для разработчиков и архитекторов программного обеспечения.

Целью работы является исследование методов построения распределенных информационных систем на основе распределенных баз данных. Для достижения данной цели в работе были поставлены следующие научные задачи:

• изучение основных характеристик распределенных информационных систем;

• рассмотрение проблем построения распределенных информационных систем и предложение путей их решения;

• выявление проблем построения распределенных баз данных и предложение путей их решения;

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

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

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

Научная новизна исследования состоит в следующем:

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

2. Исследованы методы фрагментации данных для распределенных баз данных и сформулированы условия их корректности.

3. Предложена технология реализации распределенных информационных систем с распределенной базой данных на основе сервис - ориентированной архитектуры.

4. На основе предложенной методики разработана и реализована информационная система поиска литературы.

Методы исследования. В диссертационной работе использованы методы проектирования информационных систем на основе БОА, методы проектирования РБД, методы фрагментации и репликации данных.

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

Материалы также могут быть использованы в учебном процессе вузов при изучении дисциплин: «Распределенные информационные системы», «Сервис-ориентированная архитектура».

Реализация результатов. Разработанные подход, методы и программные средства к построению распределенных информационных систем были реализованы в рамках тестовой системы поиска учебной литературы, обеспечивающей удобный доступ через \¥еЬ-интерфейс к каталогу полнотекстовых документов и мультимедийных ресурсов, полнотекстовому поиску и поиску по атрибутам документов.

Апробация работы. Основные положения и результаты диссертации докладывались и обсуждались на 17-ой, 18-ой научных конференциях аспирантов и студентов «Радиотехника, электроника, энергетика» в МЭИ (ТУ) (г. Москва, 2000 - 2004 г.), на международной научно-методической конференции «Информатизация инженерного образования» ИНФОРИНО—2012 в НИУ «МЭИ».

Рассмотрим структуру диссертационной работы подробнее.

В первой главе «Архитектура распределенных информационных систем (РИС)» рассмотрены их основные характеристики. В главе также рассмотрены проблемы построения распределенных информационных систем и описаны основные виды современной архитектуры: клиент / сервер (двухуровневой и трехуровневой), и сервис -ориентированной архитектуры (80А). В конце главы представлена технология \\>еЬ-сервисов.

Во второй главе «Распределенные базы данных (РБД)» дана их краткая характеристика. В главе изучены фундаментальные принципы распределенных баз данных. Далее в главе рассмотрены методы проектирования РБД. В конце второй главы рассмотрены методики фрагментации и репликации данных в РБД.

В третьей главе «Проектирование информационных систем на основе БОА» рассмотрен процесс сервис-ориентированного моделирования и построения. архитектуры. В главе также рассмотрены принципы взаимодействия ,\УеЬ-сервисов в рамках БОА. В конце главы предложена методика создания распределенных информационных систем на основе технологии сервис-ориентированной архитектуры с применением распределенной базы данных, исходящая из концепции жизненного цикла.

В четвёртой главе «Описание информационной системы « Му еЫЬгагу» описана реализация РИС « Му еЫЬгагу». Выполненная реализация предназначена для научно-технических библиотек. В конце главы приведены преимущества и недостатки РИС «Му еЫЬгагу».

Заключение диссертация на тему "Исследование методов и программных средств построения распределенных информационных систем"

Выводы по 4-й главе

• Рассмотрены технологии .NET для построения распределенных информационных систем: ASP.NET; ADO.NET Entity Framework и Windows Communication Foundation (WCF).

• Описана структура информационной системы «Му eLibrary». Система «Му eLibrary» представляет собой распределенную информационную систему. Она состоит из взаимодействующих подсистем, распределённых в локальной сети. Каждая подсистема функционирует, как собственная информационная система. Она обеспечивает удобный доступ через web-интерфейс к каталогу полнотекстовых документов и мультимедийных ресурсов, позволяет осуществить полнотекстовый поиск и поиск по атрибутам. Для администратора библиотеки предусмотрены средства для редактирования информационных ресурсов.

Заключение

• Проанализированы и систематизированы характеристики распределенных информационных систем и на этой основе сформулированы требования к их разработке.

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

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

• Формулированы условия корректности процессов фрагментации и репликации на основе теории реляционных баз данных.

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

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

• Реализована распределенная информационная система для поиска учебной литературы. Реализация выполнена в среде Microsoft Visual Studio 2010 с помощью следующих технологий: ASP.NET MVC 3, ADO.NET Entity Framework, Windows Communication Foundations .

Библиография Лвин Маунг Со, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Таненбаум Э., Ван Стеен М. Распределенные системы. Принципы и парадигмы. СПб.: Питер, 2003 845 с.

2. Josuttis N.M. SOA in Practice: The Art of Distributed System Design (Theory in Practice). O'Reilly Media. 2007 759 p.

3. Дейт К. Введение в системы баз данных, 8-е издание, Пер. с англ. — М.: Издательский дом "Вильяме", 2005. 1328 с.

4. Гладцын В. А., Кринкин К. В., Яновский В. В. Сервис-ориентированная архитектура. Стандарты, алгоритмы, протоколы: Учеб. пособие. СПб.: Изд-во СПбГЭТУ "ЛЭТ11", 2004 -108 с.

5. М. Tamer Ozsu, Patrick Valduriez. Principles of Distributed Database Systems. Springer, 3rd Edition. 2011 864 p.

6. Бураков П.В. , Петров В.Ю. Введение в системы баз данных: Учеб. пособие. Санкт-Петербург. 2010 128 с.

7. G Coulouris, Jean Dollimore, Tim Kindberg. Distributed Systems: Concepts and Design. Addison Wesley, 3rd Edition. 2000 800 p.

8. Jie Wu. Distributed System Design. CRC-Press. 1998 465 p.

9. Arthur M. Langer. Analysis and Design of Information Systems. Springer, 3rd Edition. 2010 432 p.

10. Ю.Валерий Коржов. Многоуровневые системы клиент-сервер. Сети №06, 1997.

11. Karl Eugen Kurbel. The Making of Information Systems: Software Engineering and Management in a Globalized World. Springer. 2008 -592 p.

12. Thomas ErI. Service-Oriented Architecture (SOA): Concepts, Technology, and Design. Prentice Hall. 2005 792 p.

13. Владимир Беленкович, Тимофей Горшков. Логическая структура понятия сервисов в рамках SOA. Сетевой журнал №4.2005.

14. Thomas ErI. SOA with .NET. Prentice Hall. 2010 600 p.

15. Michael Rosen,Boris Lublinsky, Kevin T. Smith, Marc J. Balcer. Applied SOA: Service-Oriented Architecture and Design Strategies. Wiley. 2008 696 p.

16. Gustavo Alonso, Fabio Casati, Harumi Kuno, Vijay Machiraju. Web Services: Concepts, Architectures and Applications (Data-Centric Systems and Applications). Springer. 2010 374 p.

17. Robert Daigneau. Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services. Addison-Wesley Professional. 2011 -352 p.

18. Даниил Фейгин. Концепция SOA. Открытые системы №06, 2004.

19. Eric Newcomer. .Understanding Web Services: XML, WSDL, SOAP, and UDDI. Addison-Wesley Professional. 2002 368 p.

20. Алексей Федоров .Технологии для Web-сервисов. КомпьютерПресс №6.2002.

21. Thomas Erl. Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services. Prentice Hall. 2004 560 p.

22. Adam Freeman. Pro ASP.NET MVC 3 Framework. Apress, 3rd Edition. 2011 -852 p.

23. Scott Millett. Professional ASP.NET Design Patterns. Wrox. 2010 720 P

24. Scott Klein. Pro Entity Framework 4.0 (Expert's Voice in .NET). Apress. 2010-280 p.

25. Julia Lerman, Rowan Miller. Programming Entity Framework: DbCon-text. O'Reilly Media. 2012 258 p.

26. Nishith Pathak. Pro WCF 4: Practical Microsoft SOA Implementation. Apress; 2nd Edition. 2011 472 p.

27. Mike Liu. Pro WCF 4: WCF 4.0 Multi-tier Services Development with LINQ to Entities. Packt Publishing. 2010 348 p.

28. Андреев И. Использование протокола SOAP в распределенных приложениях , RSDN Magazine. — 2003. —№ 1. —С. 5-8.

29. Черняк JI. Soa шаг за горизонт II, Открытые системы. —2003. — № 9. — С. 24-26.

30. Fielding R. Т. Architectural Styles and the Design of Network-based Software Architectures , Ph. D. Dissertation. — Irvine: University Of California, 2000.

31. Hong Zhu. Software Design Methodology: From Principles to Architectural Styles. Butterworth-Heinemann; 1st Edition. 2005 368 c.

32. Dimitris N. Chorafas. Enterprise Architecture and New Generation Information Systems. CRC Press; 1st Edition. 2001 384 p.

33. Kenneth P. Birman. Reliable Distributed Systems: Technologies, Web Services, and Applications. Springer, lrd Edition. 2010 704 p.

34. Jon Barwise, Jerry Seligman. Information Flow: The Logic of Distributed Systems. Cambridge University Press, lrd Edition. 2008 292 p.

35. Stephen D. Burd. Systems Architecture. Course Technology, 6rd Edition. 2010-656 p.

36. A. Olivé. Conceptual Modeling of Information Systems. Springer, lrd Edition. 2010-480 p.

37. Paulo Veríssimo, Luís Rodrigues. Distributed Systems for System Architects. Springer, 1st Edition. 2001 648 p.

38. Christian Cachin, Rachid Guerraoui, Luís Rodrigues. Introduction to Reliable and Secure Distributed Programming, Springer 2rd Edition. 2011 -339 p.

39. Peter Rob, Carlos Coronel. Database Systems: Design, Implementation, and Management. Course Technology. 8th Edition. 2007 728 p.

40. James Larson. Database Directions: From Relational to Distributed, Multimedia and Object-Oriented Database Systems. Prentice Hall. 1995 -299 p.

41. Abdelsalam A. Helal, Abdelsalam A. Heddaya, Bharat B. Bhargava.

42. Replication Techniques in Distributed Systems. Springer. 1996 172 p.

43. Su joy Paul. Pro SQL Server 2008 Replication. Apress, 1st Edition. 2009 -936 p.

44. Ross Mistry. Microsoft SQL Server 2008 Management and Administration. Sams Publishing, 1st Edition. 2008 912 p.

45. Mannino Michael. Database design, application development, and administration. ediyu. 2011 794 p.

46. Clare Churcher. Beginning Database Design: From Novice to Professional. Apress, 2nd Edition. 2007 300 p.

47. Julia Lerman. Programming Entity Framework: Building Data Centric Apps with the ADO.NET Entity Framework. O'Reilly Media, 2nd Edition. 2010-920 p.

48. Glenn Johnson. MCTS Self-Paced Training Kit (Exam 70-516): Accessing Data with Microsoft .NET Framework 4. Microsoft Press. 2011 672 p.

49. Terry Halpin. Information Modeling and Relational Databases. Morgan Kaufmann, 2nd Edition. 2008 976 p.

50. Richard W. Scamell, Narayan S. Umanath. Data Modeling and Database Design. Course Technology, 1st Edition. 2007 720 p.

51. Douglas Barry. Web Services, Service-Oriented Architectures, and Cloud Computing. Morgan Kaufmann, 2nd Edition. 2003 245 p.

52. Daniel Larson. Developing Service-Oriented AJAX Applications on the Microsoft® Platform. Microsoft Press. 2008 320 p.

53. Eric A. Marks. Service-Oriented Architecture (SOA) Governance for the Services Driven Enterprise. Wiley, 1st Edition. 2008 320 p.

54. Mauricio Duran, Jeffrey Hasan. Expert Service-Oriented Architecture in C# 2005. Apress, 2nd Edition. 2006 272 p.

55. Ian Graham. Requirements Modelling and Specification for Service Oriented Architecture. Wiley, 1st Edition. 2008 320 p.

56. M. Papazoglou. Web Services: Principles and Technology. Prentice Hall, 1st Edition. 2007 784 p.

57. James Snell, Doug Tidwell, Pavel Kulchenko. Programming Web Services With SOAP. O'Reilly Media, 1st Edition. 2001 264 p.

58. Glenn Hostetler, Sandor Hasznos, Christine Heron. Web Service and SOA Technologies. Practicing Safe Techs, 1st Edition. 2009 208 p.

59. Корнеев И.К., Машурцев В.А. Информационные технологии в управлении. М.: ИНФРА-М, 2001. — 158 с.

60. Конноллн, Томас, Бегг, Карелии. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание. : Пер. с англ. — М. : Издательский дом "Вильяме", 2003. — 1440 с.

61. Наталья Дубова. SOA: подходы к реализации. Открытые системы №06, 2004.

62. Леонид Черняк. Загадка SOA. Открытые системы №07, 2007.

63. Сервис-ориентированная архитектура. http://citforum.ru/internet/webservice/soa/

64. SOA и web-сервисы для новичков. http://www.ibm.com/developerworks/ru/webservices/newto/websvc.html

65. Armand Wilson. Distributed Transactions and Two-phase commit. SAP White Paper, 2003- 39 p.

66. Chhanda Ray. Distributed Database Systems. Pearson Education, 2009-324 p.

67. Маран M.M, Лвин Маунг Co. Распределенная информационная система поиска литературы. «Программные средства и системы» № 1(97), 2012, с. 111-114.

68. Маран М.М, Лвин Маунг Со. Исследование методов создания распределенных информационных систем. Труды международной научно-методической конференции «Информатизация инженерного образования» ИНФОРИНО—2012. М.: Издательский дом «МЭИ», 2012. - С. 75-78.

69. Лвин Маунг Со. Решение проблем параллелизма данных в распределенных информационных системах с помощью ADO.NET

70. Радиоэлектроника, электротехника и энергетика. Восемнадцатая международная научно-техническая конференция студентов и аспирантов; Тезисы докладов. В 4 т. Т.2. - М.: НИУ «МЭИ», 2012. -С. 52.

71. Лвин Маунг Со. Фрагментация данных в распределенной информационной системе «еЫЬгагу». Труды 19-й МНТК «Информационные средства и технологии», 2012, том 2, с. 289-294.