Подтвердить что ты не робот

Datasnap xe vs Remobjects DataAbstract

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

Поскольку у меня есть Delphi Professional, я должен перейти на Enterprise, чтобы иметь DataSnap.

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

Так как здесь Люди RemObjects говорят "Работает с профессионалом". Я бы рассмотрел и эту структуру. Кроме того, DataSnap кажется довольно хорошим (я читал это, я не пытался) только из версии XE, в то время как RemObjects имеет более прочное прошлое.

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

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

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

ПРИМЕЧАНИЕ ДЛЯ BOUNTY: Поскольку мне не нравится, что это не отвечает, я начинаю щедрость. Я надеюсь, что на исходный вопрос будет дан ответ, кто использует Datasnap или RemObjects?

4b9b3361

Ответ 1

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

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

Баллы в пользу структуры DataSnap:

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

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

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

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

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

  • Необходимость упростить настройку поддержки SSL - RemObjects и DataSnap теперь имеют SSL
  • "Truly Madly Deeply REST" или "если он использует HTTP get/post, он REST-достаточно для меня"?

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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

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

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

Поддержка нескольких протоколов: SOAP, REST, XML-RPC, oData и двоичный. Не нужно выбирать между быстрым, небольшим, но проприетарным и открытым, но медленным текстовым протоколом. Возможно обслуживать САМЫЙ сервер с протоколами SEVERAL, а не изменять код. Серьезно, это один камень.

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

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

2- Резюме данных:

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

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

Итак, вы можете так "SELECT Name FROM Customer", и DA выполнит "SELECT 1 FROM CUST". Это называется "DA SQL". Очень аккуратно. Специально для миграции дрянных схем, которые находятся в производственной базе данных.

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

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

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

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

3- Быстрый

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

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

4- Другие аккуратные вещи

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

Единственным плохим материалом является то, что документы немного сложно отслеживать (IMHO) (но отличные видео). В основном, основной материал - это то, что будет выглядеть сначала (не потому, что код трудно понять, потому что lib большой).

Исходный код включен. Демонстрации хороши.

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