Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Datasnap xe vs Remobjects DataAbstract

After asking this question I realized that to build what I need I'd better rely on some framework "REST and JSON ready".

Since I own Delphi Professional I should upgrade to Enterprise to have DataSnap.

Now the upgrade cost is in the same range as the DataAbstract cost. Update: moreover in future upgrade to newer versions of Delphi Professional + newer versions of DA will cost less than buying the bulky Enterprise upgrade (like from XE to XE2).

Since here RemObjects people say "Works with professional" I would consider also this framework. Moreover DataSnap seems to be quite good (i read this, I didn't try) only from the XE version, while RemObjects has a more solid past.

So who knows all the products can compare them expecially on these features:

  • REST server (for serving JSON)
  • ease of use

Which product would you suggest?

NOTE FOR BOUNTY: Since I don't like this is not answered I start a bounty. I hope the original question acn be answered, anyone using Datasnap or RemObjects?

like image 697
LaBracca Avatar asked Jun 01 '11 12:06

LaBracca


Video Answer


2 Answers

I'll be forced to add our Synopse SQLite3 Framework (later update: Renamed MORMOT) to the list...

Since you posted your questions, some points have been enhanced (like security or http server used).

Here are some differencies among the two listed above:

  • No RAD approach, but true ORM approach (could be a drawback for prototyping, but it will help when your application will grow);
  • Very fast JSON producer and parser, with caching at SQL level;
  • Fastest available HTTP server using http.sys kernel-mode server;
  • Truly RESTful authentication with a dual session + per-query security model;
  • Multi-Tier architecture, with integrated Business rules as fast ORM-based classes (not via external scripting or such);
  • Ability to use SQL and RESTful request over any kind of data (thanks to SQLite3 unique Virtual Tables mechanism);
  • Full Text Search engine included, with enhanced Google-like ranking algorithm;
  • Integrated Reporting system, which could serve complex PDF reports from your application;
  • Can easily create custom RESTful JSON services - you can send as JSON any TStrings, TCollection, TPersistent instance or even a dynamic array content, with integrated JSON serialization;
  • Tried to be as fast as possible (asm used when needed, buffered reading and writing avoid most memory consumption, multi-thread ready architecture...);
  • More than 700 pages of documentation;
  • Delphi and AJAX clients can share the same server;
  • prepared for 64 bit and cross-OS Delphi XE2;
  • Full source code provided - so you can enhance it to fulfill any need;
  • Works from Delphi 6 up to XE, truly Unicode (uses UTF-8 encoding in its kernel, just like JSON), with any version of Delphi, including the XE Starter edition (no need to buy any Entreprise version).

Update: Framework is now able to use any other database engine, not only SQlite3.

like image 171
Arnaud Bouchez Avatar answered Sep 18 '22 08:09

Arnaud Bouchez


I can only say that you should download the trials and try them and see which works for you. We can't make psychic predictions.

(Disclaimer: I was an employee at Embarcadero when I wrote the next part, in 2011).

Points in favor of the DataSnap framework:

  • Comes with delphi (some people like to have an all in one solution)
  • Is being continuously expanded, and has significant new functionality in XE2

Points in favor of the RemObjects DataAbstract

  • As you said, works with low end SKUs like Pro, whereas DataSnap only comes in RAD Enterprise/Architect.
  • Theres a .Net edition for Oxygene (formerly known as Prism)
  • If you like their workflow including the schema modeler, you may prefer it.

I suggest you read more and figure it out for yourself.

  • DataSnap book by Dr Bob
  • RemObjects whitepaper

Factors that might matter to you that you haven't specified:

  • Need for easy to configure SSL support - RemObjects and DataSnap now both have SSL
  • "Truly Madly Deeply REST" or "if it uses HTTP get/post, it's REST-ful enough for me"?

Update from May 2013

I have now used both products extensively, and I no longer work at Embarcadero. I think both products are great, but as I have just finished building a large project where I chose RemObjects, because the iPhone and Mac client (RemObjects DataAbstract for XCode) is a full-fledged Mac/XCode/objective-C product, and because RemObject's key developers know the Mac, know Objective-C, and can support XCode users, which for the last three months has been what I have been doing.

If you are not thinking about mobile and multi-platform, and only about Windows, then I can still think of a few ways where Data Abstract beats Data-Snap, but where DataSnap maintains a clear advantage is for those people who would want a solution all from one company. For certain Enterprise development decisions, I can easily see how the sensible choice might be to stick with DataSnap, and Delphi Enterprise edition. Like I said before, there are going to be some people who are going to find that one fits their requirements better, or the other, and anyone who says one of the two is better and the other is worse, is going about it all wrong. having said that, I will be accused of having said that "Data Abstract is better" above, but I clearly have not said that. For the project I just finished, it was perfect, though.

like image 23
Warren P Avatar answered Sep 22 '22 08:09

Warren P