JavaRush /Blog Java /Random-ES /Pausa para el café #21. Integrando Python con Java. Conoc...

Pausa para el café #21. Integrando Python con Java. Conociendo Jakarta EE y Eclipse MicroProfile

Publicado en el grupo Random-ES

¿Integración de Python con Java? ¡Por qué no!

Fuente: Jaxenter Pausa para el café #21.  Integrando Python con Java.  Conociendo Jakarta EE y Eclipse MicroProfile - 1 En realidad, combinar programación de sistemas y lenguajes de scripting no es un concepto nuevo y extraño: simplemente se usa raramente. Para los lenguajes de programación que tienen una interfaz de aplicación binaria común, es completamente posible combinarlos en una sola biblioteca o ejecutable. Si bien esto lo hace un poco más difícil, existen herramientas que pueden ayudar. Python y Java en realidad se complementan. Por ejemplo, puede utilizar uno de ellos para subtareas típicas y el otro como lenguaje de programación para ampliar la configuración de su aplicación. Cuando se trata de integrar otros lenguajes, JavaScript, por ejemplo, no suele usarse fuera de los navegadores web, al menos en comparación con otros lenguajes de script como Perl, Tcl, Visual Basic y Python. Sin embargo, todos estos idiomas suelen combinarse con otros idiomas. Tradicionalmente, Python se ha combinado con C y C++, mientras que Visual Basic suele ser el lenguaje de programación elegido para C++ en la plataforma Windows. Y Perl, como Tcl, se usa comúnmente en C/Unix. Python se usa con un poco más de frecuencia en Windows, ya que se integra fácilmente con la arquitectura Microsoft Scripting Host y con COM. Además, también es excelente para las herramientas de macOS.

¿Por qué Java y Python?

Python es un lenguaje de programación orientado a objetos, lo que lo convierte en una buena combinación para Java. Combinado con un intérprete de Python escrito completamente en Java, como Jython, puede escribir subprogramas completos en Python, que luego pueden ejecutarse en cualquier navegador compatible con JDK, con una ejecución de código casi tan rápida como C/CPython. El intérprete Jython traduce el código fuente de Python directamente al código de bytes de Java, lo que le otorga una velocidad increíble. Pero otras soluciones de secuencias de comandos Java (Java/TCL, Java/Perl, etc.) adjuntan la JVM a la implementación C en estos lenguajes, lo que no sólo crea un problema de portabilidad, sino que estas soluciones en sí mismas no son tan fáciles como nos gustaría.

¿Cuál es la mejor manera de utilizar Java y JPython juntos?

Hay una serie de herramientas comprobadas que implementan Python en Java o viceversa, para que puedas ejecutar comandos de un lenguaje en otro. Aquí hay una breve lista de algunas de las mejores herramientas para integrar Python con Java:
  • Jython es Python implementado en Java.
  • JPype : le permite ejecutar comandos Java usando Python.
  • Jepp : Java integrado en Python.
  • JCC es un generador de código C++ para llamar a Java desde C++/Python.
  • Javabridge es un paquete para ejecutar e interactuar con la JVM de CPython.
  • Py4j : le permite ejecutar comandos Java en Python.
  • Voc es un elemento de la herramienta BeeWare . Convierte código Python a código de bytes Java.
  • p2j : convierte el código Python a Java. Ya no está en desarrollo.
Existen varios enfoques para utilizar estas herramientas. Cada uno tiene sus propias ventajas y desventajas. Por ejemplo, puede crear un prototipo de una aplicación completa en Jython y, después de varias rondas de pruebas y rediseño, reescribir todo en Java. Esto le permite aprovechar la mayor flexibilidad y velocidad del desarrollo de lenguajes de secuencias de comandos en las primeras etapas de su proyecto. Sin embargo, su producto final deberá ser un poco más detallado que si comenzara a escribir únicamente en Java. Y si le preocupan las bibliotecas de UI, Jython puede conectarse a las mismas UIL que Java normal, por lo que convertir Java debería ser muy sencillo. Sin embargo, las cosas no son tan sencillas si estás intentando construir un proyecto grande. Probablemente se encontrará con la desventaja de que varios componentes y capas tienen ciclos de desarrollo independientes, como los componentes de nivel superior. Por supuesto, puede reescribir componentes individuales en Java a medida que se acerque a una versión estable, o simplemente escribir algunos de sus componentes exclusivamente en Java desde el principio. Otra opción es reescribir sólo aquellos componentes para los que el rendimiento es importante. De esta manera, puede dejar los componentes de alto nivel en Jython, lo que significa que sólo necesita reescribir los componentes de nivel inferior y, en algunos casos, no tendrá que reescribir nada en absoluto.

Presentamos Jakarta EE y Eclipse MicroProfile

Fuente: DZone ¿Aún no has oído hablar de Jakarta EE y Eclipse MicroProfile? Entonces, es hora de familiarizarse con cómo se desarrolló el estándar Java Enterprise. Seguramente ambas tecnologías le resultarán útiles en el futuro, ya que son excelentes para crear aplicaciones empresariales modernas y nativas de la nube.

¿Qué es Yakarta EE?

Jakarta EE es un conjunto de especificaciones (JAX-RS, CDI, JPA, JSON-P, etc.) para escribir aplicaciones empresariales en Java. Estas especificaciones son documentos que definen la API y cómo interactúa la tecnología. Pausa para el café #21.  Integrando Python con Java.  Conociendo Jakarta EE y Eclipse MicroProfile - 2Los documentos de especificación son como interfaces con definiciones formales, y la implementación real de estas interfaces depende del proveedor del servidor de aplicaciones (por ejemplo, WildFly, Open Liberty, Payara, TomEE). Para evitar que un proveedor implemente una especificación incorrectamente, cada especificación proporciona un kit de compatibilidad tecnológica (CTS). Este es un conjunto de pruebas para verificar el cumplimiento de una implementación de una especificación particular. Una vez que el servidor de aplicaciones transmite el CST para todas las especificaciones, cumple con todo el estándar. Durante muchos años, Java EE ha sido la forma estándar de escribir aplicaciones empresariales. Java EE (anteriormente llamado J2EE) ha sido soportado por Oracle durante mucho tiempo. En 2017, Oracle decidió dejar de desarrollar el estándar corporativo bajo sus auspicios y lo transfirió a la Fundación Eclipse. Por motivos legales, tuvieron que cambiar el nombre y decidieron llamar al producto Jakarta EE. Puede encontrar todas las especificaciones de Jakarta EE en el sitio web oficial y puede obtener más información sobre cómo funciona actualmente el proceso de especificación en el sitio web de la Fundación Eclipse.

¿Qué es el microperfil Eclipse?

Dado que el proceso de lanzamiento y adaptación de nuevas funciones para Java EE fue bastante lento, un grupo de proveedores y miembros de la comunidad decidieron crear MicroProfile en 2016. El objetivo principal de este proyecto era ayudar a los desarrolladores a mantenerse al día y también optimizar la plataforma existente para la arquitectura de microservicios. Actualmente, Eclipse MicroProfile contiene doce especificaciones. Cuatro de ellos también forman parte de Yakarta EE. Esto le permite crear aplicaciones independientes exclusivamente con MicroProfile. Todas las especificaciones son independientes del proveedor y la implementación viene con el servidor de aplicaciones. Las especificaciones Jakarta EE pueden considerarse una base sólida para crear aplicaciones empresariales. Además de esto, Eclipse MicroProfile llena un vacío en la creación de sistemas distribuidos ya que la tecnología sigue la metodología de aplicación de doce factores .
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION