Ресурсо-ориентированная архитектура - Resource-oriented architecture
В программная инженерия, а ресурсо-ориентированная архитектура (ROA) - это стиль программная архитектура и парадигма программирования для вспомогательного проектирования и разработки программного обеспечения в виде межсетевого взаимодействия Ресурсы с "RESTful " интерфейсы. Эти ресурсы программные компоненты (дискретный фрагменты кода и / или структуры данных ) который может быть повторно использованный для разных целей. ROA дизайн принципы и рекомендации используются на этапах разработка программного обеспечения и системная интеграция.
REST, или «передача репрезентативного состояния», описывает ряд архитектурных ограничений, которые иллюстрируют, как возник веб-дизайн.[1] Различные конкретные реализации этих идей создавались с течением времени, но было трудно обсуждать архитектурный стиль REST, не стирая границ между реальным программным обеспечением и архитектурными принципами, лежащими в его основе.
В главе 5 его диссертации Рой Филдинг Документирует, как Всемирная паутина ограничивается серией ограничений REST. Они по-прежнему довольно абстрактны и по-разному интерпретировались при разработке новых фреймворков, систем и веб-сайтов. В прошлом велись горячие разговоры о том, RPC REST-архитектуры в стиле RESTful.[1][2]
Рекомендации по разъяснению
Ресурсо-ориентированная архитектура, задокументированная Леонард Ричардсон и Сэм Руби[3] дает конкретные советы по конкретным техническим деталям. Название этих сборников руководящих принципов «Ресурсно-ориентированная архитектура» может позволить разработчикам обсудить преимущества архитектуры в контексте ROA.
Некоторые рекомендации уже распространены в более крупных сообществах REST, например, приложение должно предоставлять множество URI, по одному для каждого ресурса, но файлы cookie, представляющие идентификаторы в сеансе на стороне сервера, не являются RESTful.
Существующие рамки
Веб-службы RESTful обсуждают множество программных сред, которые предоставляют некоторые или многие функции ROA. К ним относятся / db[4],Джанго,TurboGears,Колба, EverRest[5], JBoss RESTEasy[6],JBoss Seam, Apache Wink[7],Джерси,NetKernel, Ниша[8],Рубин на рельсах,Symfony, Yii2[9], Play Framework[10], и Платформа API[11].
Веб-инфраструктура
В то время как REST представляет собой набор архитектурных рекомендаций, применимых к различным типам вычислительной инфраструктуры, ресурсо-ориентированная архитектура (ROA) работает только в паре с Интернетом. Таким образом, эта архитектура полезна в основном для предприятий, которые рассматривают Интернет в качестве предпочтительной вычислительной / издательской платформы.
Сила Интернета, по-видимому, в основном заключается в ее способности снижать барьеры для входа пользователей-людей, которые могут не иметь высокой квалификации в использовании вычислительной техники. Таким образом, Интернет расширяет рыночный охват любого бизнеса, который решает опубликовать часть своего контента в электронном формате. В сети такой опубликованный контент рассматривается как веб-ресурс.
Рекомендации
- ^ а б Глава 5 диссертации Филдинга «Репрезентативная передача состояния (REST)».
- ^ Филдинг, Рой Т .; Тейлор, Ричард Н. (май 2002 г.), «Принципиальный дизайн современной веб-архитектуры» (PDF), ACM-транзакции по интернет-технологиям, 2 (2): 115–150, Дои:10.1145/514183.514185, ISSN 1533-5399
- ^ Ричардсон и Руби 2007.
- ^ «API на лету ™ - автоматическое добавление REST API в ваши базы данных». SlashDB.
- ^ "Архив Google Code - долгосрочное хранилище для хостинга проектов Google Code". code.google.com.
- ^ "RESTEasy - Сообщество JBoss". resteasy.github.io.
- ^ "Индекс". wink.apache.org.
- ^ "recessframework.org". ww12.recessframework.org.
- ^ "Yii Framework". Yii Framework.
- ^ «Play Framework - создавайте современные и масштабируемые веб-приложения с помощью Java и Scala». www.playframework.com.
- ^ «Платформа API - среда REST и GraphQL для создания современных проектов на основе API на PHP». api-platform.com.
Библиография
- Ричардсон, Леонард; Руби, Сэм (Май 2007 г.). Веб-службы RESTful. O'Reilly Media. ISBN 978-0-596-52926-0.
- Lucchi, R .; Millot, M .; Эльферс, К. (2008). Ресурсо-ориентированная архитектура и REST (PDF). Научно-технические исследования. Люксембург: Офис официальных публикаций Европейских сообществ. Дои:10.2788/80035. ISBN 978-92-79-09320-3. ISSN 1018-5593.