Welcome to MSDN Blogs Sign in | Join | Help
Los pasados 3 y 5 de Junio tuvieron lugar nuestras sesiones de Innovation Days en Madrid y Barcelona respectivamente. Podéis descargar las presentaciones y demos aquí.
 

Nos hemos demorado un poco pero por fin hemos subido las presentaciones y las demos del Evento sobre Frameworks y Herramientas RAD para Aplicaciones .NET. Podéis encontrarlas aquí:

Introducción al evento. Desarrollo ágil con frameworks y herramientas RAD 

NHibernate

ADO.NET EF y LINQ to SQL

Spring.NET 

Unity

ASP.NET MVC

Framework Movical

DotNetNuke

SolidRAD

Kalipso

Dynamics CRM 4.0

 

Además, vamos a hacer una webcast en vivo sobre DotNetNuke con Vicenç Masanas el próximo martes 13 de Mayo a las 19.00. Podéis registraros en http://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=38-A0-32-30-71-47-63-F9-95-EF-46-E3-27-23-63-AD&Culture=es-ES tanto para asistir en directo como en diferido a partir del día siguiente.

Los blogs de los ponentes que participaron en el evento son los siguientes:

Unai Zorrilla

Eduardo Quintás

Jesús López

Daniel Sabater

César de la Torre

David Salgado

DotNetNuke

 

Y por último, algunas preguntas y respuestas que surgieron durante el evento:

 

Nosotros en nuestros DAOS tenemos eventos que se lanzan y consumimos para ciertas tareas ¿en nhibernate y en Entity Framework existen estos tipos de eventos?

Eduardo Quintás: 

Si, en NHibernate puedes a nivel de DTO se puede hacer veto de ciertas operaciones implementando la interface siguiente:

 

public interface ILifecycle
{       LifecycleVeto OnSave(ISession s);          

        LifecycleVeto OnUpdate(ISession s);               
 LifecycleVeto OnDelete(ISession s);               
        void OnLoad(ISession s, object id);
}

En entity framework a nivel de entidad tienes los eventos OnPropertyChanged y OnPropertyChanging, en ObjectContext (análogo al ISession de NHibernate) tienes el evento OnSavingChanges();
 

 

Nuestra lógica de negocio está perfectamente implementada en 4GL pero entendemos que tecnologícamente nos hemos quedado atrás. ¿Nos compensa cambiar de paradigma e ir arquitecturas en n-capas, utilizar OO, O/RM, frameworks como spring.net?

 Eduardo Quintás:

No es una respuesta sencilla porque el cambio de paradigma y de arquitectura de aplicación es un esfuerzo económico y de desarrollo grande. Entre otras cosas implica contar, en el mejor de los casos, con desarrolladores y arquitectos con cierta experencia en este nuevo enfoque y hay que medir el ROI respecto al coste de  la  formación del personal técnico, análisis de la reingeniería... tiempo de desarrollo de la reingeniería... principalmente.

Respecto a valorar las ventajas del nuevo enfoque es que es una arquitectura ampliamente probada y nació para suplir las deficencias de arquitecturas monolíticas que escalaban mal; como las basadas en lógica de negocio en SGBDs. Con los años se ha demostrado a través de numerosos casos de éxito que es la mejor arquitectura (o la menos mala) en el desarrollo de aplicaciones empresariales pues reduce el acoplamiento entre capas y la organización está mejor preparada ante la gestión del cambio y escalar mejor en el caso de que nuestro número de usuarios/clientes crezca.

Es muy interensante la lectura de Patrones de Arquitectura Empresarial, tanto de Patterns & Practices de Microsoft como en la página de Martin Fowler: http://www.martinfowler.com/articles/enterprisePatterns.html en ella se explican ventajas y desventajas de estos enfoques.

 

¿Se puede hacer explicita la carga de colecciones lazy en nhibernate?

Eduardo Quintás: 

Sí. Se puede a nivel de HQL, por ejemplo si tenemos una entidad director que tiene una colección de películas que ha dirigido y está mapeada como una relación de carga perezosa puedes hacer en tu consulta algo como "from Director inner join FETCH Movie" ese FETCH hace que se recuperen explícitamente todas las películas en el momento de ejecutar la consulta.

 

Por fin me he decidido a inaugurar un blog en el 2008 y tengo una buena excusa: el evento “Frameworks y herramientas RAD de código abierto y propietario para soluciones .NET” que hemos organizado para los días 21 y 22 de Abril en Madrid y Barcelona respectivamente.

 

Este evento tiene una visión bastante “pionera” y es que en la misma agenda, comparten cartel, frameworks de código abierto de la comunidad, frameworks de código abierto de Microsoft y frameworks y herramientas RAD de Microsoft y de socios tecnológicos españoles.

 

El evento tiene como objetivo describir alternativas para desarrollar aplicaciones .NET más ágil y productivamente, y hacerlo además, con mejor calidad. Las alternativas para desarrollar aplicaciones .NET (no excluyentes) que sugerimos son las siguientes, aunque nos centramos principalmente en la tercera opción:

 

-          Desarrollar directamente con tecnologías .NET (ADO.NET, WCF, WF, LINQ, ASP.NET…)

-          Desarrollar haciendo uso de Patterns & Practices de Microsoft (Guías, recomendaciones, patrones, bloques de código, herramientas, etc..)

-          Desarrollar haciendo uso de frameworks y herramientas RAD de código abierto y propietario

 

Queremos con este evento haceros recapacitar antes de tomar una decisión precipitada. Puede que existan ya soluciones para determinadas necesidades y problemas que encajen perfectamente en el escenario en que os encontráis.

 

Me gusta como lo describe David Carmona en su blog. Los Homo Sapiens, a pesar de tener una capacidad intelectual menor que los Neandertales, sobrevivieron, mientras que los Neandertales no lo consiguieron. Por qué? Básicamente porque tenían mayor capacidad de comunicación y por tanto, pudieron crear una sabiduría colectiva más rápidamente al poder transmitir sus conocimientos y experiencia a sus descendientes.

 

Se trata aquí efectivamente de lo mismo. Debemos aprovecharnos del progreso y avances que compartimos como comunidad de desarrolladores para centrarnos en hacer algo distinto mejor y no invertir nuestro tiempo en problemas ya resueltos hace tiempo y a veces con soluciones maduras y probadas. Es decir, no reinventar la rueda sino apoyarnos en la sabiduría colectiva, y elegir bien entre un amplio abanico de alternativas.

 

En los próximos días incluiré los enlaces para descargar las presentaciones que usemos durante este evento y además intentaré aglutinar aquí las preguntas y respuestas que vayan surgiendo durante el evento o que reciban los ponentes en su correos personales.

 

La agenda del evento con una breve descripción de las sesiones está publicada aquí.

Y algunos enlaces para abrir el apetito:

 

      Patterns & Practices

      nHibernate

      iBatis.NET

      SubSonic

      LINQ TO SQL

      ADO.NET EF

   Castle Windsor

      StructureMap

      Spring.NET

      Unity

      S+S BluePrints

      www.codeplex.com

      Blog codeplex

 

Eso es todo, pero sólo por el momento… To Be Continued

 
Page view tracker