что такое веб доступ
Веб-интерфейс роутера. Что это? Как войти?
Сегодня заметил, что практически во всех статьях я пишу о том, что необходимо зайти в настройки роутера, или открыть его параметры. Но сама страница с настройками роутера, в которую мы можем зайти через браузер, называется веб-интерфейс. У многих пользователей возникают вопросы связанные с этим. Что такое веб-интерфейс роутера, для чего он нужен, как его открыть и т. д.
На самом деле, все очень просто. Главное понимать, что настройки, панель управления, сайт с настройками, или личный кабинет роутера – это одно и то же и по-правильному называется веб-интерфейс. Грубо говоря, это набор страниц с настройками роутера, в которые мы можем получить доступ через браузер. Выглядит все это как обычный сайт. Только все эти страницы хранятся не в интернете, а в памяти самого роутера.
У каждого роутера есть свой адрес, по которому мы можем получить доступ к веб-интерфейсу. Все что необходимо, это просто подключится к маршрутизатору и в браузере перейти по определенному адресу. Где-то в 90% случаев, открыть веб-интерфейс маршрутизатора можно по IP-адресу 192.168.1.1 (см. как выполнить вход на 192.168.1.1), или 192.168.0.1 (подробнее о том как зайти на 192.168.0.1). Сейчас производители активно начали использовать хостнейм. Это адрес, который выглядит как адрес обычного сайта.
Предлагаю посмотреть, как выглядит веб-интерфейс маршрутизатора ASUS. Его главная страница, с которой мы получаем доступ к карте сети, самым необходимым настройкам и отдельным разделам с разными параметрами. Там можно сделать что угодно: настроить подключение к интернету, установить пароль на Wi-Fi, сменит имя сети, обновить прошивку, отключить или включить разные функции, выполнить перезагрузку устройства и т. д.
Разумеется, что сам веб-интерфейс не одинаковый на всех маршрутизаторах. Внешне он отличается в зависимости от производителя, и даже от версии прошивки. Сами производители дорабатывают настройки своих устройств. Делают интерфейс более простым и современным. Один из самых важных моментов – язык интерфейса. Многие компании делают сейчас мультиязычные веб-интерфейсы. Что очень удобно. Но есть роутеры, у которых настройки на одном языке. И это не всегда русский, или украинский.
Для примера мы подробно рассмотрим процесс входа в веб-интерфейс роутера TP-Link, D-Link и ASUS. А для ZyXEL, Tenda, Netis, Xiaomi, Huawei – оставлю ссылки на подробные инструкции в виде отдельных статей.
Открываем веб-интерфейс роутера TP-Link
На старых моделях маршрутизаторов от TP-Link в настройки можно было зайти по адресу 192.168.1.1. На новых – 192.168.0.1. Но на самих роутерах сейчас указывают адрес tplinkwifi.net (подробнее об этом можете почитать здесь). Просто переворачиваем устройство и смотрим, что там написано на наклейке.
В браузере (стандартный, Хром, Опера и т. д.) переходим по этому адресу и попадаем в веб-интерфейс с настройками. Конечно же устройство, с которого мы выполняем вход, должно быть подключено непосредственно к роутеру. И только к нему.
Пароль/логин – admin/admin. Это заводской, если вы не меняли.
После успешной авторизации появится сам веб-интерфейс.
У TP-Link есть уже новая версия, которая устанавливается на некоторые модели. Более современная и красивая. Выглядит так:
192.168.1.1 – веб-интерфейс маршрутизатора ASUS
У роутеров от компании ASUS все как-то проще. Адрес там всегда 192.168.1.1. Можно использовать еще router.asus.com. В моей практике другие варианты не встречались.
Подключаемся к роутеру и в веб-браузере переходим по адресу 192.168.1.1. Если все привольно сделали, то увидите окно с запросом имени пользователя и пароля. Заводские admin и admin.
Попадаем в веб-интерфейс нашего роутера ASUS. Новая его версия выглядит вот так (на моем RT-N18U) :
На более старых моделях была другая страница с настройками.
У меня такая была на ASUS RT13U. В обоих случая можно выбрать язык панели управления.
192.168.0.1 – веб-интерфейс D-Link
Но в настройки можно без проблем зайти по адресу 192.168.0.1. Заводские данные для авторизации: логин и пароль – admin/admin. Или логин admin, а поле пароль оставляем пустым. Если вы их меняли, то конечно же задаем свои.
Давайте зайдем в web-интерфейс D-Link Dir-615.
Ну и сама страничка:
У вас она может выглядеть совсем иначе. Все зависит от модели и установленной прошивки. Но хотя бы есть русский язык. Это уже хорошо.
Информация по роутерам других производителей
Я не вижу смысла демонстрировать процесс входа в веб-интерфейс на маршрутизаторах всех популярных производителей. Хотя бы по той причине, что я уже писал отдельные инструкции. Где все подробно показано. Шаг за шагом.
Как и обещал в начале статьи, даю ссылки:
Это еще не все. Смотрите раздел «Настройка роутера».
Друзья, все как обычно – свои сообщения и вопросы оставляйте в комментариях. Буду рад пообщаться с вами.
Веб-интерфейс
Веб интерфейс – это среда взаимодействия пользователя и программы или приложения, запущенной на удаленном сервере. Чаще всего web interface применяется для работы с различными онлайн сервисами: начиная с электронной почти и заканчивая системами веб-аналитики. В некоторых случаях веб-интерфейс называется «Личным кабинетом» на каком-либо сайте, но не во все личные кабинеты – интерфейсы. Разберем понятие по частям. Приставка «веб» означает, что элемент работает удаленно от компьютера пользователя, на локальном или интернет-сервере. Взаимодействие с сервисом при этом происходит через «интерфейс» специальную графическую оболочку, состоящую из кнопок, окон, полей заполнения или любых других элементы. Разберем на примерах.
Веб-интерфейс электронной почты
Это самый распространенный случай применения web interface. Примерно 15-20 лет назад, электронная почта работала только через программу-клиент, которую пользователь устанавливал на свой компьютер. Со временем функции этих приложений перенесли в веб – теперь достаточно зайти на страницу сервиса электронной почти и зайти в свой кабинет. Веб-интерфейс электронной почты умеет все то же самое, что и программа-клиент: принимать, отправлять, обрабатывать, перенаправлять и сортировать письма. Сначала их стали использовать такие сервисы как Яндекс, Майл.ру и GMail, а затем их стали подключились и небольшие корпоративные серверы.
В веб-интерфейсе почты есть папки для разной почты: исходящей, входящей, удаленной и нежелательной. Для получения доступа к почтовому интерфейсу потребуется введение пароля, который был указан пользователем в момент регистрации почтового ящика.
WEB-интерфейс модема или роутера
Любое управляемое сетевое оборудование — это отдельный компьютер и обладает собственной операционной системой. Но она выполняет узко специализированные функции, и позволяет соединиться с сетью провайдера для подключения к интернету.
В самом начале в целях управления ею применялись: протокол и командная строка Telnet. Но в результате развития оборудования, чтобы пользователь мог осуществлять более простой процесс управления, на модеме или роутере был сделан отдельный сервер с полезной для потребителя командной web-оболочкой.
Здесь также присутствует и основное меню, из которого можно настроить устройство. В настоящий момент все современные сетевые устройства с наличием управляющей функции обладают собственным web-интерфейсом управления. В качестве хорошего примера выступают коммутаторы, видео-камеры, модемы, а также маршрутизаторы Zyxel, D-Link, TP-Link, Asus и др.
Веб-интерфейс хостинга
С ними обычно сталкиваются веб-мастера и пользователи, которые работают с сайтами: занимаются их созданием, продвижением, администрированием и др. Любой сайт в Интернете работает на конкретном www-сервере, который размещен на хостинге – специальной платформе, созданной под размещение сайтов. Эта платформа управляется с помощью веб-интерфейса, который называется “хостинг-панель”
Облачный веб-интерфейс
В последние 5-6 лет распространились облачные хранилища или просто «облака». После регистрации в сервисе пользователю бесплатно предоставляется место на удаленном жестком диске. Оно используется для хранения самой различной информации: документов, программ, фото, видео или музыкальных файлов. Она доступна из любой точки мира, где есть выход в Интернет. В том случае, когда бесплатно предоставляемого пространства становится недостаточно, то всегда можно докупить его дополнительный объем.
Облака становятся популярнее, потому что с ними удобно работать – нужные файлы доступны везде, где есть Wi-Fi, проводной интернет или покрытие мобильных сетей. В личном кабинете пользователя сервиса можно просматривать, создавать, удалять, копировать и редактировать файлы. Это и есть веб-интерфейс облака. В России чаще используются: Яндекс Диск, Google Drive, DropBox.
Компьютерная грамотность с Надеждой
Заполняем пробелы — расширяем горизонты!
Что такое web интерфейс и как им воспользоваться
Старый добрый привычный способ работы с компьютером – это запустить на нем требуемую программу, и выполнить с ее помощью требуемую работу. Но теперь на смену этому подходу приходит другой – запустить сервис или приложение в сети Интернет, а не локально на своем компьютере.
Это работа с помощью так называемого «web-интерфейса», которая находит все более широкое распространение. Недалеко то время, когда работа с web-интерфейсом будет более распространена, чем пока еще привычная для многих локальная работа на компьютере.
Вы встречали такие выражения как «web интерфейс почты» или «зайти через веб интерфейс»? У многих пользователей возникает вопрос: что же это такое — веб интерфейс? И можно ли его «попробовать на зубок» простому человеку?
Web-интерфейс — это взаимодействие пользователя с нужным ему веб-сайтом через браузер.
В частности, web-интерфейс электронной почты представлен в виде обычного web-сайта (Яндекс, Гугл, Майл ру и т.п.), который предоставляет пользователю возможность работать с почтовым ящиком.
Конечно, при таком взаимодействии требуется, чтобы устройство пользователя (компьютер, планшет, смартфон) было подключено к Интернету.
В дальнейшем будем считать, что сайт — это то же самое, что веб-сайт.
Чтобы зайти через веб-интерфейс, нужно
Рассмотрим конкретные примеры. Как известно, с ними всегда все проще и понятнее.
Web интерфейс почты
Начнем с почты, ибо у всех есть электронная почта, и все периодически просматривают свой почтовый ящик.
Можно заходить в свой почтовый ящик двумя способами:
Начинающие пользователи обычно используют первый способ.
Рис. 1 Заходим в Яндекс.почту через веб-интерфейс
Чтобы зайти в web-интерфейс почты:
В этой специальной форме, как правило, есть кнопки
По кнопке «Регистрация» заходим только в случае, если Вам нужно завести новую почту. Если почта уже есть, а новый почтовый ящик не требуется, то тогда после ввода логина и пароля щелкаем по кнопке «Войти».
После этого в окне браузера загрузится основная Web-страница почтового ящика. На ней будут размещены ссылки на дополнительные веб-страницы, которые предназначены для просмотра входящей почты (цифра 1 на рис. 2), для проведения настроек почтового ящика (цифра 2 на рис. 2) и другие.
Рис. 2 Вид почтового ящика на Майл ру после входа через веб-интерфейс
Веб интерфейс в Облаках
Есть облачный Яндекс.Диск, о котором я писала ЗДЕСЬ. С ним можно работать через веб-интерфейс или, иначе говоря, в режиме онлайн, при подключенном Интернете.
Второй способ работы с Яндекс.Диском состоит в том, чтобы использовать специальное приложение, иначе говоря, специальную программу. Для этого приложение нужно скачать и установить на своем компьютере.
Не все любят без особой на то необходимости устанавливать дополнительные программы, к тому же, место на винчестере у пользователей ограничено. По этим причинам многие пользуются Яндекс.Диском через веб-интерфейс. Правда, при таком подходе «тяжелые» файлы не получится загрузить на Яндекс.Диск. Но в любом вопросе есть свои плюсы и минусы.
Все написанное выше в полной мере можно отнести к веб-интерфейсу Облака Майл ру.
Рис. 3 Заходим в Облако Майл ру через веб интерфейс
В Облаке также есть приложение, которое можно установить на своем компьютере. А можно работать с Облаком через веб-интерфейс. Для этого в браузере открываем сайт Облака (цифра 1 на рис. 3), а затем при первом посещении жмем на кнопку «Регистрация». Если уже есть логин и пароль на Майл ру, то нажимаем на кнопку «Войти» (цифра 2 на рис. 3).
Как зайти в веб интерфейс модема
Рис. 4 Примеры модема Yota и модема Мегафона
Речь пойдет о модемах, аналогичных представленным на рисунке 4. Это модемы Yota, Мегафона, Билайна, МТС и т.п. Другие варианты модемов здесь не рассматриваем.
Чтобы зайти в web интерфейса модема, выполняем все те же 3 шага:
Допустим, у меня модем Yota. В таком случае web интерфейс модема – это мой личный кабинет на сайте Yota (рис. 5).
после чего можно управлять своим модемом. Это оплата, выбор и регулировка скорости и продолжительности работы модема Yota и т.п.
Рис. 5 Заходим через web интерфейс модема Yota
Если у Вас модем Мегафона, то Вам следует зайти на сайт Мегафона. И там при первом входе надо пройти регистрацию, а при всех последующих заходах вводить свой логин и пароль от личного кабинета на сайте Мегафона. Подробнее о личном кабинете Мегафона смотрите ЗДЕСЬ.
Веб интерфейс роутера
Web-интерфейс применяется и для управления различными сетевыми устройствами, например, для управления роутерами. Роутер – это устройство, предназначенное для «размножения» Интернета, например, в пределах квартиры или офиса. При его первоначальном подключении требуется ввести специальные настройки, которые удобно делать с помощью web-интерфейса.
Делается это не так просто, чтобы это можно было описать в одной-двух фразах. Поэтому я предлагаю заинтересованному читателю посмотреть статью «Как провайдер заставил меня перенастроить роутер D-Link», где это более подробно описано. Для этого кликните по ЭТОЙ ссылке.
Сложно однозначно словами передать чувство успеха, которое приходит после удачной настройки подобного устройства, когда все заканчивается благополучно, и Интернет «раздается» для компьютеров.
P.S. Что есть еще полезного:
Нашли ошибку? Выделите фрагмент текста и нажмите Ctrl+Enter.
Веб-интерфейс
Веб-интерфейс — это совокупность средств, при помощи которых пользователь взаимодействует с веб-сайтом или любым другим приложением через браузер. Веб-интерфейсы получили широкое распространение в связи с ростом популярности всемирной паутины и соответственно — повсеместного распространения веб-браузеров.
Распространение веб-интерфейса связано с ростом популярности сети интернет и повсеместного использования веб-браузеров. Чтобы страница могла соответствовать требованиям веб-интерфейса, она должна иметь одинаковый внешний вид с одинаковым функциональном при работе в различных браузерах.
Классический метод создания веб-интерфейсов — использование кода HTML с CSS и JavaScript’a. Но различная реализация HTML, CSS, DOM и пр. в браузерах может вызывать проблемы в разработке веб-приложений. Работе интерфейса также могут мешать возможность пользователя настраивать такие параметры браузера, как шрифт, цвет, поддержка сценариев и др.
Есть и другой, менее популярный и универсальный способ создания веб-интерфейса — использование Adobe Flash, Silverlight или Java-апплетов. Большинство современных браузеров поддерживает эти технологии, не без помощи плагинов, работать с Flash- или Java-приложениями можно легко.
Для чего применяют веб-интерфейсы?
Web interface применяют для работы с различными онлайн-сервисами. Это может быть обычная электронная почта или специальные системы веб-аналитики. Иногда на сайтах веб-интерфейс именуют «Личным кабинетом».
Само понятие говорит за себя. Так, приставка «веб» означает удаленную работу, вдали от компьютера пользователя, на интернет-сервере. Взаимодействие с самим сервисом происходит через «интерфейс» (вторая часть слова) — специальная графическая оболочка, содержащая кнопки, окна, поля для заполнения и прочих элементов.
К примеру, веб-интерфейс электронной почты.
Еще 15-20 лет назад электронная почта работала через программу-клиент. Пользователь просто устанавливал ее на свой компьютер и мог отправлять и получать письма. Но постепенно функции приложения перенесли в веб, что упростило работу самой почты.
Веб-интерфейс электронной почты работает также, как программа-клиент. Он принимает, отправляет и обрабатывает письма, перенаправляет и сортирует их. Однако веб-интерфейс почты содержит еще и папки для разделения почты, то есть письма сортируются в исходящие, входящие, удаленные, спам и пр.
А получить доступ к почтовому интерфейсу можно только после введения пароля, указанного при регистрации ящика.
Что такое WEB-интерфейс модема или роутера?
Управляемое сетевое устройство представляет собой отдельный компьютер пользователя с собственной операционной системой. Это устройство выполняет функцию соединения с сетью провайдера для подключения к интернету.
В целях управления сетью изначально применялись протокол и командная строка Telnet. Однако для улучшения качества работы и упрощения процесса подключения, на модемах или роутерах был создан отдельный сервер с командной web-оболочкой.
Сегодня все современные сетевые устройства с наличием функции подключения и управления обладают собственным web-интерфейсом. Например, видеокамеры, модемы, маршрутизаторы Zyxel, D-Link, TP-Link, Asus и прочие устройства.
Что такое веб-интерфейс хостинга?
Понятие знакомое веб-мастерам и специалистам, работающим с сайтами (продвижение, создание, администрирование и т.д.). Любой сайт в интернете работает на конкретном, своем www-сервере, который размещен на хостинге. В данном случае хостинг — это специальная платформа для размещения сайтов, управляемая с помощью веб-интерфейса (хостинг-панель).
Сегодня востребованы оболочки Plesk, CPanel, ISPmanager. Крупные же компании разрабатывают свой набор программ. При помощи веб-интерфейса хостинга можно получить доступ для мониторинга состояния сервера, управлять его работой, просматривать лого и даже сохранять дополнительные копииздае
Понятие облачного веб-интерфейса
Наверное, каждый владелец мобильного гаджета или компьютера с выходом в сеть, сталкивается с понятием облачного хранилища или «облака».
Регистрируясь в сервисе, пользователь получает бесплатное место на удаленном жестком диске, которое удобно использовать для хранения различной информации: фотографий, документов, программ, видео, музыкальных файлов и пр. Доступ в хранилище доступен из любой точки мира, главное условие — выход в интернет. Если бесплатно предоставляемого пространства мало, можно докупить дополнительный объем.
Минск, пр. Победителей 103, офис 208
Почтовый адрес: 220004, г.Минск, а/я 153 МЕНЮ
WEB/HTTP сервисы. Базовые отличия и применение на практике
WEB и HTTP сервисы — две технологии, позволяющие получить доступ к 1С из внешней системы. Причем можно получить доступ как за файрволом, так и через прокси. В общем, практически из любой точки земного шара.
С точки зрения 1С, это два объекта метаданных, которые позволяют нам выполнять эти операции. Реализовывается доступ по классической трехзвенной схеме: это СУБД, в качестве сервера выступают кластер серверов 1С и веб-серверы, и клиент, подключающийся к сервису.
Зачем это нужно?
Изначально сервисы разрабатывались для поддержки внешних систем: сайтов, интернет-магазинов, корпоративных порталов. В дальнейшем технология получила широкое распространение и сейчас используется в широком спектре схожих задач:
В качестве примера можно привести сервис обмена данными, который в типовых конфигурациях в части передачи данных реализован также на WEB сервисах. По сравнению с традиционными COM-соединениями он намного более быстр, а информационные базы в этом случае могут базироваться на абсолютно разных платформах: как на версиях, так и на разных операционных системах.
HTTP сервисы, поскольку они достаточно просты, могут выполняться на несложных и недорогих устройствах: таких как микрооборудование, телефония, терминалы сбора данных, электронные весы и так далее. Например, из 1С можно обратиться к IP-телефону, АТС или системе контроля доступа. В нашей практике был кейс, когда с телефонов Yealink вызывался сервис 1С, который записывал входящие звонки. Также это работало и в обратную сторону, и мы могли позвонить непосредственно с карточки клиента одним нажатием кнопки. Реализовывается это легко и быстро.
Благодаря HTTP сервисам мы можем использовать мощь технологий HTML, PHP, JavaScript для того, чтобы предоставлять интерфейс для конечных пользователей. Причем интерфейс может быть быстрым и легким, для него не потребуется загружать всю платформу. Нам необходимо будет сделать всего лишь страничку, которая будет передавать данные на сервис HTTP.
В нашей практике был случай, когда для заказчика нужно было сформировать внешнюю печатную форму на основании обязательной анкеты, которую заполняли клиенты на специальном планшете. Для этого для планшета была сделана веб-страничка. И пока клиенты ждали своей очереди, они заполняли эту страничку, проставляя галки в нужных местах. При нажатии на кнопку «Отправить» данные отправлялись на сервис 1С, где уже всей мощью платформы формировался документ PDF с печатью и подписью, который затем распечатывался и прикреплялся к данным клиента. Все это было сделано за полтора дня, без изменений типовой конфигурации, в расширении.
Такая страничка с двумя полями уже может передавать данные на внешний HTTP сервис:
Ниже скрин HTTP/WEB сервисов, которые используются у нас на текущем проекте. Обилие сервисов только подтверждает, что технология перспективная и очень интересная:
Ну, и самое последнее — это создание API для внешних систем, для сторонних партнеров. Дальше мы расскажем об этом подробнее.
WEB и HTTP сервисы: сходства и различия
WEB и HTTP сервисы очень сходны между собой, но все же в них есть кардинальные отличия. Сходны они тем, что:
Теперь расскажем о различиях.
WEB технология — это сервисно-ориентированная технология, она по сути является удаленным вызовом процедур. Мы проектируем описание процедур, описание передаваемых параметров, и с помощью WEB сервисов мы эти процедуры можем вызывать. 1С со своей стороны также предоставляет технологию XDTO, которая позволяет валидировать входящие и исходящие данные, передаваемые в формате XML.
HTTP сервисы же основаны практически на голом HTTP, и эта технология ресурсно-ориентированная. Нет описания, нет проверки типов, нет проверки входящих и исходящих данных — есть только заголовки, параметры и тело запроса. И исторически используется формат данных JSON.
Логично, что WEB-сервисы потенциально сложнее в реализации, потенциально используют больший объем передаваемых данных и дают потенциально большую вычислительную нагрузку.
О форматах данных
Примерно так выглядит XML:
Это, кстати, хороший формат, позволяющий закодировать практически любые данные. А его мощь обеспечивает возможность создания шаблонов XML — XSD-схем, что описывают формат и допустимые типы данных.
Именно поэтому его используют различного рода госорганы.
А так выглядит JSON — формат немного попроще:
Здесь есть основные типы данных: это объекты, формируемые фигурными скобками, массивы, формируемые квадратными скобками, и значение, которое формируется в виде текста.
Данные для HTTP-сервиса передаются в виде запроса HTTP, схематично изображенного ниже:
Он состоит из строки запроса, из заголовка запроса, который представляет собой ключ и значение, также есть пустая строка и тело запроса в виде обычного текста. В теле запроса можно передавать любые данные, в том числе и двоичные, предварительно закодировав их в base64.
Так выглядит строка запроса в HTTP сервисе:
Сервис HTTP ресурсно-ориентирован. Конечные точки, к которым мы можем обращаться, являются ресурсами: они представлены именами существительными. На схеме это элементы строки orders и status, обозначающие соответственно ресурсы «Заказ» и «Статус заказа». Действия над ресурсами выполняются методами HTTP, базовыми из которых являются: get (получить ресурс), post (добавить ресурс), put (обновить ресурс), delete (удалить ресурс). Количество методов HTTP ограничено, действия над ресурсами тоже. Помимо указанных методов есть еще несколько дополнительных, но используются они значительно реже.
Также имеет место понятие коллекции: несколько ресурсов одного типа, из которых можно выбрать один по идентификатору.
Про проектирование
Теперь мы поделимся той болью, которую мы пережили при проектировании API с клиентами и партнерами. И теми шагами, которые необходимо предпринять, чтобы эту боль в будущем чуть-чуть уменьшить.
При создании API предполагается, что пользоваться им будем не только мы, но и партнеры, и пользоваться достаточно долгое время. Здесь не обойтись без тщательного и взвешенного проектирования. Каждый момент должен быть учтен.
Вспоминаем, что HTTP сервис — это у нас, в первую очередь, ресурсы. А ресурсы — это имена существительные: вот таких элементов, как /GetOrders или /orders/add, где в качестве ресурсов явно указываются глаголы действия, быть не должно. В качестве действий у нас должны выступать методы HTTP (get, post, delete).
Правильное проектирование обычно идет по иерархии: коллекция, элемент, ресурс. И вот здесь мы специально отобразили один интересный момент, связанный с особенностями ресурсной иерархии. Например, к заказу у нас прикрепляются накладные. Есть заказ, есть накладные, которые выдаются по этому заказу (одна или несколько). К этим накладным мы можем дать доступ и как к отдельному ресурсу /invoices, и как к ресурсу в составе заказа — когда накладная сделана на основе заказа /orders/
Для проектирования рекомендуется элементы, ресурсы и действия сводить в таблицу, где в строках располагаются ресурсы, а в столбцах — методы HTTP. На пересечениях строк и столбцов — описание, что должно выполняться в данном случае. Пример таблицы:
Благодаря этому мы понимаем, какое действие у нас происходит в случае применения каждого из методов HTTP к соответствующему ресурсу, а также можем легко расширять набор ресурсов и действий над ними.
Про документацию
Если первый по важности пункт — это проектирование, второй — обязательно документация. HTTP протокол, HTTP сервисы не имеют описания, как это сделано в WEB сервисах. Поэтому документацию необходимо создавать, вести и обязательно поддерживать. Тем более, что ей пользуемся не только мы, но и партнеры.
В самом начале мы «забивали» на документацию, а когда партнеры спрашивали, каково предназначение того или иного метода, и что он в итоге принимает и возвращает — приходилось лезть в код. Теперь же мы просто говорим: посмотрите документацию, там все есть.
Документацию мы рекомендуем вести в таком виде:
Вот пример документации. Заголовок, ответ, пример, описание полей данных:
Будь мужиком! Пиши логи!
На первых порах логи пишем всегда и везде. При получении запроса от нашего партнера — пишем в журнал все данные запроса, включая тело. При формировании ответа в критически важных участках кода примечания пишем в лог. При передаче запроса партнеру также пишем его в лог. Когда отправляем партнеру ответ, пишем в лог. Когда мы сами обращаемся к партнеру, пишем в лог. Ну, и при сбое, вы уже поняли, что мы делаем.
Разделяй код и властвуй над ним
Еще один очень важный момент при проектировании, при разработке таких систем — это разделение методов обработки самого HTTP запроса и методов обработки данных, которые являются методами бизнес-логики. Сначала мы делаем обработку самого HTTP запроса, расшифровываем заголовки, тело запроса и результаты передаем в процедуры обработки данных, в другой модуль — модуль бизнес-логики. Для формирование тела запроса и запроса партнеру имеет смысл использовать отдельные общие методы, включающие в себя автоматический вызов функций логирования. И, естественно, мы должны выполнять начальный контроль данных, потому что, в отличие от WEB сервисов, контроль данных у нас не производится.
На примере этого кода продемонстрировано использование указанных выше правил:
В данном случае метод выполняет получение прайса от партнера. При получении производится запись запроса в лог с указанием имени сервиса. Затем выполняется разбор запроса, подготовка данных и формирование ответа на запрос.
Разбор запроса включает в себя чтение и подготовку всех параметров запроса, проверку обязательных параметров и валидацию их корректности.
После подготовки данных вызывается модуль бизнес-логики, где происходит обработка данных. Результат обработки возвращается в виде структуры, после чего происходит формирование тела ответа.
Ну и тем, кто дочитал до конца, автор этой статьи предлагает свою демонстрационную базу: он выполнил все указанные принципы, перенес код из работающей системы и делится с вами безвозмездно (то есть даром).