﻿<?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>Hudson Akridge commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>This reminds me a lot of how the CSLA framework over-complicates the simplest of things.
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment18</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment18</guid><pubDate>Mon, 26 Jan 2009 17:50:43 GMT</pubDate></item><item><title>Lee Campbell commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>@Kryzysztof
  
Seb makes an effort to address some of the downfalls here 
[serialseb.blogspot.com/.../...wo-tier-service.html](http://serialseb.blogspot.com/2009/01/how-to-fix-microsofts-two-tier-service.html)  
  
Good job Seb, but what a waste of everyone's time! Why not just pay Seb and Oren to write the article correctly in the first place ;-)
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment17</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment17</guid><pubDate>Mon, 26 Jan 2009 16:15:31 GMT</pubDate></item><item><title>Krzysztof Kozmic commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>@Chris Smith, @Pete W
  
I don't like your tone. Really, people, give them a break. Ayende pointed out flaws in the document, in a rather strong but not insulting way. What you, or Pete W are doing, is insulting, and I'm not with you on this one.
  
Instead of throwing meat at P&amp;P we should provide constructive feedback so that they can improve with next iteration. _THIS_ is the gist of agile process.
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment16</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment16</guid><pubDate>Mon, 26 Jan 2009 08:47:39 GMT</pubDate></item><item><title>Chris Smith commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>Crack smoking from the P&amp;P people - there's a surprise.
  
  
I think they are saying that the documentation is "agile".  Obviously not the case as it reached a point release before they feedback was considered.  Try approaching the community about how we do things.
  
  
It all looks like regurgitated late 90's COM rubbish rewritten in C#.
  
  
It makes me like the Java culture more every day.
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment15</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment15</guid><pubDate>Sun, 25 Jan 2009 10:37:50 GMT</pubDate></item><item><title>Pete W commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>the fact that you are using "agile development" as an explanation for this kind of design only shows your lack of understanding for the agile development process.
  
  
This code is not a planned milestone in a larger project, it requires a re-write. 
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment14</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment14</guid><pubDate>Sat, 24 Jan 2009 16:17:05 GMT</pubDate></item><item><title>Rob Boucher Jr commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>Hi All,
  
Just wanted to drop a comment here that we are actively looking at this article and will make modifications to it as needed. 
  
  
You all know that we work on the Agile process here, right?  We get something out (perhaps a little early) and then improve it.  Codeplex is for open source and continous improvement with community feedback.   The entire apparchKB on this site is on that premise. On MSDN is official and considered "complete". 
  
  
That said, this artcile obiously needs to be looked at.  If something's not right, we work on it and improve it. 
  
  
I see that there are a flurry of comments on the bottom of the article, so we'll start there with the improvement process and get it to something that makes sense to the community at large.  
  
  
 If you want to mark up the source with revisions, I can make that available to you in Word as well.
  
  
Thanks for providing feedback. 
  
  
Rob Boucher Jr
  
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment13</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment13</guid><pubDate>Sat, 24 Jan 2009 00:20:13 GMT</pubDate></item><item><title>binarycheese commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>+1 for  Lee Campbel
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment12</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment12</guid><pubDate>Fri, 23 Jan 2009 22:57:36 GMT</pubDate></item><item><title>Colin Jack commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>@Krzysztof Kozmic 
  
There are numerous examples of how to design these sorts of systems, I summarized what I'd do in comments on their article but ultimately its just use routing to go to an "action" (so routing to the UserResourceHandler.Create method perhaps) and then use normal object-oriented concepts. Since you've bothered to create repositories and map domain classes use them, for a start by moving behavior into those domain classes.
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment11</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment11</guid><pubDate>Fri, 23 Jan 2009 19:22:04 GMT</pubDate></item><item><title>Robert commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>Regarding Lee Campbell's comment:
  
"Once you have digested those hit Evans DDD and then Ayende's one?"
  
  
Ayende, after Building DSL w/ Boo is published, please start writing a book about DDD. It would be nice to put together all the valuable content written to the blog for so many years. A book on DDD in C# using all the technology stack: Castle, NHibernate, Linq, Rhino projects would certainly attract many. Focus also on practical side:  convention over configuration, fluent interfaces, unit of work, repository, integration, crosscutting concerns, automatic components registration and surely you will have a winner.
  
  
Showing how all these apparently disparate concepts can work together and the details what makes them tick surely is the most valuable aspect.
  
  
For sure I will be buying this one.
  
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment10</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment10</guid><pubDate>Fri, 23 Jan 2009 18:20:29 GMT</pubDate></item><item><title>Lee Campbell commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>LOL. Sorry  Krzysztof, but I am sort of with Ayende here. This is just garbage and should be made fun of. While Ayende is a damn smart man it should not be his "job" to show a massive corporation like M$ how to do theirs. 
  
  
While I did enjoy being an snob and laughing at the code and am also very disappointed that this stuff has been published. Its not like its on some hack blog site, this is endorsed by M$.
  
  
If you are not sure what is wrong with this code, my feeling is that if someone shows you the fix, you will cut and past that and never know why it was crap in the first place.
  
Books: read them ;-)
  
Framework Design Guidelines
  
Head first Design Implementation -or- Implementation patterns
  
  
Those 2 books alone should help you identify the problems with the duplication, string literals, magic numbers, ambiguous arguments, exception strategy (moot maybe). Both are a breeze to read.
  
  
Once you have digested those hit Evans DDD and then Ayende's one?
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment9</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment9</guid><pubDate>Fri, 23 Jan 2009 16:17:53 GMT</pubDate></item><item><title>Jamie commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>I agree with ALMOST everything you said except the bit about return codes.  When updating multiple objects or properties at once, if validation errors happen, you need some way of giving that information back to the user.  Whether you do it with explicit "return codes" like "UpdateResult result = GoDoSomethingWith(thisStuff);" where UpdateResult contains a list of validation errors, or whether it's done automagically behind the scenes by a ModelBinder filling up a ModelState dictionary, the end result is the same - you get a "result code" of sorts that tells the user what they did wrong.
  
  
As for the rest of it - yeah, that stuff's way out in space!
  
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment8</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment8</guid><pubDate>Fri, 23 Jan 2009 14:24:34 GMT</pubDate></item><item><title>Mr_Krzystof  commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>+1 for Krzystof's comments
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment7</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment7</guid><pubDate>Fri, 23 Jan 2009 13:56:35 GMT</pubDate></item><item><title>Ayende Rahien commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>Peter,
  
Did you see my initial reaction for Fluent NHibernate? 
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment6</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment6</guid><pubDate>Fri, 23 Jan 2009 13:08:22 GMT</pubDate></item><item><title>Benny Thomas commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>I have to agree with Krzystof on this.
  
  
Lead the way!
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment5</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment5</guid><pubDate>Fri, 23 Jan 2009 10:52:04 GMT</pubDate></item><item><title>Peter Morris commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>I've not looked at the page, but I am guessing that "busErrors" is short for "Business Errors" and nothing to do with a "Bus".
  
  
I generally agree with what you say about having to do all that work for each business class in your model.  Anything that dictates I need to write something for every class instantly puts me off, because my models are too large for that sort of thing.
  
  
With that in mind though, imagine having to write not only something for each class, but also something for each member of each class too :-)
  
  
[http://code.google.com/p/fluent-nhibernate/](http://code.google.com/p/fluent-nhibernate/)</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment4</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment4</guid><pubDate>Fri, 23 Jan 2009 08:56:11 GMT</pubDate></item><item><title>Krzysztof Kozmic commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>OK, it's ugly - agreed, we all know it.
  
  
Now, the next step would be to contrast this, with a better, more maintainable solution, so that people can see, compare and learn.
  
  
Serousely, this post has only the 10% of the value, you can provide by showing how to do better than that.
  
  
In other words, telling a blind man that he's going in the wrong direction does not help him much, until you tell him where the right direction is.
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment3</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment3</guid><pubDate>Fri, 23 Jan 2009 08:20:35 GMT</pubDate></item><item><title>Benny Thomas commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>Damn, but this gang did get me into TDD.
  
  
But it's a fine place to start if you are worse then this.
  
  
I feel that this is like staircase, you have to take one step after another before you reach nirvana.
  
  
Benny
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment2</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment2</guid><pubDate>Fri, 23 Jan 2009 08:14:07 GMT</pubDate></item><item><title>Aydin Yildirim commented on The Challenger of Architecture Astronauts - Two-Tier Service Application Scenario</title><description>"From the code sample shown, I would surmise that no one actually sat down and actually coded any sort of system with this. Even the most basic system would crumble under the sheer weight of architecture piled on top of the poor system."
  
  
After I've looked at the samples. It looked like a "proof-of-concept" for me. Any way, the samples are just coding without any thought over architectural design. A good architecture should take the complexity imho. 
</description><link>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment1</link><guid>http://ayende.com/3826/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario#comment1</guid><pubDate>Fri, 23 Jan 2009 08:11:55 GMT</pubDate></item></channel></rss>