domingo, 27 de septiembre de 2009

Proximo Evento: Introduccion al Desarrollo para dispositivos Moviles

Hola!

Para informarles que el proximo 30 de Septiembre de 2009, tendremos una charla sobre desarrollo movil, con la siguiente agenda:

-Perspectiva actual del mercado en el desarrollo para moviles

-Plataformas y Lenguajes

-Desarrollando con Windows Mobile

-Demo

-Conclusiones

Esperamos tu participaci�n ya sea que estes trabajando en desarrollo movil o no, es una excelente oportunidad para conocer a otros profesionales como tu y aprender sobre el desarrollo para celulares.

Puedes registrarte el dia del evento o a traves del siguiente enlace:

http://msevents.microsoft.com/CUI/EventDetail
.aspx?EventID=1032427912
&Culture=es-MX

La cita es en el edificio del CITI (frente a Susuki, Gran Plaza), sala 1

Fecha : 30 de Sep

Hora: 7:00-8:30

No faltes, te esperamos

Recuerda que el evento es abierto al publico y gratuito.

Saludos

lunes, 23 de marzo de 2009

Aplicaciones para Cloud Computing: El nuevo reto para los desarrolladores

Hola!

En esta ocasión les comparto este interesante analisis sobre las consideraciones que debemos tener en cuenta si deseamos desarrollar para la "nube", independientemente del proveedor que se escoga, aqui les presento un resumen del articulo.

Primero que nada definamos que es Cloud Computing (computación en la nube), basicamente es un concepto general que incorpora el software como servicio y que engloba a todas aquellas aplicaciones de la Web 2.0.

Esta es la tendencia acerca del desarrollo de software y uno de las empresas que mejor representan esta nueva forma de hacer software y negocios es SalesForce.com, una empresa que ofrece sus servicios de CRM (Customer Relationship Management por sus siglas en inglés) a través de Internet. Otros ejemplos son Google Apps y por supuesto mas recientemente Windows Azure del cual les platicare mas a detalle en otra ocasión.

La mayoria de nosotros hemos desarrollado aplicaciones para la web o desktop y cada una tiene su propios retos y problematicas incluso puede ser que se requiera de ambos tipos de ambientes. Al desarrollar para la nube, los problemas de infraestructura ahora son responsabilidad del proveedor (rendimiento de servidores, bases de datos,etc) lo cual nos quita un peso de encima, pero se presentan nuevos retos que les comento a continuación:

  • Fallas en el servidor son dados en la nube
El diseño de las aplicaciones debe considerar que no hay un disco duro local o un registry y que si el servidor falla nuestra aplicación debe ser tolerante a la redundancia. Para esto se sugiere que la aplicación no debe tener estado (en inglés deber ser statelessness) y que si algo falla se debe destruir y volver a crear (algo asi como el Ave Fenix no?)

  • Una Arquitectura diferente en la nube
En este punto hay que considerar que la aplicación tendrá una arquitectura distribuida.
Por ejemplo, el front-end pudiera estar en Facebook, el almacenamiento de datos en Amazon.com' S3 y la lógica de la aplicación en otro lugar, asi que se deben diseñar y aplicar buenas prácticas de ingenieria de software para ontener una aplicación escalable dentro de la nube.

  • Las bases de datos no son las mismas en la nube
El acceso a la base de datos es crucial para cualquier aplicación y en este caso la problematica con la que nos topamos es que el modelo relacional quiza no es el mas adecuado para el almacenamiento de datos. En el caso de Microsoft con Windows Azure el motor de acceso a los datos no usa el modelo estandard relacional, asi que por ejemplo el concepto de store procedure ya no es aplicable. Por otro lado el motor de datos de Google App utiliza como almacenamiento lo que llaman BigTable, el cual no es una base de datos SQL, sino un modelo que permite guardar la información en diferentes maquinas, que con un modelo relacional seria mucho mas dificil de manejar.

  • Los trabajos de "plomeria" son delegados a la nube
Con esto se refiere a que los desarrolladores pueden enfocarse mas hacia las reglas de negocio e inovación, mientras que el proveedor de los servicos se encarga de cuestiones como el sistema operativo y el hardware. Por ejemplo salesforce.com, cuenta con servicios de seguridad, balanceo de cargas y flujo de trabajo entre otros. Este tipo de servicios pre-contruidos juegan un papel crucial entre desarrollar una apliación con un proveedor u otro, ya que ahorran costos.

  • Otras consideraciones al desarrollar para la nube
Para finalizar hay que tomar en cuenta tambien los esquemas de precios de cada proveedor ya que no funcionan como el esquema tradicional de licencias. Y por otro lado un punto muy importante es desarrollar desde el principio las apliaciones de forma que puedan ser independientes del proveedor, es decir que puedan moverse de una plataforma hacia otra sin mayor cambio. En el caso de Google soporta esta movilidad apoyandose en lenguajes como Python y el framework de desarrollo web Django; y tambien esta trabajando con la comunidad open source para desarrollar herramientras para carga y descarga de datos desde y hacia el App Engine.

Como pueden ver, el cloud computing ya es una realidad y cada vez se va consolidando mas como la nueva plataforma de desarrollo, asi que no debemos quedarnos atras y sigamos preparandonos para este nuevo reto.

Espero encuentre interesante este articulo y continuen documentandose al respecto.

Saludos!





jueves, 12 de marzo de 2009

Registro online para Evento Programacion en Capas

Hola!
Ya esta disponible el enlace para que se registren al evento del proximo Jueves 19
Haz click aqui para acceder.
De todos modos el ID del evento es : 1032408511 y puedes ubicarlo en la pagina de eventos de Microsoft Events

Saludos

domingo, 8 de marzo de 2009

Ejemplos de Arquitectura en capas

Hola!
Ya que en este mes de Marzo en Aluxes.NET tocaremos el tema de la arquitectura de una aplicación en capas con siempre es de mucha ayuda revisar como han implementado
los demas este enfoque.

Y aunque en la red pueden encontrar infinidad de ejemplos, a continuación les quiero
compartir dos ejemplos que desde mi punto de vista son muy profesionales y completos y muestran claramente el desarrollo de una aplicación con una arquitectura en capas en Windows Forms así como con Web Forms.

Infragistic Tracker Application
Esta es una aplicación Windows Forms cuyo objetivo es demostrar las mejores practicas
al escribir software con las tecnología .NET en conjunto con la suite de controles
Net Advantage de Infragistics.
La aplicación es un sistema de Control de Tareas que puede ser usado en varios escenarios.
Fue escrito por Jason Beres quien es Evangelista Tecnico de .NET en Infragistics.
La aplicación fue escrita usando Visual Studio 2003 e Infragistic NetAdvantage 2004.
Además incluye un libro electrónico que explica de principio a fin los detalles de la aplicación.
Entre otras cosas podrán encontrar:
  • Implementación de algunos Application Blocks (Sigue este link si no sabes que son los application blocks y aqui hacia el sitio de Microsoft Patterns & Practices)
  • Implementación multihilo para acceso a datos
  • Una estructura para implementar acceso online y offline a los datos sin utilizar datasets (bastante interesante)
  • Uso de webservices para acceder directamente a SQL

Aunque el codigo pueda parecer "obsoleto" para algunos, ya que no se hace uso de colecciones y genericos (no estaban disponibles estas funcionalidades en ese tiempo)
me parece un buen punto de partida para iniciarse y tenerlo como referencia cuando desarrolles algún proyecto Windows Forms.
Aqui esta el enlace donde puedes descargar el código fuente y el e-book.

MSDN Video
Esta es una aplicación desarrollada por iniciativa de MSDN España que simula la funcionalidad de un VideoClub ficticio.
Usa tanto Windows Forms como Web Forms.
Existen dos versiones de esta aplicacion la 2003 y 2008.
En su ultima versión se implementan las ultimas mejoras incluidas en el .NET Framework 3.5
entre las que se encuentran:
  • LINQ
  • Windows Communication Foundation (WCF)
  • ASP.NET 3.5
  • AJAX
  • Silverlight
  • Windows Forms 3.5
  • Windows Presentation Foundation (WPF)
La versión 2008 no incluye documentación pero tienen a su disposición el código fuente.
Sin embargo la versión 2003 incluye un archivo de implementación que explica cada uno de los modulos.
Puedes acceder a la versión 2003 en este enlace y la 2008 aquí.

Como cereza en el pastel incluyo este link hacia un paper de Microsoft patterns & practices donde se explica como pasar datos entre capas al diseñar una aplicación distribuida.

Bien espero que estas referencias sean de gran utilidad en sus futuros proyectos.

No olviden dejar sus comentarios.

Saludos!

viernes, 6 de marzo de 2009

Lo que paso en Windows Day

Hola !
Si no tuviste oportunidad de asistir al Windows Day!
Te invito que cheques el blog del evento aqui, donde podras acceder al contenido offline ademas de noticias sobre nuevos eventos.

Compartelo!

jueves, 5 de marzo de 2009

Soporte para Visual Basic 6 en Windows 7

Yo habia pensado que no...pero Microsoft recientemente anuncio que Visual Basic 6.0 tendra soporte en Windows 7.
Esto incluye tanto el runtime como el IDE y de hecho el soporte tambien esta incluido en Windows Vista y Windows Server 2008.
Cabe mencionar que esta compatibilidad sera durante todo el tiempo de soporte que tendra Windows 7 pero no esta planeado incluirlo en futuras versiones de Windows.
Asi que ya lo saben, aun queda VB6 para rato que aun hay buenisimas aplicaciones corriendo en esta plataforma.

Saludos!

lunes, 2 de marzo de 2009

Windows Day (03/03/2009)

El nuevo sistema operativo Windows 7,asi como la propuesta de cloud-computing de Microsoft (Windows Azure) y la tecnologia de Virtualización (Hiper-V) son esas buzzwords que seguramente has estado escuchando durante estos meses y Microsoft esta decidido a que conozas acerca de ellas y despejes tus dudas.

Asi que el dia de maña se llevara a cabo el evento virtual Windows Day donde habra conferencias sobre Windows 7,seguridad,desarrollo de interfaces RIA asi como lo nuevo con ASP 4.0 entre otros.
Este evento es tanto para desarrolladores como para profesionales de TI y podras entrenarte en linea desde la comodidad de tu casa u oficina.
Uno de los puntos importantes por los que no puedes perderte este evento, es que habra chats en vivo con expertos que ayudaran a entender mejor todas estos cambios y mejoras que se vienen este año.

Adicionalmente en estos dias tambien se llevara a cabo el MVP Summit donde Microsoft tiene un gran ecosistema de expertos voluntarios que tambien recibiran entrenamiento sobre estas nuevas tecnologias.

No pierdan esta oportunidad de capacitación gratuita y que viene muy bien en estos tiempos de crisis...hay que estar bien preparados!

Saludos!