RESTful и Enterprise 2.0

В 2006 году профессор Andrew McAfee, по аналогии с термином Web 2.0, придумал термин Enterprise 2.0. Для пояснения этого термина он использовал аббревиатуру SLATES (Search, Links, Authorship, Tags, Extension, Signaling), описывающую набор требований к Enterprise 2.0 решению. В дальнейшем это понятие стали развивать, улучшать и трактовать в разных смыслах, что существенно затуманило понимание вопроса. Зато дало большой простор для дискуссий не темы типа: является ли Sharepoint решением Enterprise 2.0.

В 2000 году Roy Fielding придумал и описал архитектурный стиль RESTful, который частенько позиционируют как стиль Web 2.0. Понять, что же Филдинг подразумевает под «REpresentational State Transfer» могут не многие. Поэтому, в отличии от истории с Макафи трактовки REST, как самим Филдингом, так и его приверженцами оказали бы вполне кстати. Объединяя обоих авторов, я предлагаю свою трактовку приложений Enterprise 2.0:
В определении профессора Макафи не хватает одного существительного. Ссылки есть, Тэги есть. Даже сигналы есть. Не понятно только к чему все эти объекты относятся. Поэтому:

  1. Все есть ресурс. Для именования основного объекта можно использовать какое-либо другое существительное: статья, страница, сообщение, но пусть по аналогии с REST будет ресурс.
  2. Каждый ресурс имеет уникальный идентификатор URI. Идентификатор жестко связан с ресурсом, т.е. пока ресурс существует, его идентификатор не меняется. В диссертации Филдинга этому уделено достаточно много внимания. Не буду повторяться. Замечу, что в русском языке для ссылок прижилось достаточно полезное определение ЧПУ. Что означает Человеко-Понятный URL. Так вот речь именно об этом. Наш второй пункт практически полностью совпадает с (L)inks из аббревиатуры Maкафи.
  3. Операции с ресурсом определяются простыми глаголами: Создать, Получить, Обновить и Удалить. Причем операции эти обязательны. Помешать управлению ресурсом могут лишь правила разграничения доступа, определенные его владельцем. Этот пункт перекликается с {A)uthorship Макафи, но существенно проще для понимания и конкретней. Особо подчеркну, что программист не является владельцем ресурса и потому не может «забыть» реализовать методы для работы с ресурсом.
  4. Идентификаторы ресурсов устроены так, что позволяют нам объединять ресурсы в иерархическую структуру. Другим способом организации коллекции ресурсов являются метки(тэги). Подробнее о роли меток в структурировании ресурсов см. предыдущее сообщение
  5. Для нотификации об изменении ресурса или коллекции ресурсов используются сигналы: ATOM, RSS, уведомления по e-mail и т.п. Сигналы поддерживают механизм публикация-подписка. Этот пункт совпадает с (S)ignals Maкафи.
  6. Определен механизм поиска и получения идентификаторов ресурсов, удовлетворяющих определенным условиям. (S)earch из аббревиатуры Maкафи.

Я удалил из определения используемое Макафи понятие (E)xtension и ничего не сказал про HATEOAS и репрезентации. На мой взгляд, они не дают нам какого-либо конкретного критерия для определения того, соответствует ли приложение подходу Enterprise 2.0

Реклама

4 responses to “RESTful и Enterprise 2.0

  • Ярослав Филатов

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

  • мaкap

    Немного не в тему, но вопрос такой возник автору. А почему вы именно вордпресс выбрали для своего блога. Я вот ваш блог постоянно читаю 🙂

    • Максим Смирнов

      Спасибо, что читаете 🙂 С LJ и Blogspot у меня как-то не пошло.На другие площадки, типа itblogs.ru я и не просился, меня и не приглашали. А вордпресс меня устраивает и как движок и как хостинг.

  • Голосование об Enterprise 2.0 « Максим Смирнов

    […] Ссылка для голосования View This Pollsurvey software Можно выбрать не более трех вариантов ответа из шести Моё видение было описано в сообщении RESTful и Enterprise 2.0 […]

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s