Тема публикуется с разрешения модератора
Raven Link - технология, которая родилась после долгих мучений с Datasnap. Она позволяет очень быстро и очень удобно создать распределенное трехзвенное приложение. И теперь мы бы хотели поведать о ней миру, ну и по возможности немного заработать.
Технология не заменит собой полностью Datasnap (наверное), но очень удобна, если Вам необходимо сделать распределенную систему, состоящую из:
REST сервера, который предоставляет доступ к некоей базе данных или вообще к любому ресурсу, который может управляться или предоставлять некие данные
Клиентского приложения для Андроид или Windows устройства (другие ОС не тестировались на текущий момент).
Удобнее она по следующим причинам
- Изначально библиотека разрабатывалась таким образом, чтобы разработка с ее помощью была как можно более легкой, наглядной, надежной, с удобной отладкой. Фактически, Вы можете в течение 15-20 минут установить библиотеку RavenLink.bpl, запустить RavenLink сервер и написать распределенное приложение. Как это сделать Вы можете прочитать здесь
- Нет необходимости разрабатывать средний слой. В его качестве используется RavenLink сервер, который использует плагины для доступа к различным БД или другим ресурсам, которыми можно управлять или получать какие либо данные.
- Для запросов к серверу используется язык SQL с параметрами.
- Содержит очень удобный SQL мониторинг, который (если он включен) записывает все запросы к серверу RavenLink, фиксируя всю необходимую информацию: текст SQL запроса, тип и данные параметров SQL запроса, время начала и окончания выполнения запроса, количество полученных строк данных, название устройства, с которого пришел запрос, наименование клиентского приложение, наименование компонента TRLQuery и его родителя и т. д. К примеру, Вы можете легко выбрать информацию по всем запросам, которые приходили с компьютера MASHA и которые выполнялись более 10 минут.
- Установка и разработка с использованием библиотеки RavenLink может осуществляться на бесплатной Delphi Community Edition. (Отдельный и на текущий момент не проясненный вопрос с плагинами доступа к БД. К примеру Вы можете использовать плагин доступа к Firebird серверу, т. к. в Community Edition есть поддержка Firebird через FireDac. Но можно ли использовать в бесплатной версии Delphi разработанный и скомпилированный на платной версии Delphi плагин для доступа к Oracle, вопрос неоднозначный).
- Компонент TRLQuery, который осуществляет доступ к серверу RavenLink, после получения данных с сервера, может хранить эти данные, сортировать их в т.ч. по группе полей, используя NULLS_FIRST и DESC, в т.ч. может осуществлять очень быструю сортировку по большим объемам данных.
Релиз системы RavenLink содержит в себе:
- Собственно сервер RavenLink с исходниками
- Плагин доступа к серверу Firebird с исходниками
- Плагин доступа к БД SQLite с исходниками
- Плагин доступа к серверу MySQL с исходниками
- Плагин, отправляющий почту через MAPI (как пример того, что через сервер RavenLink можно управлять любым ресурсом используя SQL) с исходниками
- Плагин управления сервером RavenLink с исходниками
- Embedded Firebird сервер 3.0. включен в релиз для того, чтобы Вы потратили как можно меньше Вашего времени для начала работы (разумеется, если у Вас уже есть сервер FB, то Вы можете с легкостью настроить RavenLink сервер так, чтобы доступ осуществлялся к Вашему серверу)
- Демонстрационная база данных Firebird с разнотипными данными, включающие картинки, текст, таблицу, содержащую миллион записей (для тестирования производительности)
- Демонстрационное приложение с исходниками
- Демонстрационное андроид приложение с исходниками
- SQL монитор с исходниками
- dpk – пакет с компонентами RavenLink
- Средство установки библиотеки и перекомпилирования всех исходников
- Документация, включая chm файл для встраивания в IDE Delphi