S#arp Architecture Road Map

by alec.whittington 23. September 2010 18:52

The gang and I thought that it would be very fitting to make the first post on the blog the road map. We hope that this road map will be a conversation starter in the group. We also hope this will give a clearer picture to the end users as to the direction the project is going.

S#arp Architecture 2.0

This release is going to be HUGE! Before we lay out the road map, I want to point out that with the 2.0 release, we have changed our mission statement from "Architectural foundation for building maintainable web applications with ASP.NET MVC" to "Architectural foundation for building maintainable applications". While this seems like a small change, we think it is significant. What does this mean to you, the end user? It means we are going to focus on where we think S# really shines, the service (tasks) layer and below. It also means we are going to have better sample applications that showcase using S# in many different types of applications. While we are going to keep Northwind and Who Can Help Me, we are going to add a third sample, one that is more of a real world sample. More on that later.

GitHub changes

Since GitHub now supports organizations, we've created an organization for S#arp Architecture and moved all the code to it. You can find the new repositories here. One of the first things you will notice is that there are more repositories. The repositories consist of:

  • Sharp-Architecture-Build - Our new common build system for the project
  • Who-Can-Help-Me - The Who Can Help Me sample application
  • Sharp-Architecture - The source code for S#arp Architecture
  • Northwind - The Northwind sample application
  • SharpArch.Futures - Common items we find ourselves adding to our projects
  • Sharp-Architecture-Contrib - The contrib project
We decided the project was growing in size (not only project members, but source code as well) and it was time we separated it out a bit more. Expect future blog posts from Jon George on the SharpArch.Futures project. I believe he is planning a small series on the various pieces.

From now on, all code changes will be done against these repositories. All issues should be logged here as well. We will keep the old issues at the Codai repository, but new ones should go here. 

Road Map

This is our loose list of items on the 2.0 road map. This list is not set in stone, but we are pretty sure it has everything we want / need.

  • New build system based on MSBuild
  • New packaging / deployment system
  • Upgraded dependencies
    • NHibernate 3.0
    • Fluent NHibernate 1.1
    • Castle 2.5
  • Spark as default view engine
  • Norm / MongoDB support
  • Azure support
  • Change validation
    • Data Annotations for UI
    • Nhibernate.Validator for Model
  • BDD specification tests using Machine.Specifications
  • Linq Repository + Linq Specifications ala Who Can Help Me
  • Introduction of a Command pattern
  • Use of MEF to even more loosely couple the layers
  • Create a better plugin architecture
  • Better documentation
  • Upgrade Northwind
  • Upgrade Who Can Help Me
  • Create third sample application
    • Multiple Front ends
      • MS MVC with Spark
      • Silverlight with Caliburn.Micro
      • OpenRasta
    • Based on a real world example
    • Increased complexity over Who Can Help Me
I am not going to talk about all items on that list as some of them are yet to be completely fleshed out. As we get to them, we will blog about them as well as document their usage. One thing is for sure, we are still going to remain opinionated towards MS ASP.NET MVC, NHibernate, and Fluent NHibernate. Our default templates (packages) will still be oriented towards these, but we are going to provide alternate samples via templates and blog posts (Anyone wanna teach me WCF?). You might have noticed that we have two items already crossed off, these are complete or in beta.

Templates - say bye bye

Let's face it, the template system has served us really well, but unfortunately it has been one of our biggest weaknesses. We have taken up the challenge to replace it with something better and we believe we have succeeded! I would like to introduce you to Templify. It will now become our default way of providing templates, err, packages. I am not going to go into too much detail as Howard van Rooijen will be posting more about it soon. I will say, good bye to Visual Studio when you need a new S#arp Architecture solution. This tool will also allow end users to create their own packages as well as share them with others. 

Backwards compatibility

S#arp Architecture 2.0 will not be backwards compatible with previous versions, nor will there be an official upgrade path. There will simply be too many changes that could cause problems for us to support. Sorry, but we do feel it is for the betterment of the community as a whole. If members of the community want to step up and provide documentation for an upgrade procedure, we would not be opposed to this.

That is all for now, but please expect more soon. 

 

Tags: , ,

Road Map | S#arp Architecture

Comments

9/24/2010 12:07:08 PM #

trackback

S#arp Architecture 2.0 Road Map

You've been kicked (a good thing) - Trackback from DotNetKicks.com

DotNetKicks.com |

9/24/2010 6:53:24 PM #

osmirnov

Hi,

Great plans. But:
1. Why Spark and not Razor?
2. What about support buses (NServiceBus, RabbitMQ)?
3. What are you think about CQRS architecture?

And thanks for your post.

osmirnov Russia |

9/24/2010 9:11:56 PM #

Howard.vanRooijen

@osmirno - mainly because spark is proven and has more uses than just html rendering (rich emails / pdf). ViewEngines are swappable - so the community is free to provide a Razor one.

Bus support is not on the roadmap - but again - what we are trying to do is make the architecture more flexible so you could easily plug in one!

/h

Howard.vanRooijen United Kingdom |

9/24/2010 11:39:07 PM #

Yura

When you plan to release the second verion of #Arch?

Yura Belarus |

9/25/2010 12:55:16 AM #

alec.whittington

We make it a policy to never discuss release dates. This is an open source project and as such we work it on as we have time and our schedules permit.

alec.whittington United States |

9/24/2010 11:49:36 PM #

g

Re: Spark, it currently breaks jQuery templates, which is the templating system backed by Microsoft. Not that big of a deal to swap out view engines though. The hard part is in rewriting all your view syntax.

Since this is such a big release, should we expect .Net4? Also I'd love to see QuartzNet and Rhino in the samples, but now I'm just getting greedy.

Looks great!

g United States |

9/25/2010 1:00:48 AM #

alec.whittington

Geoffrey,
    Sorry about that, but we have no interest in Razor and feel that Spark is the best option in the field for view engines. Luckily for everyone, as you pointed out, it is very easy to swap out the view engine.

While I am sure MS will be wildly successful with Razor, surely by the number of Morts that will tote the company line, none of us feel it is really that great. The syntax is no better than what is currently there and it is a bit disheartening that Louis works for them on the ASP.NET team and they did not really make use of his knowledge. I know the gentleman that wrote razor as he was a DNN project member at the same time I was. I hope they have great success with it, we just will not provide help with that.

alec.whittington United States |

9/25/2010 2:23:51 AM #

Howard.vanRooijen

Yes - expect .NET 4 and all it's awesomeness!

Howard.vanRooijen United Kingdom |

9/27/2010 10:57:51 PM #

KevDog

The "morts who will toe the company line" bit makes you small and petty. Cut that crap out.

KevDog United States |

9/25/2010 8:10:01 PM #

Hrvoje

Feature list look great! Can't wait to see first releases!

But, as a end user (developer) who wants to use it, I would really like to see tutorials and documentations, perhaps because i'm little bit spoiled with msdn;) Just something to start with. Example apps are also big help.

Keep up a good work!

Hrvoje Croatia |

9/29/2010 2:48:15 AM #

trackback

S#arp Architecture Road Map

Thank you for submitting this cool story - Trackback from progg.ru

progg.ru |

9/29/2010 10:06:42 AM #

Alistair

For the 2.0 release, please try and get the word out more. S# is totally awesome and I'm sure 2.0 will be much more awesome, but the word needs to get out so there are more people using it.

(It's common to post on the mailling list and get no response)

Alistair Australia |

10/4/2010 6:37:11 PM #

Howard.vanRooijen

@Alistair,

we'll definitely try to get the word out more when v2.0 is released!

We also try and answer all the questions on the mailing list - but have been trying for a few months now for people to post technical questions on stack overflow - as many of the questions are not Sharp Architecture questions, but MVC / NHibernate / Fluent NHibernate questions - which are best answered in other forums.

Howard.vanRooijen United Kingdom |

10/6/2010 3:40:23 PM #

trackback

Some thoughts on moving to MSpec

Some thoughts on moving to MSpec

Sharp Architecture Development Blog |

Comments are closed

About the Team

Sharp Architecture was originally created by Billy McCafferty.

The project is currently led by Alec Whittington and the development team currently consists of James Broome, Jon George and Howard van Rooijen

Page List