backendless baas. dinosaurus for jeeconf 2013

40
Не будьте J2EE динозавром. Cфокусируйтесь на коде, который имеет значение! Иван Лаппо

Upload: backendless

Post on 25-Jan-2015

422 views

Category:

Technology


1 download

DESCRIPTION

Do not be a JEE dinosaur! Use Backend as a Service for your server side needs and focus on the code that matters.

TRANSCRIPT

Page 1: Backendless BaaS. Dinosaurus for Jeeconf 2013

Не будьте J2EE динозавром.

Cфокусируйтесь на коде, который имеет значение!

Иван Лаппо

Page 2: Backendless BaaS. Dinosaurus for Jeeconf 2013

2

Устройств стало много, очень много

Ваше серверное

приложение

Ваше серверное

приложение

И уже есть умные и подключенные к Интернету очки, часы, датчики, тв, авто…

Page 3: Backendless BaaS. Dinosaurus for Jeeconf 2013

3

Пишем серверное приложение

+JAVA

Page 4: Backendless BaaS. Dinosaurus for Jeeconf 2013

4

Снова пишем регистрацию

Page 5: Backendless BaaS. Dinosaurus for Jeeconf 2013

5

Каждый раз одно и то же…

Page 6: Backendless BaaS. Dinosaurus for Jeeconf 2013

6

Деплоим

Page 7: Backendless BaaS. Dinosaurus for Jeeconf 2013

7

Пришли первые 100 пользователей

Page 8: Backendless BaaS. Dinosaurus for Jeeconf 2013

8

Клиентские приложения

Ваш сервер

Page 9: Backendless BaaS. Dinosaurus for Jeeconf 2013

9

Помимо разработки…

БД

CacheCache

Page 10: Backendless BaaS. Dinosaurus for Jeeconf 2013

10

Неэффективная трата времени

Page 11: Backendless BaaS. Dinosaurus for Jeeconf 2013

Сервер VS Клиент

11

Сумма в тысячах USD

Page 12: Backendless BaaS. Dinosaurus for Jeeconf 2013

12

Как можно оптимизировать этот процесс?

Page 13: Backendless BaaS. Dinosaurus for Jeeconf 2013

13

Способы автоматизации

+

генерировать нужный код автоматически

предоставлятьрезультаты повторяющегося кода в

виде сервисов

Page 14: Backendless BaaS. Dinosaurus for Jeeconf 2013

14

• Платформа для создания приложений

• Не требуется разработка серверной части

• Клиентские API (нативные СДК)

• Консоль разработчика

• Автоматическое масштабирование

• Облачное хранилище

• CDN (Content delivery network)

BaaS это…

Page 15: Backendless BaaS. Dinosaurus for Jeeconf 2013

15

BaaS провайдеры

Page 16: Backendless BaaS. Dinosaurus for Jeeconf 2013

16

Функции BaaS

Page 17: Backendless BaaS. Dinosaurus for Jeeconf 2013

17

User Service

Сервисы BaaS

• Регистрация• Логин• Разграничение прав и ролей• Управление• Настройка параметров сессии

Page 18: Backendless BaaS. Dinosaurus for Jeeconf 2013

18

{

}

Backendless.UserService.login(

[email protected]",

”i.am.bond",

asyncCallback );

Управление юзерами (пример кода)

Page 19: Backendless BaaS. Dinosaurus for Jeeconf 2013

19

Data service

Сервисы Baas

• CRUD• Разграничение прав и ролей• Управление• Гибкое получение данных• Импорт, экспорт

Page 20: Backendless BaaS. Dinosaurus for Jeeconf 2013

20

{

}

Person person = new Person( "Bob", 35, "[email protected]");

Backendless.Persistence.of( Person ).save( person, asyncCallback );

Дата сервис (пример кода)

Page 21: Backendless BaaS. Dinosaurus for Jeeconf 2013

21

Geolocation

Сервисы Baas

• Создание точек• Разграничение прав и ролей• Управление• Метаданные• Поиск по региону

Page 22: Backendless BaaS. Dinosaurus for Jeeconf 2013

22

{

}

Backendless.Geo.getPoints(

new BackendlessGeoQuery(

"city", ”Kiev" ),

asyncCallback );

Геолокация (пример кода)

Page 23: Backendless BaaS. Dinosaurus for Jeeconf 2013

23

Messaging Service

Сервисы Baas

• Отправка сообщений• Поддержка различных устройств• Управление• Безопасность• Сабтопики, селекторы

Page 24: Backendless BaaS. Dinosaurus for Jeeconf 2013

24

{

}

Backendless.Messaging

.subscribe( ”myChannel",

methodCallback,

subscriptionCallback );

Месседжинг сервис (пример кода)

Page 25: Backendless BaaS. Dinosaurus for Jeeconf 2013

25

PushNotifications

Сервисы Baas

• Один пуш на все устройства• Управление

Page 26: Backendless BaaS. Dinosaurus for Jeeconf 2013

26

{

}

Backendless.Messaging

.publish( "Hello!",

new DeliveryOptions(

PushBroadcastMask

.ANDROID ));

Push уведомления (пример кода)

Page 27: Backendless BaaS. Dinosaurus for Jeeconf 2013

27

File Service

Сервисы Baas

• Upload + Download• Поддержка VCS• Управление

Page 28: Backendless BaaS. Dinosaurus for Jeeconf 2013

28

{

}

Backendless.Files.upload(

file, path, asyncCallback );

Файл сервис(пример кода)

Page 29: Backendless BaaS. Dinosaurus for Jeeconf 2013

29

Media Service

Сервисы Baas

• Streaming• Разграничение прав и ролей• Управление• Импорт, экспорт

Page 30: Backendless BaaS. Dinosaurus for Jeeconf 2013

30

{

}

Backendless.MediaService

.publishLiveAndRecord(

”myVideoChannel", ”funny Dance"),

responder );

Медиа сервис (пример кода)

Page 31: Backendless BaaS. Dinosaurus for Jeeconf 2013

31

TodoMVC + jQuery

Page 32: Backendless BaaS. Dinosaurus for Jeeconf 2013

32

Publish / Subscribe месседжинг

Page 33: Backendless BaaS. Dinosaurus for Jeeconf 2013

33

Бэкенд для Андроида за 5 минут

• Настраиваем сервисы

• Генерируем каркас клиентского приложения

• Создаем UI

• Пользуемся

Page 34: Backendless BaaS. Dinosaurus for Jeeconf 2013

34

• Поддержка серверного кода

• Кодогенерация

• Версионность на уровне приложения

• Аналитика

• Локальная энтерпрайз версия

• Поддержка клиентских SDK

REST

Ключевые конкурентные фишки

Page 35: Backendless BaaS. Dinosaurus for Jeeconf 2013

35

• Слабый контроль над реализацией

• Трудности в расширении стека технологий

• Сложно мигрировать между провайдерами

Недостатки BaaS

Page 36: Backendless BaaS. Dinosaurus for Jeeconf 2013

36

Двигатели BaaS

• Высокая конкуренция на рынке приложений

• Низкий порог вхождения

• Широкий функционал

• Отказоустойчивость

• Масштабируемость

• Гибкое ценообразование (за используемые ресурсы)

Бесплатный план Backendless API вызовы безлимитно 2 GB дискового пространства 200,000 push уведомлений 200,000 publish/subscribe messages

Page 37: Backendless BaaS. Dinosaurus for Jeeconf 2013

37

Ландшафт на сегодня

• 2 года - возраст рынка

• 30+ вендоров (нет явных лидеров)

• Значительный разброс по предлагаемому функционалу и поддерживаемым окружениям

• BaaS используют 50,000 + разработчиков в мире

• Рост пользователей BaaS 25,000+ в год

• Прямые заявленные инвестиции в сектор более $150 млн. (растет)

Page 38: Backendless BaaS. Dinosaurus for Jeeconf 2013

38

Завтра…

BaaS потенциальный стандарт для разработки• Прототипов

• Мобильных приложений

• Кроссплатформенных приложений

• Энтерпрайз приложений

Вывод: работать станет веселее

Page 39: Backendless BaaS. Dinosaurus for Jeeconf 2013

39

Код который имеет значение

Код написание

которого сложно

автоматизировать

Будущее нельзя изменить, но к нему можно подготовиться

Page 40: Backendless BaaS. Dinosaurus for Jeeconf 2013

Спасибо за внимание

backendless.com

[email protected]