DataSnap XE против Remobjects DataAbstract - PullRequest
16 голосов
/ 01 июня 2011

Задав этот вопрос Я понял, что для создания того, что мне нужно, я бы лучше положился на какую-то инфраструктуру "REST и JSON ready".

Поскольку у меня есть Delphi Professional, я должен обновитьПредприятию иметь DataSnap.

Теперь стоимость обновления находится в том же диапазоне, что и стоимость DataAbstract. Обновление : более того, в будущем обновление до более новых версий Delphi Professional + более новые версии DA будут стоить дешевле, чем покупка громоздкого обновления Enterprise (например, с XE до XE2).

С здесь RemObjects люди говорят: «Работает с профессионалом». Я бы рассмотрел и эту структуру.Более того, DataSnap выглядит неплохо (я читал это, я не пробовал) только из версии XE, в то время как RemObjects имеет более прочное прошлое.

Так что, кто знает, что все продукты могут сравнить их, особенно по этимОсобенности:

  • REST-сервер (для обслуживания JSON)
  • простота использования

Какой продукт вы бы предложили?

Примечание для BOUNTY: Так как мне не нравится, это не ответили, я начинаю награду.Я надеюсь, что на оригинальный вопрос можно ответить, кто-нибудь использует Datasnap или RemObjects?

Ответы [ 4 ]

10 голосов
/ 01 июня 2011

Я буду вынужден добавить нашу Synopse SQLite3 Framework (позднее обновление: переименовано MORMOT ) в список ...

С тех пор, как вы разместили свои вопросы, некоторые пункты были улучшены (например, используется безопасность или http-сервер).

Вот некоторые различия между двумя перечисленными выше:

Обновление: Framework теперь может использовать любой другой механизм базы данных , а не только SQlite3 .

7 голосов
/ 26 декабря 2011

Я счастливый пользователь RO / DA.Я сделал презентацию ( на испанском ) о RO, поэтому я укажу некоторые важные вещи, которые делают Ro лучшей библиотекой удаленного взаимодействия на любом языке / фреймворке, IMHO:

  1. Multi-ВСЕ: Вы можете создавать серверы в .NET, Mono, Delphi, FreePascal.Вы можете сделать клиентов во всех предыдущих + в Obj-C (iOS тоже), javascript, любом REST-совместимом, любом SOAP-совместимом языке

У меня сейчас 2 сервера (один delphi, одинnet / mono) с клиентами в Delphi, iOS, Python.Это большой плюс.

Поддержка драйверов нескольких баз данных для БД, таких как odbc, ado, anydac, devart, .net и т. Д. Действительно много

Поддержка нескольких протоколов: SOAP, REST, XML-RPC, oData и двоичный файл.Не нужно выбирать между быстрым, маленьким, но проприетарным и открытым, но медленным текстовым протоколом.Возможно обслужить тот же сервер НЕСКОЛЬКИМИ протоколами, без необходимости изменения кода.Серьезно, это потрясающе.

Поддержка многоканальности: так что проклятие http, но также SuperHTTP (двусторонний), TCP / IP, UDP, конвейеры имен, в памяти, сообщения Windows, IIS SYS,и т. д. (каналы различаются, если они находятся в сети .net или в Delphi)

И вы можете опубликовать сервер сразу по нескольким каналам.Таким образом, вы можете использовать HTTP + UDP одновременно.

2- Аннотация данных:

Походит на своего рода ORM, но для N-уровня.DA - это «виртуальное» представление базы данных, и физическая база данных (или базы данных, которые вы можете подключить к нескольким) может быть ОЧЕНЬ отлична.

Допустим, у вас есть дрянная схема БД из предыдущейразработчик.Таблица customer называется «CUST», а поле имени - «1» (то есть, как оно называется в POS с открытым исходным кодом, серьезно).Но вы можете иметь виртуальную таблицу «Клиент» с полем «Имя».

Таким образом, вы можете, чтобы «ВЫБЕРИТЕ Имя ОТ Клиента», и DA выполнит «ВЫБРАТЬ 1 ОТ ЗАКАЗА».Это называется "DA SQL".Это очень аккуратно.Специально для миграции дрянных схем, находящихся в производственной базе данных.

Таблицы больше похожи на представления, но могут быть обновлены.

DA сгенерировал для вас строго типизированные LINQ-классы (или Delphi Classes),так что у вас есть хорошая поддержка OO ORM, но не привязанная к 2-уровневому.

Вы можете запросить 2 базы данных и объединить данные в одной виртуальной таблице, а затем опубликовать обновления.

Вы можете использовать JS для встраивания логической проверки и потоковой передачи ее клиентам.

3-Fast

С поддержкой формата BIN все работает быстрее.Сжатие + шифрование (если не удается использовать SSL) включены.

Асинхронные вызовы + синхронный вызов.Вы можете выбрать для каждого метода, что использовать.

4 - Другие полезные вещи

Поддержка публикации и автоматического обнаружения серверов с поддержкой Bonjour.Балансировка нагрузки + отказоустойчивость легко добавить.Опубликовать в oData.Публикация html + js страниц.Хорошая поддержка в http://connect.remobjects.com/.

Единственный недостаток в том, что документы немного сложны для подражания (ИМХО) (но отличное видео ).Главным образом, основной материал - это то, что поначалу будет выглядеть сложно (не потому, что код сложен для понимания, а потому, что библиотека большая).Демонстрации хороши.

Но в целом библиотека великолепна.Настолько здорово, что для недавнего проекта я использую C # .NET (несмотря на то, что я ненавижу язык) вместо использования python (мой любимый, после delphi) просто для использования этой библиотеки.Это хорошо;)

7 голосов
/ 04 августа 2011

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

(Отказ от ответственности: я был сотрудником Embarcadero, когда писал следующую часть в 2011 году).

Баллы за платформу DataSnap:

  • Поставляется с Delphi (некоторым людям нравится иметь все в одном решении)
  • Постоянно расширяется и обладает значительными новыми функциями в XE2

Баллы в пользу RemObjects DataAbstract

  • Как вы сказали, работает с младшими SKU, такими как Pro, тогда как DataSnap поставляется только в RAD Enterprise / Architect.
  • Theres выпуск .Net для Oxygene (ранее известный как Prism)
  • Если вам нравится их рабочий процесс, включая средство моделирования схем, вы можете предпочесть его.

Предлагаю вам прочитать больше и разобраться с этим самостоятельно.

Факторы, которые могут иметь для вас значение, но которые вы не указали:

  • Необходима простая настройка поддержки SSL - RemObjects и DataSnap теперь оба имеют SSL
  • "Действительно Безумно Глубоко ОТДЫХ" или "если он использует HTTP get / post, мне достаточно REST-насыщения"?

Обновление с мая 2013 года

Сейчас я широко использовал оба продукта и больше не работаю в Embarcadero. Я думаю, что оба продукта хороши, но, поскольку я только что закончил создание большого проекта, в котором я выбрал RemObjects, потому что клиент для iPhone и Mac (RemObjects DataAbstract for XCode) является полноценным продуктом для Mac / XCode / target-C, и потому Ключевые разработчики RemObject знают Mac, знают Objective-C и могут поддерживать пользователей XCode, чем я занимался последние три месяца.

Если вы думаете не о мобильной и мультиплатформенной среде, а только о Windows, то я все еще могу подумать о нескольких способах, когда Data Abstract превосходит Data-Snap, но где DataSnap поддерживает явное преимущество для тех людей, которые хотели бы Я хочу получить решение от одной компании. Для некоторых решений по развитию предприятия, я могу легко Посмотрите, как разумно было бы придерживаться DataSnap и Delphi Enterprise. Как я уже говорил ранее, найдутся люди, которые найдут, что один лучше соответствует их требованиям, или другой, и любой, кто скажет, что одно из двух лучше, а другое хуже, все об этом ошибается. , Сказав это, я буду обвинен в том, что сказал выше «Конспект данных лучше», но я явно не сказал этого. Для проекта, который я только что закончил, он был идеальным.

1 голос
/ 05 августа 2011

Вы также можете взглянуть на delphionrails

A комментарий к этому проекту

...