Entrevista de IT NOW sobre Aplicaciones Web

Recientemente la revista IT NOW nos solicitó nuestra opinión sobre varios temas en torno a Desarrollo de Aplicaciones Web para incluir en su próxima edición. Aquí incluyo las preguntas y respuestas originales para que discutamos también en el blog sobre este tema.

IT NOW: Cada vez más empresas a nivel mundial parecieran inclinarse por desarrollar e implementar aplicaciones Web, ¿se aplica esto también para Centroamérica? Por qué?

RJ: En efecto el desarrollo de aplicaciones web también es una tendencia clara en nuestro mercado. Según nuestros estudios más de un 52% de los desarrolladores de la región realizan algún trabajo para el Web, lo que confirma un reporte de CAMTIC (2005, CR) que señala que un 61%+ de los proyectos de software locales actualmente son para o sobre el Web (rubro predominante en dicho estudio). Esto tiene varios motivos que incluyen el incremento constante en la penetración de Internet en nuestros hogares, la madurez de las herramientas de software para crear aplicaciones para el Web, una fuerza laboral con los conocimientos necesarios gracias a las ofertas de la academia o los centros de entrenamiento especializados y finalmente el reflejo de la globalización en las áreas de TI, lo que obliga a tener estándares y propuestas de interconectividad en línea para poder competir y hacer negocios mundialmente.

IT NOW: ¿Que ventajas ofrece utilizar aplicaciones Web sobre aplicaciones instaladas?

RJ: Una aplicación Web goza de una instalación centralizada, lo que permite vigilar y probar el proceso sin que los usuarios lo noten. De la misma forma es posible actualizar la aplicación constantemente de manera transparente para el usuario, lo que se resume en un proceso de deployment muy eficiente y de bajo costo. Los sitios web normalmente no imponen requerimientos de hardware en las PCs clientes ya que suelen ser livianos (a excepción claro está de aplicaciones multimedia o con interfaces muy cargadas de elementos visuales o animaciones). Existen además una serie de estándares disponibles como HTML, CSS, XML, SOAP, WSDL o WS-* que permiten que estas aplicaciones puedan con relativa sencillez ejecutarse en cualquier navegador, además de que por naturaleza son (en su gran mayoría) independientes de la plataforma final. Para concluir, una aplicación web puede fácilmente reutilizar otros elementos o aplicaciones web disponibles en Internet, principalmente servicios.

IT NOW: ¿Qué desventajas o debilidades trae trabajar con programas en línea?

RJ: Al crear una aplicación web surgen naturalmente varios retos, como el hecho de desconocer la configuración, software y hardware de los dispositivos que accederán la aplicación. Obviamente las aplicaciones web tradicionales dependen de los tiempos de respuesta y la disponibilidad de una conexión a Internet. La seguridad de repente toma un papel más central, al existir la posibilidad de muchos tipos de ataques y fraudes si no se tomas las precauciones del caso. Otros factores como estabilidad y escalabilidad de la aplicación se vuelven críticos para el éxito del proyecto, ya que ahora existe la posibilidad de tener que atender miles de usuarios simultáneos y a cualquier hora del día. Esto a la vez significa una inversión considerable en infraestructura del lado del servidor, donde se deberá pensar en firewalls, balanceadores de carga, servidores propios de la aplicación y servidores especializados de bases de datos entre otros. Finalmente para que la aplicación crezca de manera orgánica y se pueda integrar sin mayores problemas con el mundo exterior, se debe de planear muy bien su arquitectura, idealmente utilizando un modelo SOA o una de sus variantes y en nuestra región todavía son pocos los arquitectos de software que cuentan con experiencia consolidada en este campo.

IT NOW: ¿Se ve una mayor tendencia de trabajar con aplicaciones diseñadas para Internet o para la intranet? Por qué?

RJ: Vemos a las compañías haciendo una inversión en ambas áreas, lo cual resulta natural al tratarse de las mismas tecnologías y las mismas habilidades técnicas. Existen algunas áreas cuyo ámbito incluye tanto Internet como Intranet y que han sido fundamentales en los últimos cinco años para llevar a muchas compañías a este mundo Web, como lo son las soluciones de Gestión del Conocimiento, tanto en el área documental como en la de administración de contenido, especialmente en aquellas compañías que buscan una certificación estilo ISO para su Gestión de Calidad.

IT NOW: ¿Que beneficios o debilidades trae trabajar con aplicaciones para Internet o para intranet?

RJ: En las intranets podemos sumar la ventaja de controlar el universo de clientes que se conectarán a la aplicación, donde conocemos el hardware y software utilizado. Además si contamos con una buena infraestructura de red los problemas de falta de conexión y bajos tiempos de respuesta deberían verse mitigados fácilmente. Como desventaja podemos mencionar que la naturaleza de una aplicación web no es la mejor para aplicaciones donde un usuario realiza mucho ingreso manual de datos, como por ejemplo un cajero de un banco, debido a que la experiencia del usuario (utilizando las herramientas web tradicionales) no es tan ágil. Para mejorar la experiencia de usuario en estos casos, se debe tomar en cuenta ambientes híbridos o extendidos que son una combinación del Web con aplicaciones tradicionales. En nuestro caso llamaos a estas aplicaciones Smart Clients, una mezcla del Web y aplicaciones tradicionales (el uso de Silverlight o Flash es otro ejemplo de cómo enriquecer la experiencia final).

IT NOW: ¿El software en línea no acarrea problemas de acceso y seguridad para las empresas?

RJ: Sin duda alguna el exponer cualquier bien a muchos ojos trae consigo un mayor riesgo a si yo lo guardo solo para mí. Sin embargo los beneficios superan por mucho el riesgo en este caso y siguiendo una planeación adecuada, contando con un experto en el tema de seguridad, utilizando las últimas tecnologías y con políticas de monitoreo y revisión constante de su estrategia es posible protegerse responsablemente.

IT NOW: ¿Cuáles son las carencias que perciben en la región con respecto al desarrollo de aplicaciones Web?

RJ: Algunas disciplinas están apenas consolidándose en la región, como la de Arquitectura de Software (relativamente pocas personas con experiencia consolidada en modelos SOA) y la de Ingeniería de Experiencia de Usuario (personas que no solamente se dediquen al diseño final de la interfaz sino a toda la interactividad y experiencia de la aplicación). Otros retos que vemos es que en general Latinoamérica es la única región del mundo (de las monitoreadas por Netcraft) cuyo universo de soluciones hospedadas por las propias compañías es mucho mayor (y crece al mismo ritmo) que las soluciones hospedadas por un tercero (Hosters), lo cual indica cierta inmadurez en nuestro mercado.

IT NOW: En la región, ¿se ve una mayor penetración en el desarrollo orientado hacia .NET o hacia Java? Por qué?

RJ: Para aplicaciones Web los dos jugadores principales son .NET (ASP.NET) y PHP. Según nuestra encuesta regional del 2007 (entrevistas al azar sin importar si son clientes nuestros o no) un 66% de los desarrolladores Web utilizan .NET (ASP) versus un 39% PHP (obviamente hay personas que utilizan ambas tecnologías). Esto concuerda con la encuesta de CAMTIC mencionada que estimó alrededor del 70% para ASP.NET. Con respecto al uso de .NET versus Java, que se da principalmente en las capas de negocio, .NET es la herramienta primaria para un 63% (74% si se incluyen otras versiones de Visual Studio) de los desarrolladores versus 44% en Java (todos los ambientes de desarrollo Java sumados). Uno de los motivos que constantemente nuestros clientes señalan para escoger la plataforma .NET es la integración punta a punta de toda la solución de desarrollo por un único proveedor con representación local, la gran facilidad de uso y un claro panorama de hacia dónde va .NET. Nuestra solución incluye desde herramientas para administrar el ciclo de vida del desarrollo de la aplicación (manejo del proyecto, requerimientos, pruebas,  versiones, etc), versiones especializadas por rol (arquitecto, desarrollador, tester, dba), ejecución en múltiples plataformas (PCs, PDAs, Smartphones, consolas de video, consolas de automóviles, relojes, robots, etc), interoperabilidad en múltiples sistemas operativos (Windows, Windows Mobile, y Linux, Mac Os, Solaris, BSD, HP-UX via Mono),  manejo de escenarios especializados (computación paralela, 64 bits, etc), múltiples lenguajes de desarrollo (C#, C++, Visual Basic, Javascript y más de 40 lenguajes adicionales de terceros), frameworks para una interfaz web avanzada como Silverlight, herramientas integradas para los diseñadores (Expression), etc.

IT NOW: ¿Que recomendaciones o mejores prácticas se deberían seguir a la hora de desarrollar e implementar una aplicación en línea?

RJ: Hay varios temas fundamentales que merecen un detenido análisis: arquitectura de la solución, seguridad, experiencia del usuario e infraestructura. Cada uno de ellos posee una extensa literatura que incluyen todas las mejores prácticas del mercado recopiladas por años de experiencia y que sería imposible mencionar acá. Algo importante de considerar son los nuevos esquemas de negocios que se le presentan a la hora de irse a Internet, por ejemplo publicidad en su sitio web, alianzas con compañías afines o que calcen dentro de su cadena de valor, modelo de costos por suscripción o transacción, etc.; y que le pudieran representar una motivación adicional a la gerencia.

Technorati Tags: Web,Microsoft,ASP,DotNet