Tras casi 40 años trabajando como desarrollador o con desarrolladores, sostengo que escribir código es en parte arte y en parte ciencia: una combinación de creatividad y habilidad técnica. También he observado que la creatividad se desarrolla mejor cuando los desarrolladores tienen la libertad de tomar decisiones.
También debemos reconocer que los gerentes de desarrollo necesitan procesos que proporcionen control, observabilidad y consistencia. Mientras tanto, las empresas para las que trabajan necesitan que el software se entregue a mayor velocidad, pero sin introducir riesgos.
Entonces, ¿cómo conciliamos todos estos requisitos en el mundo de la nube híbrida ? Este es un obstáculo particularmente difícil para los desarrolladores y organizaciones que producen y dependen de aplicaciones empresariales diseñadas para interactuar con subsistemas de mainframe (MSS) como CICS.®, IMS™ y Db2® .
Rocket Software le ofrece la solución que necesita, brindando capacidades de desarrollo líderes en la industria con una amplia gama de interfaces de usuario. Se pueden implementar en z/OS®, en las instalaciones del cliente y en la nube, tanto en Windows® como en Linux® y AIX. Rocket® Enterprise Developer y Rocket® Enterprise Test Server ofrecen a los desarrolladores la posibilidad de elegir la "Experiencia de Cambio" y la oportunidad de incorporar prácticas de desarrollo modernas. Esto incluye incluso la integración de DevOps en sus tareas diarias al mantener y modernizar las aplicaciones MSS.
En versiones recientes, también introdujimos compatibilidad con la contenedorización de las capacidades de desarrollo. La implementación de las capacidades de desarrollo en contenedores conserva las características únicas de Enterprise Developer. Se mantiene la disponibilidad de entornos de desarrollo individuales que eliminan los cuellos de botella de la experiencia tradicional de desarrollo de aplicaciones MSS. Lo mismo ocurre con la posibilidad de centralizar la gestión y el control en organizaciones de desarrollo a gran escala.
La naturaleza dinámica de los contenedores los ha hecho omnipresentes en la entrega de funciones de desarrollo automatizadas en todas las principales herramientas de canalización de CI/CD. Y ahora también pueden alinearse con los modelos de flujo de trabajo de los sistemas de control de versiones basados en ramas.
Para ampliar y complementar aún más estas opciones, en la versión 10.0 de Enterprise Developer hemos introducido la capacidad de implementar utilizando contenedores de desarrollo.
Los contenedores de desarrollo (o contenedores Dev, para abreviar) son entornos de desarrollo reproducibles. Pero ¿en qué se diferencian de los contenedores estándar?
Los contenedores de desarrollo añaden un nivel adicional de control sobre la configuración del entorno de desarrollo. Esto amplía el contenedor estándar con opciones de personalización específicas para el desarrollo. Se gestionan mediante un archivo de configuración basado en JSON que simplifica la gestión de sus funciones y permite versionarlos junto con la aplicación. Otras funciones permiten a los desarrolladores personalizar su entorno según sus preferencias.
Los contenedores de desarrollo potencian a los desarrolladores al proporcionar un entorno confiable, aislado y eficiente para crear y probar código.
Contribuyen a ciclos de desarrollo más rápidos y a una mejor colaboración dentro del equipo de desarrollo.
Aislamiento y consistencia
Velocidad y eficiencia
Integración y pruebas continuas
Desarrollo nativo de la nube
En el desarrollo típico basado en host, todos los elementos, como el editor, los SDK, los servidores de aplicaciones, las herramientas, los paquetes y el código fuente, se encuentran en un único entorno. Esto suele provocar conflictos de software entre proyectos.
Cuando ocurren conflictos, los desarrolladores tienen que elegir versiones de estas dependencias que no sean las mismas que las versiones ideales, solo para preservar el uso de múltiples bases de datos de origen.
En el desarrollo basado en contenedores, los SDK, servidores de aplicaciones, herramientas y paquetes necesarios se instalan en un contenedor, incluido Rocket® Enterprise Developer. El código fuente se puede cargar o montar en el contenedor, lo que permite un aislamiento completo.
Considere esto en el contexto del desarrollo de aplicaciones MSS, donde a menudo existe la necesidad empresarial de trabajar en entregas con diferentes ritmos. El uso de contenedores de desarrollo permite al desarrollador trabajar en diferentes versiones de la aplicación sin necesidad de invertir mucho tiempo en reconfigurar su entorno de desarrollo.
Para ayudarte a visualizar cómo funciona todo esto, mira el siguiente vídeo.
Los contenedores de desarrollo ofrecen a los desarrolladores un mecanismo sencillo para acceder a sus herramientas de desarrollo, lo cual se alinea con las prácticas de desarrollo modernas. Una excelente alternativa para este tipo de experiencia de desarrollo es el uso de pruebas unitarias para simplificar y acelerar las pruebas del código modificado antes de confirmar los cambios en el proceso de CI/CD. El uso de pruebas unitarias también reducirá las tasas de error en las fases posteriores de pruebas más funcionales del SLDC.
Las pruebas unitarias de COBOL [OC1] han estado disponibles en Rocket® Enterprise Developer durante varias versiones. En la versión 9.0, ampliamos esta función para ofrecer simulación y representación de construcciones de codificación de MSS, como CICS y SQL, y añadimos compatibilidad con IMS en la versión 10.0. Esto permite probar el código de lógica de negocio modificado sin necesidad de disponer de un entorno de subsistema MSS completo.
La combinación de estas dos capacidades de Enterprise Developer permitirá a los desarrolladores aprovechar las ventajas de las prácticas de desarrollo modernas para acelerar los cambios de mantenimiento durante el ciclo de vida del desarrollo de software (SDLC). Resulta especialmente beneficioso para las organizaciones que externalizan parte o la totalidad de estos cambios a terceros.
Para más detalles sobre el marco de pruebas unitarias Enterprise Developer, lea este blog. Para ver cómo funcionan las pruebas unitarias dentro de un contenedor de desarrollo, vea el siguiente video.
A medida que las plataformas en la nube se vuelven más comunes en el desarrollo, aumenta la adopción de herramientas de desarrollo alojadas. Un ejemplo de ello son los Codespaces de GitHub, que ofrecen entornos de código desde cualquier lugar. Las capacidades de desarrollo se gestionan en la nube, basadas en contenedores de desarrollo, y se accede a ellas mediante un navegador que utiliza la versión web de VS Code.
En Rocket Software, creemos que estos entornos desempeñarán un papel importante en el futuro del desarrollo de aplicaciones MSS y estamos trabajando para ofrecer Enterprise Developer para GitHub Codespaces. Para una primera impresión del valor de esta innovación, vea el siguiente vídeo.
Si ya es cliente de Enterprise Developer, descargue la versión 10.0 y consulte la documentación del producto aquí .
Si no es cliente actual, siga el enlace aquí para obtener una versión de prueba de Enterprise Developer.
Si está interesado en el futuro del desarrollo de aplicaciones MSS, ayúdenos a seguir impulsando la innovación participando en la encuesta.
Presentamos Rocket EVA 2.0
Elige el camino correcto para la modernización del código con IA.
Encuentra el camino hacia la modernización que proteja lo que importa.
