Координация работы сетевых служб 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Координация работы сетевых служб



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

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

Существующие попытки стандартизации, в частности, стандарт языка WSCL пока не получили достаточной поддержки, поэтому для описания координационных протоколов применяются различные модели.

Среди используемых моделей выделяются две: модель диаграмм последовательности и модель диаграмм активности.

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

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

Зная координационный протокол и роль сетевой службы в протоколе, можно проектировать взаимодействия с этой службой.

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

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

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

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

этих документов.

Многие важные детали реализации (как проводить обмен сообщениями) часто в вертикальных протоколах отсутствуют, они больше концентрируются на семантике обменов, а также на наборах правильных разговоров. Детали – это то, с чем имеют дело горизонтальные протоколы, в которых определяется общая инфраструктура, независящая от прикладной области. Однако сетевые службы предназначены для взаимодействия не внутри, а между предприятиями, и многие ранее разработанные методы для них не пригодны. В частности, из-за длительности взаимодействия протоколы подтверждения типа 2РС использоваться не могут, так как они в момент этого подтверждения блокируют ресурсы. Следует разрабатывать новые стандарты (уже разработаны стандарты WS-Coordination, WS-Transaction).



Поделиться:


Последнее изменение этой страницы: 2017-02-19; просмотров: 228; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.166.98 (0.005 с.)