domingo, julio 20, 2014

En el filo de la nueva era...

Renovadas apuestas sobre la estrategia y ruta de desarrollo de los negocios de Microsoft. La reciente conferencia de Satya Nadella a todos los empleados ha confirmado que habrá novedades de gran porte en las estrategias de Microsoft, pero deja todavía dudas y dificultades para materializar en productos, áreas de ocupación o servicios que serán priorizados...o desechados.
Dice Mary Jo Folley:
Microsoft CEO Satya Nadella is working to focus the company on fewer, key areas where it has a better chance of winning. The areas where Microsoft is trumpeting its wins at this week's Worldwide Partner Conference are largely in the cloud -- with Azure, Office 365, Dynamics CRM Online -- and Office, Windows Server and business intelligence/SQL Server on premises.
(...) Microsoft is in the midst of attempting to pivot and remake itself as a "productivity and platforms" company, rather than a devices and services company. That change is more than semantic. In the post-Ballmer Microsoft, hardware is interesting only insofar as it "lights up" productivity software and services.
Nadella lanzó una palabra, "experiencias", para hablar de un nuevo paradigma de contrucción y funcionamiento de aplicaciones y servicios. Comenta Folley:
The focus on productivity -- and "platforms" -- is the newest focus for Satya Nadella's Microsoft. Just last week, Nadella outlined Microsoft's shift from a devices and services company to one focused on productivity and platforms. (...) Microsoft wants to offer a "complete suite of Microsoft experiences preinstalled on any device, on any platform"
Cuando Nadella habla de "experiencias", tiende a apuntar a la interacción entre aplicaciones de empresa y socialización, tratando de establecer herramientas de interconexión que hacen borrosas las diferencias entre actividad de negocios y actividad informal ¿será este un camino lleno de "experiencias"?
Entretanto Microsoft redefine sus objetivos, esta semana que termina se anunciaron 18000 despidos en el futuro próximo, lo que comenzará a convertir las ambiguas directivas en cortes y reubicaciones elocuentes. Esta cifra significa alrededor del catorce por ciento de su personal, aunque doce mil corresponden a la herencia de Nokia (25000 empleados reducidos a la mitad), lo que reduce el corte general a 6000, alrededor de un cinco por ciento (1). No sólo una gran reorientación de negocios y objetivos, sino también un compromiso financiero de cerca de quince mil millones de dólares en indemnizaciones.
Escalando la transición forzada por el gran cambio en los negocios habido en el mundo (2), todo es incierto en Microsoft, desde las tecnologías de sustento, hasta el objetivo de los negocios. Téngalo en cuenta cuando estime sus planes de desarrollo de tecnología, y sus próximas compras y compromisos de larga duración.

jueves, julio 10, 2014

Microsoft End-of-service: prepare su cronograma


Comentado por Mary Jo Foley esta semana: Microsoft comunica el fin de soporte de varios de sus productos para este 2014, y los planes para los próximos años. Es oportuno estar al tanto de este cronograma, para organizar las propias estrategias: Windows 7, Windows Server 2008, Exchange Server 2010 y Windows Phone 7.8  pasan a soporte extendido en enero de 2015 (El soporte extendido dura 5 años e incluye actualizaciones de seguridad gratuitas y soporte técnico con revisiones de pago. Además, Microsoft no aceptará solicitudes de cambios de diseño o nuevas características durante la fase de soporte extendido, según indica el propio anuncio de Microsoft). Foley recuerda que este año también pasan a "soporte extendido" Office 2010 y Sharepoint 2010:
Support for Office 2010 with Service Pack 1 ends on October 14, 2014, as does support for SharePoint 2010 with SP1. Support also is ending for Forefront Unified Access Gateway 2010 with SP3 and Visual Studio 2012 Remote Tools, Test Professional, and Express for Web, Windows 8 and Windows Desktop.
pero además, que finaliza todo soporte para Windows Server 2003:
Complete end of support for Windows Server 2003 is approaching next year, as well. On July 14, 2015, Microsoft's extended support period for that product cuts off, which means the company won't be issuing patches, updates or fixes of any kind for that operating system (unless users have pricey Custom Support Agreements in place). A number of small businesses are still running Windows Server 2003. Microsoft officials are hoping to convince them to move to Windows Server 2012 R2 and/or Azure
Es decir, en sólo un año más, todo la comunidad de instituciones, negocios e individuos que mantiene algún tipo de licencia de Microsoft, se encontrará en la encrucijada de quedar fuera de soporte (o recibir un soporte reducido) , o escalar a un nuevo modelo de sistema operativo, con todas sus conexiones e implicaciones. No se trata de cambios graduales, sino de largas listas de incompatibilidades, ausencias de soporte y documentación, sorpresivas incidencias por recursos perdidos, ignorados, desaparecidos. En el nuevo modelo al que todos los usuarios se asoman hay un corte radical con una escasa posibilidad de integración del patrimonio preexistente de aplicaciones y herramientas. No es algo que salte a la vista, pero es algo que está presente donde se enfoque la atención.
Es decir, activamente conozca el alcance de los cambios, y planee una ruta; examine su patrimonio y estime su plan de acción futuro...Quizá, si su patrimonio está muy comprometido, sea hora de estudiar otra alternativa global.

viernes, junio 20, 2014

Nueva dirección de la comunidad oficial de Plex

Desde hace pocos días la comunidad de usuarios de Plex/2E/Gen tiene nueva dirección. Esta es la segunda reorganización general de las comunidades de usuarios de CA. Afortunadamente, en general se han mantenido las discusiones pasadas, aunque han cambiado los enlaces, probablemente haya problemas con los adjuntos que se hayan pasado, y los feeds deben volver a cambiarse. Los perfiles de usuarios se han mantenido, así como los contactos. No veo las etiquetas asociadas a las discusiones, aunque veo etiquetas existentes.  Un aspecto positivo es que las discusiones técnicas se han entroncado en una sola corriente de entradas junto a las ideas, es decir, las propuestas de mejoras al producto. Y parece ser que existen herramientas para crear una idea a partir de una discusión.
Actualice sus marcadores con la nueva dirección.

domingo, junio 15, 2014

El objeto CDO y Office: ¿obsolescencia programada?

 Revisando algún otro asunto (algún fallo ajeno en el uso de MAPI), topé con un anuncio que en particular nos afecta en más de una instalación; digamos que en general puede afectar a cualquier usuario de Plex, pero supongo que su alcance es más amplio, más allá de la estrategia propia de Plex, para cualquier instalación basada en mensajería de Microsoft. El anuncio tampoco es nuevo: refiere a Office 2010: Collaboration Data Objects (CDO) 1.2.1 no es soportado con Outlook 2010 y versiones posteriores. CDO es una librería basada en el modelo COM de Microsoft, accesible por medio de C, C++, VBA, VB, C#, usada ampliamente para el envío de mensajería en sistemas Windows. En el mismo sitio del anuncio CDO es definido como  a client library that provides a thin wrapper over Extended MAPI functionality. This library is typically used to add email messaging functionality to custom programs. This library allows those programs to perform functions such as sending email through MAPI, working with calendars, and accessing various data in Microsoft Outlook or in Microsoft Exchange.

Posiblemente el API de MAPI haya sido intermediado por el uso de CDO ampliamente desde su aparición; bien definido, bien documentado, consistente, capaz de ser invocado desde casi todos los lenguajes ejecutables en Windows, y particularmente desde las propias implementaciones de Microsoft para el lenguaje de propósito especial de Office (VBA).
Sin embargo, a partir de Office 2010, nos encontramos que CDO no es instalado, y es desaconsejado su uso para interactuar con Office a partir de esta versión, debido a cambios de arquitectura en la suite de oficina:  
Microsoft Outlook 2010 and later versions include many architectural changes to the client-side MAPI subsystem. Of particular concern are scenarios in which Outlook is configured to use multiple Exchange accounts. Also, CDO 1.2.1 is a 32-bit client library and will not operate with 64-bit versions of Outlook. Given all these factors, CDO 1.2.1 is not supported for use with Outlook 2010 or Outlook 2013, and we do not recommend its use with Outlook 2010 and later versions.
¿Podemos considerar esta decisión una violación de los principios de arquitectura del modelo COM? Una vez más, el concepto de compatibilidad y continuidad del soporte de Microsoft opta por la vía rápida: se elimina su instalación, se ralea la información y documentación a partir de ahora "legacy", y se recomienda calurosamente el cambio a la nueva versión. Microsoft tiene una solución a su patrimonio de funciones construidas usando CDO:
Programs that use CDO should be re-designed to use other Application Programming Interfaces (APIs) instead of CDO (...) Developers should use the Outlook 2010 and later object model instead of CDO 1.2.1. Also, developers can still use Extended MAPI (which requires unmanaged C++) in some scenarios where CDO was required. However, if it is possible, we generally recommend that the Outlook object model be used instead of Extended MAPI. Microsoft product support can help developer customers migrate custom programs from using CDO 1.2.1 to using other APIs. However, Microsoft will not provide support for any scenarios in which CDO 1.2.1 is used with Outlook 2010 or Outlook 2013. 
Simple, entonces: busque todos los casos en que usara CDO, y rediseñelos para usar el modelo de objeto Office. Justo cuando Microsoft está en transición entre Win32 y WinRT, para descubrir que dentro de un par de años WinRt determina otro modelo de objeto, y, sin más trámite, todo su patrimonio sea discontinuado de nuevo.
Sin duda usted podrá seguir usando CDO, en un marco limitado, recurriendo a modificaciones de la instalación, a condición de cómo administre su instalación de Exchange (vea el punto More information en la página del anuncio de Microsoft). Pero no será soportado, y cada día encontrará menos documentación para arreglárselas por su cuenta. Si lo va a seguir utilizando, tome una medida de precaución: conserve como documento off line todo lo que pueda conseguir todavía de guía de referencia y soporte de Microsoft. Como en muchos casos, pronto encontrará que las (escasas) referencias que se conserven, lo conducirán a páginas muertas. ¿CDO funciona? digamos que sí. Lo que ha cambiado es Office, y la compatibilidad hacia atrás parece que es secundaria: cambie de modelo de API. La mejor explicación acerca de las razones del conflicto de versiones la he encontrado en lo analizado por Matt Stehle, en los MSDN blogs. Matt apunta a la existencia de dos modelos de manejo de memoria: el de MAPI/CDO, y el de .NET, que pueden producir intermitentes problemas de asignación de memoria:
MAPI has its own memory management model that conflicts with and is incompatible with the .NET runtime. This the primary reason that MAPI and CDO 1.21 are not supported running in a .NET process. The common symptoms you will see are seemingly random Access Violations and very often memory leaks (especially with CDO 1.21). There is no methodology for avoiding or managing these symptoms by using interop libraries or managing references in a particular fashion in your .NET code – it just won't work.
The trap is that CDO 1.21 and .NET can "appear" to work and you can get pretty far in your dev cycle before you run into problems. Many times we see this come up in soon after a solution is released to production, in late cycle performance testing, or in a pilot program. Opening a critical case with Microsoft when you have end users complaining of crashes or project managers short on budget is not a good time to find out that your solution is unsupportable.
Matt se extiende sobre el alcance de éste conflicto, reconociendo que realmente sólo a partir de Office 2007 existen mejores reemplazos de CDO, y que por lo demás, ambos serán excluyentes (The simple answer is you either need to not use .NET or not use MAPI or CDO 1.21). Puede leer la nota completa de Matt en su blog. No se arrepentirá, especialmente si sigue la acotación que apunta Matt a lo que Patrick Reehan dice acerca de qué significa "no soportado" para Microsoft.

En nuestro caso, el impacto sería reducido (por otra parte en ningún caso los servidores de Exchange han provocado conflictos todavía), porque CDO/MAPI están sumamente encapsulados, y no conviven procesos .NET con CDO. Todo nuestro manejo de mensajería pasa por un solo objeto, y las interfases entre un modelo y este objeto son exclusivamente de datos, sin ningún condicionamiento técnico. Bastará con redefinir las actuales llamadas, adecuándolas a los nuevos requerimientos, y recompilarlo y distribuirlo. No hará falta tocar nada más. ¿Pero esto es así en todos los casos? seguramente no, y probablemente en muchas empresas habrá (o hubo) trabajo inesperado.

sábado, mayo 31, 2014

Microsoft reenfocándose


Una noticia reciente poco comentada, pero quizá importante, ha sido la de abrir .NET y C# a proyectos open source, digamos, en mayor medida de lo hecho anteriormente. Recogido por Mary Jo Foley a comienzos de abril, pocos comentarios más se vieron en casi dos meses. Siguiendo a eWeek, Microsoft anunció en su conferencia Build 2014, sus planes en open source: la creación de una fundación (.NET Foundation), veinticuatro proyectos para iniciar actividades, y la conformación de una dirección integrada por funcionarios de Microsoft, de la subsidiaria Microsoft Open Technologies, y Miguel de Icaza. Entre los proyectos puestos en open source, está .NET Compiler Platform ("Roslyn"), y un par vinculados a Xamarin, la implementación de Miguel de Icaza de la plataforma de desarrollo.NET para dispositivos Android, iOS y GNU/Linux (el desarrollo completo en el comunicado de la fundación). En eWeek:
Microsoft formed the .NET Foundation to foster further innovation across the .NET ecosystem. The .NET Foundation will start with 24 .NET open-source projects under its stewardship, including the .NET Compiler Platform (previously known as "Roslyn") and the ASP.NET family of open-source projects, as well as the MimeKit and Mailkit libraries from Xamarin.

"We are going to be delivering a preview of the Roslyn compiler as a service," Somasegar said. "The most interesting thing that we're doing there is we are making both our C# compiler and our VB [Visual Basic] compiler open source. You want to be able to work with the community, you want to be able to take contributions back from the community, and you want to be able to work in the open. The other thing we are doing is adding support for .NET in Azure Mobile Services." - 
Tanto de la lectura de los comunicados iniciales, como de los comentarios de Foley o Tim Anderson, se puede decir que lo más importante a la vista es la mayor colaboración con Xamarin e Icaza, y por lo tanto, un frente más en la apuesta por ganar un lugar en las tecnologías móviles. Tim Anderson pone especialmente el acento en este futuro móvil:
The focus now though is on mobile, and interest in C# is stronger, mainly from Microsoft-platform developers reaching beyond Windows. There is also Unity, which uses C# as a scripting language for developing games for multiple platforms, including iOS, Android, Windows, Mac, Linux, Xbox, PS3 and Wii – PS4 is coming very soon.
Microsoft has now consciously embraced multiple platforms, as evidenced by Office for iOS as well as the Xamarin collaboration. “We want C#developers to build great applications across different form factors and different device platforms,” said Jay Schmelzer Director of Program Management for Visual Studio.
You might observe that this position has been forced on the company by the rise of iOS and Android, a view which likely has some merit, but the impact it has on C# and .NET itself is still real.
Una nueva acción  en el sentido de adecuarse al rumbo actual y próximo del mercado tecnológico, como los movimientos de apertura de Office o los intentos de mejorar la posición de sus tabletas. ¿Con qué alcance? probablemente, destinado a ofrecer una alternativa al mercado propio en el ajeno de Android o iOS.
¿Hasta qué punto este nuevo lanzamiento es open source?  Si atendemos al inicio, en cuanto al carácter abierto de la fundación, su directiva es casi completamente Microsoft:
The new foundation will be initially staffed by Microsoft and third parties, including a representative from the Microsoft Open Technologies subsidiary and someone from the .NET organization, as well as Miguel de Icaza, CTO and co-founder of Xamarin, which is partnering with Microsoft on a related effort, Somasegar said.
"There will be a board of directors," he said. "There are going to be a couple of people from Microsoft that are going to be on the board. There will be one person from MS Open Tech that's going to be on the board; there will be one person from the .NET team that will be on the board. We are also getting Miguel de Icaza to be on the board, so we'll have at least one third-party person on the board from Day 1. And we'll have a couple of third-party projects, including efforts from Xamarin and others. Our plan is, over time, to expand the board to include more people. There will be a board that will govern the .NET Foundation. Microsoft will initially have a strong presence, but it will not be exclusively Microsoft."
Mi primera impresión fue de sorpresa, ya en que demasiadas ocasiones las grandes empresas mandan a open source los productos que dejan de ser centrales en sus proyectos: una manera de reducir fondos a un producto que no está en sus planes, descargando en una comunidad el esfuerzo futuro de desarrollo. Sin embargo, en este caso, existe un deseo de mantener un control estricto sobre la conducción de la fundación, y existe un área de sumo interés futuro. En los artículos de Foley hay parecidas impresiones:
I have to admit that I wasn't sure if Microsoft's decision to open-source more of .Net would be met by cheers or jeers by those attending Build last week. I was curious if developers might see the move as an indicator that Microsoft no longer considered .Net valuable enough to keep in-house as part of its collection of crown jewels. Most of the devs with whom I spoke at the show seemed upbeat about the move, however.
Hejlsberg told attendees of a press panel during Build that Microsoft is not abandoning .Net.
"We are actively investing in .Net going forward," Hejlsberg said, in response to an audience question as to whether Microsoft was putting .Net on the back burner.
"It's not going away," Hejlsberg said. "We are all in on .Net."
El tiempo, más rápidamente que lo que nos podríamos pensar, irá diciendo a dónde va esta iniciativa. La competencia actual no da lugar a muchas dudas.

sábado, mayo 17, 2014

IBM: Liderazgo en fuga?

IBM 360, en computerhistory.org
Adam Hartung, en Forbes, comenta la evolución financiera y de bolsa de IBM reciente, poniendo en evidencia la errática conducción de la corporación, y su inexplicable estrategia...Hartung pone en el centro de sus decisiciones descaminadas, la baja de su inversión en investigación, lejos de lo que fuera por décadas, y la recompra de acciones, incluso recurriendo a endeudamiento. Hartung apunta a un problema de conducción de la empresa, focalizando en su actual CEO, aunque probablemente podamos hablar de más tiempo...
Why You Don't Want to Own IBM
IBM just finished a tough week.  IBM fell 2% after announcing earnings on Wednesday, dragging the Dow Jones Industrial Average (DJIA or Dow) down over 100 points.  And as the Dow reversed course to end up 2% on the week, IBM continued to drag, ending down almost 3% for the week.
Of course, one bad week – even one bad earnings announcement – is no reason to dump a good company’s stock.  The vicissitudes of short-term stock trading should not greatly influence long-term investors.  But in IBM’s case, we now have 8 straight quarters of weaker revenues.  And that HAS to be disconcerting.  Managing earnings upward, such as the previous quarter, looks increasingly to be a short-term action, intended to overcome long-term revenue declines which portend much worse problems.
This revenue weakness roughly coincides with the tenure of CEO Virginia Rometty.  And in interviews she increasingly is defending her leadership, and promising that a revenue turnaround will soon be happening.  That it hasn’t, despite a raft of substantial acquisitions, indicates that the revenue growth problems are a lot deeper than she indicates.
CEO Rometty uses high-brow language to describe the growth problem, calling herself a company steward who is thinking long-term.  But as the famous economist John Maynard Keynes pointed out in 1923, “in the long run we are all dead.”
Today CEO Rometty takes great pride in the company’s legacy, pointing out that “Planes don’t fly, trains don’t run, banks don’t operate without much of what IBM does.”  But, powerful as that legacy has been, in markets that move as fast as digital technology any company can be displaced very fast.
Just ask former CEO Scott McNealy and his leadership team at Sun Microsystems.  Sun once owned the telecom and enterprise markets for servers – before almost disappearing and being swallowed by Oracle in just 5 years (after losing $200B in market value.)  Or ask former CEO Steve Ballmer at Microsoft, who’s delays at entering mobile have left the company struggling for relevancy as PC sales flounder and Windows 8 fails to recharge historical markets.
Managing earnings is not managing for long-term success
CEO Rometty may take pride in her positive earnings management.  But we all know that came from large divestitures of the China business, and selling the PC and server business to Lenovo.  As well as significant employee layoffs.  All of which had short-term earnings benefits at the expense of long-term revenue growth.  Literally $6B of revenues have been sold off just during her leadership.
Which in and of itself might be OK – if there was something to replace those lost sales.  Even if they didn’t have any profits – because at least we have faith in Amazon creating future profits as revenues zoom. But IBM was far late to the cloud, and hasn’t shown it has anything to leapfrog industry leaders.
The REAL problems – R&D cuts, higher debt, massive stock buybacks
What should terrify investors about IBM are two things that are public, but not discussed much behind the hoopla of earnings, acquisitions, divestitures and all the talk, talk, talk regarding a new future.
CNBC reported that 121 companies in the S&P 500 (27.5%) cut R&D in the first quarter.  And guess who was on the list?  IBM, once an inveterate leader in R&D, has been reducing R&D spending.  The short-term impact?  Better quarterly earnings.  Long term impact????
The Washington Post reported more this week about the huge sums of money pouring out of corporations into stock buybacks rather than investing in R&D, new products, new capacity, enhanced marketing, sales growth, etc.  $500B in buybacks this year, 34% more than last year’s blistering buyback pace, flowed out of growth projects. To make matters worse, this isn’t just internal cash flow spent on buybacks, but companies are actually borrowing money, increasing their debt levels, in order to buy their own stock!
And the Post labels as the “poster child” for this leveraged stock-propping behavior…. IBM.  IBM
“in the first quarter bought back more than $8 billion of its own stock, almost all of it paid for by borrowing. By reducing the number of outstanding shares, IBM has been able to maintain its earnings per share and prop up its stock price even as sales and operating profits fall.
The result: What was once the bluest of blue-chip companies now has a debt-to-equity ratio that is the highest in its history. As Zero Hedge put it, IBM has embarked on a strategy to “postpone the day of income statement reckoning by unleashing record amounts of debt on what was once upon a time a pristine balance sheet.”
In the case of IBM, looking beyond the short-term trees at the long-term forest should give investors little faith in the CEO or the company’s future growth prospects. Much is being hidden in the morass of financial machinations surrounding acquisitions, divestitures, debt assumption and stock buybacks. Meanwhile, revenues are declining, and investments in R&D are falling. This cannot bode well for the company’s long-term investor prospects, regardless of the well scripted talking points offered last week.

sábado, mayo 10, 2014

Actualizando Visual Studio en Plex

Esto es de particular interés para los usuarios de Plex: hay abierta una votación  para conocer el interés de la comunidad de usuarios por llevar la versión de Visual Studio a la última disponible. En la comunidad de usuarios de CA, en la sección de ideas, o informalmente en el foro de Plex. Muy probablemente  más bien funcionará como una encuesta y un sondeo de opinión. Considerando el abismo abierto entre la versión soportada actual (2005) y la versión oficial (entre 2012 y 2013), es imposible anunciar una actualización sin consultar a los usuarios. A esta altura, a los pro evidentes, hay que sumar el costo del retrabajo necesario para subir la versión. ¿Cuánto es este retrabajo? Es de interés de cualquier empresa que haya trabajado en una arquitectura con clientes WinC (o funciones servidoras WinC) participar en la discusión, y aportar su visión del impacto esperado.
(Para acceder a los enlaces debe tener un usuario registrado en las Comunidades. Si no lo tiene, regístrese)

domingo, mayo 04, 2014

Tendencias: IOT


El 6 de junio de 2012 se produjo el Lanzamiento Mundial de IPv6, inicio explícito del nuevo y reformulado protocolo de Internet. "IPv6" no se trató simplemente de atender la explosión social de Internet, sino que fue un paso necesario para atender a otra explosión: la perspectiva ya inmediata de extender la red de internet potencialmente a cualquier recurso susceptible de aplicarle inteligencia. Esto es, la Internet de las cosas (IOT), es decir, la posibilidad de que enormes cantidades de objetos puedan disponer algún grado de inteligencia, una dirección propia para comunicarse, y posibilidades inagotables de interrelacionarse con el mundo circundante. Sumémosle el mundo ya lanzado de la movilidad, y tendremos un universo de recursos de potencialidad sin límite. Ian Skerrett, de la Fundación Eclipse, expuso ayer mismo en pocas líneas su visión sobre el alcance de IOT. Creo que vale la pena reproducirlo, por su claridad, profundidad y síntesis:

How to categorize the Internet of Things

I was recently asked how to categorize the Internet of Things. IoT is so broad and multi-dimensional that I am not sure if there is one easy answer or set of categories. However, here is my current thinking…

1. IoT Hardware

A lot of the excitement in IoT and the maker community starts with the cheap, easily accessible hardware. Arduino, Raspberry Pi, BeagleBone are the poster kids in the space. Now there are a ton of new hardware solutions be made available, ex Parallela (16 cores for $99) , Galileo from Intel

2. IoT Standards and Protocols

There is a lot of talk about IoT protocols and which one will win. It is too early and I agree not any one protocol will win. One thing I do know is that closed proprietary solutions are not going to win. We do need to work on having a common set of standards like CoAP, MQTT, Alljoyn, SensorML, etc  Of course, we also need to make sure that we have open source implementations for these standards and protocols. That is why Eclipse IoT is so important for an Open IoT.
There will also be a lot of vertical standards that will be developed for IoT, like OneM2M, Continua, etc.

3. IoT Gateway Software

The typical IoT solution architecture will have some type of gateway solution that connect the sensors and actuators to the Internet. Eclipse Kura and Mihini are good examples of this but there are certainly others.

4. IoT Middleware

Companies like IBM, Axeda, Sierra Wireless, 2lemetry, ClearBlade, Microsoft, Eurotech, Thingworx, Litmus Automation and others are providing IoT platforms/middleware solutions. This is definitely an emerging space where all platforms are not equal. I expect to see a lot more startups and the big enterprise middleware vendors driving the innovation for IoT middleware.

 5. IoT Databases

The amount of data generated by IoT solutions has the potential to be Huge Data, not just big data. AS pointed out by Matt Asay, the exists a massive opportunity in analyzing IoT data.  Splunk seems to be the leader in this space but I expect a lot of innovation in this space.

6. IoT Solutions: IoT & Humans vs Industrial Internet

There are also a lot of  industry specific and user-case specific IoT solutions. Tim O’Reilly wrote a recent article titled ‘The Internet of Things and Humans‘ which does a very nice job summarizing the human impact of IoT. In fact a lot of the hype for IoT is around wearables and home automation.  Nest is the poster-child for IoT&H but you can’t go a week without finding another home automation solution being launched on kickstarter.
There is no doubt the human side of IoT will be important but I find the Industrial side to be a lot more compelling. SCADA systems like the London Tube system , Nespresso providing remote management of coffee machine, the work GE is doing for hospitals, aircrafts, etc. are the things  are fascinating and exciting opportunities. This is also where a lot of the profits in IoT will be made.

In the last 6 months the activity/hype around IoT has exploded. It will be fun to watch how these categories emerge and merge in the next 1-2 years. Of course an Open IoT is what is needed for all this to be successful. Eclipse IoT will be an important part of the solution.
Es hora de adelantar(se) en este escenario; ¿nuestras herramientas serán capaces de operar sobre este conjunto? ¿conocemos los recursos, infraestructura, estándares, proveedores, con los que habrá que interactuar? ¿tenemos la comprensión adecuada para transmitirla a quienes serán sus beneficiarios? Creo que sin duda, esta es la hora de los DSLs y de los modeladores y generadores de código, y comparto la expectativa de Skerrett en el papel que Eclipse pueda cumplir, por su flexibilidad y la extensión de su comunidad de usuarios y proveedores.

sábado, abril 26, 2014

A propósito de una API de c++

Hace algunos días me pidieron que estudiara alguna manera de validar que una fotografía cumplía con ciertos requisitos de densidad y medida en pixeles: un requerimiento simple, que exige acceder a metadatos de la imagen. Desde el punto de vista de nuestros modelos de Plex, esto significa usar un API, ya que no existen dentro del conjunto de funciones propias del producto, ni tampoco en ninguno de sus patrones de tecnología, alguna función preelaborada que permita obtener esa información.
Un API es un trozo de código específico de una plataforma que funciona encapsulado: en su interior resuelve una necesidad específica, en este caso, tratar metadatos de una imagen, intercambiando información con el modelo a través de parámetros. Así, el modelo se mantiene a nivel abstracto, y se relaciona con código específico de plataforma a través de un marco de inicialización que resuelve la relación entre el nivel del modelo y el del código encapsulado. El marco de las APIs que Plex maneja es relativo a plataformas específicas: c++ para clientes Windows de código no administrado (en términos del marco .NET) u ODBC, un motor de VBscript incrustado para VBscript, c# para  .NET, y java o RPG para las variantes respectivas. Ya hace tiempo existe en la comunidad de Plex el estilo de definir un API de tal forma que responda a múltiples plataformas, por medio de metaoperaciones, que permitan intercambiar los parámetros entre el modelo y el código encapsulado, que será uno distinto por variante, y se resolverá en tiempo de compìlación según metaoperaciones que interroguen al modelo acerca de qué lenguaje se ha configurado. De esta forma, un sólo objeto API permite representar en un modelo su solución para tantas variantes como sea necesario y posible.
¿Estas son las únicas variantes posibles? Aunque hasta donde conozco, nadie lo ha intentado, existe una posibilidad de "sobrecargar" Plex para agregar APIs de otra plataforma o lenguaje: Plex sigue el modelo .COM, y permite importar un componente, y utilizar sus métodos y variables públicas como parte del modelo. Es entonces posible añadir transformaciones que habiliten otra variante, al menos al nivel puntual de una API. Utilizando elementos similares por otra vía, Websydian primero, y Webclient después, permitieron agregar capas de arquitectura web completas a un modelo de Plex.

Pero ahora, volviendo al pedido de lectura de metadatos de imágenes...Primero, restringimos el alcance del API a una aplicada a un modelo WinC, es decir, uno de plataforma Windows de modelo Win32, al menos para su primera versión: el horizonte de aplicación abarca por lo menos los próximos tres años. No está claro si en el futuro la aplicación continuará sobre Windows o Java, y en el primer caso, si sobre Win32 o WinRT. Digamos de todas formas que WinRT todavía no está soportado sobre Plex, lo que estrechaba el marco de posibilidades. Ahora bien, ¿qué alternativas hay disponibles para trabajar con imagenes escritas en c++ o c? En una primera revisión, encontré varias alternativas; Adobe XMP Toolkit, ExifTool (en modo de línea de comandos), Exiv2, y especialmente el Windows Imaging Component, o el objeto PropertyItem (en System.Drawing.Imaging Namespace) , ambos de Microsoft. Con algo de entusiasmo, comencé pesando las posibilidades de estas dos alternativas de Microsoft. Trabajando con Visual Studio y sobre una plataforma Windows ¿qué alternativa más "natural" puede considerarse que la del propietario de la plataforma? Sin embargo, luego de revisar la documentación (algo escasa en general), encuentré su uso demasiado exigente para el caso que debíamos atender: En primer lugar, la clase PropertyItem parecía más simple y directa de usar (a pesar de que tampoco estamos hablando de pocas líneas de código), pero aparecieron un par de observaciones (1, 2) que es necesario tener en cuenta, sin hablar de las posibles dependencias de versión del framework .NET. En el caso de WIC, examinando la documentación claramente marchabamos a matar moscas a cañonazos. Tanto por la complejidad relativa al objetivo a resolver, como también por la ambigua situación de evolución y deriva de .NET, Win32 y WinRT,decidí volver a evaluar otras opciones de código abierto, y finalmente adopté Exiv2, pero aún de una manera más simple: no recurriendo a la librería c++, sino usando el comando de consola exiv2, que permite acceder a la mayoría de los estándares de metadata...sin necesidad de asegurarse de que estén instalados los codecs adecuados...
En fin, resuelta la estrategia, en un par de días cerramos el problema con un código simple, reducido, y fácilmente ampliable a la obtención de otros atributos. En una situación de transición de la plataforma de Windows como la actual, es preferible quedar libre de dependencias y compromisos, si es posible. En tanto, ActiveX, VBA, VB for Office, c++ y en alguna medida .NET y .COM, atraviesan la borrosa frontera entre Win32, WinRT y otras alternativas que puedan sumarse a "un solo Windows"...

lunes, abril 21, 2014

Migrando a System i 7.1

En un proyecto en el que trabajo, en poco tiempo más (midiendo en meses) migraremos un conjunto de sistemas IBM i (AKA AS/400, iSeries, al menos en su base), de 6.1 a 7.1, mientras que IBM ya anuncia i 7.2 . El cambio no representa  inconvenientes mayores: probablemente no haya demasiado que tocar en aquellas aplicaciones que generamos con Plex, que básicamente no debemos recompilar ni tampoco rehacer código.Únicamente deberíamos asegurarnos de que ningún API usada o procedimiento de lenguaje de control pudiera entrar en conflicto por obsolescencia. De acuerdo a la información adelantada por IBM, los problemas no vendrían por este lado. Es casi seguro que podremos seguir trabajando todas nuestras aplicaciones RPG, sus APIs, y nuestro CLs, sin modificaciones.
En cambio, tenemos asegurado trabajo de revisión con Java, quizá el área de mayores novedades en el software incluído para la versión 7.1, ya que, si consideramos que nos movemos desde 6.1, debemos tener en cuenta que la nueva versión abandona la máquina virtual estándar de Java (esta parte tampoco nos afecta, porque Websphere 7.0 ya la usa), y utiliza sólo la propia de IBM (J9). Esto sí requiere análisis y tests para aquellas aplicaciones que no se ejecutan con Websphere.  En el caso del servidor de aplicaciones, que es el que usamos relacionado con Plex, estimo que podremos mantener inicialmente la versión 7 de Websphere, que ejecuta Java 6, pero en algún momento debemos pensar en subir su versión a 8.1, que usa Java 7. Y esto implica que también deberemos planear la migración de Plex a 7.1. No es obligatorio, ya que podríamos mantenernos como hasta ahora, pero debemos pensar que también podemos llegar a estar presionados por los cambios en Windows, de 7 a 8.
A pesar de todos estos movimientos, no es mucho lo que impacta en nuestras aplicaciones, que se mantienen con cierta holgura en estos movimientos de versiones. Más bien, lo que debemos repensar es qué cosas podríamos reenfocar, sacando provecho de las nuevas posibilidades: gran parte de los cambios se manifiestan como extensiones. Mayor es el peligro si habláramos de dependencia de Windows, ya que el paso de 7 a 8 sí apunta a un cambio de arquitectura mayor. Pero de estos inconvenientes podemos hablar mejor en otro momento.
Dany Burger, en The Four Hundered, dedica un interesante artículo a los problemas de migración de i 6.x a i 7.1 y 7.2, que me motivaron a chequear nuestros propios riesgos a futuro. Como en otras ocasiones, es de reconocer y agradecer la política de cambio y migración de IBM y el iSeries (o como lo llames), que difícilmente te deje en una situación de callejón sin salida con una aplicación antigua: se puede evolucionar gradualmente sin tirar lo que ya está hecho.

domingo, abril 06, 2014

Incorporando recursos móviles al horizonte de trabajo

Este fin de semana leí un artículo especialmente interesante de Matt Baxter-Reynolds en ZDNet, que quise conservar aquí, para uso posterior, por sus sugerencias en el enfoque a la hora de definir qué devendrá aplicación móvil, y qué no, o no tendrá relevancia.
Do you remember a time before we used to talk about "mobile"?
In reality, it's only been a few years. You don't actually have to go back that far to find a world where mobile was unusual, where the only way normal people got the internet was through a PC that was physically wired into the network. First we got Wi-Fi, then we got cellular data, but mobile was always distinct, always secondary.
Now we're operating in a world where there is no distinction. Plus it's not like mobile has "taken over" and normal desktop computing is in second place. What we're seeing is a world where a connected device is a connected device, regardless of its classification.

Differences

The difference between a non-mobile device and a mobile device is that a mobile device is one where it can be used whilst you're moving, whereas a non-mobile device is one that can be moved from place to place. This is primarily about utility. When you need to interact with a non-mobile device, you have to go through a set-up process, sit down in front of it, and start your activity.
What people want when they engage with mobile is to be able to access their data, and reach out to people in their social networks, without having to go through this specialised set-up process.
If we're particularly looking at enterprise use, a user may choose to use mobile over non-mobile for a number of reasons. For one, it may not be easy to set-up a laptop where they happen to be in space and time -- e.g. a parent dropping their kids off to school replies to an email whilst waiting around. Or, it may just be more of a hassle than what it's worth -- e.g. having a quick look at whereabouts in the city their meeting the next day happens to be during an ad break in a favourite TV show.
In these examples, there is no clear delineation between a "mobile" and "non-mobile" task. What we're looking at is choice in how something is done. The fact that we now use operating systems and form factors that are new is simply an accident. Has Microsoft moved faster into the mobile space, beating Apple and Google, we would have been using Windows as a primary mobile OS too, rather than what we have today where we have this split of operating system use that follows the split of form factor.

Unhelpful

In business what we have today is that people tend to say "We need a Mobile strategy". In that statement, "Mobile" is very much though of as having an upper-case "M".
This is an unhelpful approach. Thinking about "Mobile" (as opposed to "mobile") tends to focus the discussion around technology, whereas it's important when thinking about post-PC to think about the sociological angles first.
There's all sorts of reasons why it's helpful for certain types of professionals to be able to reply to emails whilst dropping their kids off at school. This is after all why BlackBerry became a successful business. The most obvious one is that it allows the user to do something then and there, getting it off their radar, rather than having these trivial "I wonder if…" and "I need to…" tasks gumming up their brains.
BlackBerry is very interesting here because within the enterprise they solved this problem ahead of anyone. BlackBerry invented business-oriented post-PC way before Apple did, simply through this ability to open up access to company systems to certain types of individuals. Specifically, the company system that they opened up was email, seconded by scheduling, and contacts.
What BlackBerry actually did was hit the only really obvious part of "mobile" when it comes to enterprise. If you talk to people who want to take advantage of BYOD, or want their employer to buy them a smartphone and/or tablet, as soon as you have email, scheduling, contacts, and web browsing covered, you have largely done everything that the user wants.
This is part of where thinking about "Mobile" gets stuck. Within the business sphere, there isn't really that much to do other than those basic things. If you focus on "Mobile", all you do is fiddle around the edge of that basic problem.

Alternatives

So if you're a CTO/CIO and you're in the mood for invention and innovation in the mobile space, what do you do?
If you think about "Mobile" as opposed to "mobile", you're going to look at what can be done with the technology. Moreover, you're going to look at what is safe (i.e. what your peers manage to make work), and you're going to respond to what you're being asked (e.g. "I want to reply to emails when I'm dropping the kids off at school.")
If you think about "mobile" as opposed to "Mobile", you're still in danger, as you'll be putting the cart before the horse. "Which opportunities can be delivered best through a smartphone?" is something you may ask.
Asking the question in that way puts up an artificial technical barrier to what you're trying to do. The end user doesn't care if they are mobile or not mobile when they're using what you're provided. What they do care about is that it becomes a tool that fits in with everything else that they have going on.
Perhaps one day that tool is one that they'll want to use in the office at a PC. The next day they might want to use it on a laptop at home. The day after they'll want to access it via their smartphone on a train.
Another danger here is in how businesses buy systems. Going out into the market and asking for "mobile" narrows your options. What users want is systems that are flexible and allow anytime, anyplace, anywhere working. What you need to ask for is systems that offer that flexibility.
The trick with this is to simply ignore "mobile" as a thing -- simply don't think of mobile devices as anything special.
After all, there is no "mobile".


domingo, marzo 16, 2014

Efectividad en aplicaciones móviles

Releyendo los 12 tips para crear un sitio móvil amigable (12 Tips for Creating a Mobile-Friendly Website) recomendados por Jennifer Lonoff Schiff en CIO...
Algunos de los tips son previsibles y conocidos, alguno difícilmente realizable (Don't go overboard with Java[...script?];  "consider replacing bulky JavaScript libraries like jQuery Mobile with standalone JavaScript"). Pero en conjunto, no deja de ser una buena guía.
Detrás de la simplicidad y síntesis requerida por una aplicación móvil hay un monto de trabajo y conceptualización superior al usual "en otras eras" del desarrollo de aplicaciones, particularmente basados en dos características especialmente dadas en ellas: la vida de una aplicación puede ser considerablemente corta, y debe prevenirse su visualización sobre un número alto de clientes, formados por dos dimensiones concurrentes de actores: sistemas operativos diversos, y visualizadores (browsers) diversos. Y las diferentes versiones de sistema operativo y visualizadores...Sólo puede salvarse de esta matriz de conformidad una empresa que desarrolle aplicaciones para su propio uso...y fuerce el uso de un producto y una versión.
¿Es posible encarar una serie de proyectos móviles sin contar con un marco de recursos que simplifique el trabajo de desarrollo?
Pero un marco tal, en muchos puntos entrará en conflicto con este tipo de recomendaciones, fundamentalmente aquellas que hacen a la construcción en sí misma. En mi caso, trabajando con plantillas de Webclient, existe una oportunidad de refactorización, en la propia capa intermedia. Webclient recurre a Dojo (aplicaciones web) o Sencha (aplicaciones móviles). Si bien técnicamente podría recurrir a javascript personalizado, mucho más económico y adaptado a la recomendación ("Avoid excessive JavaScript in your mobile websites where possible, because it runs differently across different browsers and devices," says Hume. "Even different models of the same phone can often behave quite differently when it comes to JavaScript"), esto requeriría algo así como reinventar la rueda, dedicando un tiempo precioso. Más económico es revisar las propias plantillas cuando resulte necesario, y buscar medios de simplificar su solicitud de servicios del marco Dojo/Sencha. Un compromiso entre resultado final y optimización.

viernes, marzo 07, 2014

Retraso de infraestructura móvil en Argentina


Este martes, La Nación publica un editorial sobre infraestructuras de telefonía móvil en Argentina, a propósito del Mobile World Congress de Barcelona. El editorial destaca la creciente distancia entre la evolución de la tecnología y su estado en Argentina, ya no sólo respecto a los países de la primera línea de desarrollo y adopción, sino también respecto a sus vecinos regionales. Una debilidad estructural y estratégica que tiene que afectar profundamente a cualquier plan nacional que se proponga como centro de negocios en servicios de software. Lo esencial dicho:
En estos días, Barcelona ha sido el escenario ideal para la cumbre global de la industria de la conectividad móvil, el Mobile World Congress (MWC, por sus siglas en inglés). Y aunque visto desde afuera y por los no iniciados en el tema, el encuentro pueda parecer todavía del futuro, no lo es. Se trata del presente bien presente, el mundo de la gran tecnología sobre el que se asienta un cada vez más pujante negocio digital.
Lamentablemente, la Argentina parece estar muy lejos de todas estas novedades, tanto de las tecnológicas como de las comerciales, y, paradójicamente, a pesar del entusiasmo con que los argentinos abrazamos todas las innovaciones. Efectivamente, una de las certidumbres que confirmó este encuentro mundial es que nuestro país, en éste como en otros temas, no tiene planes a la vista para mejorar la tecnología para celulares y, por ello, está cada vez más atrasado en América latina. Por ejemplo, fue el único de la región que no anunció la adopción de la tecnología sucesora del 3G, la 4G LTE, que permitiría mejorar el acceso a la Web desde teléfonos móviles. La adopción de este estándar es clave para superar los recurrentes apagones que afectan a las comunicaciones móviles y, sobre todo, para conectarse a Internet a alta velocidad desde el celular.
Mientras los argentinos comprobamos en carne propia este atraso todos los días, ya hay 18 países en América del Sur y el Caribe que lanzaron servicios 4G LTE, mientras que en Europa y los Estados Unidos ya se experimentan versiones más avanzadas aún.
Esta realidad tampoco es desconocida para el Gobierno, que, sin embargo, con las medidas adoptadas un año atrás, lo único que logró fue justamente atrasar a todo el sector local de la telefonía móvil. Como se recordará, en febrero de 2013, se decidió dejar sin efecto una licitación pública para asignar frecuencias radioeléctricas para los servicios de telefonía móvil, y la Presidenta instruyó al secretario de Comunicaciones, Norberto Berner, para que asignara esas frecuencias a la Empresa Argentina de Soluciones Satelitales SA (AR-SAT), propiedad del Estado, cosa que hasta ahora no ha ocurrido. Ya en diciembre de 2012, la mandataria y el ministro de Planificación, Julio De Vido, habían anunciado también la creación de Libre.ar, una nueva marca de servicios de telefonía móvil que prestaría el Estado a través de AR-SAT -fue presentada como una acción para "recuperar el éter para los argentinos"-, pero ésta fue la última noticia importante que se tuvo de esta operadora móvil.
Por su parte, las tres principales operadoras móviles de la Argentina -Telefónica, Telecom y Claro- siguen esperando que el Gobierno haga algún anuncio al respecto, y tratan de capear las cada día más crecientes dificultades para evitar las caídas recurrentes de sus redes; la demanda de ancho de banda por medio del móvil -con dispositivos cada vez más potentes- no deja de crecer, y exige mayores ajustes en las redes, con nuevas antenas y radiobases. Con este panorama, en el que las autoridades nacionales parecen no darse cuenta de la importancia del tema, no resulta extraño que la única funcionaria argentina presente en el MWC haya sido la gerenta de control de la Comisión Nacional de Comunicaciones, Anabel Cisneros.
Decíamos que la Argentina está lejos incluso de lo que es el enorme negocio digital: si licitara espectro -un recurso natural limitado por el que se transmiten las señales inalámbricas- para 4G, podría recaudar por lo menos 1000 millones de dólares, y otros 1500 millones serían necesarios para que las tres operadoras móviles locales comiencen a desplegar redes 4G LTE.
Hoy, además de la indefinición política, se cierne otro inconveniente grave: se confirmó que el servicio móvil LTE puede interferir la televisión digital terrestre, que tiene en la Argentina el país con mayor alcance de América latina. No hay que olvidar otras dos cuestiones que también dificultarían la llegada al país de la nueva tecnología: la exigencia de ensamblado de los teléfonos en Tierra del Fuego, que termina encareciendo sus precios, y el freno aduanero a las importaciones de antenas y equipos para evitar la salida de dólares.
Si pensamos que la última licitación de espectro se realizó en 1999, cuando había poco más de dos millones de usuarios de telefonía celular, y que ahora, con mucho más de cincuenta millones de líneas móviles en servicio y con dispositivos que, al permitir el acceso a Internet y a contenidos de multimedia requieren muchas más frecuencias, se está operando en las mismas condiciones que hace 13 años, se comprenderá la gravedad de la situación actual.