logo
[КОМП СИСТЕМЫ] / KS1

Архитектуры распределенных приложений. Web-сервисы

Простейшей архитектурой распределенного приложения является архитектура клиент-сервер.

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

Чтобы избавиться от недостатков архитектуры клиент-сервер используются дополнительные программы для обработки данных. Их выделяют в отдельный (промежуточный middleware) слой ПО.

Распределенное приложение становиться трехслойным. В технологии JAVA промежуточный слой обычно реализован сервером приложений (JBOSS, IBМ WEB Sphere, и т.д.).

В технологии JAVA промежуточный слой делится на две части: Web-слой (сервлеты, jsp-страницы), EJB-слой (EJB-компоненты).

Количество слоев можно увеличивать, но важнее установить тесную связь, между компонентами распределенного приложения. Компоненты распределенного приложения созданы на основе сокетов, RMI и CORBA-технологии, тесно связаны с платформой и выбранной технологикй. В этом случае горят о тесно связанных (tightly coupled) распределенных приложениях. Распределенные приложения, компоненты которого могут работать на разных платформах и заменять друг друга называются слабосвязанными (loosely coupled). Создатели Web-services решили, что Web-услуги будут предоставляться в рамках слабосвязанных приложений. В этих целях они решили использовать общие для всех платформ средства, т.е. язык HTML и протокол HTTP. Однако, оказалось что средств HTML недостаточно для описания вызовов распределенных процедур и методов. Выход был найден в использовании языка XML. XML используется на всех платформах, документы XML легко передаются по сети в виде текстовых файлов с расширением *.xml. Таким образом Web-services услуги предоставляемые по интернет с использованием языка XML и протокола HTTP. При этом обмен информации между клиентом и сервером осуществляется в виде XML-документов.

Web-service (Web-служба) – компонент распределенной системы реализующий Web-services услуги.