Ресурсно-ориентированная архитектура
В разработке программного обеспечения ресурсно -ориентированная архитектура ( ROA ) — это стиль архитектуры программного обеспечения и парадигма программирования для вспомогательного проектирования и разработки программного обеспечения в форме межсетевого взаимодействия ресурсов с « RESTful » интерфейсами . Эти ресурсы представляют собой программные компоненты (отдельные фрагменты кода и/или структуры данных ), которые можно повторно использовать для различных целей. ROA Принципы и рекомендации по проектированию используются на этапах разработки программного обеспечения и системной интеграции .
REST, или передача репрезентативного состояния, описывает ряд архитектурных ограничений, которые иллюстрируют, как возник веб-дизайн. [1] С течением времени создавались различные конкретные реализации этих идей, но было трудно обсуждать архитектурный стиль REST, не стирая границы между реальным программным обеспечением и стоящими за ним архитектурными принципами.
В главе 5 своей диссертации Рой Филдинг описывает, как Всемирная паутина спроектирована так, чтобы ее ограничивала серия ограничений REST. Они по-прежнему достаточно абстрактны и по-разному интерпретируются при разработке новых фреймворков, систем и веб-сайтов. В прошлом велись жаркие споры о том, являются ли REST-архитектуры в стиле RPC полноценными REST. [1] [2]
Рекомендации по разъяснению
[ редактировать ]Ресурсно-ориентированная архитектура, описанная Леонардом Ричардсоном и Сэмом Руби в их книге 2007 года RESTful Web Services , [3] дает конкретные советы по конкретным техническим деталям. Называя эти сборники рекомендаций «Ресурсно-ориентированной архитектурой», вы можете позволить разработчикам обсудить преимущества архитектуры в контексте ROA.
Некоторые рекомендации уже распространены в более крупных сообществах REST, например: приложение должно предоставлять множество URI, по одному для каждого ресурса; и что обработка файлов cookie, представляющих идентификаторы в сеансе на стороне сервера, не является RESTful.
Существующие фреймворки
[ редактировать ]Ричардсон и Руби также обсуждают множество программных платформ, которые обеспечивают некоторые или многие функции ROA. К ним относятся/дб, [4] Джанго , ТурбоГирс , Колба ,ЭверРест, [5] JBoss RESTEasy, [6] JBoss шов , Весна , [7] Апач Винк, [8] Джерси , НетКернел ,перерыв, [9] Рубин на рельсах , Симфония ,Юи2, [10] Игровая платформа , [11] и платформа API . [12]
Веб-инфраструктура
[ редактировать ]В то время как REST представляет собой набор архитектурных рекомендаций, применимых к различным типам вычислительных инфраструктур, ресурсно-ориентированная архитектура (ROA) связана только с Интернетом. Поэтому эта архитектура полезна в основном для компаний, которые рассматривают Интернет в качестве предпочтительной вычислительной/публикационной платформы.
Сила Интернета, по-видимому, в основном заключается в его способности снижать входные барьеры для пользователей, которые, возможно, не имеют достаточной подготовки в использовании вычислительной техники. [ сомнительно – обсудить ] Таким образом, Интернет расширяет рынок для любого бизнеса, который решает опубликовать часть своего контента в электронном формате.В сети такой опубликованный контент рассматривается как веб-ресурс .
Ссылки
[ редактировать ]- ^ Jump up to: а б Глава 5 диссертации Филдинга — «Передача репрезентативного состояния (REST)» .
- ^ Филдинг, Рой Т.; Тейлор, Ричард Н. (май 2002 г.), «Принципы проектирования современной веб-архитектуры» (PDF) , ACM Transactions on Internet Technology , 2 (2): 115–150, doi : 10.1145/514183.514185 , ISSN 1533-5399
- ^ Ричардсон и Руби 2007 .
- ^ «API on the Fly™ — автоматическое добавление REST API в ваши базы данных» . СлэшДБ .
- ^ «Архив кода Google — долгосрочное хранилище для хостинга проектов Google Code» . code.google.com .
- ^ «RESTEasy — Сообщество JBoss» . resteasy.github.io .
- ^ «Учебник по Spring REST» .
- ^ «Индекс» . wink.apache.org .
- ^ «recessframework.org» . www12.recessframework.org .
- ^ «Yii Фреймворк» . Yii Фреймворк .
- ^ «Play Framework — создание современных и масштабируемых веб-приложений с помощью Java и Scala» . www.playframework.com .
- ^ «Платформа API — среда REST и GraphQL для создания современных проектов на основе API на PHP» . api-платформа.com .
Библиография
[ редактировать ]- Ричардсон, Леонард; Руби, Сэм (май 2007 г.). RESTful веб-службы . О'Рейли Медиа . ISBN 978-0-596-52926-0 .
- Лукки, Р.; Милло, М.; Элферс, К. (2008). Ресурсно-ориентированная архитектура и REST (PDF) . Научно-технические исследования. Люксембург: Управление официальных публикаций Европейских сообществ . дои : 10.2788/80035 . ISBN 978-92-79-09320-3 . ISSN 1018-5593 .