Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Aurelius vs mORMot vs EntityDAC



Permlink Replies: 20 - Last Post: Mar 4, 2015 6:10 AM Last Post By: Eduardo Elias
Bernd Maierhofer

Posts: 161
Registered: 9/27/99
Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 24, 2015 7:15 AM
Hi + tx for any answer.

I am in the process of refactoring/reworking/migrating our codebase for the
latest Delphi versions. Most of our library-like code will be replaced by
3rd party products. We will try to isolate our core business logic and
everything that can be standardized and outsourced will be replaced. So,
that´s the plan. :- )

When it comes to persistence I would be very happy if you would share your
experience with the abovenamed ORMs. What are the pros, what are the cons,
why did you prefer one over the others. How is support and maintainance?

May thanks in advance!

Bernd
Arnaud BOUCHEZ

Posts: 143
Registered: 2/17/02
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 24, 2015 3:26 PM   in response to: Bernd Maierhofer in response to: Bernd Maierhofer
I would not speak for the others, since I know and use only mORMot - of which I'm the main maintainer.
In short, mORMot is much more than an ORM.
It has everything you need to write SOLID code, with IoC patterns - which is IMHO the good way today to "divide and conquer" the business logic and its implementation.
IMHO there is no equivalency of mORMot in the Delphi world, in terms and features.
So I would compare with the .Net ecosystem.

mORMot features:
- ORM abilities - over most SQL databases (with premium SQLite3, Oracle, MSSQL, and PostgreSQL support) - like EntityFramework
- ODM abilities - i.e. ORM over NoSQL (mainly an in-memory object storage, and direct MongoDB) - like NoRM
- SOA features (like WCF),
- stubs and mocks (like RhinoMocks),
- general IoC for injectable objects and any level of resolvers (like Castle)
- MVC web apps (like asp.net)
- HTTP remote access via REST (like asp.net web api or WCF)
- logging (like Log4Net)
- reporting with pdf export (like iTextSharp)

It has some unique features for which I do not know any equivalency in C#:
- Remote DB access over HTTP
- high level DDD methods (work in progress), like ValueObjects, Entities and Aggregates in plain Delphi objects, UnitOfWork and persistence of any class, various infrastructure implementations (emailing, mobile push)
- Cloud integration: monitoring, statistics,
- Integration of every bricks: single documentation, shared kernel (e.g. JSON), consistent API - you have everything, but only once
- speaking of the documentation: huge accurate documentation, including high-level design and architecture information
- Built for speed and efficiency from the ground up
- Windows and Linux (thanks to FPC) support for servers, any platforms for clients (including mobile or HTML5/Ajax)
- Fully Open Source, with a permissive tri-licence

Of course, don't take my word for it.
Just take a look at http://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html
for the documentation.
And http://synopse.info/fossil/timeline for the activity.
And http://synopse.info/forum for the support.
Robert Love

Posts: 155
Registered: 5/3/07
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 26, 2015 10:04 AM   in response to: Arnaud BOUCHEZ in response to: Arnaud BOUCHEZ
Arnaud BOUCHEZ wrote:
Just take a look at http://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html
for the documentation.
And http://synopse.info/fossil/timeline for the activity.
And http://synopse.info/forum for the support.

Because of your excellent post I thought I would take a look at the product. Initially I thought I could not use it due to the GPL license, then I realized that is only on the documentation and that the code is licensed multiple ways.

It took me a bit to realize that, it might be wise to clarify that the GPL license is the documentation and the code is under a different set of licenses.
Arnaud BOUCHEZ

Posts: 143
Registered: 2/17/02
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 26, 2015 12:20 PM   in response to: Robert Love in response to: Robert Love
Robert Love wrote:
It took me a bit to realize that, it might be wise to clarify that the GPL license is the documentation and the code is under a different set of licenses.

Take a look at the updated documentation.
See http://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html

Hope it clarifies its state!
Thanks for the feedback.
Gilbert Padilla

Posts: 315
Registered: 3/8/04
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 27, 2015 10:51 AM   in response to: Arnaud BOUCHEZ in response to: Arnaud BOUCHEZ
can the source code be compiled in any commercial product without
restrictions?
Arnaud BOUCHEZ

Posts: 143
Registered: 2/17/02
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 27, 2015 11:19 AM   in response to: Gilbert Padilla in response to: Gilbert Padilla
Gilbert Padilla wrote:
can the source code be compiled in any commercial product without
restrictions?

Yes, if you use the MPL license.
See the link.
Just need to quote the use of the framework somewhere in your app (e.g. about box) and publish any modification made to the framework source.
Gilbert Padilla

Posts: 315
Registered: 3/8/04
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 27, 2015 11:25 AM   in response to: Arnaud BOUCHEZ in response to: Arnaud BOUCHEZ
can the source code be compiled in any commercial product without
restrictions?
Arnaud BOUCHEZ

Posts: 143
Registered: 2/17/02
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 28, 2015 4:42 AM   in response to: Gilbert Padilla in response to: Gilbert Padilla
Gilbert Padilla wrote:
can the source code be compiled in any commercial product without
restrictions?

Yes - take a look at http://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html#TITL_34
Bernd Maierhofer

Posts: 161
Registered: 9/27/99
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 2, 2015 12:19 AM   in response to: Arnaud BOUCHEZ in response to: Arnaud BOUCHEZ
:- ) tx, Arnaud. That´s why mORMot is one of the candidates + that´s why I
am interested in the findings of mORMot users.

brgds B.

"Arnaud BOUCHEZ" wrote in message news:715580 at forums dot embarcadero dot com...

I would not speak for the others, since I know and use only mORMot - of
which I'm the main maintainer.
In short, mORMot is much more than an ORM.
It has everything you need to write SOLID code, with IoC patterns - which is
IMHO the good way today to "divide and conquer" the business logic and its
implementation.
IMHO there is no equivalency of mORMot in the Delphi world, in terms and
features.
So I would compare with the .Net ecosystem.

mORMot features:
- ORM abilities - over most SQL databases (with premium SQLite3, Oracle,
MSSQL, and PostgreSQL support) - like EntityFramework
- ODM abilities - i.e. ORM over NoSQL (mainly an in-memory object storage,
and direct MongoDB) - like NoRM
- SOA features (like WCF),
- stubs and mocks (like RhinoMocks),
- general IoC for injectable objects and any level of resolvers (like
Castle)
- MVC web apps (like asp.net)
- HTTP remote access via REST (like asp.net web api or WCF)
- logging (like Log4Net)
- reporting with pdf export (like iTextSharp)

It has some unique features for which I do not know any equivalency in C#:
- Remote DB access over HTTP
- high level DDD methods (work in progress), like ValueObjects, Entities and
Aggregates in plain Delphi objects, UnitOfWork and persistence of any
class, various infrastructure implementations (emailing, mobile push)
- Cloud integration: monitoring, statistics,
- Integration of every bricks: single documentation, shared kernel (e.g.
JSON), consistent API - you have everything, but only once
- speaking of the documentation: huge accurate documentation, including
high-level design and architecture information
- Built for speed and efficiency from the ground up
- Windows and Linux (thanks to FPC) support for servers, any platforms for
clients (including mobile or HTML5/Ajax)
- Fully Open Source, with a permissive tri-licence

Of course, don't take my word for it.
Just take a look at
http://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html
for the documentation.
And http://synopse.info/fossil/timeline for the activity.
And http://synopse.info/forum for the support.
Arnaud BOUCHEZ

Posts: 143
Registered: 2/17/02
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 2, 2015 2:12 AM   in response to: Bernd Maierhofer in response to: Bernd Maierhofer
Bernd Maierhofer wrote:
:- ) tx, Arnaud. That´s why mORMot is one of the candidates + that´s why I
am interested in the findings of mORMot users.

You may take a look at http://synopse.info/forum and check for user feedback.
What I remember:
http://synopse.info/forum/viewtopic.php?pid=6363#p6363
http://synopse.info/forum/viewtopic.php?pid=14910#p14910
Eduardo Elias

Posts: 319
Registered: 9/20/12
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 25, 2015 1:11 PM   in response to: Bernd Maierhofer in response to: Bernd Maierhofer
Bernd

I can tell you about my experience with Aurelius and other TMS products.

One year ago I started a new project for a ERP and needed to have it in a
more modernized way. Pretty much the way you intend to do.

I had some goals:

- using modern Delphi language features. I had no need to be compatible with
anything from previous versions.

- capable of going crossplatform (so it is FIREMONKEY): in my case i have
an entire ERP running on android :) very nice this. This is important since
we are now in a multi OS era. There is no guarantee on wich platform will
remain in 10 years.

- possibility of isolate modules, or even replace them in case of the vendor/open
source gets out of the market (or just not get more updates)

- something I could understand withou need to be a phD on the area.

I choose the TMS products because they met this parameters for me.

This is my current result:

AURELIUS

I have Aurelius as my ORM layer. I have an application based on MVP, so my
Model part understands Aurelius entities. That are plain simple classes.
I have created my base class with all funcionality needed and Aurelius does
the rest.

It is fast, and it is bugs free. I have it working on real conditions for
1 year now and did not get any problem at all.

The Idea is simple, the code is modern, and it relies on the new delphi language
features.

It is compatible with mobile and then you can have all the functionality
on Android or whatever you need. Using most of the important databases, including
SQLite

I am using frames to create the view part of my MVP. I wire everything with
LiveBInding and Aurelius provides to you a TAureliusDataSet, a fantastic
TDataSet descendant that publish by several ways the entities you get from
the ORM.

Right now it is very handy to me, since I have my data prepared on a parallel
thread and when done it is set to the TAureliusDataSet. The result is a fluid
application.

You can Edit one entity, a TLIST<> or a Cursor to your database. You can
access all the properties of your Entity as fields on the Dataset. It is
very handy to deal with LiveBindings.

See, since it is Firemonkey this is the only way if not manual). But I can
tell you, after getting some experience it is reliable and fast enought for
work based on XE7

REMOTEDB

it is the product that permit you connect remotely, you have a server based
on the http.sys that is the core windows http service and you "write" a server
based on the documentation. I could add some flavors of my interest of the
comunication between client and server. (there is another layer called Sparkle
that is the real http transport here, but just to be simple)

The good thing is that you isolate the native database drivers and you can
have either mobile using it to connect to your database

XDATA

I am about to move my application to use it. In my case I am waiting for
a new feature where I would be capable to use Aurelius over XData. XData
is a OData standard way to share your data. You create your own server following
the examples and you can use Aurelius in the server side to create your business
module.

With eh upcoming feature you will be also possible to use Aurelius with the
Xdata result. Then you can hide business logic on the server side and publish
only what is relevant.

FLEXCEL

This is the way to go for Reporting. It is not only reporting, but for me
is a fantastic tool.

It has a core based on excel spreadsheet, you can load, create, change, save
them, in ANY Platform.

But there is a way to use TEMPLATES. So in my ERP i have created XLS templates
that are embeded on the exe as resources (25k), then I load it and pass the
Aurelius results from queries based on Linq. The result is commonly a TList<entity>
or can be anything else. But the Entity objects can be directly accessed
from the Excel Template!

And the good thing is that it works on any platform! it is very fast. Much
better than FastReports. Easier to work. You can do a lot more, and you can
even let your customer create Excel templates (wich customer you have that
does not know how to use them?)

My ERP is already in use on a big chain pilot project. No trouble at all.

I do not work for TMS, but their support was so help ful for me in many cases
that I have to give you this information.

I am extremelly satisfied. The price is not high for the product benefits,
and the result is professional.

Any other specific question please let me know...

Eduardo Elias

Hi + tx for any answer.

I am in the process of refactoring/reworking/migrating our codebase
for the latest Delphi versions. Most of our library-like code will be
replaced by 3rd party products. We will try to isolate our core
business logic and everything that can be standardized and outsourced
will be replaced. So, that´s the plan. :- )

When it comes to persistence I would be very happy if you would share
your experience with the abovenamed ORMs. What are the pros, what are
the cons, why did you prefer one over the others. How is support and
maintainance?

May thanks in advance!

Bernd
Vladimir Ulchenko

Posts: 248
Registered: 1/12/00
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 26, 2015 4:06 AM   in response to: Eduardo Elias in response to: Eduardo Elias
On Wed, 25 Feb 2015 13:11:42 -0800, Eduardo Elias <@> wrote:

Any other specific question please let me know...

thanks for detailed explanation, very interesting
any chance to see some screenshots of your app?

--
Vladimir Ulchenko aka vavan
Claudio Piffer

Posts: 28
Registered: 5/1/02
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 26, 2015 9:50 AM   in response to: Eduardo Elias in response to: Eduardo Elias
+1

Eduardo Elias wrote:
Bernd

I can tell you about my experience with Aurelius and other TMS products.

One year ago I started a new project for a ERP and needed to have it in a
more modernized way. Pretty much the way you intend to do.

I had some goals:

- using modern Delphi language features. I had no need to be compatible with
anything from previous versions.

- capable of going crossplatform (so it is FIREMONKEY): in my case i have
an entire ERP running on android :) very nice this. This is important since
we are now in a multi OS era. There is no guarantee on wich platform will
remain in 10 years.

- possibility of isolate modules, or even replace them in case of the vendor/open
source gets out of the market (or just not get more updates)

- something I could understand withou need to be a phD on the area.

I choose the TMS products because they met this parameters for me.

This is my current result:

AURELIUS

I have Aurelius as my ORM layer. I have an application based on MVP, so my
Model part understands Aurelius entities. That are plain simple classes.
I have created my base class with all funcionality needed and Aurelius does
the rest.

It is fast, and it is bugs free. I have it working on real conditions for
1 year now and did not get any problem at all.

The Idea is simple, the code is modern, and it relies on the new delphi language
features.

It is compatible with mobile and then you can have all the functionality
on Android or whatever you need. Using most of the important databases, including
SQLite

I am using frames to create the view part of my MVP. I wire everything with
LiveBInding and Aurelius provides to you a TAureliusDataSet, a fantastic
TDataSet descendant that publish by several ways the entities you get from
the ORM.

Right now it is very handy to me, since I have my data prepared on a parallel
thread and when done it is set to the TAureliusDataSet. The result is a fluid
application.

You can Edit one entity, a TLIST<> or a Cursor to your database. You can
access all the properties of your Entity as fields on the Dataset. It is
very handy to deal with LiveBindings.

See, since it is Firemonkey this is the only way if not manual). But I can
tell you, after getting some experience it is reliable and fast enought for
work based on XE7

REMOTEDB

it is the product that permit you connect remotely, you have a server based
on the http.sys that is the core windows http service and you "write" a server
based on the documentation. I could add some flavors of my interest of the
comunication between client and server. (there is another layer called Sparkle
that is the real http transport here, but just to be simple)

The good thing is that you isolate the native database drivers and you can
have either mobile using it to connect to your database

XDATA

I am about to move my application to use it. In my case I am waiting for
a new feature where I would be capable to use Aurelius over XData. XData
is a OData standard way to share your data. You create your own server following
the examples and you can use Aurelius in the server side to create your business
module.

With eh upcoming feature you will be also possible to use Aurelius with the
Xdata result. Then you can hide business logic on the server side and publish
only what is relevant.

FLEXCEL

This is the way to go for Reporting. It is not only reporting, but for me
is a fantastic tool.

It has a core based on excel spreadsheet, you can load, create, change, save
them, in ANY Platform.

But there is a way to use TEMPLATES. So in my ERP i have created XLS templates
that are embeded on the exe as resources (25k), then I load it and pass the
Aurelius results from queries based on Linq. The result is commonly a TList<entity>
or can be anything else. But the Entity objects can be directly accessed
from the Excel Template!

And the good thing is that it works on any platform! it is very fast. Much
better than FastReports. Easier to work. You can do a lot more, and you can
even let your customer create Excel templates (wich customer you have that
does not know how to use them?)

My ERP is already in use on a big chain pilot project. No trouble at all.

I do not work for TMS, but their support was so help ful for me in many cases
that I have to give you this information.

I am extremelly satisfied. The price is not high for the product benefits,
and the result is professional.

Any other specific question please let me know...

Eduardo Elias

Hi + tx for any answer.

I am in the process of refactoring/reworking/migrating our codebase
for the latest Delphi versions. Most of our library-like code will be
replaced by 3rd party products. We will try to isolate our core
business logic and everything that can be standardized and outsourced
will be replaced. So, that´s the plan. :- )

When it comes to persistence I would be very happy if you would share
your experience with the abovenamed ORMs. What are the pros, what are
the cons, why did you prefer one over the others. How is support and
maintainance?

May thanks in advance!

Bernd
Bernd Maierhofer

Posts: 161
Registered: 9/27/99
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 2, 2015 12:27 AM   in response to: Eduardo Elias in response to: Eduardo Elias
Dear Eduardo,

many thanks for this detailed info!

Did you have a look at EntityDAC or mORMot too? If yes, what were the
reasons that spoke aginst them?

Many thanks for an answer, I appreciate your input very much!

Bernd

"Eduardo Elias" wrote in message news:715620 at forums dot embarcadero dot com...

Bernd

I can tell you about my experience with Aurelius and other TMS products.

One year ago I started a new project for a ERP and needed to have it in a
more modernized way. Pretty much the way you intend to do.

I had some goals:

- using modern Delphi language features. I had no need to be compatible with
anything from previous versions.

- capable of going crossplatform (so it is FIREMONKEY): in my case i have
an entire ERP running on android :) very nice this. This is important since
we are now in a multi OS era. There is no guarantee on wich platform will
remain in 10 years.

- possibility of isolate modules, or even replace them in case of the
vendor/open
source gets out of the market (or just not get more updates)

- something I could understand withou need to be a phD on the area.

I choose the TMS products because they met this parameters for me.

This is my current result:

AURELIUS

I have Aurelius as my ORM layer. I have an application based on MVP, so my
Model part understands Aurelius entities. That are plain simple classes.
I have created my base class with all funcionality needed and Aurelius does
the rest.

It is fast, and it is bugs free. I have it working on real conditions for
1 year now and did not get any problem at all.

The Idea is simple, the code is modern, and it relies on the new delphi
language
features.

It is compatible with mobile and then you can have all the functionality
on Android or whatever you need. Using most of the important databases,
including
SQLite

I am using frames to create the view part of my MVP. I wire everything with
LiveBInding and Aurelius provides to you a TAureliusDataSet, a fantastic
TDataSet descendant that publish by several ways the entities you get from
the ORM.

Right now it is very handy to me, since I have my data prepared on a
parallel
thread and when done it is set to the TAureliusDataSet. The result is a
fluid
application.

You can Edit one entity, a TLIST<> or a Cursor to your database. You can
access all the properties of your Entity as fields on the Dataset. It is
very handy to deal with LiveBindings.

See, since it is Firemonkey this is the only way if not manual). But I can
tell you, after getting some experience it is reliable and fast enought for
work based on XE7

REMOTEDB

it is the product that permit you connect remotely, you have a server based
on the http.sys that is the core windows http service and you "write" a
server
based on the documentation. I could add some flavors of my interest of the
comunication between client and server. (there is another layer called
Sparkle
that is the real http transport here, but just to be simple)

The good thing is that you isolate the native database drivers and you can
have either mobile using it to connect to your database

XDATA

I am about to move my application to use it. In my case I am waiting for
a new feature where I would be capable to use Aurelius over XData. XData
is a OData standard way to share your data. You create your own server
following
the examples and you can use Aurelius in the server side to create your
business
module.

With eh upcoming feature you will be also possible to use Aurelius with the
Xdata result. Then you can hide business logic on the server side and
publish
only what is relevant.

FLEXCEL

This is the way to go for Reporting. It is not only reporting, but for me
is a fantastic tool.

It has a core based on excel spreadsheet, you can load, create, change, save
them, in ANY Platform.

But there is a way to use TEMPLATES. So in my ERP i have created XLS
templates
that are embeded on the exe as resources (25k), then I load it and pass the
Aurelius results from queries based on Linq. The result is commonly a
TList<entity>
or can be anything else. But the Entity objects can be directly accessed
from the Excel Template!

And the good thing is that it works on any platform! it is very fast. Much
better than FastReports. Easier to work. You can do a lot more, and you can
even let your customer create Excel templates (wich customer you have that
does not know how to use them?)

My ERP is already in use on a big chain pilot project. No trouble at all.

I do not work for TMS, but their support was so help ful for me in many
cases
that I have to give you this information.

I am extremelly satisfied. The price is not high for the product benefits,
and the result is professional.

Any other specific question please let me know...

Eduardo Elias

Hi + tx for any answer.

I am in the process of refactoring/reworking/migrating our codebase
for the latest Delphi versions. Most of our library-like code will be
replaced by 3rd party products. We will try to isolate our core
business logic and everything that can be standardized and outsourced
will be replaced. So, that´s the plan. :- )

When it comes to persistence I would be very happy if you would share
your experience with the abovenamed ORMs. What are the pros, what are
the cons, why did you prefer one over the others. How is support and
maintainance?

May thanks in advance!

Bernd
Eduardo Elias

Posts: 319
Registered: 9/20/12
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 2, 2015 4:36 AM   in response to: Bernd Maierhofer in response to: Bernd Maierhofer
Bernd,

I have not spoke against the other products. I told you my experience with
Aurelius in a big project that I am involved with.

As you know is hard to choose technology for a project. It is basically predict
the future in many ways.

I read several docs from mORMot and considered it for the project either.
I have not take a look on EntityDAC, it was not available at the moment I
have started the project.

It is hard to compare Aurelius and mORMot, since Aurelius is a ORM exclusivelly
and mORMot does much more than an ORM.

My point in selecting Aurelius was that I wanted to start using this technology
pattern with caution, and in some sense I could understand clearly the objective
and get prepared for what I wanted with the information provided by Aurelius.

mORMot has a lot of documentation and info on their forum. However you need
to expend a good amount of time to understand what does what, and see what
you really need.

My major concern was portability. I needed a ORM that run on Android. When
it comes to server side mORMot has many options. If you take Aurelius+XData
or Aurelius+RemoteDB you have many important pieces together as server side
either.

So, I did not say the others are bad, just the reasons I think Aurelius and
other TMS products came to my help.

I have not find any limitation up to now working with them. As the project
is growing I am able to build new blocks. Eventually mORMot have many of
them already done, but I was in a hurry and need to be straightfoward. I
needed to attend few points and be covered if needed. This is another reason
I prefered Aurelius, simple documentation with enought information to my
work and as a company I could surelly count with support (since I already
knew their support is good).

It is hard to select, if you have time you need to take documentation of
each one and play a little. On the Aurelius side there are documentation
and full working trial that you can download and play with it. In few hours
you will be able to create a cenario and start using it.

Have fun

Eduardo

Dear Eduardo,

many thanks for this detailed info!

Did you have a look at EntityDAC or mORMot too? If yes, what were the
reasons that spoke aginst them?

Many thanks for an answer, I appreciate your input very much!

Bernd

"Eduardo Elias" wrote in message
news:715620 at forums dot embarcadero dot com...

Bernd

I can tell you about my experience with Aurelius and other TMS
products.

One year ago I started a new project for a ERP and needed to have it
in a more modernized way. Pretty much the way you intend to do.

I had some goals:

- using modern Delphi language features. I had no need to be
compatible with anything from previous versions.

- capable of going crossplatform (so it is FIREMONKEY): in my case i
have an entire ERP running on android :) very nice this. This is
important since we are now in a multi OS era. There is no guarantee on
wich platform will remain in 10 years.

- possibility of isolate modules, or even replace them in case of the
vendor/open
source gets out of the market (or just not get more updates)
- something I could understand withou need to be a phD on the area.

I choose the TMS products because they met this parameters for me.

This is my current result:

AURELIUS

I have Aurelius as my ORM layer. I have an application based on MVP,
so my
Model part understands Aurelius entities. That are plain simple
classes.
I have created my base class with all funcionality needed and Aurelius
does
the rest.
It is fast, and it is bugs free. I have it working on real conditions
for 1 year now and did not get any problem at all.

The Idea is simple, the code is modern, and it relies on the new
delphi
language
features.
It is compatible with mobile and then you can have all the
functionality
on Android or whatever you need. Using most of the important
databases,
including
SQLite
I am using frames to create the view part of my MVP. I wire everything
with LiveBInding and Aurelius provides to you a TAureliusDataSet, a
fantastic TDataSet descendant that publish by several ways the
entities you get from the ORM.

Right now it is very handy to me, since I have my data prepared on a
parallel
thread and when done it is set to the TAureliusDataSet. The result is
a
fluid
application.
You can Edit one entity, a TLIST<> or a Cursor to your database. You
can access all the properties of your Entity as fields on the Dataset.
It is very handy to deal with LiveBindings.

See, since it is Firemonkey this is the only way if not manual). But I
can tell you, after getting some experience it is reliable and fast
enought for work based on XE7

REMOTEDB

it is the product that permit you connect remotely, you have a server
based
on the http.sys that is the core windows http service and you "write"
a
server
based on the documentation. I could add some flavors of my interest of
the
comunication between client and server. (there is another layer called
Sparkle
that is the real http transport here, but just to be simple)
The good thing is that you isolate the native database drivers and you
can have either mobile using it to connect to your database

XDATA

I am about to move my application to use it. In my case I am waiting
for
a new feature where I would be capable to use Aurelius over XData.
XData
is a OData standard way to share your data. You create your own server
following
the examples and you can use Aurelius in the server side to create
your
business
module.
With eh upcoming feature you will be also possible to use Aurelius
with the
Xdata result. Then you can hide business logic on the server side and
publish
only what is relevant.
FLEXCEL

This is the way to go for Reporting. It is not only reporting, but for
me is a fantastic tool.

It has a core based on excel spreadsheet, you can load, create,
change, save them, in ANY Platform.

But there is a way to use TEMPLATES. So in my ERP i have created XLS
templates
that are embeded on the exe as resources (25k), then I load it and
pass the
Aurelius results from queries based on Linq. The result is commonly a
TList<entity>
or can be anything else. But the Entity objects can be directly
accessed
from the Excel Template!
And the good thing is that it works on any platform! it is very fast.
Much better than FastReports. Easier to work. You can do a lot more,
and you can even let your customer create Excel templates (wich
customer you have that does not know how to use them?)

My ERP is already in use on a big chain pilot project. No trouble at
all.

I do not work for TMS, but their support was so help ful for me in
many
cases
that I have to give you this information.
I am extremelly satisfied. The price is not high for the product
benefits, and the result is professional.

Any other specific question please let me know...

Eduardo Elias

Hi + tx for any answer.

I am in the process of refactoring/reworking/migrating our codebase
for the latest Delphi versions. Most of our library-like code will be
replaced by 3rd party products. We will try to isolate our core
business logic and everything that can be standardized and outsourced
will be replaced. So, that´s the plan. :- )

When it comes to persistence I would be very happy if you would share
your experience with the abovenamed ORMs. What are the pros, what are
the cons, why did you prefer one over the others. How is support and
maintainance?

May thanks in advance!

Bernd
Arnaud BOUCHEZ

Posts: 143
Registered: 2/17/02
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 2, 2015 5:01 AM   in response to: Eduardo Elias in response to: Eduardo Elias
Eduardo Elias wrote:
My point in selecting Aurelius was that I wanted to start using this technology
pattern with caution, and in some sense I could understand clearly the objective
and get prepared for what I wanted with the information provided by Aurelius.

It perfectly does make sense.

mORMot has a lot of documentation and info on their forum. However you need
to expend a good amount of time to understand what does what, and see what
you really need.

The samples try to make it easier to understand.
See https://github.com/synopse/mORMot/tree/master/SQLite3/Samples
I do not think that https://github.com/synopse/mORMot/tree/master/SQLite3/Samples/28%20-%20Simple%20RESTful%20ORM%20Server is difficult to understand.

My major concern was portability. I needed a ORM that run on Android. When
it comes to server side mORMot has many options. If you take Aurelius+XData
or Aurelius+RemoteDB you have many important pieces together as server side
either.

mORMot has Android support for its client cross-platform ORM, either for FMX apps, or PhoneGap/AJAX apps.
Even as a standalone app (or server!), using FPC - see http://blog.synopse.info/post/2015/03/01/ShowCase%3A-mORMot-with-FPC-on-Android

mORMot is a RESTful client-server from the ground up, it is not an ORM on which you added a remote database access.
So it is closer to Aurelius+XData than Aurelius+RemoteDB.

So, I did not say the others are bad, just the reasons I think Aurelius and
other TMS products came to my help.

Aurelius, as other TMS products are very good.
I met Wagner Landgraf from TMS, which is a very nice and competent person.
Bernd Maierhofer

Posts: 161
Registered: 9/27/99
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 2, 2015 6:48 AM   in response to: Eduardo Elias in response to: Eduardo Elias
Eduardo,

thank you for this clarification.

Bernd

"Eduardo Elias" wrote in message news:716039 at forums dot embarcadero dot com...

Bernd,

I have not spoke against the other products. I told you my experience with
Aurelius in a big project that I am involved with.

As you know is hard to choose technology for a project. It is basically
predict
the future in many ways.

I read several docs from mORMot and considered it for the project either.
I have not take a look on EntityDAC, it was not available at the moment I
have started the project.

It is hard to compare Aurelius and mORMot, since Aurelius is a ORM
exclusivelly
and mORMot does much more than an ORM.

My point in selecting Aurelius was that I wanted to start using this
technology
pattern with caution, and in some sense I could understand clearly the
objective
and get prepared for what I wanted with the information provided by
Aurelius.

mORMot has a lot of documentation and info on their forum. However you need
to expend a good amount of time to understand what does what, and see what
you really need.

My major concern was portability. I needed a ORM that run on Android. When
it comes to server side mORMot has many options. If you take Aurelius+XData
or Aurelius+RemoteDB you have many important pieces together as server side
either.

So, I did not say the others are bad, just the reasons I think Aurelius and
other TMS products came to my help.

I have not find any limitation up to now working with them. As the project
is growing I am able to build new blocks. Eventually mORMot have many of
them already done, but I was in a hurry and need to be straightfoward. I
needed to attend few points and be covered if needed. This is another reason
I prefered Aurelius, simple documentation with enought information to my
work and as a company I could surelly count with support (since I already
knew their support is good).

It is hard to select, if you have time you need to take documentation of
each one and play a little. On the Aurelius side there are documentation
and full working trial that you can download and play with it. In few hours
you will be able to create a cenario and start using it.

Have fun

Eduardo

Dear Eduardo,

many thanks for this detailed info!

Did you have a look at EntityDAC or mORMot too? If yes, what were the
reasons that spoke aginst them?

Many thanks for an answer, I appreciate your input very much!

Bernd

"Eduardo Elias" wrote in message
news:715620 at forums dot embarcadero dot com...

Bernd

I can tell you about my experience with Aurelius and other TMS
products.

One year ago I started a new project for a ERP and needed to have it
in a more modernized way. Pretty much the way you intend to do.

I had some goals:

- using modern Delphi language features. I had no need to be
compatible with anything from previous versions.

- capable of going crossplatform (so it is FIREMONKEY): in my case i
have an entire ERP running on android :) very nice this. This is
important since we are now in a multi OS era. There is no guarantee on
wich platform will remain in 10 years.

- possibility of isolate modules, or even replace them in case of the
vendor/open
source gets out of the market (or just not get more updates)
- something I could understand withou need to be a phD on the area.

I choose the TMS products because they met this parameters for me.

This is my current result:

AURELIUS

I have Aurelius as my ORM layer. I have an application based on MVP,
so my
Model part understands Aurelius entities. That are plain simple
classes.
I have created my base class with all funcionality needed and Aurelius
does
the rest.
It is fast, and it is bugs free. I have it working on real conditions
for 1 year now and did not get any problem at all.

The Idea is simple, the code is modern, and it relies on the new
delphi
language
features.
It is compatible with mobile and then you can have all the
functionality
on Android or whatever you need. Using most of the important
databases,
including
SQLite
I am using frames to create the view part of my MVP. I wire everything
with LiveBInding and Aurelius provides to you a TAureliusDataSet, a
fantastic TDataSet descendant that publish by several ways the
entities you get from the ORM.

Right now it is very handy to me, since I have my data prepared on a
parallel
thread and when done it is set to the TAureliusDataSet. The result is
a
fluid
application.
You can Edit one entity, a TLIST<> or a Cursor to your database. You
can access all the properties of your Entity as fields on the Dataset.
It is very handy to deal with LiveBindings.

See, since it is Firemonkey this is the only way if not manual). But I
can tell you, after getting some experience it is reliable and fast
enought for work based on XE7

REMOTEDB

it is the product that permit you connect remotely, you have a server
based
on the http.sys that is the core windows http service and you "write"
a
server
based on the documentation. I could add some flavors of my interest of
the
comunication between client and server. (there is another layer called
Sparkle
that is the real http transport here, but just to be simple)
The good thing is that you isolate the native database drivers and you
can have either mobile using it to connect to your database

XDATA

I am about to move my application to use it. In my case I am waiting
for
a new feature where I would be capable to use Aurelius over XData.
XData
is a OData standard way to share your data. You create your own server
following
the examples and you can use Aurelius in the server side to create
your
business
module.
With eh upcoming feature you will be also possible to use Aurelius
with the
Xdata result. Then you can hide business logic on the server side and
publish
only what is relevant.
FLEXCEL

This is the way to go for Reporting. It is not only reporting, but for
me is a fantastic tool.

It has a core based on excel spreadsheet, you can load, create,
change, save them, in ANY Platform.

But there is a way to use TEMPLATES. So in my ERP i have created XLS
templates
that are embeded on the exe as resources (25k), then I load it and
pass the
Aurelius results from queries based on Linq. The result is commonly a
TList<entity>
or can be anything else. But the Entity objects can be directly
accessed
from the Excel Template!
And the good thing is that it works on any platform! it is very fast.
Much better than FastReports. Easier to work. You can do a lot more,
and you can even let your customer create Excel templates (wich
customer you have that does not know how to use them?)

My ERP is already in use on a big chain pilot project. No trouble at
all.

I do not work for TMS, but their support was so help ful for me in
many
cases
that I have to give you this information.
I am extremelly satisfied. The price is not high for the product
benefits, and the result is professional.

Any other specific question please let me know...

Eduardo Elias

Hi + tx for any answer.

I am in the process of refactoring/reworking/migrating our codebase
for the latest Delphi versions. Most of our library-like code will be
replaced by 3rd party products. We will try to isolate our core
business logic and everything that can be standardized and outsourced
will be replaced. So, that´s the plan. :- )

When it comes to persistence I would be very happy if you would share
your experience with the abovenamed ORMs. What are the pros, what are
the cons, why did you prefer one over the others. How is support and
maintainance?

May thanks in advance!

Bernd
Bernd Maierhofer

Posts: 161
Registered: 9/27/99
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 2, 2015 11:41 PM   in response to: Bernd Maierhofer in response to: Bernd Maierhofer
Having looked a bit at all the docs my first impression is:

- Aurelius is quick to setup and start with. I nicely integrates with the
other products of TMS. It comes with a designer, wich is quite nice.
However, I have the feeling, that Aurelius is not too versatile and does not
offer that much flexibility, you might need at the end.
- EntityDAC is quite similar to Javas Hibernate, much fiddling with code
generation and configs.
- mORMot is a bit hard to get started with, because it consists of so much.
Offers at a first place design techniques, wich ORM is one part of. If you
stick with these techniques, good. It might be difficult to integrate mORMot
with other products or other design techniques.

I will try to find some time to play with the demos.

brds Bernd

"Bernd Maierhofer" wrote in message news:715472 at forums dot embarcadero dot com...

Hi + tx for any answer.

I am in the process of refactoring/reworking/migrating our codebase for the
latest Delphi versions. Most of our library-like code will be replaced by
3rd party products. We will try to isolate our core business logic and
everything that can be standardized and outsourced will be replaced. So,
that´s the plan. :- )

When it comes to persistence I would be very happy if you would share your
experience with the abovenamed ORMs. What are the pros, what are the cons,
why did you prefer one over the others. How is support and maintainance?

May thanks in advance!

Bernd
Eduardo Elias

Posts: 319
Registered: 9/20/12
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 3, 2015 4:10 PM   in response to: Bernd Maierhofer in response to: Bernd Maierhofer
Hi Bernd

Having looked a bit at all the docs my first impression is:

- Aurelius is quick to setup and start with. I nicely integrates with
the
other products of TMS. It comes with a designer, wich is quite nice.
However, I have the feeling, that Aurelius is not too versatile and
does not
offer that much flexibility, you might need at the end

Eventually this is only feeling, since is hard to get at first time =)

Let me give you some examples that would help you in the topic versatility:

- first of all it is cross platform, that is versatile!

- you have inheritance, that is something very important and very few support
that:
for example... in my software I have the

TEntityContact

TEntityPersonContact(TEntityContact)
TEntityCompanyContact(TentityContact)

TEntityEmployee(TEntityPersonContact)

TEntityCustomer(TEntityPersonContact)

TEntitySuplier(TEntityCompanyContact)

I have many others. When I need to have a simple list of everything

I just ask Aurelius:

Manager.Find<TEntityContact>.AddOrder(TOrder.Asc('name'));

And I got everything. You can handle them as TEntityContact only, or you
can use the "is" statement to check wich type is the object in memory if
you want to tread differently.

Sure you can ask for TEntityCustomer only. It is like working in OOP, each
inheritances adds more. In this case I took the concern the do it right at
beginning, I mean, at each level I only add what is strictly necessary. If
for some reason I need a more specializer TEntityCustomer for example, I
could just add another inheritance.

The entire software will not be changed. Eveything that already works with
TEntityCustomer will understand the new inherited object. Sure that you will
only need to write code for what is new.

So I wrote my entire ERP based on this type of object-entity inheritance.
My business model is now very different. I have base rules that work on the
low level, at base class entities. And at each level I add more rules according
to the need.

The inheritance is great either for connecting things on the view part. Since
I am using FMX and Livebinding and Aurelius can publish all the properties
of the entity as fields, I wire base standard properties to a TListView or
any other grid.

For example:

TListView has Item.Text, Item.Image, Item.Detail1 etc

I have the same properties in my base class, then I have always to wire the
same stuff, from my base class to a TListView for example. If I am using
TEntityCustomer, it will override the base class proeprties and supply the
proper data. If it is a TEntityEmployee the same thing. That is flexibility
!!!

- You have the TAureliusDataSet that you can publish your entities to be
used by the visual controls. You have 4 different ways to pass data to it,
take a look on the documentation you will see how easy is to create threads,
prepare data and then publish it with TAureliusDataset.

Well, there are other things. Right now I have not find anything that could
not be done about data representation and retrieval using Aurelius. I have
a ERP that is growing in complexity.

Have fun.

Eduardo

..

- EntityDAC is quite similar to Javas Hibernate, much fiddling with
code
generation and configs.
- mORMot is a bit hard to get started with, because it consists of so
much.
Offers at a first place design techniques, wich ORM is one part of. If
you
stick with these techniques, good. It might be difficult to integrate
mORMot
with other products or other design techniques.
I will try to find some time to play with the demos.

brds Bernd

"Bernd Maierhofer" wrote in message
news:715472 at forums dot embarcadero dot com...

Hi + tx for any answer.

I am in the process of refactoring/reworking/migrating our codebase
for the latest Delphi versions. Most of our library-like code will be
replaced by 3rd party products. We will try to isolate our core
business logic and everything that can be standardized and outsourced
will be replaced. So, that´s the plan. :- )

When it comes to persistence I would be very happy if you would share
your experience with the abovenamed ORMs. What are the pros, what are
the cons, why did you prefer one over the others. How is support and
maintainance?

May thanks in advance!

Bernd
Bernd Maierhofer

Posts: 161
Registered: 9/27/99
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 3, 2015 10:31 PM   in response to: Eduardo Elias in response to: Eduardo Elias
:- ) Thank you very much, this was indeed clarifiying. Many thanks for your
input!

brgds Bernd

BTW: Seems as if ORM is of not too much interest here.

"Eduardo Elias" wrote in message news:716367 at forums dot embarcadero dot com...

Hi Bernd

Having looked a bit at all the docs my first impression is:

- Aurelius is quick to setup and start with. I nicely integrates with
the
other products of TMS. It comes with a designer, wich is quite nice.
However, I have the feeling, that Aurelius is not too versatile and
does not
offer that much flexibility, you might need at the end

Eventually this is only feeling, since is hard to get at first time =)

Let me give you some examples that would help you in the topic versatility:

- first of all it is cross platform, that is versatile!

- you have inheritance, that is something very important and very few
support
that:
for example... in my software I have the

TEntityContact

TEntityPersonContact(TEntityContact)
TEntityCompanyContact(TentityContact)

TEntityEmployee(TEntityPersonContact)

TEntityCustomer(TEntityPersonContact)

TEntitySuplier(TEntityCompanyContact)

I have many others. When I need to have a simple list of everything

I just ask Aurelius:

Manager.Find<TEntityContact>.AddOrder(TOrder.Asc('name'));

And I got everything. You can handle them as TEntityContact only, or you
can use the "is" statement to check wich type is the object in memory if
you want to tread differently.

Sure you can ask for TEntityCustomer only. It is like working in OOP, each
inheritances adds more. In this case I took the concern the do it right at
beginning, I mean, at each level I only add what is strictly necessary. If
for some reason I need a more specializer TEntityCustomer for example, I
could just add another inheritance.

The entire software will not be changed. Eveything that already works with
TEntityCustomer will understand the new inherited object. Sure that you will
only need to write code for what is new.

So I wrote my entire ERP based on this type of object-entity inheritance.
My business model is now very different. I have base rules that work on the
low level, at base class entities. And at each level I add more rules
according
to the need.

The inheritance is great either for connecting things on the view part.
Since
I am using FMX and Livebinding and Aurelius can publish all the properties
of the entity as fields, I wire base standard properties to a TListView or
any other grid.

For example:

TListView has Item.Text, Item.Image, Item.Detail1 etc

I have the same properties in my base class, then I have always to wire the
same stuff, from my base class to a TListView for example. If I am using
TEntityCustomer, it will override the base class proeprties and supply the
proper data. If it is a TEntityEmployee the same thing. That is flexibility
!!!

- You have the TAureliusDataSet that you can publish your entities to be
used by the visual controls. You have 4 different ways to pass data to it,
take a look on the documentation you will see how easy is to create threads,
prepare data and then publish it with TAureliusDataset.

Well, there are other things. Right now I have not find anything that could
not be done about data representation and retrieval using Aurelius. I have
a ERP that is growing in complexity.

Have fun.

Eduardo

..

- EntityDAC is quite similar to Javas Hibernate, much fiddling with
code
generation and configs.
- mORMot is a bit hard to get started with, because it consists of so
much.
Offers at a first place design techniques, wich ORM is one part of. If
you
stick with these techniques, good. It might be difficult to integrate
mORMot
with other products or other design techniques.
I will try to find some time to play with the demos.

brds Bernd

"Bernd Maierhofer" wrote in message
news:715472 at forums dot embarcadero dot com...

Hi + tx for any answer.

I am in the process of refactoring/reworking/migrating our codebase
for the latest Delphi versions. Most of our library-like code will be
replaced by 3rd party products. We will try to isolate our core
business logic and everything that can be standardized and outsourced
will be replaced. So, that´s the plan. :- )

When it comes to persistence I would be very happy if you would share
your experience with the abovenamed ORMs. What are the pros, what are
the cons, why did you prefer one over the others. How is support and
maintainance?

May thanks in advance!

Bernd
Eduardo Elias

Posts: 319
Registered: 9/20/12
Re: Aurelius vs mORMot vs EntityDAC
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 4, 2015 6:10 AM   in response to: Bernd Maierhofer in response to: Bernd Maierhofer
BTW: Seems as if ORM is of not too much interest here.

Bernd, my main reason of give all that information is that was hard to me
to get this information when I was in need.

I knew from other non delphi sources that it could be benefitial to follow
the ORM way for my project. I explored more about that and then decided to
see what Delphi could give me.

Very few information on this regard, at least there is no breadcrumbs leading
to good sources.

It is hard to take a decision that will impact a software project for years
to come without good sources;

One of my ERP that I made still in use after 18 years, It was started on
Delphi 3. It got stuck on Delphi 6 for eages and then jumped to XE2. But
everything on the base decided many years ago, good or bad, remained.

ORM is so good that I cannot understand how I have survived without it :)

Eduardo

:- ) Thank you very much, this was indeed clarifiying. Many thanks for
your input!

brgds Bernd

BTW: Seems as if ORM is of not too much interest here.

"Eduardo Elias" wrote in message
news:716367 at forums dot embarcadero dot com...

Hi Bernd

Having looked a bit at all the docs my first impression is:

- Aurelius is quick to setup and start with. I nicely integrates with
the
other products of TMS. It comes with a designer, wich is quite nice.
However, I have the feeling, that Aurelius is not too versatile and
does not
offer that much flexibility, you might need at the end
Eventually this is only feeling, since is hard to get at first time =)

Let me give you some examples that would help you in the topic
versatility:

- first of all it is cross platform, that is versatile!

- you have inheritance, that is something very important and very few
support
that:
for example... in my software I have the
TEntityContact

TEntityPersonContact(TEntityContact)
TEntityCompanyContact(TentityContact)
TEntityEmployee(TEntityPersonContact)

TEntityCustomer(TEntityPersonContact)

TEntitySuplier(TEntityCompanyContact)

I have many others. When I need to have a simple list of everything

I just ask Aurelius:

Manager.Find<TEntityContact>.AddOrder(TOrder.Asc('name'));

And I got everything. You can handle them as TEntityContact only, or
you can use the "is" statement to check wich type is the object in
memory if you want to tread differently.

Sure you can ask for TEntityCustomer only. It is like working in OOP,
each inheritances adds more. In this case I took the concern the do it
right at beginning, I mean, at each level I only add what is strictly
necessary. If for some reason I need a more specializer
TEntityCustomer for example, I could just add another inheritance.

The entire software will not be changed. Eveything that already works
with TEntityCustomer will understand the new inherited object. Sure
that you will only need to write code for what is new.

So I wrote my entire ERP based on this type of object-entity
inheritance.
My business model is now very different. I have base rules that work
on the
low level, at base class entities. And at each level I add more rules
according
to the need.
The inheritance is great either for connecting things on the view
part.
Since
I am using FMX and Livebinding and Aurelius can publish all the
properties
of the entity as fields, I wire base standard properties to a
TListView or
any other grid.
For example:

TListView has Item.Text, Item.Image, Item.Detail1 etc

I have the same properties in my base class, then I have always to
wire the same stuff, from my base class to a TListView for example. If
I am using TEntityCustomer, it will override the base class proeprties
and supply the proper data. If it is a TEntityEmployee the same thing.
That is flexibility !!!

- You have the TAureliusDataSet that you can publish your entities to
be used by the visual controls. You have 4 different ways to pass data
to it, take a look on the documentation you will see how easy is to
create threads, prepare data and then publish it with
TAureliusDataset.

Well, there are other things. Right now I have not find anything that
could not be done about data representation and retrieval using
Aurelius. I have a ERP that is growing in complexity.

Have fun.

Eduardo

..

- EntityDAC is quite similar to Javas Hibernate, much fiddling with
code
generation and configs.
- mORMot is a bit hard to get started with, because it consists of so
much.
Offers at a first place design techniques, wich ORM is one part of.
If
you
stick with these techniques, good. It might be difficult to integrate
mORMot
with other products or other design techniques.
I will try to find some time to play with the demos.
brds Bernd

"Bernd Maierhofer" wrote in message
news:715472 at forums dot embarcadero dot com...
Hi + tx for any answer.

I am in the process of refactoring/reworking/migrating our codebase
for the latest Delphi versions. Most of our library-like code will be
replaced by 3rd party products. We will try to isolate our core
business logic and everything that can be standardized and outsourced
will be replaced. So, that´s the plan. :- )

When it comes to persistence I would be very happy if you would share
your experience with the abovenamed ORMs. What are the pros, what are
the cons, why did you prefer one over the others. How is support and
maintainance?

May thanks in advance!

Bernd
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02