During lasts weeks we've been planning the adoption of an MVC inplementation for some of our apps, I've worked with some that are commonly used [Maverick, UIPAB, CAB], but since some of our techical goals are not completely covered by any of these, we were in the need to find something more suitable, first of all and since my particular point of view, Maverick implementation is kind of weird an not practical since you have to make many set up tasks before you can use it to loosely couple your User services with your business logic, in other words ... to much effort for poor functionality, in the other hand our apps needed some kind of task persistance wich is not provided by Maverick.

Said that ... UIPAB seemed like a good option, since it is easy to implement for ASP NET apps and it also provides a persistance management mechanism for user tasks, however this implementation is not up to date (last released was for VS 2005), it seems like Microsoft Apps Blocks team abandoned this block in search for a better implemetation with MVP pattern and, as I remember the last release had some issues, especially talking about open navigator which in these case would be necesary, in that time I remember John Nelson had to develop a custom navigator to cover the graph navigator provided by UIPAB.

CAB [Composite UI App Block] is also a good option that also has support for WF, tought, at this moment it only supports implementation for windows apps and not for ASP.NET, it is planned a release of a version for ASP.NET, but in the meantime we needed a solution for ASP.NET.

In the other hand we could also consider WF to provide our app with process workflows, but in these case we see a potential risk, altough we have a working knowledge on this matter as it is a new Microsoft technology which could take us some time to implement in the app.

Searching on the web we found 'Ingenious MVC' that is the target of this post series, in the next post I'll talk about some of the caracteristics we found attractive over the implementations I already mentioned, further posts will be focused on how we develop some changes for Ingenious and implement it in a real world app to support plain vanilla workflows.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Comments


United States Dmitry
August 7. 2007 01:41
Dmitry
Hi Gabriel,

I am looking at some MVC implementation for ASP.NET myself and I came across the Ingenious MVC after finding it at your blog. Did you get a chance to use it and do you have any recommendations at this point?

Thanks,

no site


August 7. 2007 09:49
Gabriel Oliva
Hi Dimitry:

I'm actually using it in an asp net app that has simple workflow funtionality, Ingenious is an MVC Implementation for net 2 and you can use it on ASPNET 2.0 as well as your windows apps, It has covered our needs for this app eventhough we had to make some changes to adap it to our architecture, Ingeniuos supports a task stack (our app uses just one task at a time) it also creates a singleton patern for init (it uses just one task manager for all asp net users wich can lead you to a mess if you let it, what we do is just create one task manager per session, this way your task data is isolated from other app user) and finally, but most important for us is that Ingenious does not have any mechanism to persist tasks state, and as metioned by the Ingenious creator it is not meant to be, as he felt he was imposing some limitations on implementation that could force devs to store state as Ingenious says, so he rather decided no to do it letting you to decide how you are going to manage state, in our case we develop a very simple change to support tasks restore behavior and binary serialization for persistance management, hope this is useful for the purpose, tomorrow Im going to make a new post to share with you some samples on how to use Ingenious.

http://www.itbuilder.com.mx/http://www.itbuilder.com.mx/


United States Dmitry
August 7. 2007 13:58
Dmitry
Gabriel,

Thanks for your feedback. I am looking forward to some samples as the will definitely help. Looks like I will be using a similar approach as you have described. I will require one task at a time with ability to save/restore state. My initial thought was whether it is worth to use a framework such as Ingenious MVC and how much effort is required to customize it to your needs as opposed to creating your own implementation of the MVC pattern. In your experience with Ingenious MVC, how much time (approximately) did it take you to add the necessary customizations to get it to the level of usability required by your application? I appreciate your feedback.

Thanks.

no site


August 23. 2007 07:01
Gabriel Oliva
Dimitry :

Sorry about your last request, I'm being kind of busy so let me share with you the modified Ingenious code we made, hope this is still useful for you, please let me know your comments

http://www.itbuilder.com.mx/http://www.itbuilder.com.mx/


United States Dmitry
September 25. 2007 16:23
Dmitry
Gabriel,

I've been kind of busy myself and we actually ended up writing our own component after the requirements have materialized. Our component is more of a workflow like component. In the heart of it is the state machine implementation that controls the events, states and transitions. A slightly modified version of the application controller pattern is used to execute workflow events. You post, however, along with the IngeniousMVC resulted in me researching this topic further... which was fun Smile

Thanks,
Dmitry

no site


December 13. 2008 10:49
Busby SEO Test
adopting mvc for asp.net

http://pinayspeak.com/pinaytest/http://pinayspeak.com/pinaytest/


December 26. 2008 11:30
Busby SEO Test Pinay
im enjoying to read your article thank you for sharing the info

http://pinayspeak.com/pinaytest/http://pinayspeak.com/pinaytest/


December 27. 2008 05:11
Busby SEO Test Pinay
adopting MVC for ASP.NET 2.0 'Ingeniously'

http://pinayspeak.com/pinaytest/http://pinayspeak.com/pinaytest/

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading



IT Builder

Conoce mas de los servicios de IT Builder y la forma en la que podemos apoyarte a construir software de clase mundial

* Procesos para el desarrollo de software (CMMI, MSF, TSP, PSP, Moprosoft).
* Habilitacion de ambientes colaborativos y automatizacion con Visual Studio Team System.
* Arquitectura de aplicaciones bajo tecnologia Microsoft.
* Construccion de aplicaciones .NET.

www.itbuilder.com.mx
Imaginalo, nosotros lo construimos !

Calendar

«  February 2012  »
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011
View posts in large calendar

MVP

MVP Factor


Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2012 ITB - Gabriel Oliva C.