Рубрика «rest api» - 8

Мы привыкли почему-то разделять REST и RPC, мне кажется это разделение искусственным. Просто REST строже и ограничен в методах, и это не всегда оправдано в сложном приложении.

Сделаем простую основу для написания сервисно-ориентированной архитектуры. Как стек технологий используем славный Yii2, быстрый Nginx и молниеносный Redis. Почему именно так, станет ясно позднее.

Для управления сущностями на примитивном уровне СREATE, UPDATE, DELETE, GET нам вполне достаточно Rest техники которая заложена в Yii2.

Для облегчения работы в сцепке Nginx + Redis, нам придется использовать немного нестандартный подход, то есть полностью передать как параметры: класс, метод и другие нужные параметры. Для валидации этой компании используем наипростейшую форму Yii2 Model (для экономии места проигнорируем code style):
Читать полностью »

Полноценный REST API для перфекционистов за 5 минут - 1

Привет! Меня зовут Владимир, мне 28 лет и я наркоман наркоман. Мой наркотик – простота. На простоту я подсел из-за своего перфекционизма, которым меня наградили при рождении. Врачи говорят, что это взаимосвязано, мол перфекционизм — это стремление к совершенству, а простота позволяет подобраться к этому мифическому совершенству. Чем проще решение, тем меньше ошибок можно допустить, вот я и подсел. Я не стал с ними спорить и вместо того, что бы искать виновников моей истории, решил с этим жить и постараться повысить качество этой самой жизни.

Мир вокруг не идеален, сложную вещь сделать простой – невероятно сложно, поэтому всё чрезмерно усложнено. Людям нравиться чувствовать себя профессионалами, поэтому они оперируют сложными терминами, когда в этом нет необходимости, так они ощущают свою значимость и заполняют пустоту, которая образовалась из-за страха потерянного времени.
Читать полностью »

Статья посвящена возможным вариантам организации взаимодействия между программным обеспечением для интеграции между сетями доставки контента и источниками контента с использованием протокола SIP.

При проведении корпоративных обучающих вебинаров, конференций или общественных собраний, митингов используются существующие сервисы и решения с поддержкой протокола SIP. Однако у таких сервисов, как правило, отсутствуют решения, направленные на массовое вещание (трансляции) в сети Интернет. Существующие сервисы, такие как Zoom.us, InterCall, Twilio, Vidyo, iMeet и так далее, а также другие программно-аппаратные решения и продукты других производителей — не предоставляют функционала конвертации конференции, организованной с использованием протокола SIP, в массовую трансляцию в сети Интернет.

Общая схема сервисов митингов в Интернете

Мы поставили перед собой цель определиться, какое из выбранных нами решений (под которым мы понимаем сочетание программных продуктов и сервисов), позволит с минимальными трудозатратами расширить аудиторию мероприятия, как это показанно на схеме выше.

Ниже будут рассмотрены возможные варианты интеграции между двумя серверами потокового видео Adobe Media Server и Wowza Streaming Engine, сервисами Twilio, Zoom.us, Vidyo, Lifesize, Blue Jeans, iMeet, софтфоном CounterPath Bria 4 и платформами Flashphoner Web Call Server 4 в различных сочетаниях.
Читать полностью »

Вашему вниманию предлагается перевод поста о том, как разрабатывался Windows Azure API: о трудностях, удачных и неудачных решениях, сделанных выводах. Далее — текст автора.

После разговора с моим коллегой по работе о REST API мне пришла в голову идея рассказать о своем опыте организации и работы команды, которая создала Windows Azure Service Management API. На написание этого поста меня вдохновили такие великолепные статьи в жанре “чему я научился” как эта за авторством Foursquare и эта от Даниэля Джакобса из Netflix.

Предупреждение: Все рассказанное под катом — мое личное мнение. Я даже не уверен, что остальные участники команды со мной согласны. И я точно знаю, что некоторые из высказанных мыслей довольно противоречивы.
Читать полностью »

Salesforce.com — популярная зарубежом CRM система. В России и странах СНГ разботчиков, специализаирующихся на данной платформе не так много, но на рынке труда постоянно появляются вакансии и люди медленно, но верно, переходят на эту платформу.

В рунете не так много ресурсов, посвященный разработке на платформе Force.com, хотелось бы написать ряд статей, касающихся разработки, чтобы увеличить пополурность платформы.

Первая статья касается гибкой архитектуры для написания Rest сервисов.
Читать полностью »

В прошлой статье мы упоминали, что:

В настоящее время существует большое количество библиотек, поддерживающих протокол OData, и каждый день появляются новые. В частности, с OData работают такие JavaScript библиотеки, как Kendo UI, DevExtreme Web, Syncfusion HTML5 controls, Infragistics HTML5 controls, OpenUI5, Wijmo, JayData, Breeze.js, datajs, ODataJS, angular-odata, и т.д.

Многие из этих библиотек существенно упрощают разработку сложных приложений благодаря стандарту OData. Например, достаточно грид контролу указать URL к серверу OData и все остальное он сделает сам: пэйджинг, сортировку, добавление- модификацию-удаление записей, фильтрацию данных, группировку и т.д.

Мы подготовили примеры того, как гриды работают с OData.

Основные запросы грида к серверу:

  • Получить общее количество записей, удовлетворяющих некоторому условию.
  • Получить выборку из общего набора записей для показа на одной странице.
  • Получить весь набор записей.
  • Отсортировать записи по одному или нескольким полям.
  • Отфильтровать записи по некоторому набору условий.
  • Добавить новую запись.
  • Модифицировать запись.
  • Удалить запись.
  • Batch update – добавление, изменение и удаление группы записей.

Рассмотрим детальнее основные запросы на примере
Читать полностью »

В дискуссии к предыдущей статье dezconnect поднял интересный вопрос о возможностях OData выполнять рекурсивные запросы (по аналогии с SQL CTE).

В документации OData в разделе 11.2.4.2 описывается опция запроса $expand. Эта опция позволяет получать объекты вместе со связанными объектами. Например, Вы можете получить данные о компании вместе со всеми данными о ее президенте:
http://nitrosdata.com/service/testdb/company(company1)?$expand=president

Без опции $expand результат будет включать только id президента компании (или ссылку при других настройках).
http://nitrosdata.com/service/testdb/company(company1)

В 4й версии OData существенно расширены возможности опции $expand для выполнения рекурсивных запросов.

Читать полностью »

Finch

История библиотеки Finch началась около года назад «в подвалах» Конфеттина, где мы пытались сделать REST API на Finagle. Не смотря на то, что finagle-http сам по себе очень хороший инструмент, мы стали ощущать острую нехватку более богатых абстракциий. Кроме того, у нас были особые требования к этим самым абстракциям. Они должны были быть неизменяемыми (immutable), легко композируемыми (composable) и в тоже время очень простыми. Простыми как функции. Так появилась библиотека Finch, которая представляет собой очень тонкий слой функций и типов поверх finagle-http, который делает разработку HTTP (micro|nano)-сервисов на finagle-http более приятной и простой.

Шесть месяцев назад вышла первая стабильная версия библиотеки, а буквально на днях вышла версия 0.5.0, которую я лично считаю pre-alpha 1.0.0. За это время 6 компаний (три из них еще не в официальном списке: Mesosphere, Shponic и Globo.com) начали использовать Finch в production, а некоторые из них даже стали активными контрибьюторами.

Этот пост рассказывает о трех китах на которых построен Finch: Router, RequestReader и ResponseBuilder.
Читать полностью »

Мы публикуем обзор нового сервера HP ProLiant ML350 Gen9 от Евгения KorP Елизарова

В конце 2014 года большая тройка производителей серверов анонсировала новые модели серверов. Компания HP представила больше 10 обновлённых моделей серверов, среди которых был и HP ProLiant ML350 Gen9.

HP ProLiant ML350 Gen9 — сервер с безумной расширяемостью - 1

Главными особенностями нового сервера являются:
— поддержка процессоров нового поколения Intel Xeon E5-2600 v3
— поддержка памяти HP SmartMemory DDR4
— обновлённый контроллер HP Smart Array P440ar (SAS 12 Гбит/с)
— обновлённый контроллер HP Dynamic Smart Array, поддерживающий совместную работу с контроллерами HP Flexible Smart Array и Smart SAS HBA.
Читать полностью »

Генераторы кода упрощают жизнь рядового разработчика, во всяком случае призваны это делать, избавляя его от скучного написания однотипного кода. Один из таких генераторов команда Sylius'a представила как подарок для коммьюнити к Рождеству.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js