miércoles, 23 de noviembre de 2011

Video: Migrando el modelo de negocio de SaaS a PaaS, por Andrés Vettori

Andrés Vettori

Esta es la última de las sesiones de la reciente Jornada de Arquitectura de Software organizada por el MUG en UADE, a cargo de Andrés Vettori, CTO de VMBC y reconocido miembro de la comunidad de desarrollo en Argentina.

De hecho, Andrés es casi un prócer para mucha gente, desde hace muchos años, estando al frente de un equipo de desarrollo dentro de una multinacional metalúrgica de capital argentino, donde tuvo la oportunidad de liderar muchos proyectos de software de base por donde pasaron muchos de los desarrolladores más conocidos y respetados en el mercado local actualmente, que aprendieron con él mucho sobre la manera de encarar los problemas, lidiar con tecnología cambiante y balancear las presiones del negocio con una visión de largo plazo.

Andrés es también autor de Retina, uno de los primeros ORM para .NET, y un blogger técnico muy afilado.

En la charla, Andrés cuenta cómo la sofisticación del tipo de aplicaciones que desarrolla su equipo para los clientes de su compañía exigían cada vez más flexibilidad y menores tiempos de desarrollo y puesta en marcha, por lo que lentamente fueron virando su modelo y la arquitectura subyacente de Software como Servicio (SaaS) a una Plataforma como Servicio (PaaS) que brinda mejor soporte a su equipo, permitiendo separar los esfuerzos de aplicaciones propiamente dichas del desarrollo de la plataforma subyacente. La presentación está disponible en su Skydrive.

miércoles, 16 de noviembre de 2011

Video: ¿Dónde quedó SOA?, por Roberto Schatz

Roberto Schatz

Llegando casi al final de las sesiones de la reciente Jornada de Arquitectura de Software organizada por el MUG en UADE (nos queda una más), le toca el turno a Roberto Schatz, figura emblemática de las Arquitecturas Orientadas a Servicios.

Roberto fue uno de los responsables de la estrategia de Servicios de Banco Galicia en Argentina, construyendo un ecosistema SOA basado en mainframe, y adelantando en mucho el área de Arquitectura internamente, cuando esta disciplina todavía no era demasiado reconocida. Conozco grandes profesionales surgidos de ese grupo, hoy distribuidos por el mundo y con una importante carrera iniciada junto a Roberto.

Años después Roberto se convirtió en el líder de Arquitectura de Software dentro de Microsoft, iniciando actividades junto a la comunidad como los Desayunos de Arquitectos, que aún continúan después de varias generaciones de anfitriones en Microsoft Argentina. Por esa época tuve la oportunidad de colaborar con Roberto en varios proyectos, sobre todo en el sector público, realizando entrenamientos y ayudando a organizaciones a construir aplicaciones.

Más recientemente Roberto estuvo a cargo del área de Arquitectura de ANSES, la Administración Nacional de la Seguridad Social en Argentina, uno de los organismos más grandes y complejos en el país, con aplicaciones que soportan millones de operaciones diarias de toda la ciudadanía.

En esta sesión Roberto recorre un poco el escenario histórico de SOA y algunos de los problemas principales que este estilo encontró en el camino, desde la exageración de los proveedores hasta la paradójica inconsistencia de los estándares. Sin embargo, él sigue rescatando los pilares conceptuales de SOA, y explica por qué sigue siendo relevante, aunque en lugar de basarnos en SOAP utilicemos otros protocolos.

Dejo debajo los cuatro segmentos de unos 15 minutos cada uno.

lunes, 14 de noviembre de 2011

MonoGame: XNA multi-plataforma

Mono Game

Como todos saben, soy bastante fanático de Mono, la implementación de código libre y abierto de .NET, liderada por Miguel de Icaza.

El año pasado se inició un proyecto llamado inicialmente XNATouch, cuyo objetivo era permitir portar juegos desarrollados en XNA (la plataforma para desarrollo de juegos en XBOX y Windows Phone) a iOS (iPhone, iPod y iPad). El proyecto avanzó bastante, cambió de nombre a MonoGame, y el mes pasado llegó a su versión 2.0, extendiendo el alcance de iOS a Android, Linux, Windows y Mac OS, y de paso, mudándose a GitHub.

El proyecto es muy interesante porque brinda un mecanismo sólido de desarrollo de juegos para múltiples plataformas, algo que es cada vez más requerido por quienes producen para esta industria, sobre todo en los ambientes móviles.

Como ejemplo, este es el código de arranque para ejecutar un juego desarrollado en XNA en iOS (utilizando MonoTouch):

using MonoTouch.Foundation;
using MonoTouch.UIKit;

using Microsoft.Xna.Framework;

namespace MonoGame.Samples.Storage
{
	[Register ("AppDelegate")]
	class Program : UIApplicationDelegate
	{
		private Game1 game;

		public override void FinishedLaunching (UIApplication app)
		{
			// Fun begins..
			game = new Game1();
			game.Run();
		}

		static void Main (string [] args)
		{
			UIApplication.Main (args,null,"AppDelegate");
		}
	}
}

Por ahora el framework soporta solamente juegos 2D, y el API de 3D es el foco principal de trabajo para la versión 3.0. Si está disponible el stack de networking suficiente para permitir jugadores simultáneos dentro de un mismo segmento de red, sin importar la plataforma en que estén ejecutando el juego.

Para quienes quieran ver el proceso en más detalle, recomiendo esta serie de 4 artículos de Alfredo Machin, en las que describe el proceso de migración de un juego XNA a Mac OS (utilizando MonoMac): Parte 1, Parte 2, Parte 3, Parte 4.