Web Client Software Factory – MonoRail – Future Deliverables and Directions?

I have been using the Web Client Software Factory ( WCSF ) since its release and have been impressed with its list of services. Of course, I also have no experience with Ruby on Rails and MonoRail to compare it with and have pretty much grown up with the ASP.NET Model.

One of my goals over the next couple of months is to give MonoRail a seriously look. Scott Bellware mentioned he was looking at both the Web Client Software Factory and MonoRail as a web framework in one of his posts:

Evaluating MonoRail for Commercial Enterprise Software Product Development

I am curious where Scott and team decided to go with this as I know that since his post the Web Client Software Factory has been released and presume MonoRail has probably gone through some advancements.

Anyone familiar with both MonoRail and WCSF have a fair comparison of the two and/or a good pulse on where MonoRail is going in the future?


Web Client Software Factory

Obviously the Web Client Software Factory is no Rails ( so I hear anyway :), but you have to come out with a 1.0 version at some point and then look to feedback to find out your positives and negatives as well as get feedback for future versions.

There are a lot of real goodies in the first release of WCSF to help you with Dependency Injection, Model-View-Presenter, Unit Testing Support, Workflow, Url Permissions-based Security, Site Map Services, etc.

When looking at the WCSF Project Roadmap ( bottom of page ), it looks like WCSF will offer more Rails-like services with Data-Drive UIs, Validation, UI Responsiveness, additional support for complex workflows, etc. I can only assume that these vague descriptions may mean AJAX Support, Validation Application Block Support in Enterprise Library 3.0, and perhaps wizards to help with building UI's and data access logic based on database tables ( LINQ to SQL maybe? ). AOP support may be introduced via the new Policy Injection Application Block.

My guess is that the next version of WCSF will be a serious productivity enhancement and give that rich AJAX experience..


Can MonoRail Compete?

Can MonoRail seriously compete with this list of WCSF deliverables no matter how much I hear developers say they prefer the bare-metal feel and cleaner separation of responsibilities? I will be figuring this out for myself over the next few weeks, but I am concerned that the MonoRail Project just does not have enough resources to compete with WCSF. Or maybe my lack of experience with MonoRail has me asking the wrong questions?

To be fair, however, I have been closer to the WCSF Project, watching its every move, participating in forums, and presenting it at Code Camps. I haven't given the MonoRail Project the same fair attention and look forward to spending more time with it and giving it the time it deserves. As with all the Castle Projects, no doubt learn a million things, too.


Best Way to Migrate from ASP.NET to MonoRail?

If an ASP.NET Web Forms Developer wanted to successfully move from ASP.NET to MonoRail, what is the recommended approach other than the Getting Started Examples of course and documentation? Any particularly good online / downloadable examples reflecting current releases? I am curious where a MonoRail novice like myself starts to give it a fair look, evaluate it against WCSF, and find out more about its roadmap and priorities.


Any thoughts and feedback is much appreciated.

By David Hayden

This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.

10 Responses to Web Client Software Factory – MonoRail – Future Deliverables and Directions?

  1. dhayden says:


    Patterns and Practices documentation is always great. I think you’re on your own when learning MonoRail as the “documentation” is the examples on the website, wiki, and various blogs.

    I definitely prefer the MonoRail MVC pattern over the WCSF Model-View-Presenter Pattern. Much simpler and intuitive. It is just the view engines of MonoRail that are a little “different” to me.

    As mentioned above, I am looking forward to the WCSF v2.0 as well as the RC3 of Castle. I think we will see some really cool stuff and perhaps an obvious winner. If they do it right, WCSF v2.0 will rock.

  2. dhayden says:


    The combination is probably possible, however I personally wouldn’t try such a combination until after we see WCSF v2.0 and Castle Project RC3.

    I think ( hope ) the next version of WCSF is going to rock. Their roadmap looks good with the Data Driven UI, AJAX, Validation, EntLib 3.0 Support, and I hope a few other enhancements based on the Issue Tracker.

    MonoRail has a lot of new features, but most of it is stuffed away in the svn repository and unreleased. I am hoping by the time WCSF 2.0 is out we will also see all the new stuff in Castle RC3 and at that point be able to make a clearer decision.

    For me, I am using WCSF now and learning MonoRail and feel good about the decision.

  3. bclubb says:

    So one week in now with trying it out. Did you ever find the documentation that you were asking about to help with the start of learning Monorail? I’ve been going through both WCSF and Monorail right now trying to understand more of the differences and what can be done with each. I think the WCSF docs are fairly impressive and was hoping something along the same lines may have been available.

  4. Benjy says:

    Im just starting out with WCSF. Just a thought. Wouldnt it be possible to have a version of WCSF that has a top layer of MonoRail linking to the lower layers of the usual type of BLL, DAL etc that is already being generated? or does the MonoRail approach preclude using the rest of WCSF/other guidance packages/recipes?


  5. dhayden says:

    Jay, Sean-

    You don’t have to convince me of the wonderful offerings of the Castle Project. I have used Windsor and ActiveRecord many times. Love the offerings.

    After a day of playing with MonoRail I only have really good things to say about it. I love the simplicity and absolutely love the Windsor Integration.

    Later on tonight or tomorrow I will look at the ActiveRecord integration and then I will look more into AJAX and how to create better UI’s with NVelocity. NVelocity has me a little worried only because it is new to me and I think I will miss some of the ASP.NET WebControls.

    I am also wondering about 3rd party hosting and the use of the .rails extension. Much to learn…

  6. David,

    I have been using MonoRail on my last two projects and think it is very solid. Now granted, I am coming from the opposite direction that you are, I have no knowledge of WCSF and have pretty good knowledge now of MonoRail.

    I’ve adopted Nvelocity as the view engine to use as this is the one that was branched by the Castle Team. You have a couple of other options such as Boo and even WebForms.

    As Jay said, The Castle project has alot more to offer than just MonoRail, and when you couple MonoRail with Windsor and ActiveRecord, you have a pretty good foundation for a framework. For the two projects I’m working on at the moment, the persistence needs are a little more complex than what ActiveRecord is designed for, so I opted for NHibernate with these, but if you want quickly persistable entities; then ActiveRecord is the way to go. Along with the ActiveRecord Scaffolding, you can have a UI interface in minutes that is fully persistable.

    I would definately reccommend checking out all the features of Castle Project, as they are all fully useful.

  7. Jay R. Wren says:

    IMO MonoRail solves a problem that not everyone has. Ayende has stated the problem endlessly in his blog: that WebForms are a leaky abstraction. If you don’t feel this is the case and if you don’t have problems with ViewState then the problem that MonoRail solves is probably not a problem that you want to solve. (The problem doesn’t even exist from your point of view!)

    You can continue to use WebForms with MonoRail, but it isn’t the default configuration and getting support from others doing it may be challenging. There is also the Igloo contrib project which does MVC with WebForms without the rest of MonoRail. It may be worth looking into too.

    That said, I strongly feel that CastleProject has much more to offer than just MonoRail. The productivity gains of Windsor and ActiveRecord are huge. But these also solve problems that may not be problems for everyone. Of course if you don’t know what they can do for you, you may not know that there is a better way. Definitely spend some time checking them out.

  8. dhayden says:


    Thanks for the clarification. I start working with it today so my use of terminology thus far is no doubt lacking :)


    I was unclear in the post. I wasn’t planning to migrate an application. I meant to ask how an ASP.NET Developer best starts out learning and using MonoRail other than the GettingStarted and Documentation? I know a lot of times those types of documents lag behind features and was curious if there is an example or guide somewhere that currently reflects the latest offerings and best practices.

    I look forward to the learning process that starts today on MonoRail along with more deep diving into Windsor. Very, very cool stuff.

  9. @David,
    You can run an application in parallel, so you would have MonoRail + WebForms in the same application.
    It is not recommended, but it is possible to do this, and is a supported scenario for migrating the application.

    Most of the things that you mentioned WCSF has in your post (and what is it about to have) already exists in MonoRail’s stack. The one thing that I am not sure about is Workflow, because I am not sure what exactly you mean here. MonoRail has support for complex wizards, which may end up the same thing.

    I find that using MR gives me a lot more freedom to do what I need to do in a clean way, and I can get stuff done faster.
    The WCSF has to deal with all the complexity of web forms in order to add additional functionality, MonoRail simply has to output the correct text.
    This means that it is in a much better position in this regard.

  10. Bob says:

    You aren’t really moving from ASP.NET to MonoRail, since MonoRail is an ASP.NET framework. You would be moving from WebForms to MonoRail. The rest of the ASP.NET features can be used with MonoRail.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>