﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Ayende Rahien commented on Multi Tenancy - Keep It Simple, REALLY Simple</title><description>Brain,
  
The 3 table DB is dangerous. It will kill your perf in no time the moment you have real data there.
  
Dynamic UI isn't hard, when you start with. But then you have things like "customer A wants dates formatted YYYY-MM-DD" and "customer B wants textboxes to be capital", etc.
</description><link>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment10</link><guid>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment10</guid><pubDate>Fri, 15 Aug 2008 20:52:43 GMT</pubDate></item><item><title>Brian Chavez commented on Multi Tenancy - Keep It Simple, REALLY Simple</title><description>&gt;&gt;dynamic UI is fairly simple to start with. However, when you need to start considering things like validation, error handling, different field types, and so on, you get to realize that this is not really as simple as it seems.
  
  
&gt;&gt;Don't get me started on the 3 tables DB (tblEntities, tblFields, tblFieldValues) that get you so much dynamic it is dynamite.
  
  
I don't think it's T_H_A_T hard.  Complex?, Yes... a little more work than usual? Yes..., but it's rather quite straight forward.  Infact, I'm implementing this same exact strategy for one of my clients, and I haven't hit any "really hard", complexity, or maintainability problems yet.
  
  
Yes, I'd agree, dynamite is dangerous, but it can also help you move mountains.... depending on requirements and needs.
</description><link>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment9</link><guid>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment9</guid><pubDate>Fri, 15 Aug 2008 20:49:08 GMT</pubDate></item><item><title>Ayende Rahien commented on Multi Tenancy - Keep It Simple, REALLY Simple</title><description>I think that I mean Option Strict Off, then
</description><link>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment8</link><guid>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment8</guid><pubDate>Fri, 15 Aug 2008 18:50:09 GMT</pubDate></item><item><title>Jonathan Allen commented on Multi Tenancy - Keep It Simple, REALLY Simple</title><description>In case you care, "Option Implicit" doesn't actually exist. 
  
  
Option Explicit Off means "I don't want to think about local variables"
  
Option Strict Off means "I don't want to think about types"
  
  
</description><link>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment7</link><guid>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment7</guid><pubDate>Fri, 15 Aug 2008 18:47:58 GMT</pubDate></item><item><title>Dilip Krishnan commented on Multi Tenancy - Keep It Simple, REALLY Simple</title><description>In other words composite applications? and a well thought out SOA strategy?
</description><link>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment6</link><guid>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment6</guid><pubDate>Fri, 15 Aug 2008 15:45:51 GMT</pubDate></item><item><title>Ayende Rahien commented on Multi Tenancy - Keep It Simple, REALLY Simple</title><description>So far, I am speaking in broad details.
  
I will outline how I want to actually deal with it in the future.
  
For extesible DB, see the previous posts in the series.
</description><link>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment5</link><guid>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment5</guid><pubDate>Fri, 15 Aug 2008 15:24:34 GMT</pubDate></item><item><title>Bruno commented on Multi Tenancy - Keep It Simple, REALLY Simple</title><description>  
Is it something like DotNetNuke? What about the database extension strategy, what do you do? 
  
  
I´m mantaining and evolving a multi-tenant e-commerce catalog system, it has little variability between tenant requirements and, consequently, well defined extension points in it´s layers, so I guess it´s not big deal regarding extensibility. 
  
  
We´re using an IoC framework -- Windsor, and tricks like a "TenantAwareComponentFactory" with the factory facility to switch tenant specific components -- and metadata is enough for most of my problems.
  
  
Great post series, thanks.
</description><link>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment4</link><guid>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment4</guid><pubDate>Fri, 15 Aug 2008 15:21:46 GMT</pubDate></item><item><title>Tobin Harris commented on Multi Tenancy - Keep It Simple, REALLY Simple</title><description>Regarding Mikes post - this pluggable thing sounds similar to the "composition over inheritance" idea. Any parallels there?
  
  
Also, I think of Rails again, where I can simply type
  
  
class  Employee 
  
   acts_as_tree
  
end
  
  
acts_as_tree is a plugin, and it gives the entity instant tree behaviour (Children/Parent etc).  
</description><link>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment3</link><guid>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment3</guid><pubDate>Fri, 15 Aug 2008 14:21:37 GMT</pubDate></item><item><title>Tobin Harris commented on Multi Tenancy - Keep It Simple, REALLY Simple</title><description>I really liked this post, this is bit especially:
  
  
"Instead of trying to add configurability to the application, or adding dynamic behaviors, we can choose a static approach, one that allows use to make the best use of the tools and approaches that we have."
  
  
On a previous post I commented that the team I am working with want to do the whole "tblEntities", "tblAssociations" etc for a CMS. I much prefer the idea of creating something more concrete, with less meta that, leans on the existing tools and techniques we know and love. 
  
  
I see that, as we enroll new clients, there will always be some customization needed to make the system meet their requirements, but 80% of the hard work is taken care of by the CMS, and at least we'll be working within our comfort zone. 
</description><link>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment2</link><guid>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment2</guid><pubDate>Fri, 15 Aug 2008 14:16:43 GMT</pubDate></item><item><title>MIke commented on Multi Tenancy - Keep It Simple, REALLY Simple</title><description>Perhaps this is the next post, can you elaborate on the way you would accomplish this:
  
  
"just plug in a new piece, and the entire machine keep on chugging along"
  
  
Great series, Thanks.
</description><link>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment1</link><guid>http://ayende.com/3527/multi-tenancy-keep-it-simple-really-simple#comment1</guid><pubDate>Fri, 15 Aug 2008 13:24:42 GMT</pubDate></item></channel></rss>