UN INFORME TÉCNICO DE HURWITZ Ventajas de la migración a servicios de middleware modernos Marcia Kaufman Directora de operaciones y analista jefe Patrocinado por Red Hat UN INFORME TÉCNICO DE HURWITZ Ventajas de la migración a servicios de middleware modernos Introducción Las aplicaciones comerciales ya no se limitan a la oficina de administración. En la actualidad, estas aplicaciones son esenciales en la forma en la que las empresas interaccionan con los clientes, proveedores y socios. Las expectativas de los clientes cambian sin cesar y estas aplicaciones deben adaptarse rápidamente, lo que supone una gran presión para el equipo de desarrollo de software, que tiene que satisfacer todas las demandas. Con frecuencia, la empresa de desarrollo se ve obligada a depender de una infraestructura de middleware obsoleta y poco flexible que dificulta su labor. Al resolver los problemas asociados a la necesidad de un cambio rápido, numerosas empresas asumen que, si adoptan procesos de desarrollo ágiles, o bien herramientas y marcos de trabajo de desarrollo de software avanzado, podrán superar sus desafíos de productividad. No obstante, este no es el caso. Aunque estas técnicas pueden ayudar a aumentar la eficiencia del equipo, no permiten resolver el problema subyacente causado por middleware sin capacidad de modulación ni flexibilidad. Por ejemplo, el middleware antiguo suele estar diseñado como un entorno integrado, creado antes de que existiera la informática móvil o en la nube, y antes de que se realizaran transacciones comerciales a través de Internet. Los nuevos modelos de suministro de aplicaciones, como la nube, las plataformas móviles y los medios sociales, generan nuevas demandas para el equipo de desarrollo. El middleware tradicional no está diseñado para gestionar la ampliabilidad, la velocidad y las interacciones dinámicas asociadas a estos tipos de uso. El middleware obsoleto supone un obstáculo para el desarrollador de software de tres formas fundamentales: •Reduce la productividad del desarrollador, ya que se necesitan demasiados desarrolladores durante demasiado tiempo y con demasiados recursos para responder ante las exigencias del mercado, que cambian rápidamente. •El diseño monolítico del middleware heredado requiere que el desarrollador cargue todo el conjunto, lo que añade un volumen innecesario a la aplicación. Como consecuencia, a los desarrolladores les resulta complejo y tedioso aplicar cambios esenciales para la actividad empresarial. •Los nuevos modelos de suministro de aplicaciones, como la nube, las plataformas móviles y los medios sociales, generan nuevas demandas para el equipo de desarrollo. El middleware tradicional no está diseñado para gestionar la ampliabilidad, la velocidad y las interacciones dinámicas asociadas a estos tipos de uso. Por tanto, los desarrolladores se ven obligados a escribir código adicional a fin de compensar este entorno de middleware obsoleto e inflexible. Además de intentar generar nuevo valor para el software, estos desarrolladores también han tenido que mantener grandes cantidades de código complejo. Cada vez más compañías de desarrollo de software están adoptando arquitecturas de aplicaciones Java EE para ayudar a crear una plataforma informática más dinámica. Esta arquitectura resulta mucho más eficaz al combinarla con una arquitectura de middleware moderna. Gracias a la sustitución del middleware obsoleto por un método más moderno, modular y orientado a los servicios, los desarrolladores pueden mejorar la velocidad y eficiencia de las tareas realizadas en la arquitectura de aplicaciones Java EE, así como aumentar considerablemente la productividad global. Ventajas de la migración a servicios de middleware modernos Página 2 UN INFORME TÉCNICO DE HURWITZ Este informe describe las características de una plataforma de middleware moderna y cómo las compañías pueden beneficiarse al migrar de una infraestructura monolítica antigua e inflexible a un entorno modular y flexible. Analizaremos cómo algunas empresas han migrado a la JBoss Enterprise Application Platform (EAP) 6 de Red Hat a fin de superar y agilizar los cambios empresariales. Impacto del middleware en la productividad de los desarrolladores Los procesos de desarrollo de software modernos utilizan componentes de middleware a fin de aumentar la productividad, la estandarización y el rendimiento. El middleware ayuda a gestionar numerosas funciones que de otro modo requerirían una arquitectura y una programación adecuadas para cada nueva aplicación. El middleware moderno permite a los desarrolladores evitar los servicios habituales de codificación repetida ofrecidos por proveedores comerciales. Por lo general, los componentes de middleware están creados conforme a unas especificaciones estándar, de forma que se puedan volver a utilizar en diferentes aplicaciones y sistemas. A menudo, existen bibliotecas de funciones que se pueden emplear para llevar a cabo tareas como la autenticación y la conexión de bases de datos. El middleware moderno permite a los desarrolladores evitar los servicios habituales de codificación repetida ofrecidos por proveedores comerciales. Por lo general, los componentes de middleware están creados conforme a unas especificaciones estándar, de forma que se puedan volver a utilizar en diferentes aplicaciones y sistemas. La función del middleware en el desarrollo y la implantación de software A fin de comprender la transición en el desarrollo de software, es útil entender en primer lugar la importancia del middleware. El middleware es un software versátil situado en un nivel entre el sistema operativo y una aplicación en entornos de informática distribuida. En realidad, puede incluir un amplio abanico de componentes, como servidores de aplicaciones, sistemas de mensajería, herramientas de autenticación y herramientas de conexión de bases de datos. Básicamente, cualquier software entre la aplicación y el sistema operativo se puede considerar middleware. Dicho software es responsable de garantizar que los diferentes componentes de los sistemas de TI complejos trabajen de manera conjunta para llevar a cabo las tareas correspondientes. Por ejemplo, existen numerosas piezas móviles que deben entrar en contacto de una forma precisa en el momento adecuado para que el cliente de una tienda en línea pueda seleccionar, comprar y enviar un producto específico del modelo, color, talla y precio correctos. El middleware se encarga de que la comunicación entre el sistema de pedidos en línea y otros sistemas (como la gestión de inventario, la planificación de recursos empresariales, la gestión de clientes y los servicios de crédito) se realice de una forma rápida y segura. Asimismo, el middleware ayuda a garantizar que el proceso de mensajería se lleve a cabo conforme a las normas y prioridades de la compañía. Aunque el cliente en ningún caso interacciona directamente con el middleware, no recibirá el servicio que espera si el middleware no realiza su trabajo. Ventajas de la migración a servicios de middleware modernos Página 3 UN INFORME TÉCNICO DE HURWITZ Dado que la necesidad de crear aplicaciones más complejas e interconectadas ha aumentado, los desarrolladores que no utilizan middleware moderno dedican más tiempo a escribir o modificar tareas de perfeccionamiento o administración que a desarrollar aplicaciones innovadoras que ayuden a enfrentarse a los cambios comerciales. ¿Cómo mejoran su productividad los desarrolladores mediante el middleware? El middleware moderno está diseñado en forma de bibliotecas modulares con interfaces bien definidas que se pueden utilizar siempre que sean necesarias para realizar tareas de desarrollo complejas. La necesidad de esta capacidad de modulación es mayor que nunca. Si desea tener éxito en un mundo dominado por la velocidad y movilidad, no puede esperar obtener los resultados necesarios modificando un entorno de infraestructura tradicional diseñado para un mundo monolítico y extremadamente controlado. Las características de los servicios de middleware moderno El middleware actual es muy diferente del de años precedentes. El middleware antiguo estaba diseñado como una aplicación completamente integrada, mientras que el middleware moderno está creado principalmente para ser modular, abierto y flexible. Estas características permiten a los desarrolladores obtener ventajas adicionales de la Java Enterprise Edition (EE) Version 6 Platform que se ha convertido en fundamental para el desarrollo y la implantación de aplicaciones comerciales esenciales diseñadas para los entornos web, móviles y de nube híbridos actuales. Los desarrolladores utilizan Java EE 6 debido a su capacidad de agilizar las tareas de codificación e implantación mediante una definición previa de las configuraciones y los patrones de uso común. Estas son algunas de las características más importantes de los servicios de middleware moderno: Si desea tener éxito en un mundo dominado por la velocidad y movilidad, no puede esperar obtener los resultados necesarios modificando un entorno de infraestructura tradicional diseñado para un mundo monolítico y extremadamente controlado. La arquitectura modular aumenta la velocidad y mejora el rendimiento. La capacidad de modulación del middleware moderno ayuda a mejorar la eficiencia del proceso de desarrollo e implantación. Una de las principales ventajas del diseño modular es que sus aplicaciones disponen de acceso a los servicios que necesitan en cada momento, sin tener que encargarse de otros servicios innecesarios. Por el contrario, los servidores de aplicaciones antiguos realizan un uso poco eficaz de los recursos de memoria, ya que permiten que los servicios de asistencia estén disponibles en todo momento, independientemente de la demanda. La orientación al servicio fomenta los modelos de implantación en la nube y el desarrollo de servicios modulares. Las capacidades de servicio del middleware moderno facilitan, agilizan y protegen la migración de las empresas a la nube. Las funciones de comprobación están integradas en el entorno de desarrollo e implantación. Como consecuencia, los desarrolladores pueden realizar pruebas más frecuentes mediante técnicas de integración continua que ofrecen resultados de mayor calidad. Compatibilidad con estándares abiertos. Por lo general, el middleware moderno incorpora estándares abiertos, lo que facilita el diseño de aplicaciones que se pueden utilizar en diversas plataformas. Ventajas de la migración a servicios de middleware modernos Página 4 UN INFORME TÉCNICO DE HURWITZ Cómo superar los desafíos de los entornos heredados con el middleware moderno Los equipos de desarrollo cada vez adoptan más herramientas y marcos de trabajo de código abierto empresarial bien diseñados, como Google Web Toolkit (GWT), Maven y Jenkins, para escribir, modificar, compilar, instalar y probar aplicaciones de software. Las aplicaciones desarrolladas son más modulares, y suelen estar creadas por equipos que colaboran desde unidades empresariales diferentes y oficinas situadas en diversos lugares del mundo. Las herramientas están diseñadas con objeto de ayudar a los equipos a realizar fácilmente los cambios rápidos necesarios para satisfacer las exigencias del mercado. No obstante, si utiliza estas herramientas en un entorno obsoleto, tendrá que llevar a cabo numerosas modificaciones manuales, y resulta complicado mantener estas tareas manuales a lo largo del tiempo. Los cambios de personal o las modificaciones continuadas en los requisitos comerciales dejan al equipo con métodos poco productivos. Además, tratar de emplear herramientas y marcos de trabajo modernos en un entorno de middleware antiguo ralentiza el proceso de desarrollo. JBoss EAP6 está diseñado de una manera modular que permite a los desarrolladores aprovechar selectivamente las capacidades específicas que necesitan sin ralentizar el rendimiento con funciones innecesarias. El middleware moderno: Red Hat JBoss Enterprise Application Platform (EAP6) La Red Hat JBoss Enterprise Application Platform (EAP6) es un servidor de aplicaciones basado en Java EE Version 6. Como sistema de código abierto empresarial, EAP6 reduce los costes, al tiempo que atrae un amplio ecosistema de desarrolladores y asesores para realizar mejoras continuas. Está diseñado de una manera modular que permite a los desarrolladores aprovechar selectivamente las capacidades específicas que necesitan sin ralentizar el rendimiento con funciones innecesarias. Además, el diseño de EAP6 permite la automatización de procesos de desarrollo durante el proceso de elaboración. EAP6 está configurado para iniciarse rápidamente, ya que ejecuta los servicios en paralelo utilizando procesos de varios núcleos. Los servicios no esenciales permanecen en estado pasivo hasta que sean necesarios. Básicamente, se obtiene un inicio más rápido porque únicamente se utiliza lo que se necesita cuando se necesita. EAP6 ofrece la flexibilidad de integrarse en las herramientas de administración de sistemas existentes y puede trabajar en diferentes entornos de implantación, incluidos el centro de datos, las nubes públicas y privadas, y los entornos híbridos. Asimismo, proporciona una gestión de dominios diseñada para ayudar a los administradores a gestionar varios servidores como si de un entorno unificado se tratara. Por otro lado, se incluyen las funciones de agrupación en clúster para cumplir los requisitos de alta disponibilidad y recuperación en caso de fallo. EAP6 ofrece compatibilidad con Arquillian, un software que permite a los desarrolladores llevar a cabo pruebas de unidad e integración en el lugar donde se encuentra la aplicación. Esto aumenta la velocidad de desarrollo y permite obtener resultados de más calidad, ya que a los desarrolladores les resulta más fácil realizar comprobaciones con mayor frecuencia y antelación en el proceso de desarrollo. Ventajas de la migración a servicios de middleware modernos Página 5 UN INFORME TÉCNICO DE HURWITZ La función del servidor de aplicaciones en el middleware moderno Los servidores de aplicaciones son un tipo de middleware fundamental para crear y gestionar la forma en la que las aplicaciones se diseñan e implantan a fin de funcionar en entornos informáticos complejos. Cada vez más servidores de aplicaciones están diseñados como conjunto modular de servicios para entornos informáticos muy interactivos, complejos y distribuidos. Esta transición de diseño ha sido posible gracias a la aparición de las interfaces Restful y SOAP. La disponibilidad de este método modular significa que los servicios no están directamente vinculados al código de la aplicación, lo que facilita considerablemente la realización de cambios. Un servidor de aplicaciones gestiona determinados servicios (por ejemplo, la seguridad, el procesamiento de transacciones, la agrupación de recursos y la mensajería) según sea necesario para el desarrollo y la implantación de aplicaciones. Un requisito fundamental de los servidores de aplicaciones es que deben apoyar las necesidades de redundancia y alta disponibilidad de las aplicaciones esenciales. Esto se realiza mediante agrupación en clúster, la capacidad de ejecutar una aplicación en varios servidores paralelos. De esta forma, uno o varios servidores pueden fallar sin afectar a la aplicación, ya que otro servidor del clúster continúa con la tarea del servidor que ha sufrido el problema. La capacidad de modulación de los servidores de aplicaciones actuales permite que los desarrolladores dediquen menos tiempo a realizar cambios manuales en servicios que están codificados en la propia aplicación. Para modificar una aplicación, los desarrolladores que utilizan middleware antiguo también tienen que llevar a cabo cambios en el código específico del servidor y el área dependiente de este. Además, es posible que una gran cantidad del código dependiente la hayan creado equipos de desarrollo previos muchos años antes, lo que añade complejidad y retrasos al proceso de cambio. Los directores de información se ven presionados para crear entornos de TI más flexibles y con una mayor capacidad de respuesta con objeto de apoyar las actividades comerciales de su empresa. La compañía debe introducir rápidamente nuevas ofertas en el mercado a fin de seguir siendo competitiva, y no puede esperar meses o años hasta que se apliquen los cambios solicitados. Ejemplos del mundo real: la ventaja del middleware moderno Los directores de información se ven presionados para crear entornos de TI más flexibles y con una mayor capacidad de respuesta con objeto de apoyar las actividades comerciales de su empresa. La compañía debe introducir rápidamente nuevas ofertas en el mercado a fin de seguir siendo competitiva, y no puede esperar meses o años hasta que se apliquen los cambios solicitados. A su vez, estas nuevas ofertas probablemente requieran una plataforma móvil para satisfacer las demandas de los clientes. El departamento de TI es consciente de que, cuando le resulta imposible mantener el ritmo de las necesidades de la empresa, esta no puede mantener el ritmo de la competencia. Esta era justamente la situación a la que se enfrentaba Jason Ordway cuando asumió los cargos de director de operaciones (COO) y director de información (CIO) de ICE.com. ICE.com es un minorista de joyas en línea que disfruta de un rápido crecimiento. La compañía necesitaba la flexibilidad de poder ajustar rápidamente los productos y los precios con respecto a las tendencias del mercado, así como la capacidad de ampliación adecuada para responder a la alta demanda producida en las épocas festivas. Además, ICE.com necesitaba mejorar continuamente el entorno de compras en línea a fin de destacar en un mercado muy competitivo. Lamentablemente, siempre que la compañía quería implantar un sistema innovador para satisfacer mejor las demandas de los consumidores, Ventajas de la migración a servicios de middleware modernos Página 6 UN INFORME TÉCNICO DE HURWITZ le llevaba meses y le costaba mucho dinero. La empresa ya había implantado anteriormente una infraestructura de middleware patentada y totalmente integrada, lo que hacía difícil mantener el ritmo necesario en los entornos de comercio electrónico. Por ejemplo, cuando ICE.com tenía que realizar cambios en los precios para una promoción, la solicitud debía hacerse por adelantado y las tareas correspondientes debían llevarse a cabo por la noche. Este retraso impedía a la compañía responder a las exigencias del mercado con la inmediatez deseada. Asimismo, el software de comercio electrónico que utilizaba, perteneciente a otra compañía, había sido personalizado considerablemente con objeto de añadir funciones especiales que ofrecían un valor superior a sus clientes. No obstante, debido a estas personalizaciones, cualquier modificación en el sistema requería mucho tiempo y dinero. Por otra parte, las modificaciones adicionales y la necesidad de integrar resultados en otros sistemas obligaban a llevar a cabo una codificación exhaustiva. Ordway dirigió la transformación del sistema informático de ICE.com desde un entorno heredado obsoleto con un nivel intermedio inflexible hasta un entorno de middleware moderno. ICE.com renovó completamente su infraestructura de TI mediante tecnología de código abierto empresarial de Red Hat, incluido el middleware JBoss de código abierto empresarial,, flexible y moderno. La nueva solución de comercio electrónico ha permitido a la compañía realizar los cambios necesarios para ofrecer al cliente una experiencia de compra más completa e inmediata. Puesto que el nuevo sistema es modular y se basa en servicios web, el equipo de marketing puede modificar productos o precios con facilidad antes de las épocas festivas; además, es posible realizar numerosos cambios de producto en un día. La empresa puede determinar qué productos se ofrecen a qué precio en función de lo que resulte adecuado para el mercado, sin necesidad de asistencia del departamento de TI. La compañía puede observar inmediatamente el efecto de sus decisiones de marketing en las ventas, así como realizar nuevos cambios si es necesario. La migración a un middleware moderno ha proporcionado a ICE.com un mayor control de su plan de desarrollo... Al fin y al cabo, eso es justamente lo que el middleware moderno supone para una compañía: Le ofrece flexibilidad y le otorga el control. La migración a un middleware moderno ha proporcionado a ICE.com un mayor control de su plan de desarrollo. "Nuestro proceso de desarrollo es más fácil de repetir y mucho más rápido de implantar que antes", afirmó el director de operaciones. "Además, el mantenimiento de las aplicaciones también es más sencillo, ya que no tenemos que subcontratar las tareas de modificación de un código patentado. Contamos con desarrolladores internos con experiencia en Linux, Java, Red Hat y JBoss. Sin duda, tenemos un control total", añade. Al fin y al cabo, eso es justamente lo que el middleware moderno supone para una compañía: Le ofrece flexibilidad y le otorga el control. Entre las ventajas adicionales para la empresa se incluyen la agilidad dinámica, la ampliabilidad elástica, y la capacidad de desarrollar e implantar aplicaciones en diversos entornos (in situ, de la nube, híbridos y móviles). Un banco Midwest de tamaño medio se enfrentaba a una situación similar con su plataforma de servidor de aplicaciones de comercio electrónico heredada. La productividad de los desarrolladores se veía reducida por la ineficacia de la infraestructura obsoleta de la compañía, y el banco tenía dificultades para encontrar desarrolladores con los conocimientos necesarios para mantener su base de código heredada. Además, al departamento de TI le resultaba imposible satisfacer las exigencias comerciales en materia de innovación en un plazo razonable, y los costes estaban aumentando de forma exponencial. Con objeto de satisfacer estos requisitos, el banco implantó una plataforma de middleware más flexible y ampliable, que permite aumentar la productividad de los desarrolladores y apoya su sistema bancario en línea esencial. Ventajas de la migración a servicios de middleware modernos Página 7 UN INFORME TÉCNICO DE HURWITZ "Quedarnos con nuestra arquitectura de TI heredada no era una buena dirección estratégica para nosotros", explicó el vicepresidente ejecutivo de arquitectura de TI del banco. Además de los problemas de asistencia, la aplicación heredada contaba con una arquitectura de un hilo de ejecución; la única forma de incrementar la capacidad era añadir nodos y ampliar el sistema horizontalmente, lo que habría resultado excesivamente caro. En su lugar, el banco decidió "migrar a una solución estándar en el sector totalmente compatible con J2EE y que se pudiera ampliar junto con la compañía", agregó el vicepresidente. Finalmente, el banco tomó la decisión de migrar a la JBoss Enterprise Application Platform. Como consecuencia, la productividad de los desarrolladores aumentó al mismo tiempo que la eficiencia de producción. En la actualidad, el banco ofrece sus servicios con facilidad a muchos más clientes a través de sus nuevos canales en línea. La ventaja del middleware de código abierto empresarial Las empresas que utilizan middleware de código abierto empresarial como JBoss pueden ahorrar dinero por diversos motivos: Por otro lado, la combinación de la nube y las nuevas herramientas de middleware permitió a ICE.com ampliar rápidamente la capacidad para adaptarse a los ciclos de mayor actividad comercial, así como reducir la capacidad en los meses de menor actividad. •El personal de TI es más eficiente y productivo gracias a su interfaz de usuario gráfica y otras funciones intuitivas •Los sistemas se pueden modificar e implantar más rápidamente, lo que acelera el proceso de obtención de valor •Los aspectos económicos favorables de los sistemas de código abierto empresarial proporcionan un beneficio adicional ICE.com, por ejemplo, ahorró casi 300 000 $ al año gracias a su migración a las aplicaciones de código abierto empresarial y la nube. Además, la compañía ha logrado también otros ahorros. Se ha incrementado considerablemente la velocidad y la capacidad de repetición del proceso de desarrollo de la empresa con respecto a antes del uso de las nuevas herramientas de middleware. Las aplicaciones resultantes son más fáciles de mantener, por lo que la compañía no se ve obligada a subcontratar las modificaciones en el código patentado, como sucedía anteriormente. Por otro lado, la combinación de la nube y las nuevas herramientas de middleware permitió a ICE.com ampliar rápidamente la capacidad para adaptarse a los ciclos de mayor actividad comercial, así como reducir la capacidad en los meses de menor actividad. La empresa utiliza recursos adicionales de la nube de noviembre a febrero (sus meses más activos) y, a continuación, reduce los recursos con rapidez, de forma que solo paga por lo que realmente utiliza. "Esto nos está permitiendo ahorrar una cantidad considerable de dinero y adaptarnos de forma inmediata", destacó Jason Ordway, de ICE.com. Asimismo, la migración al middleware de código abierto empresarial resultó muy rentable para el banco, ya que redujo los gastos anuales en varios cientos de miles de dólares, y aumentó su capacidad de respuesta ante los clientes y las condiciones comerciales cambiantes. Ventajas de la migración a servicios de middleware modernos Página 8 Conclusión El middleware moderno se está convirtiendo en esencial para las compañías que pretenden seguir siendo competitivas en una época de cambios rápidos. Si desea fortalecer su conexión con los clientes mediante el uso de entornos móviles y ofertas más personalizadas, debe responder rápidamente a las fluctuaciones del mercado. No obtendrá los resultados que espera si continúa trabajando con una infraestructura heredada que fue diseñada antes de las tecnologías móviles y de la nube. La implantación de una infraestructura basada en servicios web y más modular ayudará a lograr las mejoras necesarias en lo que a productividad de los desarrolladores y flexibilidad comercial se refiere. El middleware moderno permite a las empresas obtener el control y la velocidad que necesitan para crear interacciones más dinámicas en mercados altamente competitivos. Información sobre Hurwitz & Associates Hurwitz & Associates es una empresa de consultoría estratégica, estudios de mercado y análisis cuyo objetivo es conocer cómo las soluciones tecnológicas resuelven problemas de clientes del mundo real. Los estudios de Hurwitz se centran en tecnologías de gran calado, como análisis y datos de gran tamaño, informática en la nube, administración de servicios, administración de información, desarrollo e implantación de aplicaciones, e informática de colaboración. Su equipo, que cuenta con una gran experiencia, combina profundos conocimientos comerciales y técnicos para ofrecer los consejos estratégicos viables que exigen los clientes. Encontrará más información sobre Hurwitz & Associates en www.hurwitz.com. © Copyright 2013, Hurwitz & Associates Reservados todos los derechos. Queda prohibida la reproducción y el almacenamiento, total o parcial, de esta publicación en un sistema de recuperación, así como su transmisión por medio alguno, sin el consentimiento previo y por escrito del titular del copyright. Hurwitz & Associates es el propietario exclusivo del copyright de esta publicación. Todas las marcas comerciales son propiedad de sus respectivos propietarios. 13A Highland Circle • Needham, MA 02494 (EE. UU.) • Tel.: 617-597-1724 www.hurwitz.com