sábado, diciembre 29, 2012

Java legacy, II

A propósito de las afirmaciones sobre la declinación de Java, mayores hacia inicios de año que ahora, Martijn Verburg, en su revista de Java para 2012, se refiere al tema y lo refuta claramente:
The community continues to thrive despite many main stream tech media reports of ‘developers leaving the Java platform’ or ‘Java is dead’. There are more Java User Groups (JUGs) than ever before, consisting of ~400,000 developers world wide.
Notably, one of them, the London Java Community won several awards including the Duke’s Choice award and JCP Member of the Year (along with SouJava – the major Brazilian JUG).

The conference circuit is bursting at the seams with large, sold out in advance, world-class Java conferences such as JFokus, Devoxx and of course JavaOne. In addition to this the host of regional conferences that often pack in an audience of over 1000 people all continued to do well.
Oracle’s Java Magazine was launched and has grown to over 100,000 subscribers. Stalwarts like JaxEnter, Coderanch and the Javaposse continue to grow in audience sizes.

OpenJDK

Further OpenJDK reforms happened over 2012 and a new scorecard is now in place for the wider community to give feedback on governance, openness and transparency.
2012 also saw a record number of individuals and organisations joining OpenJDK. In particular, the port to the ARM processor and support for running Java on graphic cards (Project Sumatra) were highlights this year.

Java Community Process (JCP)

The Java Community Process (JCP), Java’s standards body also continued its revival with record numbers of new sign-ups and a hotly contested election. As well as dealing with the important business of trademarks, IP and licensing for Java, a re-focus on the technical aspects for Java Specification Requests (JSRs) occurred. In particular the new Adopt a JSR programme is being strongly supported by the JCP.

Java and the JVM

The JVM continues to improve rapidly through OpenJDK – the number of Java Enhancement Proposals (JEPs) going into Java 8 is enormous. Jigsaw dropping out was a disappointing but given the lack of broader vendor support and the vast amount of technical work required, it was the correct decision.

JEE / Spring

JEE7 is moving along nicely (and will be out soon), bringing Java developers a standard way to deal with the modern web (JSON, Web Sockets, etc). Of course many developers are already using the SpringSource suite of APIs but it’s good to see advancement in the underlying specs.

Rapid Web Development

Java/JVM based rapid web development frameworks are finally gaining the recognition they deserve. Frameworks like JBoss’s SEAM, Spring Roo, Grails, Play etc all give Java developers parity with the Rails and Django crowd.

Mechanical Sympathy

A major focus of 2012 was on Mechanical Sympathy (as coined by Martin Thompson in his blog). The tide has turned, and we now have to contend with having multi-core machines and virtualised O/S’s. Java developers have had to start thinking about how Java and the JVM interacts with the underlying platform and hardware.
Performance companies like jClarity are building tooling to help developers understand this complex space, but it certainly doesn’t hurt to get those hardware manuals off the shelf again!
Y cuando Martijn se refiere a las perspectivas de 2013, la expectativa persiste, con Java 8 en deliberación. Pero mejor vea el artículo, o siga Java Code Geeks. Al menos en mi caso, encuentro usualmente excelente material práctico con ellos.

miércoles, diciembre 26, 2012

¿Java Legacy?

Esta es una noticia "vieja": InfoQ comenta la migración de Twitter de Ruby a Java a propósito de la exitosa travesía de Twitter durante las elecciones estadounidenses. Twitter resistió 327.452 tweets por minuto, hasta 15.107 tweets por segundo en algunos momentos, sin caídas de proceso ni congestionamientos. InfoQ atribuye (en parte) esta mejora a la migración desde Ruby hacia java:
[ dice Mazen Rawashdeh, VP de Infrastructure Operations Engineering en Twitter]Part of the reason Twitter was able to sustain this level of traffic was down to a set of changes the company has been making to their infrastructure, including, as InfoQ previously reported, a gradual shift away from Ruby to a set of services written in a mixture of Java and Scala and running on the JVM.
InfoQ historia este proceso gradual de migración:
Twitter was at one time thought to be the largest Ruby on Rails shop in the world, and has made a substantial investment in its Ruby stack, going as far as developing its own generational garbage collector for Ruby called Kiji, which, unlike the standard Ruby collector, divides objects into generations and, on most cycles, will place only the objects of a subset of generations into the initial white (condemned) set.
In 2010, however the firm announced that it was shifting some of its development focus. For the front-end the firm followed the HTML5 trend of shifting rendering code into browser-based JavaScript, and, in so doing, it ceased to gain much benefit from Rails' templating model for building web pages. Then, citing both performance and code-encapsulation as drivers, the engineering team re-wrote both its back-end message queue and tweet storage engine in Scala.
 Respecto a los clientes móviles, Rawashdeh dice: As part of our ongoing migration away from Ruby we've reconfigured the service so traffic from our mobile clients hits the Java Virtual Machine (JVM) stack, avoiding the Ruby stack altogether.

Respecto a su motor de búsqueda, también el cambio se inclinó por java: in 2011 the engineering team announced that they had replaced the Ruby on Rails front-end for search with a Java server they called Blender. This resulted in a 3x drop in search latencies.

En años anteriores se comenzó a hablar de Java como un lenguaje legacy, y de su toma por parte de Oracle, como su sentencia de muerte. Sin embargo, ha corrido agua, y la muerte no se produce: Java 7 en marcha, y preparativos para Java 8. En mi experiencia personal, con un uso más extenso de Java, observo estabilidad, confiabilidad, y buena performace. Cada vez que he tenido problemas con la JVM se ha debido a fallos en la preparación de funciones, y he podido contar con buena ayuda de la  consola de java en primer lugar, y de la documentación y la buena capacidad de manejo de errores. Tanto como soporte servidor, como en funciones cliente, la respuesta ha sido normal. Como máquina servidora para aplicaciones web basados en HTML + Javascript, su servicio es transparente y robusto. Y esto, sin contar con su ubicuidad: en cierto modo, "multiplataforma" en mi caso implica Java. En fin, mi experiencia es coincidente con esto dicho en InfoQ.

martes, diciembre 25, 2012

La ética en la profesión informática

Nuevamente, Javier Garzás se ocupa de la informática en España desde el punto de vista de ésta como profesión. Aunque esta vez, el punto discutido trasciende el perfil de TI en España: es sin duda válido para cualquier medio. Javier propone un "juramento de no compromiso" con una práctica de desarrollo de software determinada, de tal forma que un profesional no adhiera a ultranza con una idea, particularmente en un universo en el que el cambio y la renovación conceptual es frecuente. Dice Javier:
Estoy cansado de la gente que es de una escuela de pensamiento y que rechaza las ideas de otra escuela de pensamiento. Tengo hambre de gente que no le importe de donde vienen las ideas, que les importe sólo lo que significan y lo que producen. Así que se me ocurrió esto del “juramento de no lealtad”.
Esto significa el fin de afirmaciones como “eso no está bien – no es ágil / orientado a objetos / puro / etc.”, en vez de discutir sobre si la idea (ágil o tradicional o impura o lo que sea) funciona bien en las condiciones del momento.
Los anteriores párrafos no son míos, aunque coincido tanto con ellos que es como si los hubiese escrito.
El anterior texto es el “juramento de no lealtad” escrito por Alistair Cockburn hace ya unos años y firmado por muchos profesionales que coinciden con él en rechazar esa mala práctica, tan común en nuestra profesión: casarse hasta el extremismo con una única manera de ver cómo gestionar y desarrollar software, hasta el punto de rechazar cualquier idea alternativa.
Así que si piensas igual, si se te ha pasado por la cabeza más de una vez que hacer y gestionar bien el software no pasa por casarse con una práctica de desarrollo, que una metodología no es ni un equipo de futbol, ni un partido político, ni una religión… que sepas que no estás sólo.
Confieso que, desde el punto de vista de adhesión a ideas, puedo incluírme en el bando de los "comprometidos", porque tengo algunos prejuicios, o quizá prevenciones, respecto a algunas prácticas y también a algunos "marcos de trabajo". Creo tener fundamento para ello, pero soy conciente de que corro este riesgo. Sin embargo, podríamos decir que hasta aquí estamos en un umbral de "autenticidad", es decir, cuando algo se hace por convencimiento, aunque pueda cometer errores gruesos por omisión o confrontación de otras soluciones posibles.
Pero existe algo más, que este juramento alcanza: cuando un argumento es defendido de mala fe. La informática es una profesión, que procura ingresos a partir de un servicio, especialmente para la inmensa mayoría de los profesionales que no son miembros de un grupo académico, o de una organización sin fines de lucro. Quisiera saber cuántos profesionales responsables o gerenciadores de alguna una gran empresa de informática, consultora, o asesora, no tienen sobre su conciencia el haber ocultado un fallo por omisión, una característica problemática en un producto en oferta, una obsolescencia frente a la competencia. Y eso dejando a un lado otras prácticas que caen en el delito, quizá más propias y abundantes en el "tercer mundo informático".
Quisiera ver un colegio profesional capaz de montar un tribunal de ética que condenara prácticas agresivas en la obtención de contratos, o que demandara promesas contractuales incumplidas. El día que así sucediera, les daré mayor valor. En tanto, veo pocas posibilidades de implantar el juramento de no-compromiso en nuestra profesión, y con ello, poco alcance de la credibilidad de un colegio.

jueves, diciembre 13, 2012

Mejoras en el proceso de desarrollo de Plex

De interés para usuarios de Plex/2E: Acabo de recibir el boletín de noticias de CA, CA Tech Insider - CA Application Development, que trae una noticia que probablemente sea de importancia para muchos clientes, particularmente aquellos que puedan dedicar un pequeño equipo a laboratorio: CA aplicará Scrum al desarrollo de 2E y Plex, comenzando ya con 2E. Desarrollarán pre-releases mensuales con participación de clientes y retroalimentación de resultados: To boost ongoing collaboration with customers, the CA 2E 8.6 release used the Agile Scrum methodology. This approach provided monthly pre-release feature reviews with select customers. These reviews allowed customers to provide substantive feature feedback during the development cycle which allowed us to incorporate changes and provide customers with the features they wanted and needed. In 2013, we will continue to use the Agile Scrum methodology for CA 2E and will begin using Agile Scrum for CA Plex. 
Mejor solución que el sistema actual, basado en la participación en los programas beta, más espaciados, que agrupan la recolección de solicitudes de mejora en puntos anuales o bianuales, con participación en alrededor de un trimestre. Este estilo se puede sumar a la mejora que implica el proceso de Ideas, en marcha desde hace algún tiempo, por el que se pueden postular y explicar las mejoras y direcciones de desarrollo de importancia en el parecer de los usuarios y clientes, con un sistema de apoyo que ayuda a destacar su prioridad para la comunidad de usuarios. Este sistema se usó en la preparación del próximo beta, todavía organizado al estilo anterior.

jueves, diciembre 06, 2012

Silverlight: Crónica de una muerte anunciada

Tim Anderson,  (¿ex?) entusiasta de Silverlight, informa que el sitio oficial del producto (Silverlight.net), ha desaparecido, y que ahora redirecciona a MSDN. La degradación (en términos militares) del producto queda evidente en que, si a grandes rasgos los contenidos principales fueron migrados, muchos contenidos dependientes y relacionados ahora conducen a enlaces perdidos ("shattered into a million broken urls"). Tim piensa en términos condicionales acerca de lo que Silverlight hubiera podido ser pero no fue. Algunos lectores apuntan otros casos de discontinuidad. Una vez más, para mí esta declinación planificada (¿obsolescencia programada?) refuerza la idea de que el software debe construírse a salvo de los proveedores de productos o plataformas, a nivel de modelo, de tal forma que sea capaz de sobreponerse a las conveniencias ajenas. Dejemos hablar a Tim:
There has been some Twitter chatter about the closure of silverlight.net, Microsoft’s official site for its lightweight .NET client platform. multimedia player and browser plug-in.
I am not sure when it happened, but it is true. Silverlight.net now redirects to a page on MSDN. Some but not all of the content has been migrated to MSDN, but Microsoft has not bothered to redirect the URLs, so most of the links out there to resources and discussions on Silverlight will dump you to the aforementioned generic page.
One of the things this demonstrates is how short-sighted it is to create these mini-sites with their own top-level domain. It illustrates how fractured Microsoft is, with individual teams doing their own thing regardless. Microsoft has dozens of these sites, such as windowsazure.com, windowsphone.com, asp.net, and so on; there is little consistency of style, and when someone decides to fold one of these back to the main site, all the links die.
What about Silverlight though? It was always going to be a struggle against Flash, but Silverlight was a great technical achievement and I see it as client-side .NET done right, lightweight, secure, and powerful. It is easy to find flaws. Microsoft should have retained the cross-platform vision it started with; it should have worked wholeheartedly with the Mono team for Linux-based platforms; it should have retained parity between Windows and Mac; it should never have compromised Silverlight with the COM support that arrived in Silverlight 4.
The reasons for the absence of Silverlight in the Windows Runtime on Windows 8, and in both Metro and desktop environments in Windows RT, are likely political. The ability to run Silverlight apps on Surface RT would enhance the platform, and if COM support were removed, without compromising security.
XAML and .NET in the Windows Runtime is akin to Silverlight, but with enough differences to make porting difficult. There is an argument that supporting Silverlight there would confuse matters, though since Silverlight is still the development platform for Windows Phone 8 it is already confusing. Silverlight is a mature platform and if Microsoft had supported it in the Windows Runtime, we would have had a better set of apps at launch as well as more developer engagement.
I posted that Microsoft’s Silverlight dream is over in October 2010, during Microsoft’s final Professional Developers Conference, which is when the end of Silverlight became obvious. It lives on in Windows Phone, but I would guess that Windows Phone 8.5 or 9.0 will deprecate Silverlight in favour of the Windows Runtime. A shame, though of course it will be supported on the x86 Windows desktop and in x86 Internet Explorer for years to come.

sábado, noviembre 10, 2012

Start-Up Chile

Curiosamente, parece que no le he dedicado antes ningún artículo al programa Start-Up Chile, aunque debo haberlo mencionado más de una vez. A propósito de un reportaje de América Economía a Nicolas Shea, esta puede ser una oportunidad de conversar un poco sobre esta iniciativa. Esto es lo que la propia organización explica de sí:
Start-Up Chile es un programa creado por el Gobierno de Chile, ejecutado por Corfo vía InnovaChile, que busca atraer emprendedores de alto-potencial cuyas startups están en etapas tempranas para que vengan a Chile y utilicen al país como plataforma para salir al mundo.
La meta final del programa es convertir a Chile en el polo de innovación y emprendimiento de América Latina; esta es una misión compartida con el Gobierno de Chile y uno de los focos del Ministerio de Economía.
En 2010 cuando el programa se encontraba en su etapa piloto, atrajo a las primeras 22 startups de 14 países a Chile, otorgándoles CLP$20mm de capital y una visa de trabajo por un año para desarrollar sus proyectos durante seis meses en el país. Además, se les facilita el acceso a redes de capital y redes sociales. Los emprendedores seleccionados fueron aprobados a través de un proceso de postulación conducido por expertos de Silicon Valley y un Subcomité de Innovación de InnovaChile, que se enfoca fuertemente en la visión global del emprendimiento y si es escalable globalmente.
Entre los criterios requeridos es esencial que los postulantes posean una visión global, creyendo que la ruta del éxito se alcanza a través de la expansión y no del aislamiento. Gracias a lo alcanzado en 2010, la meta para 2011 fue atraer a 300 startups a Chile durante el este año para así alcanzar la participación de 1000 startups en Chile al 2014. El primer proceso de postulación de 2011 culminó con el arribo al país de 87 startups provenientes de más de 30 naciones, tras de haber recibido 330 postulaciones. La segunda ronda de postulaciones se realizó en julio de 2011 y contó con más de 650 de las cuales fueron seleccionadas 154. El tercer proceso del año convocó a 574 postulantes durante un periodo de 3 semanas.
Todos los emprendedores de Start-Up Chile son evaluados durante su tiempo en el programa por diversos indicadores tales como: participación en eventos locales, presentaciones en seminarios relacionado a su industria, levantamiento de capital nacional o internacional o contratación de talento local.
Start-Up Chile ha sido reconocido en diversos medios internacionales, destacándose la publicación de artículos en Forbes, The Economist, BusinessWeek, TechCrunch, y The Financial Times (entre otros) y ha inspirado spinoffs alrededor del mundo como Startup America, Startup Britain, Startup Greece, y Startup Italy.
Start-Up Chile es una iniciativa perteneciente al gobierno de Chile, apoyado en especial por los ministerios de especialmente por los Ministerios de Economia, Relaciones Exteriores, y del Interior.
El hecho de que el proyecto crezca y se mantenga en su segundo año de existencia es ya positivo de por sí, y probablemente estimulante entre otros países de América del Sur (en la última ronda de selección, las solicitudes de emprendedores argentinos, brasileros y peruanos alcanzan al 15% del total recibido, sólo por detrás de Estados Unidos).
Como el programa lo explica, el plan es una apuesta a retener empresas innovadoras que aporten conocimiento, tecnología y empleo de calidad a Chile, ofreciéndoles soporte económico, infraestructura, recursos humanos, para su crecimiento; un negocio mutuamente conveniente: Chile da un salto tecnológico, y las empresas logran su desarrollo. Aunque en el proceso, como Shea dice, sólo quede un 25% de las empresas, el cambio será fundamental.

martes, noviembre 06, 2012

Cambios propuestos para la siguiente versión de Plex (¡Vote!)

Patricia Bowman, nueva Product Manager para CA Plex, CA 2E and CA Gen, ha convocado a votar por las mejoras sugeridas por la comunidad de usuarios de cada producto. Su aviso se publica en el foro de Plex y 2E, incluyendo recomendaciones acerca de cómo votar. Más detalles se encuentran en https://communities.ca.com/web/ca-plex-ca-2e-global-user-community/message-board.  No olvide que para poder ingresar debe declararse como usuario. No deje de votar. Más aún, únase a la plataforma de mensajes llamada "Ideas", donde todo usuario tiene la posibilidad de proponer mejoras al producto, que, como se ve, serán recolectadas al momento de planear la siguiente versión.
Navegando esta guía, en https://communities.ca.com/web/ca-plex-ca-2e-global-user-community/message-board/-/message_boards/view_message/99574318?&#p_19 encontrará el PDF con la lista seleccionada para propuesta. El mismo documento contiene enlaces para votar por cada mejora propuesta. Como alí se dice, en https://caideation.secure.force.com/ideation/ideaList?c=09a30000000IBx1AAG&p=3&sort=recent se encuentra la lista para votar, ordenada primero por las mejoras a 2E y luego las de Plex.
Particularmente, me interesa la mejora "Local Model Configuration Profiles", "IBM I Kerberos Single Sign-on support", "New Plex API Methods" (quizá la que mayor potencial agrega), y "Java Spawn Process API", en este caso un poco por "deformación profesional", ya que llevo bastante tiempo concentrado en variantes java.
Este ha sido el primer contacto de Bowman con la comunidad de usuarios, y ha sido positivo. Patricia reemplaza al querido y respetado Bill Hunt, fallecido este año.

jueves, noviembre 01, 2012

Sobre la "muerte de la PC"

A propósito de un artículo de Wharton sobre "la exagerada muerte de la PC"...
Comparto los puntos de vista de los tres especialistas consultados: todos ellos aciertan en la faceta que comentan, y todas éstas reflejan un crecimiento menor o estancamiento en las ventas de computadores personales. Peter Fader considera el mercado activo y saludable, poniendo el acento en el crecimiento de la competencia sobre un mercado dominado por Microsoft durante casi treinta años (Declining earnings at Microsoft are one thing — they are now facing viable competitors when it comes to operating systems and office tools, so that’s all part of the natural ebb and flow of competing firms). Eric Klemons sostiene que el segmento de mercado, las funciones cubiertas por la PC, están para quedarse, "como sucede con el mainframe" (The PC serves a function. Sometimes I do not want to rely on the Internet, as when I am at 37,000 feet. Sometimes I do not want to rely on the cloud, as when I am working on a first draft of a legal opinion. Where we do our computing has for a decade or more been determined by telecom speed, local PC processor speed, need for storage and local PC storage capacity, software costs, and the need for privacy and security). Daniel Levinthal, finalmente,  invita a no confundir las transformaciones de funcionalidad y de dominio de mercado con la desaparición del recurso (Technologies, even ones that suffer an enormous degree of substitution, tend to survive in particular niche applications. Indeed, while the volumes will shrink, so will competition, and modest margins over modest volumes can be earned. Also, the definition of the distinct category of “PC” may be (or is getting) a bit blurred. In what ways are the new Microsoft devices PCs or not PCs? Is the definition a function of the nature of the operating system? What fraction of processing is done on the machine versus (via an app) on a server? Is it a super narrow definition which implies a microprocessor made by Intel and operating system by Microsoft?).
Indudablemente el mercado ha cambiado y seguirá cambiando. Pero el aspecto central del cambio es el incremento monumental del alcance de los recursos usados. El negocio de las PCs se ha quedado chico, pero no porque se haya achicado, sino porque ha sido ahogado por la aparición de un mercado personal donde las ventas pueden contarse por miles de millones de aparatos, y asímismo su campo de acción. Los recursos móviles han traído nuevos competidores, tanto fabricantes como oferentes de software y sistemas operativos. El gran inconveniente (por no llamarlo error) de Microsoft con su nuevo sistema Windows 8 y WinRT, es tratar de salir a hacerse un lugar en este nuevo mercado gigante, ofreciendo el mismo producto adecuado a movilidad que el que propone a su mercado de escritorio. Quizá no termine perdiendo mercado en el mundo de las PCs, pero está dando una gran oportunidad de entrada a cualquiera que ofrezca un producto ajustado al escritorio. Es cierto: el mundo de las PC seguramente ya no será omnipresente, pero se trata de un nicho con su especificidad, que debe ser tratado como tal.

lunes, septiembre 17, 2012

España y los recursos humanos en informática

Javier Garzas publica hoy algunas reflexiones sobre los profesionales informáticos, que comparto casi en un ciento por ciento, incluyendo sus acotaciones sobre Chile, que hablan de algo que conozco de cerca.
Particularmente los puntos ii y iii
ii. La mayoría (no todas) de las empresas TI en España compiten entre ellas por coste no por calidad, es decir, el proyecto se lo lleva el que menos cobra, y no el que oferta más calidad, o mejores perfiles profesionales (échale un vistazo a este post). A menor precio de venta de proyectos… menos margen para sueldos, y como realmente tener buenos perfiles no es diferenciador (y a los clientes no les preocupa mucho) se contratan ingenieros informáticos baratos o se contratan otros perfiles.
iii. El sector es principalmente de servicios (no de productos). Es decir, se compran horas, o “body shopping” (es decir, cesión de personas al cliente, siendo el cliente quien los gestiona). En cualquier caso no es un modelo de inversiones importantes a medio – largo plazo, no es un modelo en el que se quiera crear el mejor software para en un futuro venderlo y obtener rentabilidad. Es un modelo en el que se quieren cubrir necesidades a corto plazo. Y en este modelo no se quiere el mejor desarrollo, y para ello los mejores profesionales, si no terminar el trabajo cuanto antes.
Ambas razones concurren a un mismo problema: falta de visión estratégica en la dirigencia empresaria en primer lugar (descontando las excepciones), y en la dirigencia política también. Así como en una nación invertir en aquello que crea, innova, multiplica, mejora, es vital para sostener a las futuras generaciones, así sucede para las empresas: una empresa que no invierte en mejorar sus procesos, anticiparse en la visión de sus actividades futuras, o crear nuevas alternativas, es una empresa que se estanca y es superada por su competencia, interna o externa. Este es un problema acentuado en el marco de crisis que vive España hoy, pero que ya sucedía antes: este modelo que observa y critica Javier no es de hoy, sino que también se veía en mejores épocas. Este es un modelo que debe cambiar.
Si disiento en algo de lo que Javier afirma, es en el acento en la regulación (iv. No existe ninguna regulación, es decir, que aún siendo críticios ciertos sistemas informáticos, cualquier profesión puede trabajar en ellos). Este es un punto al que le ha dedicado más de una entrada, y es uno que suelo escuchar entre los profesionales españoles. La regulación sólo sirve para detener la innovación. Poner en manos de un comité regulador la actividad profesional es todo lo contrario de crecer. Los gremios y hermandades se acabaron como solución en la tardía edad media.

jueves, septiembre 13, 2012

Buena presentación sobre MDE

Jordi Cabot publica hoy en Slideshare una muy interesante presentación sobre MDE/MDD, que, si bien hace una introducción general al tema, le dedica lo fundamental a las líneas de investigación y a los puntos problemáticos para lo que define como versión 2.0 de MDE. Dentro de las líneas de trabajo presente y futuro dos aspectos que veo particularmente interesantes son la actividad relacionada con  ingeniería reversa dirigida por modelos (mención especial de MoDisco), y el  manejo de muy grandes modelos, que parece ser un asunto de difícil solución en el marco de las premisas actuales de MDE/MDD.
La presentación es suficientemente detallada y amplia como para que pueda despertar la inquietud de aquellos que todavía dudan del valor de MDD/MDE, y más aún para quienes ya están embarcados en alguna forma de desarrollo basado en modelos. El camino es ancho y abierto...
No lo voy a reproducir: cualquiera puede ver la presentación en Slideshare.

domingo, septiembre 02, 2012

Prisionero en el Metro...

Metro, Windows 8, o como quiera que finalmente se llame, innegablemente fue hecho para dispositivos móviles, para entrar con fuerza en un mercado mucho mayor que el de escritorio (¿centenas de millones de unidades contra millones?), pero probablemente, también con pocas dudas, a expensas del mercado de escritorio, especialmente el empresario. Se ha comentado esto aquí otras veces, pero quizá el comentario de Tad Anderson sea más claro:

Windows 8 runs best on my MacBook Pro

I have had a version of Windows 8 running since the first day the Developer Preview was available for download. I did so out of necessity, not because the techie in me wanted to. The techie in me that has spent the last 10 years exclusively in Microsoft's world wants nothing more than my freedom from the Microsoft Empire.

That will not be happening anytime soon since they own me and every enterprise I work with. I therefore have no choice but to keep learning the Microsoft platform as new releases and tools come out.

Windows 8 RTM is no less annoying to me than the first time I downloaded it. I still don't run it on bare metal and do not plan to. I have found several ways to make it less painful. I do not use the Metro crap ribbon at all. As soon as it loads I hit the desktop.

The biggest trick I have found to make it the least annoying so far is to run it in Parallels Desktop 8 for Mac on my MacBook Pro. The main reason for that is I get my start menu back. (...)

Up until the RTM came out I ran Windows 8 in VMware on my Alienware M18X. I installed the RTM on it but moved all my development to my Mac and haven't opened it on my Alienware since. Not having to deal with that annoying Metro banned of squares is great!!! Sorry about all the Metro references, but that is the only name I know to describe the ugly in Windows 8 on the desktop.

Another plus is that on the MacBook the touch pad allows me to pinch and do a ton of other gestures that aren't available on windows pads. The Magic Mouse also works great with it.

If you are an enterprise user or developer, Microsoft owns you, your sole, your desktop, your servers, and especially your check. They don’t care if they have to throw us under the bus, because they own us. To get a non-enterprise and non-developer customer base they are willing to burn us for the next 3-4 years. We have nowhere else to go and they know it. So yes I will be learning Metro development (or whatever they are calling it now).

On tablets and phones it isn't a bad environment since that customer base is what it is made for. On the desktop it is a joke, and no one but partners who are being force to upgrade are giving it any thought.

I believe they will come around and provide a decent development environment again in 3-4 years, but the bad news is, this will happen again with them. They are followers not leaders, they are imitators not innovators. In 3-4 years they will have missed another bus and it will be catch up time again. The baby will be tossed out with the bath water and we will be starting over…. again.

Anyway...  If you own a Mac and you need to run Windows 8, ironically your best bet is to run it on your Mac environment.

miércoles, agosto 29, 2012

Una presentación: Plex + Webclient

Una presentación publicada hoy por CM First, sobre PLex + Webclient. Para quienes no conocen Plex, una vista estimulante de sus posibilidades. Para quienes usan Plex y evalúan mover sus aplicaciones a nuevas arquitecturas, una idea de cómo mover aplicaciones a web + /o cloud +/o dispositivos móviles. Para quienes no conozcan Plex, es importante tener en cuenta la flexibilidad disponible en cuanto a arquitecturas.

En mi caso, este mes, testeando Plex + Android. Quizá agregue algunas líneas sobre sus resultados.

lunes, julio 30, 2012

Otro enfoque crítico sobre Windows 8

A las diversas razones que exponen distintos analistas acerca de los problemas críticos que podría experimentar Windows 8, Tim Worstall agrega otro: Windows Metro exige que los viejos usuarios de Windows deban aprender una nueva manera de relacionarse con su sistema operativo. Si se debe aprender algo nuevo, pudiera ser que se optara por algo con un costo menor o directamente gratuito:
Yes, it looks like a good enough tablet operating system. And it’s also quite fine as a desktop operating system. But there’s a problem with the way in which every user now has to learn to use the operating system all over again. And what should worry Redmond a great deal more than some journo like me remarking upon this is the way that at least one fund manager has sold his stock in the company as a result of his confusion over their plans.
(...) The essential point is that at the heart of the Microsoft value equation is their near lock on desktop operating systems.
Even if we all stopped writing new code for Windows (as, to some extent is true, we have done, much writing is now being done in Python and so on which is not platform or OS specific) right now then there are vast numbers of legacy systems out there that will continue to require Windows licenses for decades to come.

But Windows 8 asks everyone to relearn how they interact with a computer. Yes, there’s still that legacy systems tailwind helping the company. But if everyone now has to learn a new OS then why would everyone learn the new Windows? The very change they’re bringing in means that people will be open to changing to a non-Windows platform.
I could argue this from an entirely personal perspective. Sure, I use a computer as the essential tool for making my daily bread and butter. I use Windows simply because that’s what every cheap computer on the market comes pre-loaded with. Plus I’ve near 20 years experience of using one form of Windows or another (no, really, I had Windows 1.0 at one point). But I don’t actually use “Windows” if you see what I mean. I use something that opens a word processor, I use something that will allow a browser to run. And that really is about it. I’m sure my experience of computing is similar to the vast majority of people out there too. We’re no more interested in which OS we use than which spark plugs are in our car’s engine. As long as it works then we’re happy.
Which is the danger of presenting us with an entirely new way (the Metro interface which pretty much insists that you access as if you’re on a tablet) of interacting with the computer. If we’ve got to learn all this new stuff well, why not go off and use some other OS that doesn’t force us to do so? Or one that we don’t have to pay for?
It’s entirely possible even that Metro, the tablet interface, really is a better and more intuitive method of interfacing with a computer. But who cares? Maybe changing where the pedals on a car are is a really good idea too. But can you imagine trying to bring in such a change while still keeping your market share?

 Windows 8 consiste en una paradoja: En su mercado consolidado, el escritorio, Windows 8 no solo no agregará más nada sustancial (Win32), sino que lo considerará "legacy", con todo lo que ello implica. Y sus novedades, su nueva visión (WinRT), las pondrá en un mercado, el móvil, en el que  tiene un peso prácticamente nulo, y donde debe hacerse un lugar entre dos grandes competidores. Una apuesta al filo de la navaja.

sábado, julio 28, 2012

Un análisis del comercio digital en Latinoamérica

América Economía publica esta semana un análisis de Universia Wharton de tendencias en comercio electrónico en América Latina, que da una razonable idea de su estado y evolución. Lo que los números muestran es una explosión en el uso de medios digitales que permite estimar una escalada hasta más de la mitad de la población total de Améria Latina, y aún esto deja márgen de crecimiento. Wharton habla de un aumento de sesenta millones de usuarios entre 2009 y 2012, y una estimación de crecimiento para 2015 de otros 120 millones más. El mismo ritmo explosivo se produce en la adopción de recursos móviles de interconexión, y en el uso, o la intensión de uso de estos medio para la compra on line. Frente a estas tendencias, la respuesta de la oferta de servicio todavía sigue siendo irregular y retrasada, tanto en la existencia de aplicaciones como de recursos e infraestructuras: una masiva, gigantesca oportunidad de negocios, que, o será ofrecida, o, dadas las facilidades de acceso que implica Internet, será aprovechada por los grandes actores globales del negocio digital. El artículo de Wharton:
Cuando en 2010 salió a la luz pública el grave endeudamiento público en que había incurrido Grecia y la necesidad de varios rescates financieros por parte de la Unión Europea y del Fondo Monetario Internacional para evitar la quiebra, se dispararon las alarmas en la Eurozona. Mientras, al otro lado del Atlántico, Estados Unidos seguía arrojando datos negativos de crecimiento económico. Dicho escenario marcó el inicio de una nueva desaceleración de la economía mundial que impactaría en las perspectivas de crecimiento de casi todas las industrias y puntos del globo. Sin embargo, el comercio electrónico en América Latina salió ileso, e incluso fortalecido, de ese embate.
Durante el desarrollo del evento e-Commerce Day 2012, realizado el 30 de mayo en Santiago de Chile, y que reunió a expertos de este campo en América Latina, Carolina Forero, Directora de eCommerce de VISA Latinoamérica, dio a conocer el “Estudio de comercio electrónico en América Latina 2012”, realizado por AméricaEconomía Intelligence, que señalaba que las ventas regionales del comercio electrónico sumaron US$43.000 millones en 2011, frente a los US$22.000 millones registrados en 2009, lo que significó un crecimiento del 98%. La cifra de 2011 superó todas las expectativas del mercado, dado que en 2009 la industria estimó que las ventas del e-commerce en América Latina rondarían los US$35.000 millones ese año, es decir, se movieron US$8.000 millones más que lo presupuestado.
El estudio de VISA estima además que el comercio electrónico regional podría cerrar con ventas entre los US$54.470 millones y los US$60.000 millones al cierre de 2012.
¿Pero cómo ha sido posible este crecimiento en medio de una crisis en Europa y Estados Unidos que continúa azotando a los mercados?, plantearon los ponentes del evento. A juicio de Marcos Pueyrredon, Presidente del Instituto Latinoamericano de Comercio Electrónico (ILCE), institución dedicada al desarrollo de la región mediante la innovación y el uso de las tecnologías de la información, en el último tiempo se ha dado un cóctel de factores que ha impulsado el desarrollo del comercio electrónico latinoamericano.
“La realidad es que las crisis económicas han potenciado el comercio electrónico regional y le han venido bien a Latinoamérica”, comentó Pueyrredon. En su opinión, esto se debe a que “en tiempos revueltos las empresas de la región han comenzado a evaluar nuevas alternativas para compensar las menores ventas, abriéndose a ideas innovadoras y el uso de nuevas herramientas”. Y una de estas herramientas, dijo, es el canal online que permite la venta de productos y servicios con menos recursos respecto de la vía tradicional, brindando además la posibilidad de acceder a nuevos mercados que a través del modelo físico serían impensables de alcanzar en forma rápida, masiva y efectiva.

Nuevos actores y modelos de negocios
No obstante, el mayor uso del canal online por parte de las empresas no ha sido el único elemento que ha detonado el auge de las ventas online en la región. “La aparición de nuevos jugadores y nuevos modelos de negocios basados en las cuponeras o compras colectivas, han sido cruciales en el salto que hoy está dando el e-commerce latinoamericano”, destacó Pueyrredon. Lo que han hecho las cuponeras, explicó, es de manera muy creativa proponer nuevas ofertas e incorporar a miles de nuevos demandantes que antes no compraban por Internet, pero que ahora bajo esta nueva modalidad sí están comprando en la Red.
Y los mejores ejemplos de estos nuevos modelos basados en las cuponeras, aseveró Forero, son los exitosos emprendimientos latinoamericanos Peixe Urbano y Cuponaso. “En 2010 los brasileños Emerson Andrade, Alex Tabor y Julio Vasconcellos soñaban con hacer algo en grande y veían en el comercio electrónico una gran oportunidad”, describió Carolina Forero, agregado que ese sueño se materializó en Peixe Urbano, que hoy suma más de 1.000 trabajadores en Brasil y en el resto de Latinoamérica, logrando competir contra Groupon, comprando de paso a Groupalia y apuntando a un crecimiento del 50% en sus ventas este año.
Similar ha sido la experiencia del ecuatoriano Juan Carlos Salame, fundador de Cuponaso, que impulsado por la fuerza de las compras colectivas, ha consolidado un negocio online donde sus socios repartidos en todo Ecuador (restaurantes, spas, gimnasios, boutiques), promocionan en el sitio de Cuponaso todas sus ofertas con éxito y en tiempo récord. “Como ellos, han sido miles los casos de emprendimientos latinoamericanos dinámicos y altamente exitosos, que han proliferado gracias a una atmósfera propicia para la innovación, el desarrollo de una adecuada logística y una mayor confianza de los consumidores latinoamericanos en las compras online”, enfatizó Forero.
A todo este ecosistema de emprendedores y nuevos modelos de negocios hay que sumar el gravitante rol que han jugado las redes sociales. Ello debido a que los usuarios latinoamericanos hacen un uso intensivo de las plataformas sociales, instancia que ha sido aprovechada por las empresas y los emprendedores de la región para ofrecer sus productos y servicios.
Según un estudio realizado por ComScore, líder en medición del mundo digital y dado a conocer en marzo pasado, en 2011 los cibernautas latinoamericanos destinaron un 30% de su tiempo online para conectarse a las plataformas sociales, con Facebook a la cabeza, seguido de Orkut, Windows Live Profile, Twitter y Badoo. Esta cifra implicó un aumento del 9,5% en el tiempo de navegación en redes sociales frente a lo anotado en 2010.
Así, el fenómeno de las redes sociales en la región ha dado origen al Social Commerce (s-Commerce), comentó Forero, un espacio al cual hoy acceden sectores socio económicos medios-bajos para adquirir productos y servicios, y que hace 2 años atrás no pensaban en comprar por Internet.
Otra variable que ha incidido en el crecimiento del comercio electrónico en América Latina es el notable aumento de los usuarios regionales con acceso a Internet. A fines de 2009 había 181 millones de latinoamericanos navegando en Internet, “hoy ya son más de 240 millones”, dijo Forero, “lo que significa que la penetración de Internet en la región alcanza al 40% y se espera que para 2015 se incorporen otros 120 millones más de cibernautas”.
Todo ello ha redundado en un crecimiento promedio anual del 35% del e-commerce regional, indicó Pueyrredon, “mucho más que lo que se ha venido expandiendo el mundo desarrollado (10% anual). Incluso, las ventas online en algunos países como Brasil están creciendo a tasas del 50% anual”. Sin duda, Brasil lidera el sector, ya que según precisó el estudio de VISA, el país carioca tiene una participación del 59,1% en el total del e-commerce regional, seguido de México con un 14,2%, El Caribe (6,4%), Argentina (6,2%), Chile (3,5%), Venezuela (3,3%), Centroamérica (2,4%), Colombia (2,3%) y Perú (1,4%. El resto de los países suman una participación del 1,21%

Tsunami digital
Pese al veloz ritmo con que está creciendo el comercio online en América Latina, los actores de la industria deben implementar “lo antes posible” plataformas que permitan a los usuarios regionales realizar compras online a través de sus dispositivos móviles, según se concluyó durante el e-Commerce Day. Esto, porque el porcentaje de comercio electrónico a través de terminales móviles (m-commerce) en la región hoy apenas representa el 3% del total del e-commerce regional, sostuvo Forero, y los usuarios latinoamericanos están empujando con fuerza a las empresas para que incorporen estrategias de ventas en el canal móvil.
Lan.com es una de las empresas que ya está empezando a sentir en carne propia dicha situación. “El 10% de los clientes que accede a Lan.com lo hace desde su dispositivo móvil”, afirmó Eli Senerman, Gerente de Lan.com y de canales durante el e-Commerce Day, “y ellos nos están exigiendo soluciones para interactuar con nosotros a través de sus teléfonos inteligentes, por lo que ya estamos empezando a desarrollar estrategias de ventas para el mundo móvil”.
Sin duda, se trata de un gran desafío que tienen que asumir las empresas de la región, comentó Pablo Oyarzún, gerente de canales remotos de Movistar Chile, porque la penetración de los dispositivos móviles en los usuarios latinoamericanos, especialmente de smartphones, es mucho mayor de lo que se piensa y su penetración está aumentando velozmente. Según una reciente investigación realizada por Our Mobile Planet, enfocado en el estudio y uso de smartphones en 40 países, la cantidad de smartphones en Brasil (27 millones) y de México (23 millones) superan cada uno por separado a la población de Australia (22 millones de habitantes).
Y si hablamos de compras online, el 45% de los brasileños ha hecho una compra online en sus ordenadores luego de hacer una búsqueda de información en sus teléfonos inteligentes, según indicó el estudio. Por su parte, el 84% de los mexicanos ha investigado acerca de productos y servicios en sus smartphones, en tanto que el 82% de los argentinos y el 75% de los usuarios chilenos de smartphones han hecho lo mismo.
Si bien hasta aquí pareciera que los terminales móviles operan como un dispositivo de consulta más que un aparato transaccional, lo cierto es que “se viene un Tsunami digital”, advirtió Oyarzún, “una gran revolución donde los usuarios de smartphones y tablets van a ser los próximos protagonistas de los negocios en Internet, lo que implica que si de aquí a 4 años más las empresas no tienen sus servicios de venta y postventa disponibles en estos dispositivos móviles, las firmas van a perder una buena cuota de mercado

La amenaza de Amazon
Más alarmista fue la posición de Armando Arias, e-Commerce Manager de Walmart Chile, quien planteó que si en los próximos 24 meses las compañías latinoamericanas no integran de manera eficiente su estrategia de ventas al canal móvil, “van a perder competitividad frente a jugadores internacionales y quien se los va a comer va a ser Amazon!”.
Este e-retailer, que cuenta con 50 millones de productos para la venta y la entrega inmediata y ventas que vienen creciendo a tasas del 40% anual, subrayó Arias, desarrolló una aplicación para iPhone que posibilita a los usuarios hacer compras directas. Pero, no contento con lo anterior, Amazon hoy trabaja en innovaciones tecnológicas para mejorar esta aplicación y desarrollar nuevas soluciones de ventas para otros dispositivos móviles. “En consecuencia, tenemos que prepararnos porque Amazon, que ya tiene presencia en Rusia, España, Italia, Francia, China, Japón e India, además de Estados Unidos, va a incursionar directamente en Brasil y Chile el 2013”.
¿Pero cómo hacer para que los clientes regionales puedan comprar cómodamente desde su smartphone? La respuesta no es fácil, pero en opinión de Ricardo Alonso, Gerente Corporativo de e-Commerce Falabella en Chile, Perú y Colombia, la solución pasa porque las empresas comprendan la lógica del canal móvil. “Cuando el consumidor compra a través de su smartphone su expectativa es tener acceso rápido y flexible a muchos productos, información clara en torno a las ofertas, servicios y beneficios relacionados y un veloz feedback por parte de nosotros los operadores”. Por lo tanto, no se trata de replicar el sitio web en el canal móvil, advirtió durante el e-Commerce Day, si no que de ofrecer aplicaciones aún más amigables e interactivas a los clientes móviles que les permita interactuar con nosotros en forma eficaz y que ello se refleje en una buena experiencia de compra.
Y si en este reto los desarrolladores tecnológicos tienen un rol clave, también lo tienen los proveedores. Alonso dijo que “parte importante de las ventas que hoy registra Amazon es fruto de su excelente gestión comercial, lo que permite a los usuarios el acceso directo al inventario de los proveedores y eso genera una tremenda oportunidad. En cambio, la red de proveedores en tiempo real de los e-retailers latinoamericanos es aún muy limitada y esto es algo que tenemos que mejorar si queremos empezar a vender a través del canal móvil”.
Los proveedores de medios de pago también tendrán que echar manos a la obra, ya que estos deberán adaptar las herramientas de pago a las necesidades del usuario móvil, además de seguir en su tarea de armonizar los diferentes medios de pagos con las distintas tecnologías existentes (códigos QR, bandas magnéticas, NFC, biometría, etcétera) y la coexistencia de múltiples redes de telecomunicaciones.

miércoles, julio 18, 2012

¿CMMI y Agile?

Una ácida observación de Juan Palacio sobre un giro en los conceptos de CMMI:
CMMI y PMI (organizaciones sin ánimo de lucro) están dando un volantazo hacia la agilidad que cuestiona cuál es su misión: el negocio de la consultoría o la difusión y mejora del conocimiento profesional de ingeniería de procesos y dirección de proyectos, respectivamente.

Este vender también respuesta a la demanda de agilidad y olvido de lo mucho que deberían aportar en la evolución de la ingeniería secuencial (cascada) a la ingeniería concurrente, y su aplicación en proyectos TIC, nos deja, como afirma Sandra Valle, sin referentes de información para las empresas TIC que quieren evolucionar de la ingeniería secuencial a la ingeniería concurrente, y no a la agilidad; y además nos confunde con los papers "mezcla-todo" con los que justificar porqué antes eran digo y ahora Diego.

martes, julio 17, 2012

¿Yahoogle?

Marissa Mayer, fotografía de New York Times.
Steven J. Vaughan-Nichols , en ZDNet, da una interpretación inquietante para algunos competidores de Google acerca de la designación de Marissa Mayer como CEO de Yahoo: que la operación sea similar a la que convirtió a Nokia en un satélite de Microsoft (por ahora, digamos):
Some people think this move is like what Microsoft seems to have done to Nokia when Stephen Elop, a former Microsoft executive became CEO of Nokia—and proceeded to tie its future to Microsoft while running it into the ground. Or, she'll just make Yahoo an arm of Google. You might call such a creation: Yahoogle
Algunos de los inversores comprometidos no parecen entusiasmados...(Activist investor and Yahoo board member Daniel Loeb of the hedge fund Third Point LLC, who joined the board after vocally calling for Scott Thompson’s ouster, declined to comment on Mayer’s appointment. Loeb is the second-largest investor in the company [En Forbes , también el comentario de WSJ.])
Está por verse qué queda de la reciente alianza entre Yahoo y Microsoft, si las presunciones de Vaughan-Nichols tienen fundamento. En cuanto a la capacidad de Mayer, quizá sea un error enfocarla sólo en su capacidad técnica, considerando que desde abril forma parte del directorio de Wal-Mart (Perhaps in a sign of grander ambitions, Ms. Mayer joined the board of Wal-Mart Stores in April, her first seat at a public company. She is one of four women on Wal-Mart’s 16-member board.[En New York Times])

Evolución 2012 de la industria del software argentina

Según datos de la Cámara de Empresas de Software y Servicios Informáticos (CESSI), nuevamente 2012 apunta a mantener el crecimiento anual de la industria del software en Argentina, aunque comparando las cifras, el crecimiento evoluciona lentamente: la facturación prevista para 2011 era de 3100 millones, con 700 millones originados en exportaciones. Cerrado el año, las ventas publicadas están por debajo de esa estimación: 2970 millones y 660 millones, respectivamente. Sobre estas cifras, se espera un crecimiento de alrededor de 20% para 2012. Por otra parte, la ocupación pasó de alrededor de 50.000 personas en 2008 a 64.000 estimados este año, con un objetivo estimado de ocupación de 71.000 personas. Según Télam, en América Economía:
El empleo en la industria del software y los servicios informáticos crecerá 11,1% este año, según las proyecciones de la Cámara de Empresas del sector, CESSI.
En 2011, la evolución fue del 7% y el sector cerró el año con un total de 64.300 empleados vigentes a nivel país. Para 2012, la expectativa es alcanzar un crecimiento de 11,1%, con el cual llegará a 71.500 puestos de trabajo.
Asimismo, se espera que las ventas nominales crezcan 19,6% y lleguen a superar los $15 mil millones pesos argentinos; mientras que se estima que las importaciones crecerán 13,4%.
Las autoridades de la Cámara, en un encuentro con la prensa por el 30 aniversario de la entidad, indicaron además que el desarrollo de software y las ventas de productos e implementación e integración asociados a estos productos, explicaron casi el 65% de las ventas del sector, durante el segundo semestre de 2011.
El rubro de banca y servicios financieros representó más de 20% de las ventas totales, seguido por la cadena de software con más de 16%; el comercio con 16,2%;, la industria de manufacturas con casi 10%; y telecomunicaciones, con más de 9%, entre otros.
Por último, se destacó que durante el segundo semestre de 2011 un 73% de las empresas del sector manifestaron haber obtenido, al menos, una certificación de calidad.
Dando otras precisiones, La Nación señala que el mercado norteamericano representa el 59% de las exportaciones, y Brasil, el 11%.
El negocio mundial del software debería dar margen para un salto mucho mayor en las ventas de las empresas argentinas, especialmente pensando en las nuevas generaciones de empresas, trabajando ya no pensando en el negocio nacional, sino en el mercado global, como recordaba por ejemplo CNN, a propósito de la participación argentina en la industria de videojeugos. Creo que se puede decir que el software argentino sigue esperando un salto en su crecimiento.

miércoles, julio 11, 2012

MDD: Una polémica en castellano

Javier Garzas ha tenido la muy buena idea de transcribir en su blog una discusión que sostuviera poco antes en Twitter con otros colegas españoles, acerca del alcance y validez del desarrollo basado en modelos, y de su confrontación y validez frente al concepto "el diseño es el código". La discusión refleja entre sus lectores un gran interés en el tema, pero también un persistente desconocimiento, y además algo de desconfianza y rechazo acerca de la idea del desarrollo guiado por modelos. No tengo tiempo hoy para otra cosa que no sea recomendar su lectura y, para quienes lo crean necesario, participar en la discusión. Espero tener tiempo el fin de semana para hacer algo más que recomendar su artículo, y la lectura de los comentarios de sus lectores. Entretanto, gracias especialmente a Javier y Pedro por su gran discusión.


sábado, junio 30, 2012

Stella Tools, actualización

Acabo de releer el artículo que le dedicara a Stella Tools, y creo que merece una actualización. Ya lo he hecho en el propio artículo, pero, para quienes no lleguen a el directamente, va este recordatorio: George Jeffcock, su autor, ha seguido trabajando en Stella, con gran aceptación de sus usuarios. Pero, lo más importante, ha creado una entrada en la Wiki de Plex, que puede constituír un buen punto de entrada para su uso y su entendimiento. Como se ha dicho antes, Stella es uno de los mejores ejemplos publicados y aprovechables de la potencia que ofrece el API del modelo de Plex. Nuevamente,  estoy convencido de que, a partir del API del modelo, es posible extender Plex en amplios frentes.
Sobre este punto, Lee Dare ha escrito una introducción, y una descripción algo más amplia.

Un tutorial sobre OCL

Jordi Cabot acaba de publicar una presentación sobre OCL (Object Constraint Language) que constituye un excelente tutorial sobre el metalenguaje. Creo que de lo que recuerdo, es el mejor. OCL es un conocido de todos cuantos hayan trabajado con UML en MDD, apreciado y criticado...El tutorial es muy útil para quienes estén tratando de ver el alcance del desarrollo por modelos, y ayuda claramente a entender cómo se pasa de un modelo visual a un cuerpo capaz de convertirse en código.
Desde el punto de vista de Plex, se puede decir sin dudas que el OCL tiene muchos puntos de contacto con el metalenguaje (metaoperaciones) que se puede utilizar en Plex para abstraer y extender el alcance de los modelos que se describan con la herramienta. Una mirada al tutorial, en nuestro caso, también es motivadora. Para recordar la potencia de las metaoperaciones.

martes, junio 19, 2012

Win 8/Metro, en su camino

Microsoft acaba de anunciar su tablet, que a simple vista confirma dos hechos, uno muy obvio, y otro, su consecuencia o "daño colateral". Lo primero, que el objetivo de Windows 8/WinRT/Metro es competir por una posición hegemónica en el mercado de dispositivos móviles, por delante de su preocupación por el mercado de computadores de escritorio (de servidores, ni hablar). Lo segundo, la manifestación visible de la dualidad a la que Microsoft se ve sometida: habrá dos entregas de tablets: una con "Windows 8" (Win32), y otra con "Metro" (WinRT); más aún, el tablet vendrá con un teclado flexible, apareciendo en las presentaciones "como si" fuera un portable ultrafino: ¿todo el mercado a mano? No tanto en la opinión de algunos críticos, al menos. Jason Perlow o Steven J. Vaughan-Nichols en ZDNet, Dave Thier en Forbes. El más extenso, Perlow, que no solo nota los problemas de la dualidad de oferta, sino también lo inconveniente que resulta que Microsoft salga a competir con su universo de socios fabricantes:
(...) The Surface tablets in and of themselves look like nice devices. Beautiful construction, decent specs. But absolutely nothing was said about price or availability. Only that the Windows RT/ARM version will ship around the Windows 8 retail release timeframe (October) and the Pro/Intel version will ship 3 months after that.
To quote Microsoft, “suggested retail pricing will be announced closer to availability and is expected to be competitive with a comparable ARM tablet or Intel Ultrabook-class PC. OEMs will have cost and feature parity on Windows 8 and Windows RT.”
So let me get this straight, Microsoft. You made journalists schlep across the country, no, the planet, for a product that might not ship for months? You’re lucky they didn’t burn the venue down.
Okay, no ship date, no prices and… no compelling 3rd-party applications or even Office to show on it whatsoever. So we have no idea how well it performs, and how well supported it will be by 3rd-party software developers. No partnerships to speak of. Nada.
No demonstration or even any claims of how good the battery life on each model is.
Nothing to say whatsoever about the nature of what display technology they are using, whether it is OLED or LED/LCD backlight or something else. Great, so one is a 720p and the other is a 1080p. Details, please.
Gee, that doesn’t exactly make folks want to stop in their tracks from buying iPad 3s, does it?
(...) Okay. Back to the the dual-architectures thing. They decided to launch a tablet product with their own brand, but bifurcate the message? Which one are we really supposed to buy, then? ARM for consumers? x86 for prosumers and enterprises?
And oh yeah. That niggling little OEM thing.
Does that mean that a “Surface” branded Microsoft tablet is bloatware free? Why should we as consumers buy an OEM device now, if the Microsoft is going to be the “Pure” Windows 8 experience, a la Google’s Nexus, and will be “price competitive” with the OEMs?
(...) And if the Pro version of the Surface is powerful enough, with Intel Core i5 Ivy Bridge CPUs, why do we need Ultrabooks if we can just clamp a keyboard cover to a Surface Pro?
Am I the only person who beleives this thing is a total jump the shark cluster-you-know-what for Microsoft?
Right now, Microsoft’s OEMs — with the exception of whatever “lucky” company got the nod to do the contract manufacturing for this product — must be absolutely livid. To produce their own ARM and x86 Windows 8 systems, they have to pay exorbitant licensing fees.
Windows RT is going to cost an estimated $85 per copy to your average OEM. A Windows 8 Professional license on x86 will be considerably more.
I don’t care what the hell Microsoft says about partners having cost and feature parity, that’s $85 of pure margin advantage that Microsoft has and the OEM doesn’t.
But since Microsoft now produces its own hardware, that $85-$150 per copy the OEM would otherwise have to pay is pure profit which gives them an unfair advantage.
And wait until we start seeing the BOMs for Surface added up by companies like iFixit and see how much cheaper Microsoft can go than the OEMs with their own competing Windows 8 tablets when manipulating the supply chain as well.
What are the OEMs supposed to do? Well I suspect that if you are someone like a Lenovo or a Hewlett-Packard, you probably are seriously going to re-think whether or not you really want to produce tablets with similar specs to the Surface RT and Surface Pro.
You now have to out-value the Surface devices, or you have to play the Enterprise game with beefier, more expensive Windows 8 convertible tablets with higher-res screens and faster CPUs and SSDs that nobody other than select Fortune 500 firms may want to buy, because they’d rather do business with a hardware partner they already buy systems from.
And the Ultrabook concept may no longer be sexy to the majority of its target market anymore. Intel can’t be particularly crazy about that.
And the Asus and Acers of the world? How are they going to compete on margins with this thing, unless they are being chosen as the actual contract manufacturers? Something tells me that the bulk of the contract biz on the Surface is going to end up with Foxconn, Quanta and Samsung, not these folks.
Personally, if I was Steve Ballmer and the bigwigs at Microsoft, I would have done it a bit differently.
“Surface” as a brand name actually is pretty good. It sounds futuristic and new. So why just not make “Surface Tablet” the brand name for all convertible Windows 8 tablets? Or have Surface replace “Windows” as the name of the OS going forward?
Why not give the OEMs access to the manufacturing technology for the special “VaporMG” casings and the keyboard cover? Why create such a potentially hostile situation by biting the hand of the companies that license your software which is currently your bread and butter income stream?
What, you really want them to start pushing Ubuntu and Android and other Post-PC solutions for real now? Because now you just asked them to.
All of this reeks of suicidal thinking from a company that wants to deep six its long-established manufacturer ecosystem.
It does not reflect the actions of a company that tried so hard to shed long-held industry perceptions of being a monopolist, and worst case, it could potentially re-ignite federal antitrust activity that Microsoft has spent more than ten years digging itself out of.
Yeah, I’m cranky. But I’m not crazy.
Will Surface result in untenable, stressed relationships with Microsoft’s traditional OEM partners and Intel, and a renewal of its status as industry monopolist? Talk Back and Let Me Know.

domingo, junio 17, 2012

La exagerada muerte del RPG

Continuando lo dicho hace poco, y a propósito de lo mismo, sigue discutiéndose en un grupo de LinkedIn acerca de la insólita opinión de un editor sobre el RPG. Insólita porque quien declara la muerte de la principal herramienta del iSeries (AKA AS400) es el director técnico de la publicación que se dedica al iSeries. Insólita, porque se une a otras voces de su competencia, dando razón a sus argumentos. Mucho ya se ha anticipado, y se puede retomar a través de las discusiones enlazadas. Sin embargo, ahora quisiera destacar algunos de los argumentos positivos en favor del RPG que en esta más que interesante discusión se están desarrollando todavía.
Antes que nada, quiero destacar lo que Scott Klement ha dicho al respecto: cuando hoy se habla de RPG, se debe hablar de RPG IV, o ILE. Desde este punto de vista, el lenguaje no sólo se muestra muy activo, como pudiera decirse también de otros muertos de buena salud (COBOL) sino que además ha vivido una importante evolución respecto a sus antecesores (III, II) que lo convierten en una herramienta poderosa en el marco del iSeries. Como Scott ha dicho, decretar la muerte del RPG (ILE), es como declarar muerto al iSeries...algo que su competencia desearía, y está lejos de suceder (salvo que IBM esté dispuesta al suicidio).
Lo que sigue, son algunos puntos destacados en esta discusión:
Nathan Andelin sobre OOP:
Saying that RPG isn't object oriented is a red herring. OO is generally characterized by "encapsulation", "polymorphism", and "inheritance". By far the most prominent characteristic of OO is encapsulation, and nothing meets that characteristic better than ILE RPG.

It's not that RPG is not object oriented. It's just that polymorphism and inheritance are not as fully implemented in the compiler as in a language like Java. However, RPG programmers are free to implement their own interfaces that support polymorphism and inheritance to the degree of their choice. I've written about that in the past and posted sample code over the years. 
La referencia de Andelin a RPG y OOP es más extensa, y probablemente sea mejor ver pos separado. Invito por ahora a seguir su explicación, distribuída en más de una de sus intervenciones.

El mismo, sobre la potencia del RPG asociado al iSeries:
Our user interfaces are written in HTML, CSS, and JavaScript, while the majority of our server-side code is RPG. Following are some reasons one might consider using RPG for web applications:

RPG has more efficient database interfaces. Most applications NEED record level access as well as SQL for database I/O. RPG uses less CPU and I/O, has less latency, and performs much better than more mainstream languages, etc.


RPG web applications can maintain state just like 5250 applications, which takes a burden off programmers as well as garbage collectors. Users can even launch multiple instances of the same application without worrying about the state of each. Users can end jobs and free resources by clicking an Exit link.


You can launch RPG programs that perform database I/O and browser I/O and run under IBM i user profiles. You can use IBM i security interfaces to specify authorities of each. User IDs are automatically recorded in journal entries for changes made to IBM i databases and other objects.


RPG jobs can take advantage of IBM i workload management; utilizing subsystems, memory pools, run priorities, time slices, library lists, job descriptions, job logs, output queues, spool files, etc.


With RPG you can activate thousands of IBM i jobs to support thousands of concurrent users where each job can have its own runtime environment. Contrast that with so called “modern” languages that run under environments where you have to set up a separate virtual machine for each environment.


Workload management under IBM i is much more advanced and offers much more control than managing workloads with LPARS and comparable virtual machines. A hypervisor doesn't know the characteristics of workloads that run under a VM that it's managing. It may know whether a VM is requesting resources or not but it has no understanding of priority. IBM i is more effective at managing workloads.


Rather than setting up multiple virtual machines for separate organizations, or for separate development, test, or production environments, you can use separate subsystems, and separate library lists. RPG saves programming time, system administration, and computer resources, which ultimately saves money.

Giuseppe Tintor, sobre el uso de RPG en la capa servidora:
I use Java to write web application (jsp, servlet) but the databse access is done through RPG programs only; RPG il called from Java using pcml interface so I'm sure that the database is completly closed to external users and nobody can run sql, query or excel inquiries on files. None is aware that behind a web page there is RPG and none notice performance problems! I think that RPG is the perfect tool to manage database access on AS/400.  
 Una línea de discusión abierta sobre la capacidad del iSeries de sostener múltiples trabajos simultáneos toca no sólo al RPG, sino al soporte del propio sistema operativo; la comparación con un servidor Windows puede incomodar a administradores de éste servidor. A propósito de una pregunta de uno de los participantes (Is the concept of an active job in the IBM i the same as the concept of an “active job” in a PC server? As I understand it, one user in the IBM i is at least one job. In the PC world, one job can accommodate numerous users – dependent on the PC server’s resources, of course. (...) Tens of thousands? I know the IBM i QMAXJOB shipped value is 163520 but do you have experience with your system reaching that many users (tens of thousands) ? If I’m not mistaken, the client I work for only has a little more than 1500 users. Even then, their IBM i which is at V7R1 is already experiencing performance degradation. (I think I need to ask my manager about that again.) [preguntado a Andelin por Allan Roberto Garcia]):
You asked, "Is the concept of an active job in the IBM i the same as the concept of an “active job” in a PC server?"

It's a good thing that I reread your question a couple times and put some thought into it because I think I profoundly misunderstood it the first time.


At first, I thought you might be talking about the concept of a "process" under IBM i vs. a "process" under Windows. When you open Task Manager under Windows and navigate to the Processes tab you see a screen that looks fairly similar to the WRKACTJOB display under IBM i. Right?


Windows Task Manager shows you a list of .exe files "running". WRKACTJOB shows a list of "active jobs" under IBM i. I think you would find a lot of similarities between what an "active job" might be doing under IBM i, and what a Windows .exe might be doing. Wouldn't you agree?


One key difference would be that you would NEVER see tens of thousands of running .exe files under Windows. The runtime environment would be destabilized long before that could occur. But under IBM i, tens of thousands of "active jobs" would NOT be a problem.


So, while there may be many similarities between the work being done by Windows .exe files and IBM i active jobs, the design of the runtime environments are profoundly different. Windows cannot support complex workloads reliably. Complex workloads under Windows must be divided between multiple physical or virtual machines in order to run reliably (being generous with respect to Windows reliability).


One of our customers has more than 10,000 active jobs running daily on a 4-core, 32 Gig RAM IBM i server. Consider the number of active jobs that a 256-core, 8 Terabyte RAM IBM i server might be running.


Sorry for that analogy, or comparison. I don't think that's what you were really asking about. But I do think there is a relationship.


You say, "In the PC world, one job can accommodate numerous users – dependent on the PC server’s resources, of course."


Would that "one job" you're referring to be the ASP.Net server? It wouldn't have to be. It might be a PHP server. It might be a JEE application server. Actually there are many options.


Under the IBM i framework we use, one active job might be supporting multiple concurrent users. In that case, multiple concurrent requests might be queued. The program would be responsible for managing each user's state. There would be "restore state" and "save state" operations for each request.


Our framework also supports a "launch method" where a new job is loaded and run for each user who clicks on its associated menu item. We don't limit the number of menu items that a user may have "active" at the same time. User state is automatically maintained. The active job ends when the user clicks the "Exit" link.


We also support a launch method where a specific set of users may be supported by one active job; participants in a meeting for example. When the meeting ends, it ends for all users.


We run into use cases for each type of "launch method". They each have advantages and disadvantages. It's just nice to be able to support each.


I should say something about managing complex workloads under the IBM i native environment vs. application servers such as ASP.Net, JEE Application Servers, and PHP.


In the case of the latter, you will almost always find that the only way to scale those environments and make them run reliably is to separate them into multiple physical or virtual machine instances, and front end them with load balancers, which normally requires numerous skilled people to manage.


Under IBM i, we scale by launching active jobs into subsystems, each of which may be linked to separate HTTP server instances; possibly linked to separate client organizations; keeping their workloads separate.


Overall, IBM i workload management is WAY superior to load balancing between virtual machines.

La discusión aún continúa. Sólo he destacado algunos puntos. Otros, tales como el modelo OOP, o el desarrollo de aplicaciones web contra funciones servidoras RPG están desarrolladas, ejemplificadas, y ofrecen excelentes perspectivas. Una gran respuesta a quienes dan por muerto lo que no conocen.

domingo, junio 10, 2012

iSeries: Con amigos como estos...

El 16 de mayo, Mel Beckman,en Iprodeveloper, publicó un artículo decretando la muerte del RPG (Is RPG Dead?), con cuestionamientos definitivos al lenguaje más básico y fundamental del iSeries, (o AS/400, o System i, o como se lo quiera llamar), que desató una larga discusión cuyos ecos continúan. Una gran parte de la discusión puede seguirse en las respuestas de lectores al propio artículo, pero tambíen en la excelente -y elegante- respuesta de Scott Klement en mismo sitio, así como en otros medios (grupos de LinkedIn, en nuestro grupo de usuarios de Plex, en IDevelop (1, 2), y en blogs,entre otros.
Un aspecto notable de este cuestionamiento del que ha sido y sigue siendo el principal lenguaje de diálogo con el iSeries, es que fue escrito en una publicación, Ipro Developer, que está enfocada en el iSeries, en la que "RPG programming" es el primer ítem del menú que encabeza la página, y que fue escrita por Mel Beckman, quien, según el pie del mismo artículo, "is the senior technical director for iPro Developer". Y más notable aún, que, habiendo pasado casi un mes, no exista ni un deslinde de responsabilidades de la publicación, ni un descargo del director técnico (senior).
La afirmación de obsolescencia del RPG resulta peor todavía en el marco de los reclamos de la comunidad de empresas y consultoras usuarias del iSeries, que se vió obligada recientemente  a publicar manifiestos y sostener su difusión  ante la inactividad del propio IBM en su defensa. Resulta incomprensible que un sistema que ha representado y representa un importante volúmen de las ventas y licencias de IBM, adoptado por miles de grandes y medianas empresas de primera línea en todo el mundo, que defiende el buen nombre de la empresa por su fiabilidad, y que no ha dejado de actualizarse nunca, sea torpedeado por quienes viven de su existencia.
Pero, para establecer una defensa en regla del iSeries, nada mejor que lo que Scott Klement responde en su defensa:
Yet, Mel even goes so far as to suggest that C (from 1972) and C++ (from 1983) are more modern languages.  Are you kidding me?!   Like RPG, I code in C every day, it's a big part of my job.  And let me tell you, C is not nearly as modern as RPG.  It's not even close. C and C++ can't even do simple string operations without you having to code manual memory allocation, bounds checking, and extra code to make sure that a simple string concatenation doesn't turn into a security hole.  Its database access routines are nowhere near as simple or advanced as RPG's.  Its date operations are awkward and clumsy by comparison to RPG.  Don't get me wrong, I like C, especially for lower-level systems coding.  But it's nowhere near as modern as RPG, nor as well suited for writing business logic.
But, maybe Mel doesn't understand that when today's authors refer to RPG, we really mean RPG IV.  We don't bother including the "IV" every time we say it, because RPG IV today's RPG, and everyone should already know that!

What Features Are Important In Business Logic?

Before we go throwing around opinions about old, legacy, etc...  maybe we should define what is important to us?  What are important features for a language that's aimed at people writing business logic?
  • Business logic uses numbers heavily.   Numbers represent quantities, prices, and weights.  These are key to almost every application in the business world.  Very few languages today support numbers with true decimal-based arithmetic (as opposed to integer and floating-point which are ubiquitous).  Java supports decimals properly, but only by working through complex classes.  RPG supports decimal numbers simply and easily, because they are the default numeric data type in RPG.
  • Business logic uses databases heavily.  Almost every business application is database driven, and database access is deeply integrated into the RPG language.  Native record access is simple and powerful.  Even more powerful is SQL, which is an order of magnitude simpler to code in RPG than it is in many other languages such as PHP or Java.
  • Business logic uses dates frequently.  Whether you're checking when a customer's payment is overdue, managing inventory turnover, determining when an order should be shipped, or when an employee was hired, you need to work with dates in a simple and effective manner.  Today's RPG does that.  Many other languages have APIs or classes for working with dates (this includes Java, PHP, C, C++, etc) but in RPG they are built right into the language, and that makes it simpler.
  • Business logic uses a ton of string manipulation.  Concatenating, scanning, or substringing character data is something I do every day in every program I write.  This is easy in many of the languages that Mel considers modern (PHP, JavaScript, Perl, Python, Ruby), but some of them make string manipulation much harder than it should be (Java, C, C++).  Today's RPG, unlike its predecessors, makes string manipulation a snap.
I've coded in more than 20 programming languages.  Some are object-oriented (such as Java, C++, and JavaScript), some are procedural (C, RPG, Pascal, Fortran), and some are a mixture of the two (such as PHP.)  But when I sit down and figure out which language is  easiest for my business logic, it's invariably RPG.