В программной инженерии , ресурс-ориентированная архитектура ( ROA ) это стиль архитектуры программного обеспечения и программирования парадигмы для поддержки проектирования и разработки программного обеспечения в виде межсетевых из ресурсов с « RESTful » интерфейсов . Эти ресурсы представляют собой программные компоненты (отдельные фрагменты кода и / или структуры данных ), которые можно повторно использовать для различных целей. Принципы и рекомендации по проектированию ROA используются на этапах разработки программного обеспечения.и системная интеграция .
REST, или передача репрезентативного состояния, описывает серию архитектурных ограничений, которые иллюстрируют, как возник веб-дизайн. [1] Различные конкретные реализации этих идей создавались в течение долгого времени, но было трудно обсуждать архитектурный стиль REST, не стирая границ между реальным программным обеспечением и архитектурными принципами, лежащими в его основе.
В главе 5 своей диссертации Рой Филдинг описывает, как устроена всемирная паутина, которая ограничивается рядом ограничений REST. Они все еще довольно абстрактны и по-разному интерпретировались при разработке новых фреймворков, систем и веб-сайтов. В прошлом велись горячие споры о том, являются ли архитектуры REST в стиле RPC RESTful. [1] [2]
Рекомендации по разъяснению [ править ]
Архитектура, ориентированная на ресурсы, задокументированная Леонардом Ричардсоном и Сэмом Руби [3], дает конкретные советы по конкретным техническим деталям. Название этих сборников руководящих принципов «Архитектура, ориентированная на ресурсы» может позволить разработчикам обсудить преимущества архитектуры в контексте ROA.
Некоторые рекомендации уже распространены в более крупных сообществах REST, например, приложение должно предоставлять множество URI, по одному для каждого ресурса, но файлы cookie, представляющие идентификаторы в сеансе на стороне сервера, не являются RESTful.
Существующие фреймворки [ править ]
Веб-службы RESTful обсуждают множество программных фреймворков, которые предоставляют некоторые или многие функции ROA. К ним относятся / db, [4] Django , TurboGears , Flask , EverRest, [5] JBoss RESTEasy, [6] JBoss Seam , Apache Wink, [7] Jersey , NetKernel , Recess, [8] Ruby on Rails , Symfony , Yii2. , [9] Play Framework , [10] и API-платформа . [11]
Веб-инфраструктура [ править ]
В то время как REST представляет собой набор архитектурных рекомендаций, применимых к различным типам вычислительной инфраструктуры, ресурсо-ориентированная архитектура (ROA) работает только в паре с Интернетом. Таким образом, эта архитектура полезна в основном для предприятий, которые рассматривают Интернет как предпочтительную вычислительную / издательскую платформу.
Сила Интернета, по-видимому, в основном заключается в ее способности снижать барьеры для входа пользователей-людей, которые могут не иметь высокой квалификации в использовании вычислительной техники. Таким образом, Интернет расширяет рыночный охват любого бизнеса, который решает опубликовать часть своего контента в электронном формате. В сети такой опубликованный контент считается веб-ресурсом .
Ссылки [ править ]
- ^ a b Глава 5 диссертации Филдинга - «Передача репрезентативного состояния (REST)» .
- ^ Филдинг, Рой Т .; Тейлор, Ричард Н. (май 2002), "Принципиальный дизайн современного веб - архитектуры" (PDF) , ACM Сделки по интернет - технологиям , 2 (2): 115-150, DOI : 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) . Научно-технические исследования. Люксембург: Управление официальных публикаций Европейских сообществ . DOI : 10.2788 / 80035 . ISBN 978-92-79-09320-3. ISSN 1018-5593 .