Ayende @ Rahien

Hi!
My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:

ayende@ayende.com

+972 52-548-6969

, @ Q c

Posts: 5,953 | Comments: 44,399

filter by tags archive

ORM += 2


I am going to give a talk about the high end usages of OR/M and what it can do to an application design.

I have about one hour for this, and plenty topics. I am trying to think about what topics are both interesting and important to be included.

Here are some of the topics that I am thinking about:

  • Partial Domain Models
  • Persistent Specifications
  • Googlize your domain model
  • Integration with IoC containers
  • Taking polymorphism up a notch - adaptive domain models
  • Aspect Orientation
  • Future Queries
  • Scaling up and out
    • Distributed Caching
    • Shards
  • Extending the functionality with listeners
    • Off the side reporting
  • Queries as Business Logic
  • Cross Cutting Query Enhancement
    • Filters
  • Dealing with temporal domains

Anything that you like? Anything that you would like to me to talk about that isn't here?


Comments

Benedikt Eckhard

You should make a nice workshop with all these topics - not just an one hour talk :-)

what I would be particularily interested in are "customer specific domain models" as needed in Software as a Service.

Ayende Rahien

Benedikt,

I am thinking about doing one, yes.

"customer specific domain models" is what I call adaptive domain models.

Ken Egozi

I am going to give a talk

Where and when?

Steve

I'd like to here under high loads how dynamic queries are better than stored procs

It's a good selling point on why to use an ORM - is it better, worse, why, etc...

Markus Zywitza

What does "Googlizing the Domain Model" mean. Never heard that verb before though it obviously means using Google in a some way. But with which intention? Searching best practices according to the domain? Or to the principles behind the modeling with regard to the domain?

Jon Skeet

+1 to Steve's suggestion. One of the biggest criticisms against ORM is usually "stored procs are faster". It would be good to at least tackle that briefly, even if there isn't time for a complete debunking :)

It would also be good to cover issues which ORM tends to raise - where do you tend to have problems?

Jon

Ayende Rahien

It means integration with Lucene.NET, so you can run google-style queries against the domain model.

Nothing with Google at all, I am afraid.

Ayende Rahien

Jon,

Those are interesting topics, but I don't think that they relate to the subject of the talk

Bart

Ayende,

Any idea when and where the talk will be given?

Francois Tanguay

Great. Sessions have been posted. Means we'll meet there!

Winston Fassett

In addition to Distributed Caching, I'd like to hear a decent discussion of plain old non-distributed caching of entities, collections, queries, etc, and things like the tradeoff between (a) a single query with lots of outer joins and (b) a simple query that relies on caching but may require several subsequent queries depending on cache misses. It seems to me that many people are unaware of the caching capabilities of ORMs and how to best utilize / optimize them. For my part, I'm currently struggling to decide what to cache and when, and so far I haven't seen a good discussion of it.

If you're going to discuss Lucene, many people are going to wonder why they should use it instead of the built-in full-text search in their DB.

Oran

I'm in favor of Queries as Business Logic, but the main stumbling block for me is unit testing them. Do you have pointers to further information on this topic?

Ayende Rahien

Oran,

http://www.ayende.com/Blog/archive/2007/03/09/Querying-is-a-business-concern.aspx

And:

http://www.ayende.com/Blog/archive/2007/03/12/Querying-Is-A-Business-Concern-Sample.aspx

As for testing, in memory DB works very well there.

Chris Chew

How about portioning out a single, contiguous domain into small pieces of cross-team ownership? Basically I'm thinking about using inheritance to provide extensibility to higher-level teams across an enterprise-like organization.

Ayende Rahien

Chris,

Can you give more information about it?

I think that partial domain models covers that, no?

Comment preview

Comments have been closed on this topic.

FUTURE POSTS

  1. Comparing developers - 4 hours from now

There are posts all the way to Jun 30, 2015

RECENT SERIES

  1. The RavenDB Comic Strip (3):
    28 May 2015 - Part III – High availability & sleeping soundly
  2. Special Offer (2):
    27 May 2015 - 29% discount for all our products
  3. RavenDB Sharding (3):
    22 May 2015 - Adding a new shard to an existing cluster, splitting the shard
  4. Challenge (45):
    28 Apr 2015 - What is the meaning of this change?
  5. Interview question (2):
    30 Mar 2015 - fix the index
View all series

Syndication

Main feed Feed Stats
Comments feed   Comments Feed Stats