Jump to content

Принцип безгражданства службы

Безгражданство сервиса — это принцип проектирования , который применяется в рамках ориентированного на сервисы парадигмы проектирования, , для разработки масштабируемых сервисов путем отделения их от данных о состоянии , когда это возможно. [1] Это приводит к сокращению ресурсов, потребляемых службой, поскольку фактическое управление данными о состоянии делегируется внешнему компоненту или архитектурному расширению. За счет снижения потребления ресурсов служба может надежно обрабатывать больше запросов. [2]

Взаимодействие любых двух программ предполагает отслеживание данных, специфичных для взаимодействия, поскольку каждое последующее взаимодействие может зависеть от результата предыдущего взаимодействия. Это становится более важным в распределенных архитектурах, где клиент и сервер физически не существуют на одной машине. В двухуровневых архитектурах ответственность за отслеживание этих данных, специфичных для взаимодействия, лежала на богатых клиентах, что не было проблемой, поскольку каждый клиент раньше находился на отдельном компьютере. [3] Однако в многоуровневых архитектурах ответственность за управление состоянием переносится с клиента на приложение или веб-сервер . Это привело к необходимости в некоторых расширениях управления состоянием промежуточного программного обеспечения , чтобы сервер мог обрабатывать несколько одновременных клиентских запросов, откладывая фактические данные о состоянии, специфичные для конкретной деятельности, таким расширениям, например, хранение данных сеанса в базе данных в ASP .NET приложениях . Это помогает высвободить ресурсы памяти в пользу повышения скорости реагирования сервера и возможности обрабатывать больше клиентских запросов.

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

Приложение

[ редактировать ]

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

Контекстные данные

[ редактировать ]

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

Бизнес-данные

[ редактировать ]

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

Данные сеанса

[ редактировать ]

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

Безгражданство и виды услуг

[ редактировать ]

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

Службы задач

[ редактировать ]

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

Коммунальные услуги

[ редактировать ]

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

Сущностные услуги

[ редактировать ]

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

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

Соображения

[ редактировать ]

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

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

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

  1. ^ Подвал Войцеха, Сергиуш Стрыковский Электронное правительство на основе облачных вычислений и сервис-ориентированной архитектуры [Онлайн]. Дата доступа: 19 апреля 2010 г.
  2. ^ IBM Red Books Power Systems и SOA Synergy [Онлайн]. Дата обращения: 21 апреля 2010 г.
  3. ^ «Тонкий клиент против архитектуры толстого клиента» . RichHewlett.com. 2 декабря 2008 года . Проверено 10 марта 2019 г.
  4. ^ «Шаблон проектирования служб с отслеживанием состояния» . Архивировано из оригинала 1 марта 2010 года . Проверено 28 февраля 2010 г.
  5. ^ Редди. и др. Оценка устаревших активов в контексте перехода на SOA [Online].стр. 58. Дата обращения: 19 апреля 2010 г.

Дальнейшее чтение

[ редактировать ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d6632354b2c0473e2a4822b62f3fbd78__1703568000
URL1:https://arc.ask3.ru/arc/aa/d6/78/d6632354b2c0473e2a4822b62f3fbd78.html
Заголовок, (Title) документа по адресу, URL1:
Service statelessness principle - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)