© 2016 Embarcadero Technologies, Inc. All rights reserved.
ИДЕАЛЬНЫЙ BACK-END ДЛЯ ПРИЛОЖЕНИЙ DELPHI И C++BUILDER
RAD Server
RSX
Разработка современных корпоративных систем
© 2016 Embarcadero Technologies, Inc. All rights reserved.
EMBARCADERO TECHNOLOGIES
Основана в 1993 г. 3.2 миллиона пользователей - 97% of Fortune 2000 35+ Product Awards – постоянные инновации
© 2016 Embarcadero Technologies, Inc. All rights reserved. 3
EMBARCADERO – КОМПАНИЯ ДЛЯ РАЗРАБОТЧИКОВ
Embarcadero концентрируется на средствах разработки
Инструменты БД теперь входят в портфолио продуктов Idera
© 2016 Embarcadero Technologies, Inc. All rights reserved.
Задайте себе вопросы:
Какова архитектура ваших приложений? C/S или многозвенная? Собираетесь ли переходить к сервис-ориентированной архитектуре? Можно ли будет тогда использовать существующие приложения
Delphi / C++Builder? Нужен ли доступ к реализованному на Delphi / C++ API ваших
приложений из любого языка, инструмента или платформы? Xamarin, C#, Java, Angular, React, Python, web? Мобильных устройств?
Хотелось бы наличия возможности создавать сложные многозвенные инфраструктуры/архитектуры приложений? В частных или популярных облачных средах? С помощью настраиваемых готовых прикладных сервисов и архитектуры?
Нужны ли встроенные средства управления производительностью, масштабируемостью и защитой?
И чтобы стоило это недорого?
Что ты хочешь, на
дачу или чтобы тебе
оторвали голову?
© 2016 Embarcadero Technologies, Inc. All rights reserved.
SOA – SAAS – MICROSERVICES
Мартин Фаулер (Martin Fowler, ThoughtWorks) Решение – как набор независимо поставляемых сервисов Характеристики:
Выделение компонент (Componentization) Организация по бизнес-функционалу Продукт важнее проекта «Умные» конечные точки и простые потоки (dumb pipes) Децентрализация управления Децентрализация обработки данных Автоматизация поддержки инфраструктуры Подход «Design for failure» Эволюционное проектирование
http://martinfowler.com/articles/microservices.html
© 2016 Embarcadero Technologies, Inc. All rights reserved.
ПЕРЕХОД ОТ СУЩЕСТВУЮЩИХ DELPHI/C++ ПРИЛОЖЕНИЙ К СЕРВИС-ОРИЕНТИРОВАННОЙ АРХИТЕКТУРЕ
© 2016 Embarcadero Technologies, Inc. All rights reserved.
Публикация REST- конечных точек
Промежуточный слой интеграции ПО
Прикладные сервисы
Все-в-одном, готовая основа для back-end API и сервисов вашего приложения.
Компоненты интеграции обеспечивают готовые «из-коробки» средства подключения внешних серверов, приложений и услуг.
Набор встроенных услуг для поддержки ваших приложений.
Включает необходимые функции, такие как служба каталогов пользователей и управление пользователями,
всплывающие уведомления, отслеживание местоположения пользователя и встроенный накопитель данных
ИДЕАЛЬНЫЙ BACK-END ДЛЯ ПРИЛОЖЕНИЙ НА DELPHI И C++BUILDER
Краткий обзор RAD Server
RAD Server – это готовая «под-ключ» back-end платформа, чтобы быстро создавать и развертывать свои прикладные сервисы. RAD Server обеспечивает
автоматизированные публикацию и управление созданного на Delphi и C++ REST/JSON API, интеграцию с корпоративными базами данных, IoT Edgeware и широкий
спектр прикладных сервисов, таких как службы каталогов и аутентификации пользователей, Push-уведомления, внутреннее/наружное отслеживание
местоположения пользователя и хранение данных в формате JSON. RAD Server позволяет разработчикам быстро создавать новый back-end приложений или
перенести бизнес-логику существующих клиент/сервер Delphi или C++ приложений на современную архитектуру сервисов, которая является открытой, stateless,
безопасной и масштабируемой. RAD Server легко расширяется, развертывается и управляется, что идеально подходит для независимых поставщиков ПО и OEM-
производителей повторно-развертываемых решений.
© 2016 Embarcadero Technologies, Inc. All rights reserved.
Быстро создавайте UX ваших форм для
настольных и мобильных платформ в RAD
Studio, Delphi или C++ Builder
Создание клиентского UX
Размещение
Создание конечных точек серверного API
Интеграция
Подключение прикладных сервисов
Разместите свой RAD Server на
предприятии на частный Windows-
сервер или на облачный хост в облаке
Amazon, Rackspace или Azure.
Развертывание в RAD Server Delphi и C++
кода автоматически создаст конечные точки
REST / JSON API для ваших клиентов
Подключите RAD Server к базам данных
предприятий, облачным сервисам и IoT-
устройствам, для расширения вашего приложения.
Добавьте пользователей и правила контроля доступа к
API, и включите сохранение данных, чтобы
использовать встроенное защищенное хранилище
данных.
Наконец, back-end для многозвенных приложений стал таким же простым, как Delphi
Разработка многозвенных систем – просто и удобно
До появления RAD Server разработчики создавали back-end серверы приложений для Delphi и C++ Builder с использованием серверных наборов инструментальных средств, таких как DataSnap,
который предоставлял немного базисных компонентов для серверов приложений, но оставлял большую часть разработки для разработчика. Возьмите RAD Server. С помощью RAD Server,
разработчики теперь могут просто загрузить Delphi и C++ методы, реализующие бизнес-логику, добавить несколько пользователей и начать работу. Конечные точки REST/JSON создаются и
управляются автоматически. Применяется контроль доступа. В систему встроено хранилище данных, иначе вы можете легко подключиться к любой популярной СУБД предприятия и облачному
сервису. Отслеживайте и реагируйте на местоположение пользователя. Посылайте уведомления для пользователей. Интегрируйте интеллектуальные устройства IoT в ваше решение. Размещайте
RAD Server на предприятии или в облаке
УправлениеУправляйте вашими API-интерфейсами и
пользователями, а также анализируйте
использование API и активности с
помощью встроенного портала управления
приложениями RAD Server.
Добавление пользователей
Настройте группы пользователей и добавляйте пользователей через портал RAD Server или импорт из LDAP.
Назначайте права доступа к API, чтобы контролировать к каким функциональным возможностям имеют доступ
различные группы пользователей
{API}
© 2016 Embarcadero Technologies, Inc. All rights reserved.
Анализ использования API
Вся активность конечных точек REST API
записывается и измеряется для надежного
сбора статистики и аналитики.
Анализируйте активности пользователей,
API и сервисов, чтобы получить
представление о том, как в настоящее
время используется приложение.
Публикация REST- конечных точек
Простой в использовании API публикации
бизнес-логики. Любой код, Delphi или C++,
может быть размещен, как API, и
автоматически опубликован в виде
конечных точек REST / JSON, которые
измеряются и управляются RAD Server
Настольный, мобильный и WebВесь C++ и Delphi - код, размещенный на
RAD Server, публикуется в виде конечных
точек REST / JSON, совместимых с любым
типом клиента для максимальной гибкости
и возможности развития в будущем..
Контроль доступаГрупповой и пользовательский уровни
доступа для управления всем API
приложений. Контролируйте, кто имеет
доступ к какой функциональности. Доступ
только через проверку подлинности
пользователя
Простое создание, публикация и администрирование конечных точек REST/JSON
Публикация REST- конечных точек
RAD Server позволяет быстро и легко создавать гибкие Back-end сервера приложений для многозвенных решений. Разработчики просто загружают реализующие
бизнес-логику Delphi или C++ Builder методы на RAD Server, и автоматически создаются управляемые конечные точки REST/JSON. Разработчики или
администраторы могут легко настроить управление доступом на уровне API для групп пользователей, а также измерять и анализировать использование приложений
на уровнях API, пользователей или сервисов. Так как ваши интерфейсы Delphi и C ++ опубликованы в виде гетерогенных конечных точек REST / JSON, RAD Server
легко поддерживает практически любой тип клиента от VCL и FMX настольных компьютеров, мобильных клиентов и Wearable-гаджетов до популярных JavaScript
фреймворков. С RAD Server легко создавать и развертывать надежные гетерогенные многоуровневые решения..
{API}
© 2016 Embarcadero Technologies, Inc. All rights reserved.
Корпоративные данные
Высокая производительность встроенного подключения ко всем
серверам популярных корпоративных RDBMS. На основе FireDAC
разработчики получают легкость подключения и большое количество
функций для соединения и работы с данными из различных источников
Облачные сервисы
Простая интеграция облачных
REST-сервисов из различных
облачных, социальных и BaaS-
платформ, таких как Google,
Amazon, Facebook, Kinvey, Parse
и многих других.
ВЫСОКОЭФФЕКТИВНАЯ ИНТЕГРАЦИЯ С ДАННЫМИ, ОБЛАЧНЫМИ ПЛАТФОРМАМИ И ИНТЕЛЛЕКТУАЛЬНЫМИ УСТРОЙСТВАМИ
Промежуточный слой интеграции
RAD Studio включает в себя высокопроизводительные средства интеграции, которые позволяют легко подключать корпоративные данные, облачные сервисы и
Smart IoT-устройства в многоуровневые приложения. Библиотеки доступа к данным (DAC) из RAD Studio Enterprise обеспечивают повторно-используемый пул
скоростных соединений с Oracle, Microsoft SQL Server, DB2, Sybase, и многими другими. Пулы клиентских соединений также исключают необходимость
использования сложных и объемных клиентских драйверов РСУБД и конфигураций. Клиенты приложений подключаются к RAD Server с помощью облегченного
REST для доступа к данным, службам приложений и вызова API приложений. RAD Server включает в себя новые IoT ThingConnect и ThingPoint IoT Edgeware, что
делает возможным легко подключить широкий спектр беспроводных интеллектуальных устройств и датчиков в ваше решение, даже в отдаленных и
труднодоступных местах
IoT Smart Devices
Компоненты подключения IoT
обеспечивает быструю и легкую
интеграцию интеллектуальных
IoT-устройств в ваши клиентские
или серверные приложения. IoT
Edgeware расширяет возможности
RAD Server для доступа туда, где
ваши IoT-устройства Bluetooth
физически расположены.
© 2016 Embarcadero Technologies, Inc. All rights reserved.
Безопасное встроенное
хранилище данных
Легкое и безопасное хранение и
извлечение данных (в формате
JSON) без необходимости наличия
отдельного сервера базы данных
Push-уведомления
Посылка всплывающих
уведомлений пользователям
приложения из программ или по
требованию.
Местоположение / близость к
месту для пользователейОтслеживание перемещений пользователя в
закрытом помещении и на открытом воздухе,
реакция на событие приближения, когда
пользователь попадает или выходит из
пользовательских зон радиомаяка, или при
достижении обозначенных маяками точек.
Управление
пользователями/группамиСоздание пользователей и групп,
управление ими, и контроль
доступа с помощью портала
управления RAD Server.
ВСТРОЕННЫЕ В ЯДРО ОСНОВНЫЕ СЕРВИСЫ ДЛЯ ПОДДЕРЖКИ ВАШИХ ПРИЛОЖЕНИЙ
Службы приложений
RAD Server включает в себя мощный набор встроенных сервисов, необходимых для поддержки back-end вашего приложения, устраняя необходимость разработки
основных базисных компонентов вашего серверного приложения. Основные сервисы включают такие службы, как службы каталогов пользователей, аутентификации
и контроля доступа, PUSH-уведомлений, JSON-хранилище данных, а также отслеживание внутреннего / наружного местоположения пользователя и попадания в
заданные границы.
Embarcadero Technologies Copyright 2016
ОБНОВЛЕННЫЙ EMS
Поддержка серверных метаданных На основе Swagger open API Представления YAML и JSON Может применяться для тестирования API,
документирования, ускоренной разработки клиентов
ThingPoints - “интегрированные” сервисы Действуют как проводники к и от RAD Server (EMS) Регистрация периферийных endpoints в RAD Server Пользователи получают доступ к ThingPoints endpoints
через динамические RAD Server backend endpoints
© 2016 Embarcadero Technologies, Inc. All rights reserved.
ДОКУМЕНТИРОВАНИЕ RAD SERVER
Поддержка YAML в Swagger.
http://swagger.io/
Специальные атрибуты в исходных текстах позволяют автоматически опубликовать необходимые описания API
Embarcadero Technologies Copyright 2016
ПОЧЕМУ IOT?
“Internet of Things”: самая быстрорастущая область в IT Несмотря на шумиху, некоторые замечательные
технологиями становятся дешевыми и повсеместными Автоматизация задач, автоматизация жизни Мощь распределенных систем: «умные» сенсоры,
информ-панели, мобильные устройства…
Embarcadero Technologies Copyright 2016
ВЗАИМОДЕЙСТВИЕ И IOT В RAD STUDIO RTL
AppTethering Добавлены улучшения протоколов, hooks-
шифрования
Bluetooth С помощью компонент TBluetooth и TBluetoothLE,
поддержка Beacons и многое другое
WiFi Соединение по HTTP и клиентские REST-
библиотеки для устройств с поддержкой TCP/IP
15
Embarcadero Technologies Copyright 2016
НОВЫЕ ВОЗМОЖНОСТИ РАБОТЫ С IOT В 10.1 BERLIN
Расширение текущей базы Больше стандартов и функций Bluetooth LE Улучшенная поддержка Android Wear
Новая архитектура IoT Генерация компонент по метаданным Загрузка через GetIt
ThingPoints: распределенные расширения RAD Servers (EMS)
Embarcadero Technologies Copyright 2016
ФРЕЙМВОРК THINGCONNECT ДЛЯ ВЗАИМОДЕЙСТВИЯ С IOT
Превращает серийные и специальные IoT гаджеты, сенсоры и носимые устройства в легкие для применения компоненты API
Embarcadero Technologies Copyright 2016
THINGPOINT: EDGE СЕРВИСЫ
19
Программный стек для создания и размещения edge-модулей
Сбор данных из устройств поблизости через корпоративную шину
Pre- и post-обработка собранных данных
Фильтрация данных по нескольким критериям
Кеш edge данных в SQL базе данных(ThingBase)
Двунаправленное взаимодействие сEMS server посредством REST APIs
Embarcadero Technologies Copyright 2016
IOT: ОБМЕН EDGE ДАННЫМИ
iOS/Android/Windows/Mac app
Smart Device #1
Клиент RAD Server (EMS) ThingPoint
Гаджет илиSmart Device
Wi-FiWi-Fi/Cloud
Bluetooth/Z-Wave
Windows IIS Server/
Apache for Windows
Windows/Mac
Smart Device #2
Smart Device #3
Embarcadero Technologies Copyright 2016
КОРПОРАТИВНАЯ РАБОТА С IOT ИСПОЛЬЗУЯ RAD SERVER
Collect Process Store Publish Analytics
Embarcadero Technologies Copyright 2016Copyright 2016 Embarcadero Technologies 22
Most Innovative Use of Data
Быстрый старт для ваших приложений со
встроенной поддержкой безопасности данных,
синхронизацией и защитой от аварий. Один раз
создай, затем только встраивай и распространяй!
INTERBASE Embed, Deploy, Relax
Windows, Linux, Android, iOS, Mac OS X
© 2016 Embarcadero Technologies, Inc. All rights reserved.
ОБНОВЛЕНИЕ ДРАЙВЕРОВ FIREDAC
ODBC 3.8 SQLite (с поддержкой 3.9.2) InterBase и Firebird - драйверы
Service manager, реальная потоковая работа с BLOB Oracle с поддержкой новых API v11g и v12c
TFDOracleAdmin-сервис и извещения об изменениях Advantage DB (version 12) DB2 (с поддержкой AS/400) PostgreSQL (новые JSON типы данных) Informix (лучшая поддержка блокировок) MongoDB - улучшенная поддержка баз данных и извещений
об изменениях
© 2016 Embarcadero Technologies, Inc. All rights reserved.
FIREDAC ДЛЯ ORACLE DATABASE
http://embt.co/firedac-oracle
Oracle Data Types PL/SQL Table PL/SQL Record
REF Cursors Nested cursors Implicit ROWIDs DBMS_OUTPUT Admin functions Samples:
BFile (External LOBs)
CQN (Continuous Query Notification)
NestedCursors PLSQLAssocArray PLSQLRecs SelectFromArray
© 2016 Embarcadero Technologies, Inc. All rights reserved.
FIREDAC ДЛЯ MICROSOFT SQL SERVER
http://embt.co/firedac-mssql
OS AuthenticationMultiple Active Result
Sets (MARS)
Shared Memory transport
ExtendedMetadata Samples:
FileStream QueryNotify
TVP (Table-Valued Parameters)
© 2016 Embarcadero Technologies, Inc. All rights reserved.
FIREDAC ДЛЯ
Специальные компоненты дляMongoDB
BSON и JSON classes Pipelines Collections и Cursors Update, Select & Insert Geospatial Indexes Geospatial queries
Примеры BatchMove DataSet ListView Advanced Restaurants Advanced
http://embt.co/firedac-mongodb
Embarcadero Technologies Copyright 2016
RAD SERVER <> DATASNAP
DataSnap RAD Server
Готовый расширяемый сервер приложений Нет – пишется «с нуля» Да
Стандартный REST/JSON Сторонние/ закрытые протоколы Да
Слабая связанность Сильная связанность Да
Произвольные средства создания клиентов Только Delphi или C++Builder Да
Настольные\мобильные\Web клиенты Настольные (Windows, Mac) Да
Доступ к корпоративным БД Да Да
Поддержка IoT Да
Список пользователей/авторизация Да
Группы пользователей/контроль доступа Да
Публикация REST/JSON API Да
Данные в JSON Да
Внутренняя/внешняя ориентация в зонах Да
Посылка всплывающих сообщений Да
Аналитика работы API/User/Device Да
Stateless Да
Масштабирование и надежность Да
© 2016 Embarcadero Technologies, Inc. All rights reserved.
ЧЕМ ОТЛИЧАЕТСЯ RAD SERVER?
RAD Server объединяет множество продуктов и технологий, которые составляют готовый «под-ключ» сервер приложений.§ EMS Technology§ BeaconFence для обработки событий приближения§ ThingConnect для работы с IoT§ ThingPoint для использования IoT
Продукт Статус Лицензирование
REST API
Публикация
Упр.
Пользов.
Server/API
Analytics
Push-
оповеще
ния
Ent DB
Middleware
Location/Proxim
ity
IotT
EdgeWare
EMS
Теперь только в
составе RAD
Server
Число Польз. Да Да Да Да ДаОтдельная
плата (Beacon
Fence)
нет
RAD
ServerПоставляется
Число Польз.
или UnlimДа Да Да Да Да встроено встроено
© 2016 Embarcadero Technologies, Inc. All rights reserved.
ПРИМЕР ИСПОЛЬЗОВАНИЯ В РОЗНИЧНОЙ ТОРГОВЛЕ
Магазины сетей типа Ашан или Магнитсостоят из множества разных отделов
Покупатель использует мобильное приложение для покупок в магазине
Которое взаимодействует с покупателем по мере его перемещения по магазину
Используются интерактивные витрины отделов, чтобы с помощью IoT технологий и маячков сделать через мобильное приложение более персонализированные предложения
Push-извещения о внутри-магазинных скидках
© 2016 Embarcadero Technologies, Inc. All rights reserved.
ДРУГИЕ СЕРВЕРНЫЕ BACK-END
Kony - $23k
Appcelerator - $60k
HP - $75k
IBM - $110k
52
© 2016 Embarcadero Technologies, Inc. All rights reserved.
ЛИЦЕНЗИРОВАНИЕ RAD SERVER
Single Site/Server License $5k Single Site – много серверов
2x Single Site/Server License 2x $5k = $10k Per device
6 Client Devices $99 x6 = $594 Multi-site и Multi-server
9 Client Devices $99 x9 = $891
RAD Multi-Site License – неограниченное число пользователей
По запросу
End Point
Nodes
RAD Server
On Premises Users
End Point
Nodes
RAD Server
Remote Users & Devices
On Premises Devices
End Point
Nodes
RAD Server
Remote Devices
On Premises Devices
End Point
Nodes
RAD Server
Remote Devices
© 2016 Embarcadero Technologies, Inc. All rights reserved.
ИДЕАЛЬНЫЙ BACK-END ДЛЯ DELPHI И C++BUILDER - ПРИЛОЖЕНИЙ
RAD Server
RSX
© 2016 Embarcadero Technologies, Inc. All rights reserved. 33
СПАСИБО ЗА ВНИМАНИЕ!
Вопросы?
Связаться с нами:+7 495 7084393