martes, 29 de septiembre de 2009

Collaborative Projects 2.0


En el último encuentro GeneXus, se hizo el lanzamiento de los Collaborative Proyects 2.0.

La página en el Wiki de la comunidad es www.gxtechnical.com/cp, además en las últimas noticias GeneXus hay una entrevista a Armin que explica en que consiste, y por último también está la charla que se dio durante el encuentro.

Estaría bueno participar, pero lamentablemente no tengo mucho tiempo, así que descarto liderar un proyecto. Veré en cual de las propuestas me anoto. Por ahora hay unos pocos proyectos, esperemos que en breve hayan varios más para poder elegir.

Me gustaría participar en alguno que se dedique a extender de alguna forma GeneXus Server, para probar esta nueva tecnología...

sábado, 19 de septiembre de 2009

Comprar un iPhone en Uruguay, ¿puede ser tan complicado?


En Uruguay, en general, estamos bastante atrasados respecto al mundo civilizado en lo que tiene que ver con la tecnología. Las cosas siempre llegan tarde y son mucho más caras.

Con el iPhone, pasa exáctamente lo mismo...

Acá el iPhone lo traen dos compañías: Claro y Movistar.

Lo de Claro es una vergüenza... El plan de $1.000 por mes (unos 45 dólares americanos), tiene 200MB de navegación por mes. ¿Quién compra un iPhone para usarlo solo como teléfono? ¿A quién le alcanzan 200MB si lo va a usar para conectarse a internet?

El plan de Movistar está un poco mejor. El de $760 por mes (unos 35 dólares americanos), tiene 500MB de navegación. No es una maravilla, pero supongo que para usarlo desde el teléfono debería alcanzar. Si alguien lo quiere para usarlo de modem y conectarse desde el PC, seguramente se quede corto.

Entonces me decidí, y lo fuí a comprar... Pregunté en dos tiendas de Movistar hace unos 20 días, en ninguna de las dos sabían nada, no tenían ni el precio de los planes. En ese momento pregunté también por teléfono a Movistar, y me dijeron que tenía que preguntar directamente en las tiendas.

Ahora esta semana volví a preguntar, ahora en la casa central de 18 y Andes, y dice que ya está agotado.

Mi duda es si efectivamente lo quieren vender...

La otra alternativa es comprarlo sin contrato, desbloquearlo y usarlo con Ancel, pero el precio del aparato se va a más de 1.000 dólares comprándolo acá. Se de gente que lo ha traído de Estados Unidos por menos de 400...

¿Puede ser tan complicado conseguirlo?

miércoles, 16 de septiembre de 2009

XIX Encuentro Internacional GeneXus, mañana del día 3

¿Qué podríamos ver en GeneXus?

Se hablaron de varios temas que están investigando en Artech para incorporar a GeneXus, entre ellos:

  • Aplicaciones Multy-tenant, sería solo cambiar una propiedad en el modelo y GeneXus se encargaría de agregar el TenentId en todas las tablas que lo necesiten, y filtro en todos los programas que lo requieran.
  • Herencia, ahora ya se puede resolver con subtipos, pero están pensando en algo más declarativo.
  • Dominios extendidos, que pueda tomar los valores "estáticos" del dominio enumerado pero además pueda tomar valores dinámicos de una tabla.
  • Implicit data selectors, es algo que habían hablado de agregarlo a la X pero al final no entró, permite definir un data selector que se usa siempre que se recorre la tabla correspondiente, a menos que explicitamente se diga que no se quiere usar, por ejemplo, para recorrer siempre los clientes activos.
  • Transaction inicialization, permitiría cargar los datos de una transacción mediante un mapeo definido a priori, por ejemplo para inicializar la factura a partir de la orden de compra.
Evolución del lengiuaje GeneXus
Se presentaron también algunas líneas que están trabajando, para tener más semántica en la KB y lograr lenguajes más declarativos:
  • Dominios: los dominios van a poder tener una UI, una especificación de lo que se debe hacer en la reorganización y comportamiento. Por ejemplo, el dominio TimePeriod, se representaría gráficamente como dos campos date, en la reorganización debería crear dos campos (inicio y fin del período) en vez de uno, y podría tener una función que diga si una fecha está comprendida en el período.
  • Módulos: los objetos van a pertenecer a un módulo como públicos o privados (mencionaron una tercer opción pero no dijeron cual... ¿internal?), de un módulo a otro solo se van a poder usar los objetos públicos, y se van a poder importar bases de conocimiento como si fueran módulos.
  • User interface, hacerla más declarativa, por ejemplo diciendo que tipo de pantalla es (trabajar con, master-detail, etc.)
Además Gastón mostró una foto de este blog, de la nota que hablaba del pasaje de parámetros en GeneXus. :)

Futuro de las aplicaciones RIA con GeneXus
Se habló de AJAX y como GeneXus genera código utilizando esta tecnología, y se comentó que de momento no tienen pensado trabajar en generadores Silverlight o Flex, ya que con AJAX se tienen las mismas características.
Además se contó como implementaron el generador Ruby, que hicieron un generador de HTML separado del generador del lenguaje, lo que les permitiría generar código para otras plataformas como ser iPhone o Android. Están investigando fuertemente este tema y posiblemente haya algún generador móvil en el futuro.
REST web services
La primer parte de la charla fue una explicación de que es REST, que fue un poco pesada.
Después se comentó como piensan generar web services REST en GeneXus, que básicamente consiste en exponer business components y data providers como web services REST.
En principio no me queda demasiado clara la necesidad, se podría usar para exponer datos para usar en algún mashup. En todo caso si alguien lo necesita aparentemente va a ser muy simple de usar.

martes, 15 de septiembre de 2009

XIX Encuentro Internacional GeneXus, días 1 y 2

Y se vino el encuentro GeneXus...

Estoy tratando de hacer un seguimiento más o menos en vivo en twitter, pero no da para escribir mucho, así que acá van los comentarios de las charlas que he ido.

Estado del arte de MDD (Model Driven Development)

No me convenció demasiado la charla, esperaba algo más concreto, me resultó demasiado teórica y poco aplicable.

En realidad como GeneXus ya aplica varios de los conceptos de MDD, no parece algo que nos cambie demasiado el paradigma de desarrollo.

GeneXus en el desarrollo, GXTest en el testing

Fue una charla donde se explicaron algunos conceptos y se hizo una demo de GXTest.

La herramienta en general es muy buena, tuve la oportunidad de hacer algo de beta test de la misma, y es altamente recomendable.

La sala estaba llena con gente parada en el fondo, lo que demuestra que el testing en general y GXTest en particular han logrado llamar la atención.

Compartiendo fuentes de datos: Data Providers

Se mostraron algunos casos de uso para los Data Providers y como pretenden sustituir a los Procedures en las áreas donde son utilizables.

Lo más interesante es que en la Evolution 1 agregaron un Data Provider Generator que puede generar el Data Provider para inicializar datos de una o varias tablas, tomando los datos de Freebase.com.

Keynote de Nicolás Jodal

La charla "deportiva" de Jodal estuvo buena, creo que vale la pena verla.

Extendiendo GeneXus con Programación Orientada a Aspectos (AOP)


Se presentaron los conceptos de AOP. El tema es interesante, y la principal ventaja parece ser que permite separar distintos aspectos de la programación del código de la aplicación, como ser temas de seguridad, auditoria, etc.

La solución mostrada parece ser un poco compleja para quienes programan en GeneXus, ya que los "aspectos" hay que programarlos (o declararlos) usando un lenguaje con una sintaxis propia

Sería muy bueno poder definir estos aspectos desde GeneXus, eso le daría mucha potencia y sin duda lograría mucha más adopción.

Además de mencionó el producto Certus, que aplica estos conceptos.

Creando User Controls con GWT y GeneXus X Ev1

El tema es interesante, pero la charla no me dejó mucho...

Se presentaron algunos conceptos teóricos y después se mostró algo de código y un ejemplo de un User Control en GeneXus, pero me parece que le faltó un enfoque un poco más práctico.

GeneXus X: ¡Rich Internet Applications Ya!

Estuvo interesante, se mostró una aplicación RIA hecha con GX: un lector de RSS.

Además se presentaron varios conceptos de como encarar el desarrollo de aplicaciones RIA, que pueden resultar útiles.

La conclusión es que con GeneXus se pueden hacer aplicaciones muy interactivas usando User Controls, como por ejemplo GeneXus Server.

Como lograr discusiones de calidad

Creo que esta charla vale la pena verla. No tiene nada que ver con GeneXus pero las ideas comentadas fueron muy interesantes.

Un motor de reglas de negocio dinámicas inserto en el ecosistema GeneXus

La gente de Artech está trabajando en dar la posibilidad de definir reglas dinámicas, que pueden ser modificadas sin cambiar los programas y son evaluadas en tiempo de ejecución.

El lenguaje para definir las reglas aparentemente sería definible en la KB, con lo que el usuario final (el experto del dominio) usaría un lenguaje muy parecido al lenguaje natural.


Por lo que mostraron el tema está todavía muy verde, pero parece ir bien encaminado. Ya veremos a donde llega.

Tracing, profiling, debugging... recursos útiles para la salud de una aplicación

Esperaba otra cosa, pensé que a lo mejor hacían algún anuncio, pero no, la charla fue un repaso de las distintas técnicas para analizar los distintos errores que se pueden presentar en la aplicación, con un enfoque sobre todo hacia .Net.

Además de técnicas se mostraron algunas herramientas, unas integradas a GeneXus (como el trace o el debugger) y otras externas.

Lo más interesante me resultó el profiler que tiene incorporado la versión Evolution 1, que permite medir los tiempos de ejecución de cada objeto GeneXus y dentro de cada objeto, los tiempos de cada sentencia.

Extender GeneXus programando en GeneXus

Básicamente se presentó GX4GX, que es un conjunto de objetos externos que permiten acceder a la KB programando directamente en GeneXus. Es la tecnología con la que desarrollaron GeneXus Server.

Además se mostró como será la forma de extender GeneXus Server.

Muy interesante, habrá que probarlo...

Collaborative proyects 2.0

Se hizo el lanzamiento de la versión 2 de los collaborative projects.

Además se presentaron algunas tecnologías que se pueden usar para trabajar en grupos dispersos geográficamente, con especial énfasis en Second Life. Se ve que todavía no entiendo muy bien cual es la ventaja de Second Life...