REST API (прехвърляне на представително състояние) илиRESTful уеб услуги - какво представляват те? REST се превежда от английски като "прехвърляне на представително състояние". Това е начин за осигуряване на оперативна съвместимост между компютърните системи в Интернет. REST-съвместими уеб услуги, които позволяват на заявените системи за достъп и манипулиране на текстови представяния на уеб ресурси, използвайки единичен и предварително дефиниран набор от операции. Има и други форми на уеб услуги, които съдържат свои собствени произволни набори от операции, като WSDL и SOAP.
REST API: какво е това? Определение на понятието
Уеб ресурсите първоначално са определени вСветовната мрежа като документи или файлове, идентифицирани чрез техните URL адреси. Днес те имат много по-общо и абстрактно определение, обхващащо всеки обект или обект, който може да бъде идентифициран, наименуван, адресиран или обработен в мрежата. В уеб услуга на REST API, заявките, отровени към URI на ресурс, задействат отговор, който може да бъде форматиран в XML, HTML, JSON или някакъв друг формат. Отговорът може да потвърди, че са направени някои промени в съхранения ресурс, както и да предостави хипертекстови връзки към други свързани ресурси и техните колекции. Използването на HTTP като най-често срещания протокол се отнася до видовете налични операции, които са предварително дефинирани от командите PUT, DELETE, HTTP GET, POST.
Използване на протоколи без гражданство иСтандартни операции, REST системите се стремят към бърза производителност, надеждност и потенциал за растеж чрез повторно използване на компоненти, които могат да бъдат контролирани и актуализирани, без да засягат цялата система. Използването на REST често се предпочита пред по-тежкия SOAP (Simple Object Access Protocol) стил, тъй като REST не използва честотна лента, което го прави по-подходящ за използване в Интернет. Подходът SOAP изисква писане или използване на предоставена сървърна програма (за обслужване на данни) и клиентска програма (за заявка на данни).
История на технологиите
Терминът "представителен държавен трансфер" бешевъведен и дефиниран през 2000 г. от Рой Филдинг в неговата дисертация Архитектурни стилове и дизайн на софтуерни мрежови архитектури. Той разработи REST архитектурен стил успоредно с HTTP 1.1 от 1996-1999 г., базиран на съществуващия от 1996 г. HTTP 1.0 чернова. В ретроспективен поглед върху еволюцията на технологиите, Филдинг каза, че по време на процеса на стандартизация на HTTP той е предназначен да защити избора на дизайн в Интернет. Това е много трудна задача в процеса на приемане на предложения от някого по тема, която бързо се превръща във фокус на цялата индустрия.
Филдинг имаше коментари от над 500разработчици, много от които са отлични инженери с дългогодишен опит. Той трябваше да обясни всичко от най-абстрактните концепции за уеб взаимодействие до точните детайли на HTTP синтаксиса. Този процес усъвършенства неговия модел до основен набор от принципи, свойства и ограничения, които сега се наричат REST.
предимства
Спецификата на стила REST засяга следните архитектурни свойства:
- Производителност – Взаимодействието на компонентите е доминиращата характеристика във възприятието на потребителите за производителността и ефективността на мрежата.
- Мащабируемост за поддръжка на възможно най-много компоненти, тестване на REST API и взаимодействията между тях.
- Лекота на унифицирания интерфейс и оторизация на REST API.
- Възможност за промяна на компонентите, за да отговорят на променящите се нужди (дори докато приложението работи).
- Видимост на комуникацията между компонентите и сервизните агенти.
- Възможността за прехвърляне на компоненти чрез преместване на програмния им код с данни.
- Надеждност - Висока устойчивост при наличие на повреди на компоненти, конектори или данни.
Определя се разпределението на проблемите между клиентитетъй като този REST API улеснява внедряването на компоненти, намалява сложността на семантиката на конектора, подобрява настройката на производителността и увеличава мащабируемостта на чистите сървърни компоненти. Усъвършенстваните системни ограничения позволяват прокси прокси, шлюзове и защитни стени да бъдат разположени в различни точки на комуникация, без да се променят интерфейсите между компонентите, което им позволява да извършват REST превод на съобщения или да подобряват производителността с широкомащабно споделено кеширане. Пример за REST API е, когато взаимодействията са независими от състоянието на заявките, стандартните методи и типове медии се използват за посочване на семантика и обмен на информация, а отговорите изрично показват кеширане.
Формални и архитектурни ограничения
Характеризират се шест водещи ограниченияRESTful система. Те ограничават начините, по които сървърът може да обработва и приема клиентски заявки. Работейки в рамките на тези ограничения, услугата получава желаните нефункционални свойства като производителност, мащабируемост, простота, променливост, видимост, преносимост и надеждност. Ако дадена услуга нарушава някакви задължителни ограничения, тя не може да се счита за RESTful.
Първите ограничения са свързани с архитектуратастил клиент-сървър. Разделянето на проблемите с потребителския интерфейс от проблемите със съхранението подобрява преносимостта на потребителския интерфейс между множество платформи. Той също така подобрява мащабируемостта чрез опростяване на сървърните компоненти. Може би най-важното за Мрежата, отделянето позволява на компонентите да се развиват сами, като по този начин поддържат изискванията на интернет мащаба на множество организационни домейни.
безопасност
REST не предоставя вградена поддръжкасигурност. Това е много важно при проектирането на REST уеб услуги – изискванията за сигурност и дизайн са спазени предварително. Уеб услугите REST използват HTTP GET, POST, PUT и DELETE от CRUD операции. PUT и DELETE не се поддържат от много браузъри и най-често се деактивират на ниво сървър поради потенциални нарушения на поверителността. Ако не е конфигуриран правилно на ниво сървър и клиент, всеки неупълномощен потребител може да ПОЛОЖИ ресурса или да унищожи използвания ресурс DELETE. Когато се разработват изисквания за сигурност за уеб услугите, тези точки трябва да се имат предвид.
Архитектурни елементи
Ключов аспект на REST е естеството и състоянието на неговите елементи от данни. Има четири концепции в REST, които описват поведението и състоянието на информацията.
Ресурсът е обект (логически или физически),достъпни в интернет. Това може да бъде документ, съхраняван във файловата система на сървъра, или ред в таблица на база данни. Крайният потребител взаимодейства с ресурса, за да постигне конкретна цел. За да проектира система, използваща REST, разработчикът трябва да мисли за бизнес обектите като ресурси и как те могат да бъдат адресирани.
URI – уникално идентифицира ресурс. Този параметър прави ресурса адресируем и може да бъде променен. Ресурсите се променят с помощта на протокол на приложение като HTTP.
Изгледът е данни за състоянието / метаданниресурс в даден момент. Клиентът получава представяне на ресурса, когато е поискан URI. Изгледът на ресурсите може да бъде кодиран в един или повече предавани формати като XML, HTML, JSON, RSS, REST API java. Тези формати могат да бъдат договорени с помощта на механизъм за договаряне на съдържание.
Връзка - Позволява на приложението да навигираот едно състояние в друго. Всеки ресурс трябва да бъде свързан с други ресурси. Изгледът трябва да предлага връзка към следващия преход. Едно добре свързано приложение позволява на потребителя да отваря интерфейса сам.
съединител
Конекторът на конектора е абстрактенинтерфейс, който посредничи за комуникация между компонентите. Тъй като REST взаимодействията са без състояние, конекторът не трябва да съхранява информация за състоянието. Следователно комуникацията между компонентите може да се осъществява паралелно.
Клиентът и сървърът са основните REST конектори. Клиентът инициира заявката и сървърът я обработва.
Парите са друг вид конектор. Кеширането може да бъде реализирано на ниво клиент, сървър или междинен софтуер. Това намалява латентността и използването на мрежата.
елементи
Компонентите изпълняват набор от добре дефинирани методи върху ресурс, който създава изглед за улавяне на текущото или предвиденото състояние.
User-Agent - Използва клиентския конектор за иницииране на заявката.
Origin Server - Използва сървърния конектор, за да отговори на заявката.
Проксито е посредник, използван от страна на клиента за осигуряване на капсулиране на интерфейс от други услуги. Освен това се занимава с превод и защита на данни.
Шлюзът е посредник, използван от сървър за осигуряване на капсулиране на интерфейс с други услуги.
Перспективи за развитие
Въпросът винаги е актуален:REST API - какво е за съвременните интернет технологии? REST е основата на съвременната уеб архитектура, която се развива чрез анализиране на недостатъците на съществуващите стилове и въвеждане на нови допълнения към нея.
Какви са целите на REST API?Става дума за използване на съществуващи стилове с координиран набор от ограничения, за да се сведе до минимум мрежовата комуникация и да се увеличи максимално независимото развитие на компонентите за постигане на мащабируемост. Това е нова архитектура за разпределена хипермедийна система. С появата на смартфони, таблети и други джаджи мрежата и нейната мащабируемост ще бъдат въведени.