RSS 2.0
# Thursday, February 12, 2009

 

Stefan Tilkov is one of the guys behind the fabulous info.com and is a big REST proponent. The talk is titled REST, an alternative to Web Services.

You can watch here or go right to Parleys.com

kick it on DotNetKicks.com Thursday, February 12, 2009 5:37:00 AM (Eastern Standard Time, UTC-05:00) by Hernan Garcia #    Comments [0] - Trackback
Architecture | Methodology | Programming
# Thursday, January 01, 2009

 

Once in a while I like to browse around Codeplex to see what’s new and if I found anything interesting.

Today I found this Gem of a project called Catharsis.
To be able to use it you will need VS 2008 with SP1.
The Guidance Automation Toolkit  and I also installed the GAX SP1
The ASP.NET MVC (BETA) installed via the installer.

What is Catharsis? You may ask. It’s a complete application framework that uses ASP.NET MVC for the UI layer, they mention to support WPF projects as well but I haven’t see it yet, maybe 1.0 version, the current release is 0.95.

But it’s more than that. It’s also a set of tools that integrate with Visual Studio and provide several Wizards to do most task in a very simple way. The solution created is quite complicate but very well organized.

ScreenHunter_02 2009-01-01 23.13.49

Installing Catharsis

In the documentation of how to install Catharsis they recommend using the msi file, but I couldn’t find it in the release, so I have to open the Guidance projects, do a build and them run the msi. This was a non issue, you will be prompted to remove the references to Source Control from the solution when you open it for the first time, just click yes.

Creating your first project.

It’s very simple open the Create new project dialog and you will see a new Catharsis type of project

ScreenHunter_03 2009-01-01 23.19.58

Enter the Name and click Ok, another window shows

ScreenHunter_04 2009-01-01 23.20.26

Click Finish, sit and wait.

At this moment you should be able to set up you Web project as the startup project and the Default.aspx file as the Star up page, hit F5 and see it work. I had a few issues at this point.

The first one was that the project did not compile:
The problem was an extra comma on the file: BaseEntityControllers.cs in the Controllers project under the Project.Web folder. This comma is in the list of Interfaces the class implements.

Once fixed the project compiled with no problems but when trying to run it I had my second issue, the tables in the database have not been created. So I had to run the scripts located at DB_SQLServer in order 01_ first and 02_ afterwards. Notice that the connection string I provide in the wizard was correct since NHibernate can connect to the database, so no sure why the scripts didn’t run.

Note: To run the scripts make sure you change the first line of them to point to your database (they are pointing to a Catalog called Project, maybe this is the problem during the setup wizard?)

Once you have done this, make sure you rebuild the project and hit F5 again and, another problem (the last one). The log4net.dll wasn’t copy into the bin folder of the web solution, so copy it from Assemblies/Log4Net into the proper bin or add a reference from you web project to the log4net dll and rebuild.

After that everything worked fine for me. I will try to port an old asp classic application using this architecture and see what I like and what I don’t, but I suggest you give it a try.

There are several articles at CodeProject on how to do different things and in more details about the architecture, Ioc, Tracking Changes and more.

kick it on DotNetKicks.com Thursday, January 01, 2009 11:38:20 PM (Eastern Standard Time, UTC-05:00) by Hernan Garcia #    Comments [1] - Trackback
Architecture | Frameworks | Programming | Tools
# Friday, December 19, 2008

 

On December 2nd Sharp Architecture released version 0.9.114.

Sharp Architecture is a project created by Billy McCafferty. It’s an architecture framework for web application that uses ASP.NET MVC, NH 2.0.1, NHibernate.Validator, Fluent NHibernate, and Castle Windsor.

From their site:

Pronounced "Sharp Architecture," this is a solid architectural foundation for rapidly building maintainable web applications leveraging the ASP.NET MVC framework with NHibernate.

The overall goal of this is to allow developers to worry less about application "plumbing" and to spend most of their time on adding value for the client by focusing on the business logic and developing a rich user experience.

  • Focused on Domain Driven Design
  • Loosely Coupled
  • Preconfigured Infrastructure
  • Open Ended Presentation

There is of course a strong focus on TDD as well. New on this version (from the change log)

* A Visual Studio 2008 template project has been added under /TemplatesAndCodeGen to get your own S#arp Architecture project up and running quickly
* Replaced Ninject with Castle Windsor
* Added support for behavior driven unit testing
* Unit tests now use an in-memory SQLite database for testing data access methods along with providing an integration verification mechanism to check mappings against a live database
* This will likely be the last interim release before version 1.0

I think that the project templates and wizards are a big plus on this package. In the roadmap for version one this is what we can look for:

* WCF integration
* Hone CRUD capabilities
* Support for multiple databases
* Example of using a Unit of Work to encapsulate non-trivial controller logic
* Scaffolding generators!

There is a discussion group on Google groups to provide support and ask for help.

Another thing that really impress me was the 34 pages Word document included with the release. It’s very detailed, from configuration to usage. There is a explanation for each of the Tiers in the architecture, a tutorial to develop with it that covers the TDD cycle and a set of best practices.

The documentation is very detailed, specially on thing that may seem of minor importance as on how to configure the IDE to be consistent with the sample code!!!

If you haven’t do so, go download it and play with it.

kick it on DotNetKicks.com Friday, December 19, 2008 7:03:00 AM (Eastern Standard Time, UTC-05:00) by Hernan Garcia #    Comments [0] - Trackback
Architecture | Frameworks | Patterns | Programming
# Saturday, November 22, 2008

I will try to create a simple CMS framework on top of the ASP.Net MVC. This will be mostly an exercise, something that I feel I need to try to see how it works. Some of the goals:

  1. The framework will be extensible but opinionated.
  2. The views need to be composite and the markup created by the designer should be very simple with minimum or no code at all.
  3. The framework needs to provide a centralize Exception handler mechanism.
  4. Multiple sites in one install.
  5. Partial views should use a common interface (IViewModule?) so we can provide a modular architecture.
  6. Easy to template by a designer, easy to skin by a designer.
  7. HTML and CSS standards compliance friendly.
  8. In line administration are fully backend integrated to the site.
  9. Testability is paramount, and the framework should come with a good set of unit test as part of the release.
  10. Been able to run the test from inside the framework, so install can diagnose problems.

I will be posting more about this and some code as soon as I have something put together.

kick it on DotNetKicks.com Saturday, November 22, 2008 1:15:45 AM (Eastern Standard Time, UTC-05:00) by Hernan Garcia #    Comments [1] - Trackback
Architecture | Frameworks | Patterns
# Saturday, September 06, 2008
I just came across this series of posts, Architecture by Baseball.
This series seems to be writting for me. I'm a baseball fanatic and I use techniques borrowed from baseball to manage my teams.If you are in a Team lead position or doing some architecture work as part of a team (specially if work in an Agile team) I suggest you read this serie.
I also want to recommend the book Joe Torre's Ground Rules for Winners: 12 Keys to Managing Team Players, Tough Bosses, Setbacks, and Success.
It doesn't matter if you are a Red Sox fan or you hate the Yankees, this is a good book about management in a very competitive and stressful position.Good readings!
kick it on DotNetKicks.com Friday, September 05, 2008 11:22:59 PM (Eastern Standard Time, UTC-05:00) by Hernan Garcia #    Comments [0] - Trackback
Architecture | Books
# Tuesday, August 19, 2008
InfoQ published some videos for sessions at Agile 2008.Agile 2008 was held here in Toronto two weeks ago and I participate as a volunteer.
It was a great experience and the variety and quality of the talks was really good.
From the videos at InfoQ I have to recommend the followings:

We suck less is not enough! David Douglas and Robin Dymond talk about companies that don't fully commit to Agile or just adopt part of the methodologies, failing in the process and (maybe) hurting Agile. I still think that is possible to take some of the Agile practices and implement them with a great deal of success, without having to go all the way. I know that I'm not alone in this train of though but is interesting to see examples in the real world were this is not the case and the consequences of this. Something to have in mind.

The Development of a New Car at Toyota Kenji Hiranabe sessions were a success. In this session he shares his experience meeting Nobuaki Katayama, Chief Engineer at Toyota and what he learned from it. With all the talking about lean that is going on you need to listen to it.
A complete list of videos and publishing dates are available in the Agile 2008 section of the InfoQ site.
kick it on DotNetKicks.com Tuesday, August 19, 2008 9:54:15 PM (Eastern Standard Time, UTC-05:00) by Hernan Garcia #    Comments [0] - Trackback
Architecture | Methodology | Patterns
# Sunday, August 17, 2008
A few weeks ago Jeffrey Palermo published his notion of an Onion Architecture. The first time I saw it was during his MVC presentation at DevTeach Toronto and I really like it. As he mention in his posts this is not a revolutionary technique but mostly a way to clearly express good practices and patterns and a way to maximize decoupling in an intelligent way.I highly recommend that you go ahead and read the series, there is a lot of though put into this.

Layers instead of tiers.

In the past Agile 2008 a have the great pleasure to assist to Mario Cardinal presentation on Separation of Concerns.He mentions the use of “Layered Module” architecture style. What means design thinking about modules as unit of deployment and using IoC and DI between this layers but not internally in the same layer. He also make a good distinction about layers and tiers when he talks about this architecture.You can download his Powerpoint presentation from his website.Mario mentioned that he will doing a presentation or a workshop at DevTeach Montreal so if you are planning to go, make a note to participate.
kick it on DotNetKicks.com Saturday, August 16, 2008 11:15:26 PM (Eastern Standard Time, UTC-05:00) by Hernan Garcia #    Comments [0] - Trackback
Architecture | Patterns | Testing
# Friday, May 16, 2008
Jeffrey Palermo gave a great presentation about the ASP.NET MVC framework.
If you read my blog you know that MVC is kind of an obsession with me.
The presentation used the codecampserver project that use the last drop of the code for the MVC and the last version of Palermo's MvcContrib as well.It was concise and covered the most important topics (at least from my point of view), it was fast paced and good fun.
There was a very nice moment where he shows up how to use a controller to render different views.
Sometimes return Json data amd sometimes return a web page.
You can also see something similar at Iridescence.
It was very interesting to see the architecture of codecamp, he uses a Layered onion architecture for the multi tier architecture, very interesting concept.
I think that you may have used something like this but I never saw this graphical representation and makes a lot of sense. The most traditional representation doesn't work as well as this one. At least for this type of applications.
I recommend that you download the slides for the presentation and take a look at it.One of the things I like the most is that he include the Test as a layer of the architecture.
This is important because It make the tests first class artifacts on the solution and not an after though or something that can be considered as trivial.
I almost forget, Palermo played some very cool music before and after the presentation.
Palermo posted the material for this presentation on his blog.
kick it on DotNetKicks.com Friday, May 16, 2008 1:26:16 PM (Eastern Standard Time, UTC-05:00) by Hernan Garcia #    Comments [0] - Trackback
Architecture | Frameworks | Patterns
# Wednesday, May 14, 2008

I seriously believe that REST is a simple and yet powerful architecture that can be used in most scenarios where web services need to be deployed.

This week the good guys at infoq.com have an interview with Pete Lacey a fervent proponent of REST where he explains the reasons behind his passion. He talk about it and about the WS* stack and why he things that is bloated and not very useful.

I tend to agree with him in most of his opinions specially when talking about security and transactions. I do think that HTTPS is good enough (not actually is very good!) and you can on top of that roll your own security. On the issue of transactions I always thought that not just web services but services in general should be transaction agnostic.

What I mean with transaction agnostic? The service may be part of a transaction but should have no knowledge of it. So the service will receive a request with a payload and sometimes, maybe, return a result. So when you delegate work on that service you should account for that maybe, what happens if the service is not available, etc.

kick it on DotNetKicks.com Wednesday, May 14, 2008 10:05:40 PM (Eastern Standard Time, UTC-05:00) by Hernan Garcia #    Comments [0] - Trackback
Architecture
Add The Dynamic Programmer Mippin widget
Navigation
Archive
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
What I'm reading
Shelfari: Book reviews on your book blog
About the author/Disclaimer
Hernan Garcia I have been a software developer for the last 16 years or so.
I was a journalist before and I still consider myself one.
Besides baseball, programming is my other big passion.

Me on twitter. @TheProgrammer
Certified Scrum Master
© Copyright 2010
Hernan Garcia
Sign In
Statistics
Total Posts: 197
This Year: 15
This Month: 1
This Week: 0
Comments: 70
Themes
Pick a theme:
All Content © 2010, Hernan Garcia