Blog

ARTÍCULOS SOBRE IBM i, GESTIÓN DE CAMBIOS, MODERNIZACIÓN DE APLICACIONES Y MUCHO MÁS..

Entrevista a Scott Klement, el padre de la API REST

Scott Klement nos explica en esta entrevista su nuevo rol en Midrange Dynamics y la oportunidad de «rehacer» y mejorar su herramienta API REST

 

Paul Tuohy: Bienvenidos a otro iTalk Business conmigo. Estaba a punto de decir que es genial estar acompañado por un viejo amigo, pero cuando digo viejo amigo, creo que es sólo en el sentido de que nos conocemos desde hace tiempo.

Scott Klement: Bueno, me siento bastante viejo [risas].

Paul: La programación nos hace eso. Scott, esto es nuevo para mucha gente, pero ahora tu trabajas en Midrange Dynamics, así que creo que es un buen punto de partida. ¿Quieres dar a la gente un breve repaso sobre quién es Midrange Dynamics en caso de que no la conozcan?

Scott: Por supuesto. No conozco a fondo la historia de Midrange Dynamics. Todavía soy nuevo, pero es una empresa que se ha centrado durante muchos años en el software de gestión de cambios, y ofrecen el producto MDChange (antes llamado MDCMS), en el que creo que todo el mundo tiene en mente cuando piensa en Midrange Dynamics. Se trata de un software de gestión de cambios extremadamente rico en funcionalidades; básicamente, puede hacer todo lo que uno quiera.

Buscaba un trabajo más relacionado con este ámbito porque, en mi opinión, el gran cambio en el mundo de la programación se está alejando del antiguo modelo de programación en el que los desarrolladores escriben las cosas, las prueban ellos mismos, las instalan y luego surgen los problemas. Creo que hemos pasado de eso a un mundo de desarrollo más basado en Agile/DevOps. La gente está descubriendo que cosas como CI/CD mejoran realmente su productividad. Se introducen los cambios en el software de gestión de cambios y éste los envía automáticamente al departamento de control de calidad para la prueba. Posteriormente, cuando el departamento de control de calidad da el OK, se despliega automáticamente en producción, lo que permite introducir los cambios más rápidamente y hacer cambios más pequeños para hacer más fluido el proceso de creación.

Este es un gran cambio para el mundo del IBM i porque estamos muy acostumbrados a hacer las cosas como siempre las hemos hecho. Así que pensé que esto es lo que realmente está sucediendo hoy en día en TI, este cambio, y yo quería ser parte de esa nueva ola del cambio. Así que este fue uno de los motivos que me llevó a Midrange Dynamics, y una feliz coincidencia al involucrarme, es que también disponen de un producto que trabaja con API REST, por el que ya soy bien conocido. Mi proyecto de API HTTP de código abierto ha conseguido que mucha gente empiece a utilizar las API REST. También he dado muchas presentaciones sobre cómo proporcionarlas, así que esto me da la oportunidad de involucrarme a ese nivel y ayudar realmente con los productos de Midrange Dynamics que ya tienen. Son productos ya consolidados e intentamos hacerlos progresar. A medida que la industria cambia, nosotros seguimos mejorando.

Paul: Vamos a hablar un poco acerca de la API REST, porque sé que cuando estábamos charlando antes sobre esto, todo el mundo, bueno un montón de gente, siente envidia de ti, Scott. Creo que están a punto de sentir todavía más envidia con esto, así que pienso que la mejor manera de explicar lo que está pasando en este momento con este tema es hacerlo con tus propias palabras.

Scott: En lo que me estoy centrando ahora mismo es en una nueva versión de la API REST para IBM i. Se trata de la herramienta MDREST4i de Midrange Dynamics y estoy en una gran posición, ya que puedo reescribirla y rediseñarla de la forma que quiero, lo que lo hace muy emocionante.

Lancé la API REST a principios de la década de 2000, cuando todo esto de las API era nuevo. La gente no sabía realmente cómo iban a usarla, y puse lo que pensé en ese momento que era muy flexible, muy bueno, pero ya sabes cómo podemos tomarlo. Cuando escribes programas y vuelves y los miras años más tarde después de haberlos tenido en producción y uso, todos sabemos que los miras y dices oh, podría hacerlo mucho mejor si pudiera hacerlo de nuevo. Bueno, ahora puedo hacerlo de nuevo, y eso es exactamente lo que estoy haciendo.

Estoy desarrollando desde cero un nuevo motor de API para proporcionar APIs y un nuevo motor de API para consumir APIs, que se hace exactamente de la manera que creo que se debe hacer, teniendo en cuenta mis 20 años de experiencia en esto. Y ha sido muy divertido hacer las cosas de la manera que creo que deben hacerse.

Permítanme hablarles de esto porque estoy muy emocionado. Las API actuales, las API REST, básicamente utilizan lo que se llama la especificación de API abierta, más conocida como Swagger, para describir sus APIs y cómo funcionan. Así que con Midrange Dynamics, podemos importar el documento Swagger y nos lo mostrará en pantalla, nos dirá todo lo que significa, y  usted puede ajustarlo o puede construir un nuevo documento Swagger desde su base de datos por ejemplo, o a mano si lo quiere así. A continuación, se generará un programa para utilizar ese Swagger. Así que esto es enormemente productivo porque es extremadamente flexible. Puedes hacer que haga lo que quieras. Puedes ajustar el contenido hasta donde quieras, y luego una vez que se genera el código, puedes ir y codificar la lógica de negocio como quieras. Es muy flexible y muy fácil, y realmente sólo tienes que centrarte en la lógica de negocio, aunque si lo deseas, se puede controlar todo.

Con mi nueva versión, realmente somos capaces de reforzar lo que teníamos. Ya teníamos esta idea antes, pero ahora la estoy afinando. El código que genera va a ser muy elegante. Lo que me gusta decir es que se genera a la manera de Scott. Es el tipo de código que me gusta escribir y con el que me gusta trabajar: código muy elegante, fácil de entender, fácil de mantener, con diseños modernos, etc. Además de esto, lo probamos. Monté mi primer prototipo para ello, y los chicos con los que estoy trabajando en Midrange Dynamics eran escépticos de que yo supiera lo que estaba haciendo. Así que fueron a probarlo y lo compararon con el antiguo, y el mío era 16 veces más rápido [risas]. Así que si ya eres cliente de MDREST4i, espera esta nueva versión porque realmente va a mejorar el rendimiento.

Estoy muy ilusionado. También vamos a añadir compatibilidad con el lenguaje COBOL, y me he tomado la molestia de escribir un conjunto de subprocedimientos que funcionan como los códigos de operación DATA INTO y DATA GEN de RPG, para que los programadores de COBOL puedan acceder a esas funciones que antes no tenían. Podrán codificar una estructura de datos y generar un documento JSON o un documento XML a partir de ella, o al revés: recibir un JSON o un XML, y nuestro generador de código generará realmente las estructuras de datos. Simplemente lo leerá, así que la lógica de negocio es sólo trabajar con la estructura de datos. Por supuesto RPG lo ha ofrecido también, pero ahora vamos a generar esas estructuras para usted, lo que hace que sea mucho más fácil. Así que esto es muy emocionante, y funcionará con cualquier lenguaje ILE. Esperamos que COBOL y RPG sean los lenguajes que más clientes adopten, pero si quieres puedes hacerlo en CL. Sería raro, pero se podría hacer.

 

Para escuchar la entrevista completa (en inglés) a Scott Klement en el podcast de TechChannel haga clic en este enlace: https://techchannel.com/SMB/03/2023/italk-scott-klement-rest-apis

 

Scott Klement es un profesional de TI apasionado tanto por la programación como por la enseñanza. Se unió a Midrange Dynamics en octubre de 2022. Anteriormente, fue director de desarrollo y soporte de productos en Profound Logic y gerente de TI y programador sénior en Klement’s Sausage Co., Inc. Scott también es miembro de la junta directiva de COMMON, donde representa a los equipos de Educación, Innovación y Certificación. Es IBM Champion for Power Systems.

Descubra

MDRest4i

CREE APIS REST UTILIZANDO SUS CONOCIMIENTOS EN RPG

Vea nuestas soluciones

Utilidades

Las herramientas imprescindibles para facilitar sus tareas.

Ver solución

Otros artículos de su interés

Git y la gestión de cambios: trabajando juntos en IBM i
Diga adiós al tiempo de inactividad: Actualice su base de datos sin detener el negocio
¿Ha vuelto el efecto 2000? Ayuda para el problema de 2039
Cómo acelerar las transacciones Git en entornos IBM i
7 desafíos comunes de la transición a DevOps y cómo superarlos
Por qué la automatización y las pruebas son fundamentales para optimizar los procesos de DevOps y CI/CD
Como realizar pruebas unitarias automatizadas para IBM i
Como llevar a cabo con éxito la gestión de cambios en IBM i
Como integrar la Gestión de Cambios en VSCode
¿Una mejor manera de particionar y reorganizar archivos físicos? ¡Sí, por favor!
¿Cómo automatizar las pruebas de aceptación de usuario (UAT)?
Los 3 primeros pasos hacia DevOps
Cómo aumentar la calidad del software y reducir el tiempo de inactividad en IBM i
No solo modernice su código: modernice sus prácticas de contratación
Elija el proyecto de modernización correcto
Cómo funcionan juntas la gestión de cambios y las pruebas de validación
¿Está creando una hoja de ruta de modernización para su IBM i? Haga que los logros rápidos formen parte de su estrategia
Herramientas de prueba automatizadas en DevOps
Comprendiendo las necesidades de su aplicación web IBM i mediante el descubrimiento de aplicaciones
3 objetivos clave para la transformación digital
Cómo eliminar el tiempo de inactividad programado en IBM i y maximizar la disponibilidad de sus aplicaciones
Deje que sea su negocio quien modernice TI
Las mejores prácticas para informes de auditoría y cumplimiento en sistemas IBM i
Prepare su IBM i para el futuro
Entendiendo los secretos de su código IBM i
¿Cómo gestionar proyectos DevOps y CI/CD en entornos IBM i?
Herramientas y consejos para avanzar más rápido en sus proyectos de desarrollo
Cómo entender mejor sus aplicaciones IBM i
Sea un superhéroe API
¿Por qué convertir archivos físicos con DDS a DDL?
¿Dónde encontrar información de utilidad sobre las API REST en IBM i?