Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Генерация RESTfull приложений

No description
by

Nikolay Telepenin

on 10 March 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Генерация RESTfull приложений

Генерация RESTfull приложений
Телепенин Николай
Задача
Реализовать серверное представление, преимущественно для возможностей генерации
Декларативное представление
Контейнер: Слои
Уровень контроллеров
По сути является точкой входа в API, предоставляя публичные дейстия (экшены)
Валидация параметров по типам значений
Преобразования для клиентского представления
Автоматический роутинг по контроллерам и их методам
Уровень сервисов
Бизнес-логика
Валидация на уровне бизнес-логики
Механизм адаптеров
(Де/)Сериализация объектов модели в конструкции python
Уровень модели
Соединения между таблицами (джойны)
Ограничения выборки (поля в селекте)
Уровень сессии
Представляет репозиторий для данных
Инкапсулирует внутри себя подключение к БД
Уровень маппера
Доступ к связанным таблицам (получение полей)
Доступ к полям модели (получение типов, ограничений и т. д.)
Визуализация
https://bitbucket.org/astynax/yadic/wiki/dot.md
Уровень транспорта
wsgi (синхронное взаимодействие)
websocket (асинхронное взаимодействие)
API
Единая точка входа для интеграций, межмодульного взаимодействия
Полное покрытие интеграционными тестами
CLI для задач проверки и администрирования
Middleware (auth*)
Покрытие тестами
https://travis-ci.org/barsgroup/barsup-core
https://coveralls.io/r/barsgroup/barsup-core?branch=master
Документация
https://bitbucket.org/barsgroup/barsup-core/wiki/Home
Демо
https://bitbucket.org/barsgroup/barsup-demo
Демо разварачивается на любой ОС за 5 минут
https://bitbucket.org/barsgroup/barsup-demo/wiki/vagrant
Что дальше?
Декларативный client-side?
Вопросы?
http://goo.gl/TtfpkH
http://goo.gl/Raoixm
Преимущества:
Для PM-ов:
Снижение сложности продукта за счет слоев, слабой связности и визуализации
Простота в тестировании
Взаимозаменяемость модулей
Для разработчиков:
API
Визуализация блоков приложения
Есть только один способ сделать контроллер/сервис/модель
SLOC ~1000 lines
Для конструктора:
Декларативное представление
http://goo.gl/wqZevm
Схема БД
Схема API
Телепенин Николай

mailto: telepenin.nikolay@gmail.com
twitter: @_prefer
Схема контейнера
Cхема базы данных
Схема контейнера
Схема API
Full transcript