Не будьте J2EE динозавром.
Cфокусируйтесь на коде,
который имеет значение!
Иван Лаппо
2
Устройств стало много, очень много
Ваше
серверное
приложение
Ваше
серверное
приложение
И уже есть умные и подключенные к Интернету
очки, часы, датчики, тв, авто…
3
Пишем серверное приложение
+
JAVA
4
Снова пишем регистрацию
5
Каждый раз одно и то же…
6
Деплоим
7
Пришли первые 100 пользователей
8
Клиентские
приложения
Ваш сервер
9
Помимо разработки…
БД
CacheCache
10
Неэффективная трата времени
Сервер VS Клиент
11
Сумма в тысячах USD
12
Как можно оптимизировать
этот процесс?
13
Способы автоматизации
+
генерировать нужный код
автоматически
предоставлять
результаты повторяющегося кода в
виде сервисов
14
• Платформа для создания приложений
• Не требуется разработка серверной части
• Клиентские API (нативные СДК)
• Консоль разработчика
• Автоматическое масштабирование
• Облачное хранилище
• CDN (Content delivery network)
BaaS это…
15
BaaS провайдеры
16
Функции BaaS
17
User Service
Сервисы BaaS
• Регистрация
• Логин
• Разграничение прав и ролей
• Управление
• Настройка параметров сессии
18
{
}
Backendless.UserService.login(
”james.bond@mi6.co.uk",
”i.am.bond",
asyncCallback );
Управление юзерами (пример кода)
19
Data service
Сервисы Baas
• CRUD
• Разграничение прав и ролей
• Управление
• Гибкое получение данных
• Импорт, экспорт
20
{
}
Person person = new Person(
"Bob", 35, "bobby@gmail.com");
Backendless.Persistence.of( Person ).
save( person, asyncCallback );
Дата сервис (пример кода)
21
Geolocation
Сервисы Baas
• Создание точек
• Разграничение прав и ролей
• Управление
• Метаданные
• Поиск по региону
22
{
}
Backendless.Geo.getPoints(
new BackendlessGeoQuery(
"city", ”Kiev" ),
asyncCallback );
Геолокация (пример кода)
23
Messaging
Service
Сервисы Baas
• Отправка сообщений
• Поддержка различных устройств
• Управление
• Безопасность
• Сабтопики, селекторы
24
{
}
Backendless.Messaging
.subscribe( ”myChannel",
methodCallback,
subscriptionCallback );
Месседжинг сервис (пример кода)
25
Push
Notifications
Сервисы Baas
• Один пуш на все устройства
• Управление
26
{
}
Backendless.Messaging
.publish( "Hello!",
new DeliveryOptions(
PushBroadcastMask
.ANDROID ));
Push уведомления (пример кода)
27
File Service
Сервисы Baas
• Upload + Download
• Поддержка VCS
• Управление
28
{
}
Backendless.Files.upload(
file, path, asyncCallback );
Файл сервис(пример кода)
29
Media Service
Сервисы Baas
• Streaming
• Разграничение прав и ролей
• Управление
• Импорт, экспорт
30
{
}
Backendless.MediaService
.publishLiveAndRecord(
”myVideoChannel",
”funny Dance"),
responder );
Медиа сервис (пример кода)
31
TodoMVC + jQuery
32
Publish / Subscribe месседжинг
33
Бэкенд для Андроида за 5 минут
• Настраиваем сервисы
• Генерируем каркас клиентского приложения
• Создаем UI
• Пользуемся
34
• Поддержка серверного кода
• Кодогенерация
• Версионность на уровне приложения
• Аналитика
• Локальная энтерпрайз версия
• Поддержка клиентских SDK
REST
Ключевые конкурентные фишки
35
• Слабый контроль над реализацией
• Трудности в расширении стека технологий
• Сложно мигрировать между провайдерами
Недостатки BaaS
36
Двигатели BaaS
• Высокая конкуренция на рынке приложений
• Низкий порог вхождения
• Широкий функционал
• Отказоустойчивость
• Масштабируемость
• Гибкое ценообразование (за используемые ресурсы)
Бесплатный план Backendless
 API вызовы безлимитно
 2 GB дискового пространства
 200,000 push уведомлений
 200,000 publish/subscribe messages
37
Ландшафт на сегодня
• 2 года - возраст рынка
• 30+ вендоров (нет явных лидеров)
• Значительный разброс по предлагаемому
функционалу и поддерживаемым окружениям
• BaaS используют 50,000 + разработчиков в мире
• Рост пользователей BaaS 25,000+ в год
• Прямые заявленные инвестиции в сектор
более $150 млн. (растет)
38
Завтра…
BaaS потенциальный стандарт для разработки
• Прототипов
• Мобильных приложений
• Кроссплатформенных приложений
• Энтерпрайз приложений
Вывод: работать станет веселее 
39
Код который имеет значение
Код написание
которого сложно
автоматизировать
Будущее нельзя изменить, но к нему
можно подготовиться
Спасибо за внимание
backendless.com
ivan@backendless.com

Backendless BaaS. Dinosaurus for Jeeconf 2013

Editor's Notes

  • #2 ----- Заметки к собранию (5/24/13 20:44) ----- Поднимите руки андроид. Аппстор для сервлетов
  • #10 Что нужно для того что бы все реализовать. 2 пути
  • #18 Показывать на backendless.com 2 ключевые вещи: регистрация пользователя; логин. Много бизнес правил
  • #20 Показывать на Backendless.com Сервис с которым можно работать не имея никаких знаний о СУБД Также бекендлесс включает в себя мощную систему управления доступа к данным
  • #22 Не показывать Загрузить специфическую информацию(мета данные) о точке
  • #24 Показывать на локальном серваке
  • #26 Не показывать
  • #28 Управление заливкой файлов и предоставление доступа к ним Создавать папки, загружать файлы через апи или через консоль ----- Meeting Notes (5/22/13 13:34) ----- !!!! ( Не смотреть как это выглядит в коде )
  • #30 Показывать лайв чат на локальном серваке
  • #36 ----- Заметки к собранию (5/24/13 20:44) ----- это базовый набор. На базе него мы сможем создавать новые приложения. А серверные разработчики смогут продавать свои сервисы.