SlideShare ist ein Scribd-Unternehmen logo
1 von 24
SCRIPTING INTEGRATION EN JAVA 6 DANIEL JARAMILLO. FIET.
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
[object Object],[object Object],[object Object],[object Object]
Razones para usar un lenguaje de scripting ,[object Object],[object Object],[object Object]
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.
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.
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.
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.
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.
Modos de Usar el Scripting API Ejemplo 1
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.
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.
Motores de Script Disponibles Ejemplo 2: Usted puede obtener una lista de todos los motores instalados para su plataforma Java.
Motores de Script Disponibles ,[object Object],[object Object],[object Object],[object Object],[object Object]
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.
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.
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.
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.
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.
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
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.
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.
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.
 

Weitere ähnliche Inhalte

Was ist angesagt? (18)

Java con eclipse
Java con eclipseJava con eclipse
Java con eclipse
 
Ide Eclipse, Breve Guía
Ide Eclipse, Breve GuíaIde Eclipse, Breve Guía
Ide Eclipse, Breve Guía
 
MVC en CakePHP 2.0
MVC en CakePHP 2.0MVC en CakePHP 2.0
MVC en CakePHP 2.0
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Semana9 Vbr
Semana9 VbrSemana9 Vbr
Semana9 Vbr
 
Practica 9
Practica 9 Practica 9
Practica 9
 
Java janner
Java   jannerJava   janner
Java janner
 
Introducción a JAVA.
Introducción a JAVA.Introducción a JAVA.
Introducción a JAVA.
 
nn
nnnn
nn
 
Frases Motivadoras GLD (engargolado)
Frases Motivadoras GLD (engargolado)Frases Motivadoras GLD (engargolado)
Frases Motivadoras GLD (engargolado)
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2
 
Introduccion Java
Introduccion JavaIntroduccion Java
Introduccion Java
 
Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]
 
Yerald tormet
Yerald tormetYerald tormet
Yerald tormet
 
TEMA Nº 3: ELEMENTOS DE JSP
TEMA Nº 3: ELEMENTOS DE JSPTEMA Nº 3: ELEMENTOS DE JSP
TEMA Nº 3: ELEMENTOS DE JSP
 
Manual de eclipse
Manual de eclipseManual de eclipse
Manual de eclipse
 
Ut
UtUt
Ut
 
Interfaces de Scripting para librerias en C
Interfaces de Scripting para librerias en CInterfaces de Scripting para librerias en C
Interfaces de Scripting para librerias en C
 

Andere mochten auch

Cronograma De Aulas 2009 1
Cronograma De Aulas 2009 1Cronograma De Aulas 2009 1
Cronograma De Aulas 2009 1UNIMESTRE
 
Sotsiaalne ettevõtlus
Sotsiaalne ettevõtlusSotsiaalne ettevõtlus
Sotsiaalne ettevõtlusMargo Loor
 
Queimporta
QueimportaQueimporta
Queimportamitxi39
 
Nowy Dokument Word Pad
Nowy Dokument Word PadNowy Dokument Word Pad
Nowy Dokument Word Padguestdd4b0
 
Orionbeta Microstrategy Administrator Workshop
Orionbeta Microstrategy Administrator WorkshopOrionbeta Microstrategy Administrator Workshop
Orionbeta Microstrategy Administrator Workshopsembaisenthil
 
Cause Marketing
Cause MarketingCause Marketing
Cause Marketingjrothman
 
Optical analysis of Cu2+: CdO - Li2O - B2O3 -TeO2 glass
Optical analysis of Cu2+: CdO - Li2O - B2O3 -TeO2 glassOptical analysis of Cu2+: CdO - Li2O - B2O3 -TeO2 glass
Optical analysis of Cu2+: CdO - Li2O - B2O3 -TeO2 glassIJERA Editor
 
Photo Collection
Photo CollectionPhoto Collection
Photo Collectionguest17d449
 

Andere mochten auch (20)

Dz4301756769
Dz4301756769Dz4301756769
Dz4301756769
 
Cronograma De Aulas 2009 1
Cronograma De Aulas 2009 1Cronograma De Aulas 2009 1
Cronograma De Aulas 2009 1
 
6096643
60966436096643
6096643
 
Sotsiaalne ettevõtlus
Sotsiaalne ettevõtlusSotsiaalne ettevõtlus
Sotsiaalne ettevõtlus
 
Ek4301827831
Ek4301827831Ek4301827831
Ek4301827831
 
Vf
VfVf
Vf
 
6096645
60966456096645
6096645
 
Ds4301712718
Ds4301712718Ds4301712718
Ds4301712718
 
Cv4301566568
Cv4301566568Cv4301566568
Cv4301566568
 
Queimporta
QueimportaQueimporta
Queimporta
 
Nowy Dokument Word Pad
Nowy Dokument Word PadNowy Dokument Word Pad
Nowy Dokument Word Pad
 
Orionbeta Microstrategy Administrator Workshop
Orionbeta Microstrategy Administrator WorkshopOrionbeta Microstrategy Administrator Workshop
Orionbeta Microstrategy Administrator Workshop
 
Cause Marketing
Cause MarketingCause Marketing
Cause Marketing
 
N44087577
N44087577N44087577
N44087577
 
6172565
61725656172565
6172565
 
M43067982
M43067982M43067982
M43067982
 
Optical analysis of Cu2+: CdO - Li2O - B2O3 -TeO2 glass
Optical analysis of Cu2+: CdO - Li2O - B2O3 -TeO2 glassOptical analysis of Cu2+: CdO - Li2O - B2O3 -TeO2 glass
Optical analysis of Cu2+: CdO - Li2O - B2O3 -TeO2 glass
 
Ae4506162164
Ae4506162164Ae4506162164
Ae4506162164
 
I044024549
I044024549I044024549
I044024549
 
Photo Collection
Photo CollectionPhoto Collection
Photo Collection
 

Ähnlich wie Scripting Integration en Java 6 - Daniel E. Jaramillo

[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma JavaEudris Cabrera
 
Asp.net conceptos
Asp.net conceptosAsp.net conceptos
Asp.net conceptosXstremsX
 
Tutorial javafx-primeros-pasos
Tutorial javafx-primeros-pasosTutorial javafx-primeros-pasos
Tutorial javafx-primeros-pasosNorman Enmanuel
 
[ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java [ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java Eudris Cabrera
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Robert Rayco Quiroz
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corporacion de Industrias Tecnologicas S.A.
 
T1 trabajo1navarrozuaraelisaramosruizpedro
T1 trabajo1navarrozuaraelisaramosruizpedroT1 trabajo1navarrozuaraelisaramosruizpedro
T1 trabajo1navarrozuaraelisaramosruizpedroPedro Ramos
 
Tutorial de eclipse 2
Tutorial de eclipse 2Tutorial de eclipse 2
Tutorial de eclipse 2ivan ramirez
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver FulgueraJavier Oliver Fulguera
 
Introduccion a la algoritmia 2011-i
Introduccion a la algoritmia   2011-iIntroduccion a la algoritmia   2011-i
Introduccion a la algoritmia 2011-iEnrique Vargas
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con JavaEudris Cabrera
 
Herramientas case[procesamiento de lenguaje analisis de p
Herramientas case[procesamiento de lenguaje   analisis de pHerramientas case[procesamiento de lenguaje   analisis de p
Herramientas case[procesamiento de lenguaje analisis de pManuel Villalta
 

Ähnlich wie Scripting Integration en Java 6 - Daniel E. Jaramillo (20)

[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java
 
Asp.net conceptos
Asp.net conceptosAsp.net conceptos
Asp.net conceptos
 
Tutorial javafx-primeros-pasos
Tutorial javafx-primeros-pasosTutorial javafx-primeros-pasos
Tutorial javafx-primeros-pasos
 
[ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java [ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
 
T1 trabajo1navarrozuaraelisaramosruizpedro
T1 trabajo1navarrozuaraelisaramosruizpedroT1 trabajo1navarrozuaraelisaramosruizpedro
T1 trabajo1navarrozuaraelisaramosruizpedro
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Tutorial de eclipse 2
Tutorial de eclipse 2Tutorial de eclipse 2
Tutorial de eclipse 2
 
Manual tecnico umasoft
Manual tecnico umasoftManual tecnico umasoft
Manual tecnico umasoft
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
 
Introduccion a la algoritmia 2011-i
Introduccion a la algoritmia   2011-iIntroduccion a la algoritmia   2011-i
Introduccion a la algoritmia 2011-i
 
Introducción a la algoritmia
Introducción a la algoritmiaIntroducción a la algoritmia
Introducción a la algoritmia
 
Introducción a la algoritmia
Introducción a la algoritmiaIntroducción a la algoritmia
Introducción a la algoritmia
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
Herramientas case[procesamiento de lenguaje analisis de p
Herramientas case[procesamiento de lenguaje   analisis de pHerramientas case[procesamiento de lenguaje   analisis de p
Herramientas case[procesamiento de lenguaje analisis de p
 
Tema 1-origen-java1
Tema 1-origen-java1Tema 1-origen-java1
Tema 1-origen-java1
 
Springboot Overview
Springboot  OverviewSpringboot  Overview
Springboot Overview
 

Mehr von 2008PA2Info3

Programación Orientada a Aspectos - Fernando Córdoba
Programación Orientada a Aspectos - Fernando CórdobaProgramación Orientada a Aspectos - Fernando Córdoba
Programación Orientada a Aspectos - Fernando Córdoba2008PA2Info3
 
UML para dispositivos móviles - Milena Cabrera
UML para dispositivos móviles - Milena CabreraUML para dispositivos móviles - Milena Cabrera
UML para dispositivos móviles - Milena Cabrera2008PA2Info3
 
JUnit - Germán Domínguez
JUnit - Germán DomínguezJUnit - Germán Domínguez
JUnit - Germán Domínguez2008PA2Info3
 
JUnit - Pablo Calvache
JUnit - Pablo CalvacheJUnit - Pablo Calvache
JUnit - Pablo Calvache2008PA2Info3
 
SCRUM - César Ortiz
SCRUM - César OrtizSCRUM - César Ortiz
SCRUM - César Ortiz2008PA2Info3
 
Java Fx - Santiago Vejarano
Java Fx - Santiago VejaranoJava Fx - Santiago Vejarano
Java Fx - Santiago Vejarano2008PA2Info3
 
Programación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David BurbanoProgramación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David Burbano2008PA2Info3
 
Modelado de redes de telecomunicaciones con UML - Leonardo Nieto
Modelado de redes de telecomunicaciones con UML - Leonardo NietoModelado de redes de telecomunicaciones con UML - Leonardo Nieto
Modelado de redes de telecomunicaciones con UML - Leonardo Nieto2008PA2Info3
 
SCRUM - Osiris López
SCRUM - Osiris LópezSCRUM - Osiris López
SCRUM - Osiris López2008PA2Info3
 
Formalización en UML - Ingrid Muñoz
Formalización en UML - Ingrid MuñozFormalización en UML - Ingrid Muñoz
Formalización en UML - Ingrid Muñoz2008PA2Info3
 
Java Fx - Alejandro Sotelo
Java Fx - Alejandro SoteloJava Fx - Alejandro Sotelo
Java Fx - Alejandro Sotelo2008PA2Info3
 
Perfiles UML - Paola Morales
Perfiles UML - Paola MoralesPerfiles UML - Paola Morales
Perfiles UML - Paola Morales2008PA2Info3
 
SCRUM - Víctor Orobio
SCRUM - Víctor OrobioSCRUM - Víctor Orobio
SCRUM - Víctor Orobio2008PA2Info3
 
Estándares calidad del software - Cristina Ortega
Estándares calidad del software - Cristina OrtegaEstándares calidad del software - Cristina Ortega
Estándares calidad del software - Cristina Ortega2008PA2Info3
 
Extensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío SantiagoExtensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío Santiago2008PA2Info3
 
Programación orientada a eventos - Alejandro Solano
Programación orientada a eventos - Alejandro SolanoProgramación orientada a eventos - Alejandro Solano
Programación orientada a eventos - Alejandro Solano2008PA2Info3
 
UML para sistemas de tiempo real - Marcela Folleco
UML para sistemas de tiempo real - Marcela FollecoUML para sistemas de tiempo real - Marcela Folleco
UML para sistemas de tiempo real - Marcela Folleco2008PA2Info3
 
Patrones de diseño - Andrés Dorado
Patrones de diseño - Andrés DoradoPatrones de diseño - Andrés Dorado
Patrones de diseño - Andrés Dorado2008PA2Info3
 
MDD - Andrés Goyes
MDD - Andrés GoyesMDD - Andrés Goyes
MDD - Andrés Goyes2008PA2Info3
 
Aplicaciones web - Gonzalo Acte
Aplicaciones web - Gonzalo ActeAplicaciones web - Gonzalo Acte
Aplicaciones web - Gonzalo Acte2008PA2Info3
 

Mehr von 2008PA2Info3 (20)

Programación Orientada a Aspectos - Fernando Córdoba
Programación Orientada a Aspectos - Fernando CórdobaProgramación Orientada a Aspectos - Fernando Córdoba
Programación Orientada a Aspectos - Fernando Córdoba
 
UML para dispositivos móviles - Milena Cabrera
UML para dispositivos móviles - Milena CabreraUML para dispositivos móviles - Milena Cabrera
UML para dispositivos móviles - Milena Cabrera
 
JUnit - Germán Domínguez
JUnit - Germán DomínguezJUnit - Germán Domínguez
JUnit - Germán Domínguez
 
JUnit - Pablo Calvache
JUnit - Pablo CalvacheJUnit - Pablo Calvache
JUnit - Pablo Calvache
 
SCRUM - César Ortiz
SCRUM - César OrtizSCRUM - César Ortiz
SCRUM - César Ortiz
 
Java Fx - Santiago Vejarano
Java Fx - Santiago VejaranoJava Fx - Santiago Vejarano
Java Fx - Santiago Vejarano
 
Programación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David BurbanoProgramación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David Burbano
 
Modelado de redes de telecomunicaciones con UML - Leonardo Nieto
Modelado de redes de telecomunicaciones con UML - Leonardo NietoModelado de redes de telecomunicaciones con UML - Leonardo Nieto
Modelado de redes de telecomunicaciones con UML - Leonardo Nieto
 
SCRUM - Osiris López
SCRUM - Osiris LópezSCRUM - Osiris López
SCRUM - Osiris López
 
Formalización en UML - Ingrid Muñoz
Formalización en UML - Ingrid MuñozFormalización en UML - Ingrid Muñoz
Formalización en UML - Ingrid Muñoz
 
Java Fx - Alejandro Sotelo
Java Fx - Alejandro SoteloJava Fx - Alejandro Sotelo
Java Fx - Alejandro Sotelo
 
Perfiles UML - Paola Morales
Perfiles UML - Paola MoralesPerfiles UML - Paola Morales
Perfiles UML - Paola Morales
 
SCRUM - Víctor Orobio
SCRUM - Víctor OrobioSCRUM - Víctor Orobio
SCRUM - Víctor Orobio
 
Estándares calidad del software - Cristina Ortega
Estándares calidad del software - Cristina OrtegaEstándares calidad del software - Cristina Ortega
Estándares calidad del software - Cristina Ortega
 
Extensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío SantiagoExtensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío Santiago
 
Programación orientada a eventos - Alejandro Solano
Programación orientada a eventos - Alejandro SolanoProgramación orientada a eventos - Alejandro Solano
Programación orientada a eventos - Alejandro Solano
 
UML para sistemas de tiempo real - Marcela Folleco
UML para sistemas de tiempo real - Marcela FollecoUML para sistemas de tiempo real - Marcela Folleco
UML para sistemas de tiempo real - Marcela Folleco
 
Patrones de diseño - Andrés Dorado
Patrones de diseño - Andrés DoradoPatrones de diseño - Andrés Dorado
Patrones de diseño - Andrés Dorado
 
MDD - Andrés Goyes
MDD - Andrés GoyesMDD - Andrés Goyes
MDD - Andrés Goyes
 
Aplicaciones web - Gonzalo Acte
Aplicaciones web - Gonzalo ActeAplicaciones web - Gonzalo Acte
Aplicaciones web - Gonzalo Acte
 

Scripting Integration en Java 6 - Daniel E. Jaramillo

  • 1. SCRIPTING INTEGRATION EN JAVA 6 DANIEL JARAMILLO. FIET.
  • 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.
  • 10. Modos de Usar el Scripting API Ejemplo 1
  • 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.
  • 24.