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.