﻿<?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>jdn commented on Impedance Mismatch and System Evolution</title><description>Test comment for Ayende per our email discussion.  You can delete
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment15</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment15</guid><pubDate>Fri, 25 Jul 2008 19:56:34 GMT</pubDate></item><item><title>jdn commented on Impedance Mismatch and System Evolution</title><description>Depends on what you mean.
  
  
As a software developer, I would not wish the system on anyone.
  
  
But, from a business perspective, trying to 'fix' a cash cow is too risky.  IT people (myself included) are very well known for having brilliant architectural ideas that end up being completely f'd up in implementation, and even if there is only a 5% chance of it happening, it's still a legitimate decision to say "nope, down with your anti-corruption layer" or whatever.
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment14</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment14</guid><pubDate>Fri, 25 Jul 2008 19:55:41 GMT</pubDate></item><item><title>Ayende Rahien commented on Impedance Mismatch and System Evolution</title><description>What is the cost of high level customer requests or contractual bids?
  
If they are making money using this approach, that is wonderful for them, and they should continue.
  
I would watch out for technical debt and the possibility of a grinding halt, but if this is sustainable over the long term, than you have a sweet spot and should remain there
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment13</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment13</guid><pubDate>Fri, 25 Jul 2008 19:41:10 GMT</pubDate></item><item><title>jdn commented on Impedance Mismatch and System Evolution</title><description>Product (division/department/whatever) determines what work gets done according to its own prioritization.  They generate billions of dollars through the system, so they don't care about stuff like anti-corruption layers, only high level customer requests and/or high-paying contractual bids.
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment12</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment12</guid><pubDate>Fri, 25 Jul 2008 17:05:46 GMT</pubDate></item><item><title>Ayende Rahien commented on Impedance Mismatch and System Evolution</title><description>What do you mean by product isn't endorsing that?
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment11</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment11</guid><pubDate>Fri, 25 Jul 2008 17:00:25 GMT</pubDate></item><item><title>jdn commented on Impedance Mismatch and System Evolution</title><description>Product isn't endorsing that, so it isn't allowed.
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment10</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment10</guid><pubDate>Fri, 25 Jul 2008 16:49:14 GMT</pubDate></item><item><title>Ayende Rahien commented on Impedance Mismatch and System Evolution</title><description>Time for the Anti Corruption Layer
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment9</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment9</guid><pubDate>Fri, 25 Jul 2008 16:47:18 GMT</pubDate></item><item><title>jdn commented on Impedance Mismatch and System Evolution</title><description>"The database model is private to the application"
  
  
Imagine you work at a company/client that is the result of 4 mergers.  Or even one.
  
  
This oftentimes isn't even remotely possible.  Talking about 'bad practices' doesn't really apply.
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment8</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment8</guid><pubDate>Fri, 25 Jul 2008 16:41:36 GMT</pubDate></item><item><title>Ayende Rahien commented on Impedance Mismatch and System Evolution</title><description>Aaron,
  
I don't disagree that this is the situation in many cases. I am saying that it should not be this way, and that we should act to ensure that we do not keep existing bad practices in place.
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment7</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment7</guid><pubDate>Fri, 25 Jul 2008 14:51:01 GMT</pubDate></item><item><title>Aaron Erickson commented on Impedance Mismatch and System Evolution</title><description>Ayende-
  
  
I wish databases could be private to applications, but it seems that in almost every company that uses databases today, it comes to pass that the database becomes a:
  
  
* Default integration layer
  
* Reporting API (particularly via views)
  
* Shadow business rule repository (i.e.everything from DBAs re-implementing rules from the app layer defensively to worse)
  
  
It is also endemic that reports are seen as something entirely different than the application, so much so that a vibrant market for independent reporting tools exist.
  
  
I am not saying it is right, but I am saying it is reality.  And in some places, you have DBAs and others whose job security means keeping this reality in place, which means that for the person to move the needle to private data, there is a lot of work cut out, most of it more human engineering and less software engineering.
  
  
Just sayin.
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment6</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment6</guid><pubDate>Fri, 25 Jul 2008 14:20:30 GMT</pubDate></item><item><title>Ayende Rahien commented on Impedance Mismatch and System Evolution</title><description>Mythz,
  
Reports are part of the application.
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment5</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment5</guid><pubDate>Fri, 25 Jul 2008 12:33:35 GMT</pubDate></item><item><title>Mythz commented on Impedance Mismatch and System Evolution</title><description>"[The] database model is going to support far more than your application"
  
  
- Times where i access the db directly (i.e. not via the application layer) is with reporting. 
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment4</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment4</guid><pubDate>Fri, 25 Jul 2008 11:52:21 GMT</pubDate></item><item><title>Colin Jack commented on Impedance Mismatch and System Evolution</title><description>"The database model is private to the application, and is never shared with the outside world"
  
  
I think its worth defining what you mean by application here because, from discussions in ALT.NET forum in the past, I think you mean something quite specific.
  
  
For example I've recently worked for a company that had an internal CRM system and an external one (both just Web apps). Both shared controls and the model/database because there allowing the same behavior (with the internal app having more powerful functionality), so would they be part of one application in this discussion?
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment3</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment3</guid><pubDate>Fri, 25 Jul 2008 11:48:59 GMT</pubDate></item><item><title>Ayende Rahien commented on Impedance Mismatch and System Evolution</title><description>Tudor,
  
I spoke about brown field development a while ago.
  
I worked with weird DBs before using OR/M, it is not as easy as green field, but it is workable
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment2</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment2</guid><pubDate>Fri, 25 Jul 2008 10:03:16 GMT</pubDate></item><item><title>Tudor commented on Impedance Mismatch and System Evolution</title><description>About:
  
  
"[The] database model is going to support far more than your application"
  
  
- this might happen when the new application has to use an old (existing) database, used by a legacy application which can't be modified anymore and doesn't have any other external interface for accessing it's data (like a web service or other API).
  
  
In such cases, especially if the old database don't have a very clean design, an O/RM might help, but also the mappings can be very difficult to implement..
</description><link>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment1</link><guid>http://ayende.com/3443/impedance-mismatch-and-system-evolution#comment1</guid><pubDate>Fri, 25 Jul 2008 09:40:23 GMT</pubDate></item></channel></rss>