NHibernate Trunk for very large project

15 views
Skip to first unread message

Max André Bündchen

unread,
Jul 13, 2010, 5:00:24 PM7/13/10
to nhusers
That's my first post at nhusers! I found many older post about some of
my subjects but I can't get a conclusion by myself. The questions is
general, not detailed, but I hope I can get some tips from the
experienced users about a direction.

My team is migrating a large project to .Net (large means we have
about 400 tables in the database splited in 12 integrated modules) and
we would like to use NHibernate + Linq (that's the reason to use the
trunk version) to manage data access instead of direct access and T-
SQL (the current not-.Net version works with T-SQL).

My questions are about:

1. Performance in cases with huge meta-data/tables (I know, it depends
a lot of other things).
2. There's many post in the group talking about the successful use of
the new Linq provider in production environments, but is it
recommended by the developers? The 2k+ unit tests used to verify the
trunk say yes. :)

Sorry for some mistakes, but English is my third language. :(

Diego Mijelshon

unread,
Jul 13, 2010, 9:23:19 PM7/13/10
to nhu...@googlegroups.com
What is your question 1? What are your concerns? (I see no question marks there...)

And 2... yes, the LINQ provider is working well, which doesn't mean it's perfect.
I'm not a NH committer, but I'd recommend it without hesitation.
 
    Diego



--
You received this message because you are subscribed to the Google Groups "nhusers" group.
To post to this group, send email to nhu...@googlegroups.com.
To unsubscribe from this group, send email to nhusers+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.


Mohamed Meligy

unread,
Jul 14, 2010, 2:56:50 AM7/14/10
to nhu...@googlegroups.com
NHibernate is fine for dealing with this number of tables. Typically the number of tables affects only two things:

- Design time support, if your ORM has a designer that shows all tables
Of course this is not the case with NHibernate. No designer! So, you should not have the issue at all.
(BTW: This is a known major issue with other options like Entity Framework, going near q00 tables makes designer performance go down, also, this is not a problem in some professional 3rd party designer-like tools like LLBLGen, and not an issue of course in LLBLGen ORM itself)

- Startup time: Reading the tables metadata in run-time when the application starts
This will be your main issue I guess. It'll take quite sometime for the application to start. (This is the step of creating configuration and session factory I'm talking about, typically written in application start).
You can make it less harmful by caching the configuration (mapping, etc) and loading from a cache file. There was another thread in the list talking about that. This will save you a lot eveyr time you load from the cache, yet when the configuration changes and the configuration needs to be built not got from cache, it'll still take sometime.
(Yes, this is an issue also for Entity Framework, and not an issue for LLBLGen ORM as it doesn't load this in runtime but generates it)

During application tasks like read and save etc, number of tables should not count I think.


Regarding LINQ provider. It's fine I guess. I'm one of those using it in production. Not everything is supported, but not worse than Entity Framework LINQ provider itself I guess. You'll not find a 100% LINQ hero even from Microsoft itself if you ask me.

--
Mohamed Meligy
Senior Developer, Microsoft Technologies - Technical Delivery Group
Injazat Data Systems
P.O. Box: 8230, Abu Dhabi, U.A.E. (GMT+4)

Direct:     +971   2 4045385
Mobile:    +971 50 2623624, +971 55 2017 621
Email:     Eng.M...@gmail.com
Weblog:  http://gurustop.net

Jason Dentler

unread,
Jul 14, 2010, 6:46:00 AM7/14/10
to nhu...@googlegroups.com
As Mohamed said, you will have a longer start up time, but this will be the only noticeable effect from your high table count. Caching the configuration will help, especially in development.

Since you already have lots of T-SQL queries, and I assume those have been tuned and work well, you should check in to NHibernate's named queries. This allows you to declare each SQL or HQL (Hibernate query language) query in a mapping file. This means the queries can be parsed, error-checked, and compiled at configuration time. In my opinion, this is the best option, especially when combined with the "Enhanced Query Objects" (EQO) explained in a recent post on Fabio Maulo's blog. It's very powerful and easy to test.

LINQ queries must be compiled at run time. You can use Jose Romaniello's LinqSpecs project to help make composable and testable where clauses, but it's still not as powerful as EQOs.

Of course, you can mix the two. You can use SQL or HQL in your DB-only queries and hide LINQ queries inside EQOs when you also need to reuse that LINQ specification on in-memory objects.

As for using any part of NH 3, including the new LINQ stuff, don't worry. Many people are using the trunk in production already and by the time you complete your porting, NH 3 will surely be released. 

- Jason

Max André Bündchen

unread,
Jul 14, 2010, 7:42:02 AM7/14/10
to nhusers
Thank you very much guys for the detailed explanations: 100% solved,
0% fear remainder.

About the load type, it's the biggest issue I found (the Entity
Framework, as commented, have problems above 50 entities as explained
by the project leader - I lost the referente from this article but
it's searcheable by Google).

One approach I think is develop more than one ORM repository and
duplicate some entities needed in both ways. In my specific project,
there's a full integration but some modules (from de programming
point) are less coupled from the rest of the system. However I don't
see this kind of approach in my experience and don't know about
potential problems beyond the extra maintenance. Any tips/previous
experience?

As we have the ER and the application is much more data-centric than
bussiness-centric, I will addopt CodeSmith (I had work with
MyGeneration and NHibernate 2.x in another, small project) to generate
the classic POCO/HBM code.

Max

Fabio Maulo

unread,
Jul 14, 2010, 8:05:09 AM7/14/10
to nhu...@googlegroups.com
If NHibernate does not have a designer, what is this http://www.slyce.com/ ?
Fabio Maulo

Mohamed Meligy

unread,
Jul 14, 2010, 10:11:35 AM7/14/10
to nhu...@googlegroups.com
By this, I was mainly talking about NH trunk, the NH distribution itself not the third parties.
But anyway, there's number of designers including Visual NHibernate as you mentioned, LLBLGen designer as I mentioned, and ActiveWriter for Castle ActiveRecord (built on top of NH), and many designer-like / code-generators like CodeSmith and MyGeneration templates.
--
Mohamed Meligy
Senior Developer, Microsoft Technologies - Technical Delivery Group
Injazat Data Systems
P.O. Box: 8230, Abu Dhabi, U.A.E. (GMT+4)

Direct:     +971   2 4045385
Mobile:    +971 50 2623624, +971 55 2017 621
Email:     Eng.M...@gmail.com
Weblog:  http://gurustop.net



Fabio Maulo

unread,
Jul 14, 2010, 10:16:41 AM7/14/10
to nhu...@googlegroups.com
On Wed, Jul 14, 2010 at 11:11 AM, Mohamed Meligy <eng.m...@gmail.com> wrote:
By this, I was mainly talking about NH trunk, the NH distribution itself not the third parties.
But anyway, there's number of designers including Visual NHibernate as you mentioned, LLBLGen designer as I mentioned, and ActiveWriter for Castle ActiveRecord (built on top of NH), and many designer-like / code-generators like CodeSmith and MyGeneration templates.


Āmīn 
--
Fabio Maulo

Vekaz Turković

unread,
Jul 14, 2010, 10:39:31 AM7/14/10
to nhu...@googlegroups.com
I tried Visual NHibernate about a month ago and it didn't work. I can't remember what it was exactly, but something basic wasn't working at all. It looks promising (and flashy) though. Active Writer has minor issues and doesn't really target NHibernate, and LLBLGen isn't free. Compared to LINQ to SQL, EF, many JPA designers, I'm sorry to say but, NHibernate doesn't really have the kind of designer many of us expect. I know I'm not getting an "Amin" for this, but I had to reply :)

--
Fabio Maulo

Fabio Maulo

unread,
Jul 14, 2010, 1:58:41 PM7/14/10
to nhu...@googlegroups.com
You are welcome.
There are frameworks with a SPECTACULAR visual-designer but then the framework itself does not fit the exigence of "many of our" applications.
Because I'm not a good Picasso, I prefer to write code (C# or XML mostly). 
--
Fabio Maulo

Fabio Maulo

unread,
Jul 14, 2010, 2:06:47 PM7/14/10
to nhu...@googlegroups.com
Another visual-designer
--
Fabio Maulo

Frederic

unread,
Jul 14, 2010, 2:11:01 PM7/14/10
to nhu...@googlegroups.com
A visual designer on a very large project would be like using an Iphone
to code the business logic : sexy, very attractive but not productive.

Vadim Chekan

unread,
Jul 14, 2010, 4:02:09 PM7/14/10
to nhusers
Xml on large project is not sexy and not productive :))))
We had our own ORM on a large project and it allowed both, attribute
and xml mapping. Nobody ever used xml for 5 years because it is yet
another pain point when you do refactoring.
I know, attributes create unwanted dependency of DTO on ORM, but in
practice it did not cause as much problems as xml config.

Vadim.

Vadim Chekan

unread,
Jul 14, 2010, 4:14:58 PM7/14/10
to nhusers
I guess Mohamed means that there is no out of the box designer.
With 3rd party there is always a risk of
lack of cooperation between teams (Fluent is an example)
synchronization: I'm not sure either 3rd party will support NH-3
trunk before official release.
correct me if I'm wrong, but Visual NH is not open-source.

Don't get me wrong: I support NH ecosystem and it is a good thing that
somebody can make money by providing extra service. Just pointing out
what I would consider if deciding to use 3rd party designer.

Vadim.

On Jul 14, 5:05 am, Fabio Maulo <fabioma...@gmail.com> wrote:
> If NHibernate does not have a designer, what is thishttp://www.slyce.com/?
>
> > *Mohamed Meligy*
> > Senior Developer, Microsoft Technologies - Technical Delivery Group
> > Injazat Data Systems
> > P.O. Box: 8230, Abu Dhabi, U.A.E. (*GMT+4*)**
>
> > Direct:     +971   2 4045385
> > Mobile:    +971 50 2623624, +971 55 2017 621
> > Email:     Eng.Mel...@gmail.com
> > Weblog:  *http://gurustop.net*
>
> > On Wed, Jul 14, 2010 at 5:23 AM, Diego Mijelshon <di...@mijelshon.com.ar>wrote:
>
> >> What is your question 1? What are your concerns? (I see no question marks
> >> there...)
>
> >> And 2... yes, the LINQ provider is working well, which doesn't mean it's
> >> perfect.
> >> I'm not a NH committer, but I'd recommend it without hesitation.
>
> >>     Diego
>
> >> On Tue, Jul 13, 2010 at 18:00, Max André Bündchen <maxbundc...@gmail.com>wrote:
>
> >>> That's my first post at nhusers! I found many older post about some of
> >>> my subjects but I can't get a conclusion by myself. The questions is
> >>> general, not detailed, but I hope I can get some tips from the
> >>> experienced users about a direction.
>
> >>> My team is migrating a large project to .Net (large means we have
> >>> about 400 tables in the database splited in 12 integrated modules) and
> >>> we would like to use NHibernate + Linq (that's the reason to use the
> >>> trunk version) to manage data access instead of direct access and T-
> >>> SQL (the current not-.Net version works with T-SQL).
>
> >>> My questions are about:
>
> >>> 1. Performance in cases with huge meta-data/tables (I know, it depends
> >>> a lot of other things).
> >>> 2. There's many post in the group talking about the successful use of
> >>> the new Linq provider in production environments, but is it
> >>> recommended by the developers? The 2k+ unit tests used to verify the
> >>> trunk say yes. :)
>
> >>> Sorry for some mistakes, but English is my third language. :(
>
> >>> --
> >>> You received this message because you are subscribed to the Google Groups
> >>> "nhusers" group.
> >>> To post to this group, send email to nhu...@googlegroups.com.
> >>> To unsubscribe from this group, send email to
> >>> nhusers+u...@googlegroups.com<nhusers%2Bunsu...@googlegroups.com>
> >>> .
> >>> For more options, visit this group at
> >>>http://groups.google.com/group/nhusers?hl=en.
>
> >>  --
> >> You received this message because you are subscribed to the Google Groups
> >> "nhusers" group.
> >> To post to this group, send email to nhu...@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> nhusers+u...@googlegroups.com<nhusers%2Bunsu...@googlegroups.com>
> >> .
> >> For more options, visit this group at
> >>http://groups.google.com/group/nhusers?hl=en.
>
> >  --
> > You received this message because you are subscribed to the Google Groups
> > "nhusers" group.
> > To post to this group, send email to nhu...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > nhusers+u...@googlegroups.com<nhusers%2Bunsu...@googlegroups.com>
> > .

José F. Romaniello

unread,
Jul 14, 2010, 4:24:31 PM7/14/10
to nhu...@googlegroups.com
2010/7/14 Vadim Chekan <kot.b...@gmail.com>

I guess Mohamed means that there is no out of the box designer.
With 3rd party there is always a risk of
 lack of cooperation between teams (Fluent is an example)
 synchronization: I'm not sure either 3rd party will support NH-3
trunk before official release.
 correct me if I'm wrong, but Visual NH is not open-source.


You guys want the best orm, with the best designer, out of the box, free, open source and with the technical support and help desk of microsoft.




Frederic

unread,
Jul 14, 2010, 4:24:30 PM7/14/10
to nhu...@googlegroups.com
ConfOrm or Fluent Nhibernate are both an excellent alternative.


Le 14/07/2010 22:02, Vadim Chekan a �crit :

Frederic

unread,
Jul 14, 2010, 4:43:50 PM7/14/10
to nhu...@googlegroups.com
--
You received this message because you are subscribed to the Google Groups "nhusers" group.
To post to this group, send email to nhu...@googlegroups.com.
To unsubscribe from this group, send email to nhusers+u...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
Oh no !!!!! not the microsoft help desk !!!!!!!!!

Gareth

unread,
Jul 15, 2010, 7:07:56 AM7/15/10
to nhusers
Please forgive me for talking about our tool here, but it was brought
up in the thread.

We are always trying to improve Visual NHibernate and we try to kill
bugs as soon as they are reported. Please let us know about bugs, and
also tell us exactly what features you'd like to see. We like to think
that the way we handle and display entities and mappings is scalable
to extremely large projects. How can we improve?

Yes, it's not free, but we want it to be the best.

I don't want to hijack this thread, so please contact us here:

Email us: http://www.slyce.com/Contact/
Forums: http://forums.slyce.com
Report a bug: http://support.slyce.com

Thanks,
Gareth Hayter.
Slyce Software


On Jul 15, 8:43 am, Frederic <f...@free.fr> wrote:
> Le 14/07/2010 22:24, Jos� F. Romaniello a �crit :
>
>
>
> > 2010/7/14 Vadim Chekan <kot.bege...@gmail.com
> > <mailto:kot.bege...@gmail.com>>

Gareth

unread,
Jul 15, 2010, 7:33:19 AM7/15/10
to nhusers
> With 3rd party there is always a risk of
> lack of cooperation between teams (Fluent is an example)
> synchronization: I'm not sure either 3rd party will support NH-3
> trunk before official release.

Visual NHibernate has a template-designer (see the 'Templates' tab).
You can create a template for NH3 right now if you want to. We will
create bundled NH3 templates in the coming weeks.

As of today, Visual NHibernate can generate Fluent code, as well as
reverse-engineer Fluent projects with no hbm xml. Now you can
visualize your Fluent projects. (it's still in beta, there's probably
bugs...)

Gareth Hayter.
Slyce Software

Max André Bündchen

unread,
Jul 15, 2010, 9:54:29 AM7/15/10
to nhusers
Thank you Gareth and guys who post many points of view about the
designer question.

For the purpose of this post a code generator is the choice, simple
because the solution is data-centric and the ER was well defined. The
adoption of a automated-code (wich I usually don't like) is fast and
functional. I will take a look at Visual NHibernate as an alternative
for CodeSmith (thank you again Gareth for the remainder).

I know I shouldn't but I will talk about Microsoft and the helpdesk.
As a experienced user of Microsoft platform (since Visual FoxPro 3.0 -
argh! - until VS 2010), MSDN Subscriber and rated member of the MSDN
Community I can say that Microsoft has a great, very productive
platform but with some limitations and sometimes without flexibility:
(they have much 'by design' decisions that the community see as bugs
or limitations). The helpdesk, even for MSDN Subscribers is very
limited and the Google search is my best friend.

José F. Romaniello

unread,
Jul 15, 2010, 11:03:37 AM7/15/10
to nhu...@googlegroups.com
Please forgive me too for talking about our tool. 
I work for GenWise and I want to say a word about our brand new product; GenWise Software Factory;

The tool works inside Visual Studio just as the EF designer does. 
It comes with some extensions in order to generate an entire solution with WPF and ViewModels, but you can just disable those if you want to use for entities and mappings.
Also you can define constraints in the dsl model and those constraints are generated for NHV.
You can change the templates that comes by default too, these templates are simple and small.

It goes without saying that we want to make the best tool too. 


regards

2010/7/15 Gareth <gareth...@gmail.com>

Fabio Maulo

unread,
Jul 15, 2010, 11:28:48 AM7/15/10
to nhu...@googlegroups.com
ROTFL!!!
Not only NH has a visual-designer but it has two in competition ;)
--
Fabio Maulo

Frans Bouma

unread,
Jul 15, 2010, 12:19:29 PM7/15/10
to nhusers
Fabio,

LLBLGen Pro v3 has support for NHibernate 2 (hbm files + classes, hbm
files only, FluentNH + classes, FluentNH classes only). Both model
first and database first. http://www.llblgen.com

v3 was released late May 2010. :)

Btw, genwise is not really alive anymore.

FB
Lead developer LLBLGen Pro
http://www.llblgen.com
C# MVP
twitter: http://twitter.com/FransBouma

On Jul 15, 5:28 pm, Fabio Maulo <fabioma...@gmail.com> wrote:
> ROTFL!!!
> Not only NH has a visual-designer but it has two in competition ;)
>
> On Thu, Jul 15, 2010 at 12:03 PM, José F. Romaniello <jfromanie...@gmail.com
>
>
>
> > wrote:
> > Please forgive me too for talking about our tool.
> > I work for GenWise and I want to say a word about our brand new product;
> > GenWise Software Factory;
>
> > The tool works inside Visual Studio just as the EF designer does.
> > It comes with some extensions in order to generate an entire solution with
> > WPF and ViewModels, but you can just disable those if you want to use for
> > entities and mappings.
> > Also you can define constraints in the dsl model and those constraints are
> > generated for NHV.
> > You can change the templates that comes by default too, these templates are
> > simple and small.
>
> > It goes without saying that we want to make the best tool too.
>
> > regards
>
> > 2010/7/15 Gareth <garethhay...@gmail.com>
> >> > > nhusers+u...@googlegroups.com<nhusers%2Bunsu...@googlegroups.com>
> >> .
> >> > > For more options, visit this group at
> >> > >http://groups.google.com/group/nhusers?hl=en.
>
> >> > Oh no !!!!! not the microsoft help desk !!!!!!!!!
>
> >> --
> >> You received this message because you are subscribed to the Google Groups
> >> "nhusers" group.
> >> To post to this group, send email to nhu...@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> nhusers+u...@googlegroups.com<nhusers%2Bunsu...@googlegroups.com>
> >> .
> >> For more options, visit this group at
> >>http://groups.google.com/group/nhusers?hl=en.
>
> >  --
> > You received this message because you are subscribed to the Google Groups
> > "nhusers" group.
> > To post to this group, send email to nhu...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > nhusers+u...@googlegroups.com<nhusers%2Bunsu...@googlegroups.com>
> > .

Frans Bouma

unread,
Jul 15, 2010, 12:29:33 PM7/15/10
to nhu...@googlegroups.com
Oops, I see in apost in this thread they're still alive!

FB

> > >> > > nhusers+u...@googlegroups.com<nhusers%2Bunsubscribe@goog
> > >> > > nhusers+legroups.com>


> > >> .
> > >> > > For more options, visit this group at
> > >> > >http://groups.google.com/group/nhusers?hl=en.
> >
> > >> > Oh no !!!!! not the microsoft help desk !!!!!!!!!
> >
> > >> --
> > >> You received this message because you are subscribed to the Google
> > >> Groups "nhusers" group.
> > >> To post to this group, send email to nhu...@googlegroups.com.
> > >> To unsubscribe from this group, send email to

> > >> nhusers+u...@googlegroups.com<nhusers%2Bunsubscribe@googlegr
> > >> nhusers+oups.com>


> > >> .
> > >> For more options, visit this group at
> > >>http://groups.google.com/group/nhusers?hl=en.
> >
> > >  --
> > > You received this message because you are subscribed to the Google
> > > Groups "nhusers" group.
> > > To post to this group, send email to nhu...@googlegroups.com.
> > > To unsubscribe from this group, send email to

> > > nhusers+u...@googlegroups.com<nhusers%2Bunsubscribe@googlegro
> > > nhusers+ups.com>


> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/nhusers?hl=en.
> >
> > --
> > Fabio Maulo
>

> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To post to this group, send email to nhu...@googlegroups.com.
> To unsubscribe from this group, send email to

> nhusers+u...@googlegroups.com.

José F. Romaniello

unread,
Jul 15, 2010, 2:16:11 PM7/15/10
to nhu...@googlegroups.com
Yes, and we have a brand new product that run inside Visual Studio.

regards

2010/7/15 Frans Bouma <fr...@sd.nl>

Vadim Chekan

unread,
Jul 15, 2010, 5:31:25 PM7/15/10
to nhusers
Fabio,
Who has rights to edit NH home page? It would be beneficial to
everybody to add "commercial offers" section and list those folks.

Vadim.

On Jul 15, 11:16 am, José F. Romaniello <jfromanie...@gmail.com>
wrote:

John Davidson

unread,
Jul 15, 2010, 7:14:34 PM7/15/10
to nhu...@googlegroups.com
I will add it to the Features list and hopefully expand that page. Then link it from the Home page. More this weekend

John Davidson

Fabio Maulo

unread,
Jul 16, 2010, 5:44:15 PM7/16/10
to nhu...@googlegroups.com
mmmmm.... wait a minute and please contact me in private...
all commercial products you are seeing in nhforge has some sort of collaboration
--
Fabio Maulo

Gareth

unread,
Jul 16, 2010, 8:59:44 PM7/16/10
to nhusers
Shouldn't our focus (all of us) be to grow and promote the entire
NHibernate ecosystem? A stronger ecosystem benefits everyone. When
managers and decision makers need to evaluate whether NHibernate is
well supported and growing - what better way than to show that the
core-development, community, tooling and commercial support are
flourishing.

Where can the entire NHibernate universe be promoted well? I would
have thought that NHForge would be perfect - that's why we were all
asked a while back to add links to NHForge on our websites, which we
did ( http://www.slyce.com/Links/ ). It would be good to have all the
links to tools (open-source and commercial) in one place. People have
different needs - some only like open-source and won't touch
commercial, others want what commercial tools offer. At the moment new
users need to google for these things.

Let's make it easier for people to adopt NHibernate.

Gareth Hayter.
Slyce Software

sbohlen

unread,
Jul 17, 2010, 6:26:16 AM7/17/10
to nhusers
I think its reasonable consider creating some area on NHForge that
helps increase awareness of commercial offerings in the "NH space" so
long as a few things are made very clear:

a) they are commercial offerings (logos/links not co-mingled with
those of companies that *support* NH directly)
b) *none* of these commercial offerings are in any way 'endorsed' by
NH
c) its made clear to everyone what the 'process' is for any other /
future commercial entities to submit their own logos, etc. to this new
area for inclusion in the list (so that no vendor feels 'excluded'
from this area)

There needs to be a balance here IMO between wanting to make potential
NH adopters aware of the available commercial offerings that can help
make their NH 'experience' better, smoother, (whatever!) and not
having NHForge become a marketing site for commercial NH tooling/add-
ons.

If there was a totally separate 'area' (page, tab, whatever) that
merely listed such things (probably in alphabetical order or something
that didn't imply any kind of "ranking") and provided for a logo,
title, and summary description of the tool (along with a link to the
vendor's product page) I would have no issue with this. Its when it
inadvertently makes it appear as if the NH project 'endorses' one or
more commercial products or the commercial vendors are co-mingled with
commercial entities that have provided support, tools, etc. directly
to the project that I think we cross a line that's a bad idea.

Just my two cents here.

-Steve B.

On Jul 16, 8:59 pm, Gareth <garethhay...@gmail.com> wrote:
> Shouldn't our focus (all of us) be to grow and promote the entire
> NHibernate ecosystem? A stronger ecosystem benefits everyone. When
> managers and decision makers need to evaluate whether NHibernate is
> well supported and growing - what better way than to show that the
> core-development, community, tooling and commercial support are
> flourishing.
>
> Where can the entire NHibernate universe be promoted well? I would
> have thought that NHForge would be perfect - that's why we were all
> asked a while back to add links to NHForge on our websites, which we
> did (http://www.slyce.com/Links/). It would be good to have all the

Frans Bouma

unread,
Jul 17, 2010, 8:03:18 AM7/17/10
to nhu...@googlegroups.com
> I think its reasonable consider creating some area on NHForge that helps
> increase awareness of commercial offerings in the "NH space" so long as a
> few things are made very clear:
>
> a) they are commercial offerings (logos/links not co-mingled with those of
> companies that *support* NH directly)

commercial offerings also support NH, and so much so, that I think
without a pool of commercial tools, NH is going to be a marginal toolkit in
the next few years. Mind you, NH is competing against a growing elephant in
the room, called EF. Whatever one might thing of the quality of EF and what
MS puts on the table in case of tooling, .NET developers all over the world
are exposed to EF in a lot of material provided by MS, be it articles,
magazines, books, tools or frameworks.

Currently the group of mature, supported ('alive') .NET o/r mappers
is very small. Only one of them is open source: NHibernate. The rest is
either commercial or from MS. My prediction is that within the years to
come, what MS offers will become more and more mainstream for developers who
want to use an O/R mapper. Without mature, supported ('alive') solid
tooling, any other framework out there will keel over and lead a small life,
if not die completely.

As the lead developer of a commercial tool for O/R mapping, I can
assure you, free software needs a hell of a lot of 'hands' to get a mature
tool on the table, as it takes a tremendous amount of time to create proper
tooling for these kind of frameworks. I'm sure the energy and will is alive
and kicking in the NH community, the point is: is a large group of
developers willing to spend considerable time on this, for _years_? I think
that's unlikely. See for example the amount of time and effort already spend
on the linq provider, which is still not ready: these kind of tools and
frameworks take so much time to build, if people aren't investing a lot of
time (and thus money!) into these tools/frameworks, they'll either never be
shipped, shipped in an immature state or way too late.

In the beginning of .NET, one could get away with a tool in 'shoddy'
state and not proper support. Today, things are professionalized now. A team
doesn't want to lose time on crappy tools, shitty support or both, they'll
move to the stuff which does work and which comes with full support. That's
also why I think professional tooling for NHibernate is essential for it to
make it survive in the next few years.


> b) *none* of these commercial offerings are in any way 'endorsed' by NH

With this you mean, NH should promote free, open source tools
instead of commercial ones? Or: it should keep everything at the same level?

> c) its made clear to everyone what the 'process' is for any other / future
> commercial entities to submit their own logos, etc. to this new area for
> inclusion in the list (so that no vendor feels 'excluded'
> from this area)
>
> There needs to be a balance here IMO between wanting to make potential NH
> adopters aware of the available commercial offerings that can help make
> their NH 'experience' better, smoother, (whatever!) and not having NHForge
> become a marketing site for commercial NH tooling/add- ons.

offering logo's, links is marketing. So if you create a 'tooling'
page, you have to be aware the page is a marketing page: for tools it's
great to be linked on the website most of the potential customers will go to
eventually.

It works both ways though: for NHibernate it's good to show that
mature tools support the framework. Fabio enlisted some tools for mapping
yesterday (11 or so). Most of them are actually already what I consider
'dead'. (dead==you won't invest time/effort in learning / using that tool
for a multi-year, multi-dev project, as it's not actively maintained nor
used very much). So it will take some work to keep the list up to date.

It also boils down to who decides what though: in what direction
will NHibernate and the tooling eco-system move towards? This too is
important for people to invest time in. MS is re-creating a lot of what
NHibernate and other O/R mapper frameworks like our own already offer, in a
lot of cases with flaws all over the place, but that's not relevant now.
What's relevant is that the story towards developers and teams should be a
'one stop' place to get what you want, from framework, tools to add-ons and
add-on frameworks, without having to search through a lot of (sometimes)
out-dated wiki's, blogposts or sourceforge project pages.

> If there was a totally separate 'area' (page, tab, whatever) that merely
> listed such things (probably in alphabetical order or something that
didn't
> imply any kind of "ranking") and provided for a logo, title, and summary
> description of the tool (along with a link to the vendor's product page) I
> would have no issue with this. Its when it inadvertently makes it appear
as
> if the NH project 'endorses' one or more commercial products or the
> commercial vendors are co-mingled with commercial entities that have
> provided support, tools, etc. directly to the project that I think we
cross
> a line that's a bad idea.

Generally speaking: a company never invests something without
expecting some return (charities aside ;)). A company which is willing to
spend time (and thus money) on helping NHibernate forward, will expect
something in return. If you are not willing to accept that, don't accept the
help. Sure things are ran by volunteers, but that's not an excuse anymore:
the rest isn't ran by volunteers and can spend all their time all day long
on the same things. To keep up with that, you sometimes have to make deals.
Linux is largely developed by commercial developers nowadays, employed all
by companies who rely heavily on linux. I.o.w. it's commercialized to the
last bit in every corner and I fear NHibernate to some extend will move
towards such a system as well, where developers working on it or on the
tooling, are employed to do that, either for 3rd party tools or directly on
the framework.

This will IMHO eventually lead to a more mature ecosystem where
things will sometimes look a bit commercialized. This is inevitable. Like I
said: having a list of tools on a page is marketing, telling people to use
tool x or y IS marketing. Spending time on development of NHibernate or
parts of it full time, payed by the employer, IS marketing: the
employer/company expects to get something in return, be it support hours
payed by NHibernate users, exposure of the company as a team of seasoned
developers etc. I don't see why that's a bad thing, after all, NHibernate,
the eco system arounds it and the users of it benefit.

FB

>
> Just my two cents here.
>
> -Steve B.
>
> On Jul 16, 8:59 pm, Gareth <garethhay...@gmail.com> wrote:
> > Shouldn't our focus (all of us) be to grow and promote the entire
> > NHibernate ecosystem? A stronger ecosystem benefits everyone. When
> > managers and decision makers need to evaluate whether NHibernate is
> > well supported and growing - what better way than to show that the
> > core-development, community, tooling and commercial support are
> > flourishing.
> >
> > Where can the entire NHibernate universe be promoted well? I would
> > have thought that NHForge would be perfect - that's why we were all
> > asked a while back to add links to NHForge on our websites, which we
> > did (http://www.slyce.com/Links/). It would be good to have all the
> > links to tools (open-source and commercial) in one place. People have
> > different needs - some only like open-source and won't touch
> > commercial, others want what commercial tools offer. At the moment new
> > users need to google for these things.
> >
> > Let's make it easier for people to adopt NHibernate.
> >
> > Gareth Hayter.
> > Slyce Software
>

Fabio Maulo

unread,
Jul 17, 2010, 8:19:11 AM7/17/10
to nhu...@googlegroups.com
Frans,
John will prepare a list of links to commercial tools in NHibernate ecosystem.
What we would avoid is a "commercial" competition inside NH-Forge.
To achieve that we will have an "aseptic" list of links with company-name and link to the homepage.
no war for big-logo, no war for big-space, no war for opinions about which is the best...
Peace and Love.

For now on this discussion will continue in NH-development list.

Thanks to all.

P.S I'm going to open the thread there
--
Fabio Maulo

Frederic

unread,
Jul 17, 2010, 8:32:27 AM7/17/10
to nhu...@googlegroups.com
Frans,

I still think that there are different mindsets.

I see MEF, but still I know a lot of project relying on Mono Addins
I see Unity, but yet, windsor, ninject, automap and spring are still alive.

I use EF (no please don't hit me for this) just because I want to
understand what it is. I've been working on very large application for
more than a decade. I'll never be MVP or anything because I work under
the secret of my clients. I can't expose my work neither can I expose my
clients. Well that's a choice, but I have the pleasure to work on very
heavy business logic and data intensive applications.
I think I'm even one of the guy who gives a real shot at M project. I've
been involved in J2E world to.
I've seen that many so called 'tools' that generate code and enhenced
productivity. From CodeSmith to eclipse beta plugins, from the one who
expose com object to vbs, to using xlst or using Code dom. The truth is
that for critical application you don't need
productivity. You need control. To gain control, you have to perfectly
understand what you are using and why you are using it.
Then you can think about the tooling; else you'll loose yourself in
building tools that exists for a need you don't understand.

I also understand that you as a Sofware Editor need to sell the product.
Selling an ORM without the appropriate tooling and when you issue trial
version is not an option. But it does not make your ORM solution better
than another. I know some code templates that where designed to generate
LLBL entities. This mean that as a company founder, you've been taking
the right decision : you leverage your tooling to generate revenue, with
a good orm engine behind.

EF will probably one day be the standard. Or like WF will face a
complete rewrite. The same way one day, LLBL or Nhibernate will be
out-of-date. That's a logical evolution for software.

I use NH because I share the poco approach. And in this area sad to say
(pardon me it's been a while I've not been using LLBL, so I may be
wrong) that Nhibernate is that damn good !

But you are right, you can call it evangelisation, education, demo,
social networking : it is still marketing. And that word in OSS world is
very controversive.

Fred.

Le 17/07/2010 14:03, Frans Bouma a �crit :

Frederic

unread,
Jul 17, 2010, 8:33:47 AM7/17/10
to nhu...@googlegroups.com
Oups...

Frans Bouma

unread,
Jul 17, 2010, 8:44:15 AM7/17/10
to nhu...@googlegroups.com
> John will prepare a list of links to commercial tools in NHibernate
> ecosystem.
> What we would avoid is a "commercial" competition inside NH-Forge.

I think that's a good thing.

> To achieve that we will have an "aseptic" list of links with company-name
> and link to the homepage.
> no war for big-logo, no war for big-space, no war for opinions about which
> is the best...
> Peace and Love.

:)
What'd like to add, as I said earlier, is that you should look
through the eyes of a person who wants to use nhibernate but wants to hit
the floor running: where are the additional frameworks (for validation etc.)
found, so people can find what they want by simply browsing through a list
of tools /frameworks. (as it's not only about mapping: validation,
authorization etc., there are additional frameworks written for nhibernate
which are sometimes hard to find without spending a lot of time).

FB

> <mailto:nhusers%2Bunsu...@googlegroups.com> .


> > For more options, visit this group at
> > http://groups.google.com/group/nhusers?hl=en.
>
> --
> You received this message because you are subscribed to the Google
> Groups "nhusers" group.
> To post to this group, send email to nhu...@googlegroups.com.
> To unsubscribe from this group, send email to
> nhusers+u...@googlegroups.com

> <mailto:nhusers%2Bunsu...@googlegroups.com> .


> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
>
>
>
>
>
>
> --
> Fabio Maulo
>
>
>

Reply all
Reply to author
Forward
0 new messages