El documento describe la integración de lenguajes de scripting en Java 6 a través del JSR 223. El JSR 223 define un marco estándar y API para permitir el acceso y control de objetos Java desde lenguajes de scripting, así como la creación de contenido web y la inserción de scripting en aplicaciones Java. La plataforma Java 6 implementa esta API a través del paquete javax.script.
2. Ningún estándar de industria ha definido o ha aclarado cómo los desarrolladores pueden utilizar los archivos de clase Java desde otros lenguajes de programación. Lenguajes de scripting no han tenido un modelo estándar, apoyada por la industria para integrarse con las tecnologías Java. Scripting Integration en Java 6
3.
4.
5. Razones para usar un lenguaje de scripting Muchos desarrolladores piensan que el lenguaje de scripting de perl es un gran modo de tratar el texto y generar informes. Otros desarrolladores utilizan los lenguajes de scripts disponibles en bash y ksh para mando y control del trabajo. Otros lenguajes de scripting ayudan a definir interfaces de usuario o el contenido web convenientemente.
6. Razones para usar un lenguaje de scripting La combinación de lenguajes de scripting con la plataforma Java proporciona a los desarrolladores una oportunidad para aprovechar las capacidades de ambos ambientes. La sinergia entre la plataforma Java y lenguajes de script produce un entorno en el que los desarrolladores y usuarios finales pueden colaborar para crear aplicaciones dinámicas más útiles.
7. JSR 223 PUESTA EN PRACTICA La versión 6 de la Plataforma Java, Edición Estándar (Java SE), no tiene por estándar ningún motor de scripts particular, sin embargo, el motor de Mozilla Rhino para el lenguaje de programación JavaScript, actualmente es incluido como un rasgo en las bibliotecas JDK 6 Y JRE 6. La plataforma Java SE 6 pone en práctica el java.script API, que le permite usar los motores de script que cumplen con JSR 223.
8. Modos de Usar el Scripting API El scripting API está en el paquete de javax.script disponible en la plataforma Java SE 6. El API es aún relativamente pequeño, compuesto de seis interfaces y seis clases, tal como indica el cuadro 1.
9. Modos de Usar el Scripting API Su punto de partida debe ser la clase ScriptEngineManager . Un objeto ScriptEngineManager puede decir que motores de script están disponibles para el Java Runtime Environment (JRE). También puede proporcionar objetos ScriptEngine que interpretan scripts escritos en un lenguaje de scripting.
11. Motores de Script Disponibles Un objeto de ScriptEngineMana ger proporciona el mecanismo de descubrimiento para el marco scripting. Un administrador encuentra clases ScriptEngineFactory , que crean objetos de ScriptEng ine. Los desarrolladores pueden agregar motores de script a un JRE con la especificación de archivo JAR.
12. Motores de Script Disponibles Solo se puede tener acceso un objeto de ScriptEng ine cuando se conoce el nombre del motor. Si usted tiene que recuperar un objeto de ScriptEng ine que usa criterios más complicados, puede que primero sea necesario utilizar la lista entera de ScriptEngineFact ory . Un ScriptEngineFact ory puede crear objetos de ScriptEng ine para una lengua específica scripting.
13. Motores de Script Disponibles Ejemplo 2: Usted puede obtener una lista de todos los motores instalados para su plataforma Java.
14.
15. Modos de Crear un ScriptEngine Una vez que se tiene toda esta información sobre una fábrica y el motor, se puede decidir el tiempo de ejecución del motor de la fábrica a usar. Si usted encuentra ScriptEngineFactory apropiado, creando ScriptEngine asociado es fácil. Ejemplo 3. Puede buscar los motores de script que cumplen los requisitos de su aplicación.
16. Como Ejecutar un Script Un objeto de ScriptEngine controla el código del script. El método eval del motor evalúa la escritura, que es una secuencia de carácter obtenida de una String o de un objeto java.io. reader. Un objeto reader también puede obtener caracteres de un archivo. Se puede usar esta capacidad de leer los scripts que los clientes proporcionan hasta después de que se ha desplegado su uso.
17. Como Ejecutar un Script Uno de los mejores motivos de usar scripting es permitir a usuarios personalizar su funcionalidad. El modo más fácil de permitir esta personalización es leer los archivos del scrit los que los clientes proporcionan. Un método sobrecargado eval puede usar un parámetro reader, el que usted puede tratar como un script de un archivo externo.
18. Como Ejecutar un Script El ejemplo 4 muestra como evaluar un archivo que el cliente ha suministrado. El nombre del archivo es /scripts/F1.js, y esto es localizado bajo el directorio de aplicación.
19. Como Invocar un Procedimiento de script. Ejecutar Scripts enteras es útil, pero puede que desee invocar un procedimiento de script específico. Algunos motores de script ponen en práctica el interfaz Invocable . Si un motor pone en práctica este interfaz, usted puede llamar o invocar métodos específicos o funciones las que el motor ya ha evaluado.
20. Como Invocar un Procedimiento de script. Alternativamente, si su script define los objetos, puede llamar a métodos de objetos utilizando el método invokeMethod . Ejemplo 5 se muestra cómo utilizar esta interfaz
21. Como Acceder a los Objetos Scripts de Java JSR 223 puestas en práctica proporcionan las enlaces de lenguaje de programación que permiten el acceso a clases de la plataforma Java, métodos, y propiedades. El mecanismo de acceso por lo general seguirá las convenciones de la lengua scripting para objetos natales en aquel ambiente particular scripting.
22. Como Acceder a los Objetos Scripts de Java Se pueden pasar objetos de procedimientos script como argumentos utilizando el Invocable interfaz. Si lo prefiere, puede "poner" en él: el lenguaje de programación Java de código puede colocar objetos Java en el entorno de script a través de un metodo del motor de script.
23. Como Acceder a los Objetos Scripts. Los metodos eval invokeMethod e invokeFunction siempre devuelven una instancia de un objeto. Para la mayoría de los motores de script, este objeto es el último valor calculado por el script. Así que la forma más fácil para acceder a objetos en el entorno de scripting es volver a su script de procedimientos o asegúrese de que el script se evalúa como el objeto deseado.