Современные архитектурные подходые к построению ПО (548677), страница 2
Текст из файла (страница 2)
При этом понятие сервиса ассоциируется сприложением типа Web-сервис, имеющим вполне определенный смысл сточки зрения программной реализации. Коммуникации при этомосуществляются через некоторый стандартный протокол, завернутый вHTTP (например, SOAP), или сам HTTP.Согласно второй трактовке SOA - это способ проектирования ипостроения информационной архитектуры организации и подход кпереносу бизнес-функциональности на информационную среду.
Онпредполагает выделение задокументированных и зафиксированных бизнеспотребностей, обеспечиваемых информационной средой предприятия и ихреализацию в виде совокупности слабосвязанных приложений (сервисов),функциональность которых определяется бизнес потребностями и заданаинтерфейсом (описанием на мета-языке).
Сервисы при этомвзаимодействуют по четко определенному стандартному протоколу.Как видно, вторая трактовка более широкая, но менее привязанная ктехнологии реализации. В тоже время она не противоречит первойтрактовке, обобщая ее.SOA предполагает, что приложение может являться провайдером услугиили ее потребителем.
Провайдер реализует некоторый интерфейс, апотребитель через этот интерфейс использует возможности сервиса.Помимо информации структурного характера SOA отражает общиеподходы к расширению систем. Согласно SOA вновь реализуемыепровайдеры будут либо реализовывать принципиально новую услугу,определяя тем самым новый интерфейс, либо будут поддерживатьсуществующий интерфейс, реализуя услугу, аналогичную существовавшейранее. При разработке приложения-потребителя осуществляетсяоркестрирование, т.е.
координация вызовов сервисов провайдеров услуг, иобработка возвращаемого результата. Таким образом, в теории разработканового приложения по SOA может осуществляться на языкемоделирования бизнес процессов, фактически задающим алгоритморкестрирования. Так как сервисы SOA реализуют некоторую бизнесфункциональность, такого рода моделирование может быть осуществленос минимальным участием технического персонала.Рассмотрим моменты, которые объединяют различные трактовки SOAот разных авторов.
Поход SOA характеризуется следующими основнымипризнаками: системы, построенные по SOA реализованы как совокупностьслабосвязанных компонент (сервисов); сервис реализует некоторый набор услуг, определенных в терминах,понятных потребителю; поведение сервисов строго определено и представлено интерфейсом; сервисы и поддерживаемые интерфейсы описываются на метаязыке; сервисы и интерфейсы могут регистрируются в глобальном илилокальном репозитории сервисов, доступном для поиска стандартнымспособом; сервисы взаимодействуют между собой с использованием некоторогосетевого канала и стандартного языка взаимодействия;Подход к SOA как к совокупности взаимодействующих Web сервисовследующим образом реализует описанные принципы: сервис, реализующий SOA, представляет собой Web сервис; web сервис реализует некоторый набор услуг, заданный на стандартноммета языке WSDL (Web Services Description Language), основанном наXML; поведение каждого Web сервиса для приложений- потребителейопределяется описанном на WSDL интерфейсом, образуя контракт; Web сервисы могут быть зарегистрированы в репозиториях UDDI(Universal Description Discovery and Integration) для того, чтобыпредоставить потребителю возможность себя найти; Web сервисы взаимодействуют между собой посредством протоколовSOAP HTTP;В дополнение к приведенным инструментам и технология дляреализации SOA разработан Business Process Execution Language (BPEL) –это – основанный на XML язык описания бизнес-процессов [4].При использовании SOA предприятие получает широкий кругвозможностей, обусловленных различными характеристиками даннойархитектуры.
Основной из возможностей, является скорость реагированиябизнеса на изменения окружающей среды и перестроение бизнеспроцессов с минимальными затратами.Осуществим сравнительный анализ рассмотренных концепций. MDA неопределяет структурные аспекты разрабатываемых систем и характервзаимодействия. Это связано с тем, что MDA – это мета-мета-модельвысокого уровня, т.е. модель, по которой может быть построенаметамодель.
Структурные аспекты и характер взаимодействия элементовопределяются мета-моделями и моделями, реализованными по стандартамMDA.Концепция SOA является в настоящий момент одной из наиболеепопулярных и активно продвигаемых. Прилагаемые усилия привели крезультату, и архитектурный подход стал понятен заказчику. В связи сэтим термин SOA активно используется маркетологами и продукты,реализующие EDA, часто выходят под флагом SOA.В тоже время на уровне архитектурной концепции SOA и EDA эторазличныеподходы.SOAпредполагает,чтоприложению,запрашивающему услугу известен его ее провайдер, взаимодействиеосуществляется по принципу запрос-ответ.
В случае с EDA действияинициируются цепочкой событий, сгенерированных в среде. Отправительсобытия не знает, будет ли сообщение обработано и если будет, то кем.Однако, как отмечено выше, EDA совместима с SOA, и, в силу известностиSOA, программные продукты, реализующие EDA часто входят в пакетыпродуктов SOA. Несмотря на это, при построении прикладных системархитекторам так или иначе придется сделать выбор из какой моделипостроения системы исходить.К сожалению, в вопросах построения приложений нет единства и длячасти из них существуют различные трактовки.
С другой стороныархитектурныепарадигмы,заданныестандартаминевсегдавоспринимаются и реализуются производителями. Кроме того на уровне,концепции часто не рассматриваются шаги, обеспечивающие переход отуровня модели к уровню приложения и вопрос совместной работыинформационных систем изначально построенных на базе разныхконцепций. Для архитектур, основанных на слабой связности элементов, невсегда задаются правила построения этих элементов, что с одной стороныдает свободу разработчикам, а с другой может привести к неоднородности инеуправляемости полученной архитектуры с точки зрения поддержки.ЛИТЕРАТУРА1.
Бадд Т. Объектно-ориентированное программирование в действии/ Перев. с англ. — СПб.: Питер, 1997.2. K. Mani Chandy Event-Driven Applications: Costs, Benefits andDesign Approaches, California Institute of Technology, 20063. Bell, Michael. "Introduction to Service-Oriented Modeling". ServiceOriented Modeling: Service Analysis, Design, and Architecture.
Wiley& Sons. 2006, pp. 3. ISBN 978-0-470-14111-3.4. Eric Newcomer, Greg Lomow. Understanding SOA with WebServices. Addison Wesley Professional 2004.