Sí, esto es bastante fácil de hacer y hay una gran cantidad de mecanismos para hacerlo:
- Si el lenguaje se compila a bytecode JVM, por ejemplo, Scala, puede llamarlo directamente desde su código Java con poca o ninguna impedancia.
- Si el idioma tiene un intérprete escrito en java, simplemente use el intérprete para ejecutarlo. Por ejemplo, Java tiene un intérprete de JavaScript que le permite ejecutar JS desde Java. Lo mismo se aplica a muchos otros lenguajes, como Python.
- Si el módulo se compila en código nativo, por ejemplo, si está escrito en C o C ++, puede usar JNI.
- Si el módulo está escrito en un lenguaje para el que no existe un intérprete de Java, las cosas se ponen interesantes:
- Puede activar una instancia del intérprete por separado, hacer que exponga un puerto TCP / IP y simplemente llamarlo a través del puerto. Una forma divertida de hacer esto es usando gRPC.
- Puede exponer un microservicio local o remoto utilizando REST.
- Puede aumentar las colas entre procesos para habilitar las comunicaciones asíncronas.
- Puede escribir datos en el almacenamiento compartido y usar cron para habilitar el procesamiento por lotes / ETL.
Las opciones son infinitas y todas dependen exactamente de lo que quieres hacer.
- Cómo mejorar mis habilidades de desarrollo web y cuáles son los mejores cursos disponibles para el desarrollo web
- ¿Cuál es la ventaja de crear una aplicación en Python?
- ¿No puedo estudiar desarrollo web como estudiante de informática?
- ¿Cuál es el futuro de Apache Spark?
- ¿Debo usar el instalador de Rails para instalar Ruby On Rails? (railsinstaller.org) Parece que se instala más fácilmente. Soy un novato