home page
about me
services
solutions
contacts
Soluciones Una contribución a la comunidad
Esta sección esta compuesta de los siguientes items:
  • Descripción de tecnologías y buenas prácticas

  • En esta sección hare un resumen de todas las tecnologías y best practices con las que he trabajado.
  • Revisión de Arquitecturas

  • Hare un repaso sobre las diferentes arquitecturas de desarrollo con las que he implementado mis últimos desarrollos de software.
  • Servicios listos para usar - basados en Web Services
  • Enlaces Interesantes


  • Best Practices
    Para cada tecnologías hare el siguiente resumen:
  • Introducción de la tecnología utilizada
  • Enlace de referencia para ampliar conocimientos
  • Sugerencias para su utilización, basadas en mi experiencia

  • Para esta sección destacare las siguientes tecnologías:
    expand Patrones de Diseño para el desarrollo de software
      i. Introducción
    Tarde o temprano todos los programadores encuentran problemas en el diseño de sus programas. Muchas de esos problemas son comunes independientemente del proyecto, por lo que la solución óptima generalmente suele ser la misma. Cuando se encuentra una solución se tiene un patrón. Los problemas son repetitivos, y la solución óptima generalmente es la misma Resumiendo podríamos decir que un patrón es la solución a un problema en un contexto determinado.
      ii. Enlace de referencia para ampliar conocimientos
    Revista MTJ Patterns de DoFactory
      iii. Sugerencias
    Recomiendo que lean el libro de patrones de software de la banda de los 4 (the gang of four GOF), puesto que es la biblia de los patrones y forman la base de las buenas prácticas de desarrollo (best practices). Hice una lista de los patrones de software que más he utilizado en los diferentes proyectos en los que he participado.
    expand Microsoft Solutions Framework – MSF – Implantation & Reference
      i. Introducción
    Es una guía de referencia que Microsoft utiliza para sus desarrollos de software y que ha decidido dejarla para el uso libre por parte de la comunidad de desarrolladores.
    En ella se incluye todos los pasos por los que atraviesa una aplicación de software detallando un conjunto de roles con sus funcionalidades. Dependerá de cada tipo de proyecto el aplicar uno, algunos o bien todos los pasos de esta guía de referencia.
      ii. Enlace de referencia para ampliar conocimientos
    MSF en TechNet
      iii. Sugerencias para su utilización, basadas en mi experiencia
    En diferentes proyectos he aplicado muchas de las recomendaciones de MSF, siendo de gran utilidad en proyectos de mediana y gran envergadura. Acelerando y organizando los trabajos dentro del equipo.
    Visual Studio en su versión Team System soporta mucha de las funcionalidades que define MSF, incluyendo dos tipos de aproximaciones (approachs) modelo CMMI o el modelo Microsoft Agile.
    expand Seguridad
      i. Introducción
    Aspecto de carácter vertical puesto que incluye a todas las capas que componen la solución. Debemos tener seguridad en la presentación, en las reglas de negocios y por ultimo en los accesos a los datos.
      ii. Enlace de referencia para ampliar conocimientos
    PDF sobre Arquitectura Net
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Mi recomendación es extremar las precauciones de seguridad lo máximo posible en toda aplicación.
    Dejar registros (logs) de transacciones y accesos a la aplicación.
    Mantener registros de los movimientos realizados en las diferentes entidades que conforman la solución.
    Usar encriptación para guardar y/o transferir información sensible.
    En fundamental diseñar la aplicación con seguridad desde el inicio.
    La mayor cantidad de ataques se producen desde miembros de la propia organización por vulnerabilidades que presentan los sistemas.
    expand Excepciones
      i. Introducción
    El correcto manejo de las excepciones incluye el tema de su publicación, registro y manejo.
    Al igual que la seguridad debemos de tener una estrategia muy definida para este punto, puesto que también es de carácter vertical incluyendo a todas las capas que componen la solución.
    Algo que suele agregar complejidad al tema de las excepciones es cuando tenemos aplicaciones multi idioma ya que los mensajes de excepciones que se deben mostrar en la capa de presentación deben de ser entendible. Para esto hay diferentes alternativas dentro de .Net.
      ii. Enlace de referencia para ampliar conocimientos
    http://blogs.msdn.com/juanlozv/archive/2005/01/03/346004.aspx
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Aconsejo utilizar el Exception Management Application Block el cual presta toda la usabilidad necesaria para la capa de Data Access Layer o DAL
    expand Lenguaje de modelado mediante UML con Microsoft Visio
      i. Introducción
    UML es el lenguaje por medio del cual podemos modelar la base sobre la que se apoyara nuestras soluciones. Haciendo una comparativa podemos decir que es como el plano de una casa.
    También radica su importancia, en cuanto a que si el plano esta correctamente diseñado no tendremos problemas, sino fuera así pues tendremos que poner soluciones que no fueron contempladas cuando se estaba haciendo el diseño.
    Esto además de agregar costos en tiempo y en recursos, puede hacer que nuestra solución naufrague.
      ii. Enlace de referencia para ampliar conocimientos
    Manuales de UML
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Es preciso siempre tomarse el tiempo necesario para validar el modelo UML antes de empezar a escribir una línea de código.
    La solidez de un buen diseño se basa en contemplar estos posibles cambios actuales o futuros de forma que minimicemos el impacto sobre el mantenimiento de la aplicación desarrollada.
    expand Web Services & Windows Communication Foundation (WCF)
      i. Introducción
    Un Servicio WCF es un programa que expone una colección de ‘Endpoints’.
    Donde cada ‘Endpoint’ está compuesto por una ‘Address’ (Dirección), un ‘Binding’ (Enlace) y un ‘Contract’ (Contrato). Podríamos definirlo como un punto de comunicación con el exterior.
    Por medio de estas direcciones, un cliente puede intercambiar mensajes con uno o mas ‘Endpoints’.
    Un Cliente puede exponer también un ‘Endpoint’ para recibir mensajes de un Servicio basado en un patrón de intercambio de mensajes de tipo dúplex.
      ii. Enlace de referencia para ampliar conocimientos
    Microsoft WCF
    Un link interesante en el que se ve como se hace una llamada desde JQuery a WCF mediante JSON
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Recuerdo cuando empecé con este tema en el año 2002. Cuando IBM y Microsoft habían liberado y sometido a comité de la 3WC el primer borrador de los Web Services.
    Se me dibujo una sonrisa al contemplar por fin un esquema estándar para las llamadas a componentes remotos. Donde habían fracasado las soluciones propietarias como DCom, RMI y muchas otras. Y donde el rey CORBA se había quedado sin reinado fruto de su falta de estandarización.
    Pues bien mi primer proyecto (año 2002) lo hice con el ajuntament de Sant Cugat quienes apoyaron esta iniciativa que con el devenir de los años les ha dado excelentes resultados.
    Una cosa interesante de recalcar es que dentro de WCF podemos permitir el acceso a los Endpoints mediante SOAP (estándar de facto) o mediante otros protocolos como por ejemplo JSON o REST.
    Estos últimos son los mas utilizados y recomendados para llamadas desde aplicaciones web con Ajax.
    expand .Net Remoting
      i. Introducción
    Cada vez con menos adeptos y ya prácticamente en desuso debido a WCF.
    Era la solución propietaria de la plataforma .Net había creado para la serialización binaria mediante TCP/IP.
    Su principal ventaja era la velocidad puesto que lo hacia sobre un protocolo de más bajo nivel que los web services.
    Con la llegada de WCF y su polifacético esquema de configuraciones .Net remoting está quedando en el olvido.
      ii. Enlace de referencia para ampliar conocimientos
      iii. Sugerencias para su utilización, basadas en mi experiencia
    He participado en desarrollos en esta tecnología para la transmisión de datos de smartdevices que controlaban sensores en diferentes partes de la ciudad de Barcelona.
    Aconsejo no utilizar .Net Remoting sino que es preferible utilizar WCF que es mucho mas extensible y de hecho es su sucesor.
    expand ASP Net
      i. Introducción
    Desde su aparición en el 2002 he desarrollado diferentes tipos de aplicaciones en esta tecnología basada en aplicaciones Web.
    Con la llegada de Ajax hemos podido mejorar la experiencia de usuarios eliminando los clásicos viajes (round trips) entre el cliente y el servidor.
    Con el tiempo ASP.Net fue mejorando mucho y agregando nuevos controles, facilitando la tarea a los desarrolladores
    Una tecnología que ha crecido mucho, aunque trabajar en ASP.Net no es trivial y hay que tener en consideración que se trata de aplicaciones state-less sin estado entre llamadas entre el cliente y el servidor, por lo que exige una mayor complejidad para el desarrollo de las aplicaciones, lo que redunda en más tiempo.
      ii. Enlace de referencia para ampliar conocimientos
      iii. Sugerencias para su utilización, basadas en mi experiencia
    He visto muchos proyectos que equivocadamente se han desarrollado con esta tecnología aumentando los costos y los tiempos de desarrollo innecesariamente.
    Hay que tener claros criterios de evaluación y selección a la hora de decantarse por un tipo de tecnología, basados en la solución y el mercado objetivo para el que está desarrollada.
    Hay un interesante debate en este link The Server Side
    expand ASP Net MVC (Model View Controller)
      i. Introducción
    Este es un nuevo sabor que se sumo a ASP.Net el cual no reemplaza a ASP.Net basado en Web Forma, sino que nos permite reforzar esta tecnología basada en el patrón Model View Controller.
    Esta tecnología tiene claras ventajas y entre ellas destaco las siguientes
  • Sencillez para crear distintas representaciones de los mismos datos.
  • Facilidad para la realización de pruebas unitarias de los componentes, así como de aplicar desarrollo guiado por pruebas (TDD).
  • Mejor indexación de las paginas para los motores de búsquedas de Internet (google, otros)
  • Posibilidad de trabajar en una mejor comunicación entre los gráficos y los desarrolladores.
  • Facilidad para desarrollar prototipos rápidos.
  • Dentro de las desventajas
  • Tener que ceñirse a una estructura predefinida patrón MVC, puede incrementar la complejidad hay problemas que son más difíciles de resolver.
  • La curva de aprendizaje es mayor que la del modelo Webforms.
  • La distribución de componentes obliga a crear y mantener un mayor número de ficheros.
    • ii. Enlace de referencia para ampliar conocimientos
    ASP.Net
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Mi conclusión es que dependiendo de lo que se quiera hacer, se tiene que elegir entre el clásico ASP.Net Web Form o bien el ASP.MVC. Aconsejo que para páginas web no transaccionales o sea más pensadas en la presentación utilizar ASP.Net MVC. Mientras que para las aplicaciones transaccionales utilizar ASP.Net basado en los clásicos Web Forms.
    expand ASP Net Dynamic Data
      i. Introducción
    Este es otro sabor de ASP.Net en el cual se puede construir una aplicación en base a un esquema de datos y que puede ser personalizable rápidamente prácticamente sin escribir nada de código y que puede ser extendida por el modelo tradicional de programación de ASP.NET Web Forms.
    Después de esto que mas queda por decir, prácticamente a partir de una estructura de base de datos tenemos diseñada vía web todas las web de DataEntry y si las queremos modificar echamos mano a ASP.Net.
      ii. Enlace de referencia para ampliar conocimientos
    Vídeo
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Está claro que el objetivo que persigue son aplicaciones con una gran proceso de datos, por lo que nunca se optara por esta versión para una web de presentación.
    expand Lenguaje C# versión 1 y 2
      i. Introducción
    Desde su invención por parte de Anders Heljsberg (ex Borland) este lenguaje ha ido creciendo y marcando diferencias en el mundo de los lenguajes.
    Actualmente convertido en un estándar es por lejos el mejor lenguaje de desarrollos de aplicaciones, puesto que nació con esta precepto.
    Algunas cosas que no quiero dejar de resaltar de este lenguaje y que utilizo mucho en mis proyectos son:
  • Métodos anónimos
  • Tipos parciales
  • Partial Types
  • Generics
  • La versión 3.0 aun no la he podido utilizar, mientrás escrbía este articulo estaba aún en Technical Preview.
      ii. Enlace de referencia para ampliar conocimientos
    Adjunto un par de link que detallan este tema
    C#
    Generics
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Altamente recomiendo este lenguaje de desarrollo puesto que ha nacido para ser utilizado en aplicaciones empresariales.
    expand Net Framework version 1, 1.1, 2, 3 y 3.5
      i. Introducción
    He trabajado en todos las versiones de los .Net Framework 1.0, 1.1, 2.0, 2.5, 3.0 y 3.5
    Dentro de este Framework destaco las nuevas tecnologías implementadas en la última versión 3.5. Puesto que es ha sido la más significativa desde su nacimiento.
  • Windows Comunication Foundation (WFC) el nuevo esquema que viene a ser el sucesor de los desarrollos basados en ASP.Net Web Services y .Net Remoting. Con el aporte de muchas mejoras.
  • Windows Presentation Foundation (WPF) el nuevo esquema de presentación de la plataforma .Net. Basado en el lenguaje XAML. Siendo unos de sus objetivos separar la parte de desarrollo de la interface grafica. Unificando el desarrollo de código en un lenguaje (XAML) que es el mismo para plataformas Web y Windows.
  • Windows WorkFlow Foundation (WWF) un completo y potente motor de workflow que permite hacer desarrollos complejos en unos cuantos clicks.
    • ii. Enlace de referencia para ampliar conocimientos
    http://msdn.microsoft.com/en-us/library/bb822049.aspx
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Siempre que se pueda aconsejo trabajar con la versión 3.5. Echar una mirada a Linq que es una excelente tecnología para hacer consultas en prácticamente todo tipo de objeto.
    expand Compact .Net Framework version 1.0 y 2.0
      i. Introducción
    Otro de los frameworks en los que he desarrollado es el versión tanto compacta desarrollado para dispositivos inteligentes (smart devices) teléfonos, pda y handhelds.
      ii. Enlace de referencia para ampliar conocimientos
    Open Net Compact Framework - OpNetCF
      iii. Sugerencias para su utilización, basadas en mi experiencia
    En la versión compact .Net Framework he colaborado con el equipo de desarrollo de Open Net CF http://www.opennetcf.org dentro del cual hay un conjunto de librerías que complementan las funcionalidades del Compact Framework para el desarrollo aplicaciones móviles.
    expand Desarrollo de aplicaciones Mobility basados en Smart Phone & Smart Devices
      i. Introducción
    Antiguamente cuando aparecieron los primeros móviles el lenguaje era el WML sobre el protocolo WAP. Esa era la única manera de hacer aplicaciones en dispositivos móviles. A pesar de esa rudimentaria tecnología en el año 1999 desarrolle mi primera aplicación WAP, la cual permitía el ingreso de lecturas de medidores de energía eléctrica de una ciudad, tarea que la desarrollaba un persona accediendo a la aplicación desde su móvil Nokia. Dentro de la lógica de negocio se validaba muchas cosas entre ellas que la nueva lectura fuera mayor o igual que la anterior, inclusive en función de consumos anteriores la aplicación proponía una lectura calculada, en fin cuando tiempo a pasado y cómo ha evolucionado este sector.
    Micho a mejorado Windows Mobile por lo que nos amplio las posibilidades a la hora de hacer desarrollos para dispositivos móviles.
      ii. Enlace de referencia para ampliar conocimientos
    Windows Mobile
      iii. Sugerencias para su utilización, basadas en mi experiencia
    La aplicación de mobility que más dedicación me ha llevado fue la que desarrolle para la cadena de hoteles Prestige, la que posibilitaba el intercambio de información entre los participantes a un congreso, comunicando a los participantes con los ponentes y los organizadores. Todo un gestor de congresos en la palma de una mano.
    Los invito a que vean dentro la arquitectura definida, de esta interesante aplicación, en el apartado de Arquitecturas
    expand ADO Net
      i. Introducción
    En toda aplicación la parte de acceso a datos es una de las partes fundamentales para mantener la persistencia de la información.
    Lo que si es necesario considerar que un origen de datos no tiene que ser necesariamente un servidor de base de datos (DBMS). Como ejemplo podemos tener un web Service o bien un fichero XML como un origen de datos.
      ii. Enlace de referencia para ampliar conocimientos
    Data Applications Block
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Aconsejo utilizar el Data Access Application Block (DAAB) el cual forma parte de la Enterprise Library.
    Para la parte de mobility, he desarrollado un gestor para el manejo de persistencia en ficheros XML, utilizando XPath para las búsquedas, en vez del SQL CE, puesto que he obtenido mejores resultados de rendimiento.
    expand Lenguajes de scripts para clientes Web: JavaScript, Ajax y JQuery
      i. Introducción
    En los inicios trabajábamos con el lenguaje HTML y con intención de mejorar la experiencia de usuario, javascript fue tomando protagonismo y dando paso al denominado Dinamic HTML o DHTML.
    Desde allí hasta aquí Javascript ha sido el lenguaje del lado del cliente browser (client web side) siendo de vital importancia su conocimiento y aplicación para reducir los viajes hacia el servidor web (round trips) y brindar una buena experiencia de usuarios en nuestras aplicaciones web.
    Dentro de la evolución que ha sufrido Javascript debemos mencionar a Ajax que es el acrónimo de Asynchronous JavaScript And XML, por lo que las aplicaciones que están en el navegador (browser) de internet, mantienen comunicación asíncrona con el servidor web en segundo plano, utilizando JavaScript y el lenguaje XML como formato de transferencia de datos.
    De esta forma es posible realizar actualizar parte de la pagina web sin necesidad de realizar el recargarla completamente (postback).
      ii. Enlace de referencia para ampliar conocimientos
    En este link se puede descargar el Ajax Toolkit http://asp.net/AJAX
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Aconsejo dentro del mundo de .Net utilizar el Ajax Toolkit que permite a los desarrolladores dar una nueva dimensión en el desarrollo de aplicaciones web en forma sencilla.
    Así mismo hay otras librerías que basadas en Ajax nos posibilitan dar unas excelentes experiencias a nuestros usuarios. Una muy importante de destacar es la libreria JQuery cuyo utilizacion recomiendo por su sencillez y practicidad
    expand Lenguaje XML
      i. Introducción
    XML no ha nacido sólo para su aplicación en Internet, sino que se propone como un lenguaje estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable.
    Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas heterogéneos para compartir la información de una manera segura, fiable y fácil.
      ii. Enlace de referencia para ampliar conocimientos
      iii. Sugerencias para su utilización, basadas en mi experiencia
    XML es muy bueno e inteligible pero tiene entre sus contra que es muy pesado de transferir.
    Para reducir el peso (cantidad de bytes del fichero) siempre que se pueda tratar de trabajar con atributos en vez de nodos.
    En el siguiente ejemplo se pude apreciar una diferencia significativa al utilizar atributos en vez de nodos
    Utilización de Nodos Utilización de Atributos

    Utilizar esquemas XML schema o DTD para las validaciones de los ficheros XML.
    Tratar de que los ficheros XML no pesen más de 2 Mb puesto que pasado ese umbral el procesamiento del documento en .Net es sumamente lento y no recomendable.
    Expand Lenguaje XSL para transformación de XML
      i. Introducción
    XSL es un lenguaje que permite transformar un XML en otro documento XML o bien una página web (que no deja de ser un XML reducido).
      ii. Enlace de referencia para ampliar conocimientos
    Dejo el link de la clase http://msdn.microsoft.com/en-us/library/system.xml.xsl.xsltransform.aspx
      iii. Sugerencias para su utilización, basadas en mi experiencia
    .Net tiene una clase dedicada para la transformación la que se llama XslTransform la cual tiene funcionalidades muy interesante.
    Lo considero Interesante de aplicar para la facilitar la transformación de ficheros XML en diferentes formatos.
    expand Firma Digital & XML Digital Signature
      i. Introducción
    Temas interesantes si los hay
    Tuve mi primera aproximación a los desarrollos basados en firma digitales en el año 2003. Pues bien desde ahí que me interesa este tema apasionante en un mundo cada vez mas transaccional y en el que se requiere mayores niveles de seguridad
    Abordare las cuestiones netamente técnicas de la firma digital sin entrar en las cuestiones legales.
    Una firma digital debe de cumplir con los criterios para la protección de un documento electrónico
  • Confidencialidad: Quién debería tener acceso a este documento..?
  • Autorización: Que permisos tiene el usuario para trabajar con este documento..?
  • Control: Que hizo el receptor con el documento..?
  • Integridad: Como se da cuenta si el documento fue alterado..?
  • Autenticidad: Como sabe de dónde proviene el documento..?
  • No repudio: Puede el firmante negar que ha firmado el documento..?

  • Dedico un apartado para la firma digital sobre XML o más conocida como XML-Digital Signature, el hecho de trabajar sobre XML es para poder hacer la serialización de datos entre componentes remotos.
      ii. Enlace de referencia para ampliar conocimientos
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Hubo dos grandes proyectos que me introdujeron a fondo en el tema de las firmas digitales.
    1) Participe representando técnicamente al Ajuntament de Sant Cugat en el proyecto Administració Oberta de Catalunya (AOC), proyecto impulsado por la Generalitat de Cataluña.
    En este proyecto se diseño una plataforma común de transacciones entre ayuntamientos, estas transacciones deberían estar firmadas digitalmente para su validez con certificados digitales expedidos por el CatCert (organismo de certificaciones de Cataluña) Para más información ver el link Cat 365

    2) El otro proyecto interesante fue el de la Agencia Notarial de Certificación de España (Ancert).
    En este proyecto los notarios podían hacer certificaciones mediante firma digital emitida por la propia Ancert. Se desprende que la firma digital en este proyecto era algo prioritario. Ancert

    Para estos proyectos he desarrollado un conjunto de librerías que permiten trabajar con firma digital y con diferentes esquemas de criptografía.
    expand Localización de aplicaciones multi idioma
      i. Introducción
    El tema de la localización de aplicaciones para soportar que sean multi idioma es un tema muy frecuente con el que tarde o tempranos nos topamos los desarrolladores.
    Existen dos aspectos a contemplar para las aplicaciones de multi idioma. Hay que determinar si la aplicación será multi idioma será de presentación, de contenido o de ambos.
    El caso más complejo es el que contempla el multi idioma de contenido.
    Según se trate de una aplicación smartclient o bien de una aplicación web existen diferentes estrategias para la implementación de una aplicación multi idioma.
      ii. Enlace de referencia para ampliar conocimientos
    MSDN
    Code Project
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Como buena práctica de desarrollo lo conveniente es que para cada petición (request) que nos envié el cliente web, setear la propiedad CurrentCultureIU del hilo de ejecución en función del idioma que el usuario haya definido.
    Ejemplo de codigo
    if (Thread.CurrentThread.CurrentUICulture != GetCurrentCulture())
    {
    Thread.CurrentThread.CurrentUICulture = GetCurrentCulture();
    ………………
    }
    ………………
    De esta forma la información de la cultura seleccionada por el usuario, estará seteada en el mismo hilo de ejecución (Thread) , por lo que cada uno de los subprocesos en las diferentes capas pueda accederla.
    Para la configuración de multi idioma de presentación mi sugerencia es que no se almacene en la base de datos, guardando la información en ficheros de recursos que estarán incluidos dentro del proyecto de interface de usuario.
    Un caso particular seria en el caso de tener múltiples interfaces de usuario (smarte device, web) para la misma solución por lo que se debería analizar la posibilidad de centralizar la configuración del multi idioma por ejemplo a una misma base de datos.
    expand Extreme Programming
      i. Introducción
    Hay un paradigma de desarrollo de Software llamado la programación extrema (XP programming) del cual he aprendido mucho y he aprendido a tratar de buscar el equilibrio entre un modelo perfecto y un modelo perfectible.
    Por este motivo no quería dejar pasar por alto este paradigma de desarrollo de software
      ii. Enlace de referencia para ampliar conocimientos
    Extreme Programming o XP
      iii. Sugerencias para su utilización, basadas en mi experiencia
    expand Smart Client Software Factory - April 2008 Release
      i. Introducción
    Framework basado en los patterns & practices de Smart Client Guidance Community site.
    Es un interesante Framework para hacer aplicacion Smart Client basadas tanto en Windows como en Web.
    He desarrollado una importante aplicación SmartClient basada en Windows con excelentes resultados. Aconsejo echarle una mirada al Framework, vale la pena!
      ii. Enlace de referencia para ampliar conocimientos
    Código fuente en CodePlex
    Documentación en MSDN
      iii. Sugerencias para su utilización, basadas en mi experiencia
    Como beneficios destaco: La total separacion de la capa de diseño y de codigo, lo que permite una excelente cooperación. Sigue las buenas prfacticas de desarrollo. Permite hacer translates o mappeos entre objetos de los servicios y objetos de la aplicacion Smart Client. Excelente para el manejo de Units Test de Front que son generalmente mas complejos de implementar puesto que son basados en eventos. Hay muchos mas aspectos a resaltar.


    Revisión de Arquitecturas
    Estoy creando un documento sobre arquitecturas que dejare en breve disponible.
    Mientras aconsejo que vayan leyendo documento sobre diseño de aplicaciones y servicios en .Net que es muy ejemplificador.


    Servicios listos para usar - basados en Web Services
    Servicio: Generador de codigos de barras
    Descripción: Este servicio transforma un codigo numerico en una imagen que es la representacion del codigo de barra en formato 3 de 9
    un cadena de Byte[] la cual pueda ser convertible en una imagen que representa el codigo de barras.
    Cliente: Cliente Windows para el generador de codigos de barras
    Servicio: Generador de imagenes de captchas para accesos seguros
    Descripción: Este servicio genera una imagen deformada denominada captcha que se puede utilizar para que accesos a web o esquemas de seguridad
    El web service devuelve una cadena de Byte[] la cual pueda ser convertible en una imagen que representa al captcha.
    Cliente: Cliente Windows para el Captcha


    Para los principiantes
  • Universidad .Net

  • Media Center Latam .Net

  • También existen los How-to, que son videos cortos que muestran como hacer algo en específico

  • MSDN
  • Cursos On Line

  • Eventos On Line

  • Revista MTJ - Recomiendo su lectura

  • Aruitectura en .Net

  • Desarrollo
  • Patterns & Practices uno de los mejores sitios de referencia de buenas prácticas - Muy Recomendado

  • Enterprise Library 4 Mayo 2008 - Muy Recomendado

  • Code Project uno de los mejores sitios de ejemplos - Recomendado

  • Un completo framework para desarrollos en smart devices (PDA) - Recomendado

  • Un completo framework para desarrollos en .Net (Windows y Web) - Recomendado

  • Patterns & Practices
  • Revista Journal edicion mensual sobre arquitectura de lectura obligada

  • Best Practices sobre desarrollos de aplicaciones Windows

  • Composite Application Guidance for WPF and Silverlight

  • Stock Trader Reference Implementation

  • ASP.Net
  • ASP.NET Ajax Library

  • Varios
  • El Ave Fenix es el sitio de Marino Posadas

  • Bcn Dev es la comunidad de desarrolladores en .Net de Barcelona - Impulsor Jose Luis La Torre

  • Second Nug es una comunidad de desarrolladores en .Net

  • Sitio donde se alojan projectos de Open Source desarrollados en .Net - Muy Recomendado

  • Sitio para bajarse un libro gratuito sobre el lenguaje C# - Impulsor y Autor José Antonio González Seco

  • Programacion de Active Directory en .Net (Windows y Web) - Recomendado

  • Regular Expression Library - Recomendado

  • Para No Olvidar
  • Lo que el cliente quiere y lo que realmente le diseñamos - Muy Recomendado



  • Home | About Me | Services | Solutions | Contacts
    Copyright © Fernando Lencinas
    Microsoft Transcript Linked In WordPress
    Microsoft Transcript Skype GTalk