REST API - Какво е това? REST: превод. Представителен държавен трансфер

REST API (представителен държавен трансфер), или RESTful уеб услуги - Какво е това? REST в превод на английски "представител на държавен трансфер". Това е начин за осигуряване на оперативна съвместимост между компютърните системи в Интернет. REST-съвместими уеб услуги, които позволяват системни запитвания за достъп и управление на уеб-базирани текстови изгледи на уеб сайт, използвайки единен, стандартен набор от операции. Има и други форми на уеб услуги, които включват свой собствен произволен набор от операции, като WSDL и SOAP.


REST API: Какво е това? Дефиниране на понятието

Уеб ресурсите първоначално бяха дефинирани в World Wide Web като документи или файлове, идентифицирани от техните URL адреси. Днес те имат много по-обща и абстрактна дефиниция, която обхваща всеки предмет или субект, които могат да бъдат идентифицирани, посочени, адресирани или обработени в мрежата. Заявки за уеб услуги на REST API, които са отровени от URI ресурс, генерират отговор, който може да бъде изпълнен в XML, HTML, JSON или в друг формат. Отговорът може да потвърди, че са направени някои промени в запазения ресурс, както и да осигури хипертекстови връзки към други свързани ресурси и техните колекции. Използването на HTTP като най-често използвания протокол се отнася до типовете налични операции, причинени от командите PUT, DELETE, HTTP GET, POST. Чрез използване на протоколи без оглед на състоянието и стандартните операции, REST системите са насочени към бърза производителност, надеждност и способност за растеж чрез повторно използване на компоненти, които могат да бъдат управляваникоито могат да бъдат актуализирани, без да засягат системата като цяло. Използването на REST често е по-добро от стила SOAP (Simple Object Access Protocol), защото REST не използва честотна лента, което го прави по-подходящ за използване в интернет. За SOAP подход е необходимо да се записва или да се използва предоставената сървърна програма (за поддържане на данни) и клиентската програма (за заявка за данни).


История на технологиите

Терминът "предаване на представителна държава" бе въведен и идентифициран през 2000 г. от Roy Fielding в дисертацията си "Архитектурни стилове и дизайн на мрежови софтуерни архитектури". Той разработва REST архитектурен стил паралелно с HTTP 111996-1999, въз основа на съществуващ HTTP проект от 101996. В ретроспективен поглед върху технологичното развитие, Филдинг заяви, че по време на процеса на стандартизиране на HTTP, той е бил призован да защити избора на дизайн в интернет. Това е много трудна задача в рамките на процеса, приемане на предложения от всеки по темата, който бързо се превръща в център на цялата индустрия. Филдинг имаше коментари от повече от 500 разработчици, много от които са отлични инженери с дългогодишен опит. Той трябваше да обясни всичко, започвайки с най-абстрактните концепции за уеб взаимодействие и завършвайки с точните детайли на синтаксиса на HTTP. Този процес изостря своя модел към основния набор от принципи, свойства и ограничения, които сега се наричат ​​REST.

Ползи

Характеристиките на REST стила засягат следните архитектурни свойства:
  • Производителност - Взаимодействиекомпонентите е доминираща характеристика на възприятията на потребителя за производителността и производителността на мрежата.
  • Скалируемост за поддържане на максималния брой компоненти, тестване на REST API и взаимодействие с тях.
  • Опростеност на единния интерфейс и оторизация на REST API.
  • Възможност за модифициране на компонентите, за да отговарят на променящите се нужди (дори когато се изпълнява програмата).
  • Видимост на връзката между компонентите и сервизните агенти.
  • Възможност за прехвърляне на компоненти чрез преместване на техния програмен код с данни.
  • Надеждност - висока устойчивост на повреди при наличие на повреди в състава, съединителите или данните.
  • Разпределението на проблемите между клиентите се дължи на факта, че този REST API позволява да се опрости внедряването на компонентите, намалява сложността на семантиката на конектора, подобрява ефективността на регулирането на производителността и увеличава мащабируемостта на чистите сървърни компоненти. Сложните системни ограничения позволяват на посредническите посредници, шлюзовете и защитните стени да бъдат разположени на различни места за комуникация, без да се променят интерфейсите между компонентите, което им позволява да изпълняват REST-превеждащи съобщения или да увеличават производителността чрез широкомащабно общо кеширане. Пример за REST API е фактът, че когато взаимодействията не зависят от статуса на заявките, стандартните методи и типовете носители се използват за обозначаване на семантиката и обмена на информация, а отговорите ясно сочат към кеширане.

    Формални и архитектурни ограничения

    Шест ограничения се характеризират със системата RESTful. Те ограничаватначините, по които сървърът може да обработва и приема заявки на клиенти. Като действа в тези граници, услугата получава желани нефункционални свойства като производителност, скалируемост, простота, променливост, видимост, мобилност и надеждност. Ако услугата наруши необходимите ограничения, тя не може да се счита за RESTful.
    Първите ограничения се отнасят до архитектурния стил на "клиент-сървър". Разделянето на проблемите с потребителския интерфейс с проблемите със съхранението на данни подобрява преносимостта на потребителския интерфейс на множество платформи. Той също така подобрява скалируемостта чрез опростяване на сървърните компоненти. Може би най-важното за Мрежата е, че разделянето позволява на компонентите да се развиват самостоятелно, като по този начин се запазват изискванията на скалата на интернет към множеството организационни области.

    Сигурност

    REST не осигурява вградена поддръжка за сигурност. Това е много важно при проектирането на уеб-базирани REST услуги - изискванията за сигурност и дизайна се извършват предварително. REST Web услугите използват HTTP GET, POST, PUT и DELETE от CRUD операции. PUT и DELETE не се поддържат от много браузъри и често се прекъсват на ниво сървър поради възможни нарушения на поверителността. Ако не е конфигуриран правилно на ниво сървър и клиент, всеки потребител от трета страна ще може да създаде ресурс чрез метода PUT или да унищожи използвания ресурс DELETE. При разработването на изисквания за сигурност за уеб услуги тези точки трябва да се вземат под внимание.

    Архитектурни елементи

    Ключовият аспект на REST е характерът и състояниетоелементите на данните. В REST стила има четири концепции, които описват поведението и състоянието на информацията. Ресурсът е обект (логически или физически), наличен в интернет. Това може да бъде документ, съхраняван в файловата система на сървъра или ред в таблицата на базата данни. Крайният потребител взаимодейства с ресурса, за да постигне определена цел. За да проектира система, използваща REST, разработчикът трябва да мисли за бизнес обекти като ресурси и как те могат да бъдат адресирани.
    URI - Уникално идентифицира ресурс. Този параметър прави адреса на ресурса и може да се променя. Ресурсите се променят с помощта на програмния протокол - като HTTP. Представянето е данните /метаданните на състоянието на ресурса по това време. Клиентът получава представяне на ресурс, когато иска URI. Типът ресурс може да бъде кодиран в един или повече предадени формати, като XML, HTML, JSON, RSS, REST API за java. Тези формати могат да бъдат съгласувани с механизма за договаряне на съдържание. Link - позволява на приложението да извършва преход от едно състояние в друго. Всеки ресурс трябва да бъде свързан с други ресурси. Представянето трябва да предполага връзка към следващия ход. Добре свързаното приложение позволява на потребителя самостоятелно да отвори интерфейса.

    Конектор

    Конекторният конектор е абстрактен интерфейс, който медиира връзката между компонентите. Тъй като REST взаимодействията не се появяват, конекторът не трябва да съхранява информация за състоянието. Следователно, връзката между компонентите може да се осъществи паралелно.
    Клиентът и сървърът са основните REST конектори.Клиентът инициира заявката и сървърът я обработва. Кешът е друг тип конектор. Кеширането може да се реализира на ниво клиент, сървър или междинно ниво. Това намалява времето за изчакване и използването на мрежата. Компоненти
    Компонентите изпълняват набор от ясно дефинирани методи на ресурса, генерирайки идея за улавяне на текущото или прогнозирано състояние. User-Agent - използва клиентски конектор за иницииране на заявка. Origin-server използва сървърния конектор, за да отговори на заявка. Proxy е посредник, който се използва на клиентската страна за осигуряване на капсулиране на интерфейса с други услуги. Също така извършва преводи и защита на данните. Gateway е медиатор, използван на сървъра за осигуряване на капсулиране на интерфейса с други услуги.

    Перспективи за развитие

    Винаги актуален въпрос: REST API - Какво представлява съвременните интернет технологии? REST е основата на днешната уеб архитектура, която се развива чрез анализиране на недостатъците на съществуващите стилове и въвеждането на нови допълнения към него. API за REST - какво е това? Това е желанието да се използват съществуващите стилове с координиран набор от ограничения, за да се сведе до минимум мрежовата свързаност и да се максимизира независимото развитие на компонентите, за да се постигне скалируемост. Това е нова архитектура на разпределената хипермедийна система. С появата на смартфони, таблети и т.н. на джаджи ще се реализира мрежа и нейната скалируемост.

    Свързани публикации