Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Современные архитектурные подходые к построению ПО

Современные архитектурные подходые к построению ПО (5. Сервис-ориентированная архитектура (SOA))

PDF-файл Современные архитектурные подходые к построению ПО (5. Сервис-ориентированная архитектура (SOA)) Распределённые ИС и базы данных (5780): Лекции - 9 семестр (1 семестр магистратуры)Современные архитектурные подходые к построению ПО (5. Сервис-ориентированная архитектура (SOA)) - PDF (5780) - СтудИзба2015-08-23СтудИзба

Описание файла

Файл "Современные архитектурные подходые к построению ПО" внутри архива находится в следующих папках: 5. Сервис-ориентированная архитектура (SOA), Дополнительные материалы. PDF-файл из архива "5. Сервис-ориентированная архитектура (SOA)", который расположен в категории "". Всё это находится в предмете "распределённые ис и базы данных" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "распределённые ис и базы данных" в общих файлах.

Просмотр PDF-файла онлайн

Текст из PDF

СОВРЕМЕННЫЕ АРХИТЕКТУРНЫЕ ПОДХОДЫ КПОСТРОЕНИЮ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ1Борисов А.В., Куриленко И.Е.Московский Энергетический Институт (Технический Университет),РоссияПоследние годы наиболее часто используемым подходом кпроектированию программного обеспечения (ПО) является объектноориентированный подход (ООП) [1].

Разработанный в 80-х годах XX векаон активно развивается. В основе подхода лежат понятия класса (типа),объекта(экземпляракласса),метода(некоторойреализуемойфункциональности) и атрибута (характеристики). Система, построеннаясогласноданному подходу,представляетсобойсовокупностьвзаимодействующих между собой объектов. Задачей разработчика являетсяразработка эффективной иерархии классов для реализации приложения,основываясь на трех основных принципах ООП: полиморфизме,инкапсуляции и наследовании. Первые среды, поддерживающие ООП,реализовывалифункцииупрощенногосозданиясинтаксическихконструкций (классов, методов, атрибутов). Кроме того, поставщиками средстали разрабатываться библиотеки классов, реализующих сервисныефункции в объектно-ориентированном стиле (например, скрывающиевызовы операционной системы (ОС), предоставляющие возможностьупрощенной работы с пользовательским интерфейсом и др.).

Со временемсложность поставляемых библиотек росла в интересах поддержки новыхтехнологий разработки, создания распределенных приложений, работы сInternet. Кроме того стала очевидна низкая степень совместимостисозданных на их базе сред и приложений. В результате по мере увеличениястепени сложности систем все более явными становились сложностисоздания объектно-ориентированных приложений: высокий риск ошибок, заложенных при дизайне системы из-занедостаточного опыта исполнителя или высокой степени сложности ПО;1Работа выполнена при финансовой поддержке РФФИ сложности при разработке распределенных приложений и интеграциисозданных ранее систем из-за отсутствия унифицированных способовсетевого взаимодействия; низкая степень совместимости сред разработки и приложений,построенных на базе платформ от разных поставщиков; сложности при переделке систем как результат исторического развитияархитектуры и низкого качества или отсутствия документации.Перечисленные проблемы привели к удорожанию разработки иосознанию необходимости поиска решения озвученных проблем.Одним из способов решения первой проблемы является использованиешаблонов проектирования и описанных архитектурных подходов.

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

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

Такие средства имодели имели независимое развитие и получили широкое распространениене только в сфере разработки ПО, но и за ее рамками. В частности широкоераспространения получило моделирование бизнес процессов (BusinessProcess Modeling, BPM). Моделирование способствует решению третьей ичетвертой проблемы из списка выше. В области разработки ПО средствамоделирования постепенно эволюционировали от средств визуальногопредставления к инструментам с поддержкой автоматической генерациикода и далее к комплексным интегрированным средам.Концепция ООП к архитектуре приложений нашла свое развитие вкомпонентно-ориентированном подходе. Главным отличием последнегоявляется использование понятия компонента, а не класса или объекта вкачестве базовой конструкции.

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

Часто эти подходы неявляются взаимоисключающими и дополняют друг друга.Model Driven Architecture (MDA, архитектура управляемая моделью) –это архитектурный подход к построению многокомпонентного ПО,основанный на разработке независимого от платформы и языкапрограммирования представления системы (модели) с последующимпереходим к исходному коду системы через автоматизированнуюгенерацию кода. Разработка MDA началась в 2000 году. Предпосылкой кразработке являлся тот факт, что уже к концу 90-х годов прошлого столетиябыло создано большое количество технологий и протоколов для созданияраспределенных приложений. В качестве примеров можно привестиCOM/DCOM, CORBA, Java/RMI, XML/SOAP/RPC и др.

Большинство такихтехнологий созданы зависимыми от платформы, не все из них былиописаны в виде стандарта. Это создавало большие проблемы при разработкеПО и интеграции компонент в единую инфраструктуру.Основной целью разработчиков MDA являлось создание архитектурногоподхода, позволяющего снизить риск, вызванный различиями между итехнологиями разработки программных систем и платформами. Длярешения этой задачи в MDA вводятся понятия модели, зависимой отплатформы (Platform Specific Model (PSM)), и модели, независимой отплатформы (Platform Independent Model (PIM)). MDA предполагает созданиеPIM и последующий переход к PSM с использованием специализированныхсредств. Кроме того возможен переход от одной PSM модели к другой.Консорциум OMG как разработчик MDA не предоставляет никакихпрограммных средств для обеспечения перехода от модели к модели.Предполагается, что они будут реализоваными силами стороннихразработчиков.

Фактически, MDA – это концепция разработки,поддержанная группой стандартов (UML, MOF, CWM и XMI),разработанных OMG. Эти стандарты накладывают требования, которымдолжны удовлетворять модели, и предоставляют рекомендации дляразработчиков сред создания ПО по MDA.Meta Object Facility (MOF) – это мета-метамодель (модель для описанияметамоделей). MOF состоит из четырех уровней, верхний из которыхсоответствует мета-метамодели. Третий уровень соответствует метамодели(например, UML). Второй уровень соответствует экземпляру UML модели,описывающее какую-либо систему. Самый нижний уровень отражаетэкземпляры моделируемых объектов.Common Warehouse Model (CWM) – спецификация, определяющаяметамодель для обмена экземплярами метаданных между различнымисредствами моделирования и информационными системами.XML Metadata Interchange (XMI) – спецификация описывает отображениеметамоделей, построенных согласно MOF в XML, который в свою очередьможет являться основой для обмена метаданными.Совокупность стандартов MDA MOF достаточна для определениямоделей и метамоделей без введения дополнительных уровней абстракции.Event Driven Architecture (EDA) – это архитектурный подход,основанный на понятии события и его обработке [2].

Система, построеннаяпо EDA, представляет собой совокупность слабосвязанных компонент,обменивающихся сообщениями. Действие в системе выполняется какреакция на такое сообщение. Отправитель сообщения может не знать о том,какой компонент системы будет его обрабатывать.Приложения, построенные по EDA, содержат следующие компоненты: генератор событий – осуществляет первичную обработку сообщений ивыделяет из потока события, на которые требуется реакция. канал событий – обеспечивает транспортный уровень, т.е.

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

Выделяют три стиля обработкисообщений: простая обработка сообщений предполагает, что все поступающиесообщения значимые и требуют обработки. обработка потока сообщений предполагает, что не все сообщения,попадающие на вход, требуют реакции. Значимые сообщениявыбираются и обрабатываются. Остальные сообщения могутиспользоваться в информационных целях или для анализаисключительных ситуаций. сложный стиль обработки сообщений предполагает, что на входсистемы могут поступать сообщения разных типов и толькоопределенная последовательность событий требует реакции.Наиболее востребованными на практике являются приложения сосложным стилем обработки сообщений. В частности, он реализуется на базетаких продуктов как IBM WebSphere Business Events, TIBCO Business Eventsи др.Service Oriented Architecture (SOA) – это архитектурный подход,основанный на понятии сервиса как базовой единицы построения системы.Обсуждение SOA затруднено тем, что до последнего времени нет единойтрактовки этого термина.

При наличии общего понимания о SOA какархитектуре, основанной на сервисах, в различных источниках возникаютнесогласованности как в определении как самого понятия сервис, так иконцепции в целом [3]. Можно выделить как минимум две трактовки SOA: SOA – это программная архитектура, основанная на построениисистемы как совокупности Web сервисов, реализованных на базе однойили нескольких платформ разработки и взаимодействующихпосредством стандартизованного протокола взаимодействия и четкоописанного на некотором мета-языке интерфейса; SOA – это идеология информатизации бизнеса, основанная напроцессном подходе и локализации этапов бизнес-процессовпосредством выделения сервисов, ассоциированных и обладающихописанным интерфейсом для взаимодействия.Согласно первой трактовке – SOA это архитектурный подход, которыйнапрямую проецируется на одну из платформ для разработки приложений(например, .Net или J2EE).

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее