Разделы презентаций


Всё = сервисы? Голованов Константин / Руководитель разработки платформы

Содержание

Рынок мобильных приложений растетПользователи выбирают мобильное приложениеКоличество пользователей мобильных приложений растетMobile firstДоля покупок сделанных из приложений и браузеров

Слайды и текст этой презентации

Слайд 1Всё = сервисы?
Голованов Константин / Руководитель разработки платформы

Всё = сервисы?Голованов Константин / Руководитель разработки платформы

Слайд 2Рынок мобильных приложений растет
Пользователи выбирают мобильное приложение
Количество пользователей мобильных приложений

растет
Mobile first
Доля покупок сделанных из приложений и браузеров

Рынок мобильных приложений растетПользователи выбирают мобильное приложениеКоличество пользователей мобильных приложений растетMobile firstДоля покупок сделанных из приложений и

Слайд 3Статистика облака СБИС (пользователи браузеров)

Статистика облака СБИС (пользователи браузеров)

Слайд 4Статистика облака СБИС (пользователи приложений)

Статистика облака СБИС (пользователи приложений)

Слайд 5Мобильное приложение
=
Offline приложение со своей бизнес-логикой

"Просто способ организации данных"©

Мобильное приложение =Offline приложение со своей бизнес-логикой≠

Слайд 6Набираем команду разработки под Android
Набираем команду разработки под iOS
Берем VIPER
Предложения

от гуру мобильной разработки

Набираем команду разработки под AndroidНабираем команду разработки под iOSБерем VIPERПредложения от гуру мобильной разработки

Слайд 7Реально разное поведение мобильного приложения под Android и iOS
Разные guidelines

- разные интерфейсы
Разные скорости выпуска приложений
Что получили

Реально разное поведение мобильного приложения под Android и iOSРазные guidelines - разные интерфейсыРазные скорости выпуска приложенийЧто получили

Слайд 8Альтернатива - Архитектура
Мобильное приложение имеет offline логику
Эта логика посередине от

"backend"
vipEr - эту "E" нельзя сделать как попало

Альтернатива - АрхитектураМобильное приложение имеет offline логикуЭта логика посередине от

Слайд 9Tier приложения
Layer приложения
Tier - вычислительный контейнер
Layer - логически организованный код
Правильный

layer прозрачно перемещается
Что такое "backend" и где он должен

быть?
Tier приложенияLayer приложенияTier - вычислительный контейнерLayer - логически организованный кодПравильный layer прозрачно перемещается Что такое

Слайд 10Микросервис - это layer
Backend-программист делает облачный микросервис
Микросервис может потреблять другой

микросервис
Клиентский микросервис - умный, с кэшированием

Микросервис - это layerBackend-программист делает облачный микросервисМикросервис может потреблять другой микросервисКлиентский микросервис - умный, с кэшированием

Слайд 12Разработчики backend - полноценные участники мобильной разработки
Делаем offline имплементации облачных

микросервисов
Offline имплементации пишем на c++, нужна кросскомпиляция

Backend мобильного приложения должен

быть в мобильном приложении
Разработчики backend - полноценные участники мобильной разработкиДелаем offline имплементации облачных микросервисовOffline имплементации пишем на c++, нужна кросскомпиляцияBackend

Слайд 13Физические границы обеспечены (c++ же)
Данные децентрализованы (каждому сервису своя

БД)
Автотестирование сервисов налажено (на desktop-консоли прямо)
Фаулер одобряет

Физические границы обеспечены (c++ же) Данные децентрализованы (каждому сервису своя БД)Автотестирование сервисов налажено (на desktop-консоли прямо)Фаулер одобряет

Слайд 14Для физической изоляции пишем на c++
Фасады микросервисов описываем на IDL
Кодогенерация

remote stubs, а также мостов Swift/Kotlin для мобильных UI-клиентов





Изоляция микросервисов

Для физической изоляции пишем на c++Фасады микросервисов описываем на IDLКодогенерация remote stubs, а также мостов Swift/Kotlin для

Слайд 16Каждый микросервис имеет отдельную БД
В качестве СУБД - SQLite
Датамодели из

IDL используются не только для remoting, но также для типизированной

работы с сущностями БД





Децентрализация данных

Каждый микросервис имеет отдельную БДВ качестве СУБД - SQLiteДатамодели из IDL используются не только для remoting, но

Слайд 17Каждый микросервис имеет свой набор тестов
Test-suite микросервиса собирается под x86_64

архитектуру
Тесты запускаются в консоли тестового фреймоворка, сторонние сервисы -

mock-реализация





Continuous Integration

Каждый микросервис имеет свой набор тестовTest-suite микросервиса собирается под x86_64 архитектуру Тесты запускаются в консоли тестового фреймоворка,

Слайд 18Слои микросервиса
Слой для потребителя
Слой для источника данных

Слои микросервисаСлой для потребителяСлой для источника данных

Слайд 19Этот слой реализован по design pattern - Repository
Потребителем может

выступать микросервис и человек через UI
Потребитель получает API в стиле

CRUD
Во всяческих MVC/MVP/MVVM - это M (модель)








Слой для потребителя

Этот слой реализован по design pattern - Repository Потребителем может выступать микросервис и человек через UIПотребитель получает

Слайд 20Этот слой инкапсулирует в себе все взаимодействие с удаленным источником

данных
Получение данных представляет собой синхронизацию, т. е. микросервис старается получить

дельту изменений
БД в данном случае выступает как шина для взаимодействия между слоями, но на практике между слоями есть зацепление через API






Слой для источника данных

Этот слой инкапсулирует в себе все взаимодействие с удаленным источником данныхПолучение данных представляет собой синхронизацию, т. е.

Слайд 21Чуть больше внимание синхронизатору

Чуть больше внимание синхронизатору

Слайд 22Offline микросервис внутри мобильного приложения решает задачу частичной репликации данных
К

подобному классу относятся задачи некоторых сервисов облачного backend
Когда нужно получить

данные из внешнего, с точки зрения облака, источника
Например, организация микросервиса контрагентов






Общий класс задач асинхронного получения данных

Offline микросервис внутри мобильного приложения решает задачу частичной репликации данныхК подобному классу относятся задачи некоторых сервисов облачного

Слайд 23Переносим каркасное решение обратно в облако
Слои микросервиса становятся полноценными сервисами
Сервис-фасад

- это repository
Сервис-майнер - это synchronizer
Масштабируем обратно

Переносим каркасное решение обратно в облакоСлои микросервиса становятся полноценными сервисамиСервис-фасад - это repositoryСервис-майнер - это synchronizerМасштабируем обратно

Слайд 24с++ программисты?
Нужно быть большим и сильным
Проблемы подхода

с++ программисты?Нужно быть большим и сильнымПроблемы подхода

Слайд 25Главное правильно организованный сервис
Правильно организованному сервису без разницы на каком

tier выполняться
В заключение

Главное правильно организованный сервисПравильно организованному сервису без разницы на каком tier выполнятьсяВ заключение

Слайд 26Спасибо за внимание. Вопросы?
Голованов Константин
Руководитель разработки платформы
golovanov.ka@tensor.ru

Спасибо за внимание.  Вопросы? Голованов КонстантинРуководитель разработки платформыgolovanov.ka@tensor.ru

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика