.NET For Your Information

Un blog más sobre tecnología .NET

Utilidad de Windows Workflow Foundation

with 2 comments

El presente post intentará dar un overview a Windows Workflow Foundation, incluyendo las ventajas y desventajas que pueda traer para nuestros desarrollos de aplicaciones.

Resumidamente, Windows Workflow Foundation es el modelo de programación, motor y herramientas para generar con rapidez aplicaciones basadas en flujos de trabajo en aplicaciones .NET a partir de su versión 3.0.

WF está conformado principalmente por dos categorías, aunque podríamos añadir una tercera que sería un híbrido de las dos primeras:

  • WWF SecuencialWorkflow Secuencial. Está basado en diagramas de flujo y realiza progresos de una etapa a otra sin regresar a etapas anteriores, al menos que se haya definido así en un bucle. Esta categoría es usada para workflows donde no haya interacción con el usuario. Por ejemplo, desarrollar el flujo de trabajo donde se calcule el monto final de una factura donde hayan condiciones como cantidad de productos vendidos, fidelidad del cliente, descuentos propios del producto, y así podríamos seguir añadiendo condiciones hasta llegar a calcular el monto final.
  • Workflow de Máquinas de Estado. Como su nombre lo dice, está basado en el funcionamiento de máquinas de estado, donde al cumplirse un conjunto de condiciones en los atributos de un objeto, pues tendrá un estado en específico que definirá su comportamiento, posibles futuros estados (inclusive estados previamente adquiridos). Esta categoría sí permite la interacción con humanos, por lo que se hace más notable su utilidad. Por ejemplo, cuando necesitamos distintas aprobaciones para una orden de compra, en este caso dicha orden tendrá varios estados a lo largo del flujo de trabajo, e interactuará con distintos roles de usuarios, hasta llegar a su aprobación o rechazo.

Lee el resto de esta entrada »

Written by Alejandro Afonso Spinola

4 agosto 2009 at 10:29 AM

Entity Framework para Aplicaciones Empresariales

with 7 comments

Tal y como comenté en el post de Introducción a Programación en capas con Visual Studio 2008, el Entity Framework (EF) nos provee una nueva forma de generar nuestros métodos de acceso a datos CRUD (create, read, update y delete), además de proveer todo un diagrama de clases a partir del cual se generarán todos los objetos dependiendo de las entidades y relaciones que formen nuestra base de datos. El EF es el ORM (Object-relational mapping) de .NET Framework a partir de su versión 3.5, siendo su principal competidor NHibernate, el cual nace de Hibernate, el ORM de Java por naturaleza.

Entity Framework

Sin duda, la conceptualización y objetivo del EF proporciona una serie de ventajas en el desarrollo de SW: Lee el resto de esta entrada »

Written by Alejandro Afonso Spinola

31 julio 2009 at 11:17 AM

Diferencias entre “Primary key” y “Unique key”

leave a comment »

A pesar de que pueden parecer obvias las diferencias entre “Primary key” y “Unique key”, si pensamos más allá de su concepto lógico, las conclusiones no serán tan claras. He aquí los resultados de mi investigación:

  1. Unique key (UK) acepta valor nulo la primera vez, mientras que el Primary key (PK) no puede ser nulo.
  2. Se pueden tener varios UK, pero una sola PK. Aunque la PK pueda estar conformada por varios atributos, siempre será una sola PK.
  3. Si bien es cierto que se pueden hacer Foreign Keys referenciando a cualquier atributo, sin importar si son PK, UK o cualquier otro, la mejor práctica es hacerlo referenciando a un PK, por concepto de normalización, donde una PK es usada para identificar a cada tupla, mientras que la UK es usada para impedir el duplicado de valores para un atributo.

De antemano se agradece cualquier agregado.

Written by Alejandro Afonso Spinola

29 julio 2009 at 8:50 AM

Introducción a Programación en Capas con Visual Studio 2008

with 9 comments

Si bien todos hemos oído hablar sobre la Programación en Capas, y de los beneficios que trae como mantenibilidad, escalabilidad, y reusabilidad de código, no todos sabemos cuál es la mejor forma de llevarlo a cabo al empezar un proyecto con tecnología Microsoft, y para este caso, con Visual Studio 2008.

En primer lugar, debemos definir cuántas capas va a tener nuestro proyecto. Por lo general, todo proyecto consta de 3 capas: Presentación, Reglas de Negocio y Acceso a Datos. Sin embargo, es posible que se añada una capa de Servicios que exponga los métodos construidos en la capa de Reglas de Negocio para que puedan ser consumidos por otros sistemas, y no sólo por nuestra capa de Presentación.

Para comenzar a construir nuestra solución, debemos iniciar el VS2008. Hacemos click en File -> Other Project Types -> Visual Studio Solutions -> Blank Solution -> Introducimos el nombre de nuestra preferencia en Name -> OK.

BlankSolution

Lee el resto de esta entrada »

Written by Alejandro Afonso Spinola

24 julio 2009 at 8:42 PM

Seguridad en Aplicaciones n-layer

with 2 comments

En primer lugar, debemos definir “seguridad” como una serie de tareas o medidas que se deben implementar en todos los procesos de desarrollo de una aplicación n-layer o conformada por multicapas lógicas, con el fin de evitar cualquier tipo de ataque que pueda acarrear consecuencias tales como: pérdida o transformación de datos, mostrar información confidencial a usuarios no autorizados, entre otras.

Desde siempre, los principios de la seguridad en el desarrollo de aplicaciones han sido los siguientes: Lee el resto de esta entrada »

Written by Alejandro Afonso Spinola

23 julio 2009 at 10:44 AM