AS/400 Developer Kit para Java
AS/400 Developer Kit para Java
Contenido
Capítulo 1. AS/400 Developer Kit para
Java . . . 1
Imprimir este tema . . . 2
Novedades de V4R5 para AS/400 Developer Kit para Java . . . 3
Cómo saber cuáles son las novedades o los cambios: . . . 3
Novedades de V4R5 para Java Development Kit (JDK) 1.1.8 . . . 3
Novedades de V4R5 para Java 2 Software Development Kit (J2SDK), Standard Edition, versión 1.2 . . . 4
Capítulo 2. Cómo empezar con AS/400
Developer Kit para Java . . . 7
Instalar AS/400 Developer Kit para Java . . . 7
Soporte para varios Java Development Kits (JDK) 8 Configuración de AS/400 para AS/400 Developer Kit para Java . . . 9
Ejecutar el primer programa Java Hello World. . . 10
Crear, compilar y ejecutar un programa Java Hello World . . . 10
Crear y ejecutar programas Java con AS/400 Developer Kit para Java . . . 11
Vía de acceso de clases Java . . . 12
Seleccionar la modalidad a utilizar al ejecutar un programa Java . . . 16
Crear y editar archivos fuente Java . . . 17
Bajar e instalar paquetes Java en AS/400 . . . . 18
Compatibilidad de release a release . . . 20
Capítulo 3. Conceptos de AS/400
Developer Kit para Java . . . 23
Transformador Java. . . 25
Recogida de basura avanzada de AS/400 Developer Kit para Java . . . 26
Recogida de basura Java . . . 27
Entorno de ejecución Java de AS/400 . . . 27
Abstract Window Toolkit remoto de AS/400 Developer Kit para Java . . . 28
Class Broker para Java de AS/400 Developer Kit para Java . . . 29
Compilador Just-In-Time . . . 29
Comparación entre el compilador Just-In-Time y la ejecución directa . . . 29
Comparación entre el entorno de lenguajes integrados y Java . . . 30
Ejecutar Java en un trabajo de proceso por lotes . . 31
Clases, paquetes y directorios Java. . . 31
Propiedades de sistema Java. . . 33
Propiedades del sistema Java para Java Development Kit (JDK) 1.1.8. . . 33
Propiedades del sistema Java para Java 2 Software Development Kit (J2SDK), Standard Edition, versión 1.2 . . . 38
Archivos en el sistema de archivos integrado . . . 44
Autorizaciones de archivo Java en el sistema de archivos integrado . . . 44
Codificaciones de caracteres Java . . . 45
Valores de file.encoding y CCSID de AS/400 . . 46
Java Naming and Directory Interface (JNDI) . . . 52
Interfaz de depuración de la máquina virtual Java 52 Limitaciones, restricciones y comportamientos propios . . . 53
La plataforma Java . . . 54
Aplicaciones y applets Java . . . 55
Máquina virtual Java . . . 55
Archivos de clase Java . . . 56
Archivos ZIP Java . . . 56
Archivos JAR Java . . . 56
Intérprete Java . . . 57
Hebras Java . . . 57
Java Development Kit de Sun Microsystems, Inc. . . 58
Paquetes Java. . . 59
Herramientas Java . . . 60
Métodos nativos y Java Native Interface (JNI) . . 60
Capítulo 4. Mandatos y herramientas
de AS/400 Developer Kit para Java
. . 61
Herramientas Java soportadas por AS/400 Developer Kit para Java . . . 61
Herramienta ajar de Java . . . 62
Herramienta appletviewer Java . . . 62
Ejecución de la herramienta appletviewer de Java con Abstract Window Toolkit remoto . . . 63
Herramienta extcheck Java . . . 63
La herramienta jar Java . . . 63
Herramienta jarsigner Java . . . 64
La herramienta javac Java . . . 64
La herramienta javadoc Java. . . 65
Herramienta javah Java . . . 65
Herramienta javakey Java . . . 66
La herramienta javap Java . . . 66
Herramienta keytool Java. . . 67
Herramienta native2ascii Java . . . 67
Herramienta policytool Java . . . 67
Herramienta rmic Java. . . 68
Herramienta rmid Java . . . 68
La herramienta rmiregistry Java . . . 68
La herramienta serialver Java . . . 68
Herramienta tnameserv Java. . . 69
El mandato java de Qshell . . . 69
Mandatos CL a los que da soporte Java . . . 70
El mandato Crear programa Java (CRTJVAPGM) 71 Mandato Cambiar programa Java (CHGJVAPGM) 80 El mandato JAVA . . . 85
El mandato Suprimir programa Java
(DLTJVAPGM) . . . 92
Mandato Volcar máquina virtual Java (DMPJVM) 93 El mandato Visualizar programa Java (DSPJVAPGM) . . . 96
Mandatos de Operations Navigator a los que da soporte Java . . . 100
Capítulo 5. Utilización de Java con
otros lenguajes de programación . . . 103
Utilización de Java Native Interface para emplear métodos nativos . . . 104
Consideraciones en torno a las hebras y los métodos nativos Java . . . 106
Series en métodos nativos . . . 107
Ejemplos: utilización de Java Native Interface para emplear métodos nativos. . . 109
Utilización de java.lang.Runtime.exec() . . . 113
Ejemplo: llamar a otro programa Java con java.lang.Runtime.exec() . . . 114
Ejemplo: llamar a un programa CL con java.lang.Runtime.exec() . . . 115
Ejemplo: Llamar a un mandato CL con java.lang.Runtime.exec() . . . 116
Ejemplos de comunicación entre procesos . . . . 117
Utilización de sockets para la comunicación entre procesos . . . 117
Utilización de corrientes de entrada y de salida para comunicación entre procesos . . . 120
Llamadas a Java desde otros lenguajes . . . . 121
Java Invocation API . . . 123
Funciones de Invocation API . . . 123
Soporte para varias máquinas virtuales Java . . 125
Ejemplo: Java Invocation API . . . 126
Capítulo 6. Acceso a la base de datos
AS/400 con el controlador JDBC de
AS/400 Developer Kit para Java . . . 131
Registrar el controlador JDBC de AS/400 Developer Kit para Java antes de utilizar JDBC . . 132
Conectarse a una base de datos de AS/400 con el controlador JDBC de AS/400 Developer Kit para Java . . . 133
Ejemplos: conectarse a una base de datos de AS/400 con el controlador JDBC de AS/400 Developer Kit para Java . . . 133
Crear una aplicación JDBC . . . 134
Ejemplo: crear una aplicación JDBC . . . 134
Interfaz Statement para AS/400 Developer Kit para Java . . . 136
Ejemplo: interfaz Statement para AS/400 Developer Kit para Java . . . 137
Interfaz PreparedStatement para AS/400 Developer Kit para Java . . . 137
Ejemplo: interfaz PreparedStatement para AS/400 Developer Kit para Java . . . 137
Interfaz CallableStatement para AS/400 Developer Kit para Java . . . 138
Ejemplo: interfaz CallableStatement para AS/400 Developer Kit para Java . . . 138
Interfaz ResultSet para AS/400 Developer Kit para Java . . . 139
Ejemplo: interfaz ResultSet para AS/400 Developer Kit para Java . . . 139
Interfaz DatabaseMetaData para AS/400 Developer Kit para Java . . . 140
Ejemplo: interfaz DatabaseMetaData para AS/400 Developer Kit para Java . . . 140
Interfaz Blob para AS/400 Developer Kit para Java 140 Interfaz Clob para AS/400 Developer Kit para Java 141
Capítulo 7. Acceso a bases de datos
mediante el soporte SQLJ DB2 de
AS/400 Developer Kit para Java . . . 143
Herramientas SQLJ . . . 143
Restricciones de SQLJ DB2 . . . 143
Intercalar sentencias SQL en la aplicación Java . . 144
Compilación y ejecución de programas SQLJ . . . 145
Variables de sistema principal en SQL para Java 146 Perfiles SQLJ . . . 146
El conversor de SQL para Java (SQLJ) (sqlj) . . . 149
Precompilación de sentencias SQL en un perfil utilizando el personalizador de perfil SQLJ DB2, db2profc . . . 149
Imprimir el contenido de perfiles SQLJ DB2 (db2profp y profp) . . . 153
El instalador de auditor de perfil SQLJ (profdb) 154 Conversión de una instancia de perfil serializado a formato de clase Java mediante la herramienta de conversión de perfil SQLJ (profconv) . . . 155
Capítulo 8. Ejecución de la aplicación
Java en un sistema principal sin
interfaz gráfica de usuario . . . 157
Configurar AWT remoto para Java en una pantalla remota . . . 157
Ejemplo: configurar AWT remoto para Java en una pantalla remota Windows . . . 158
Poner los archivos de clase de AWT remoto para Java a disposición de la pantalla remota. . 159
Adición de RAWTGui.zip o RAWTGui.jar a la vía de acceso de clases de la pantalla remota . . 160
Iniciar AWT remoto para Java en un pantalla remota . . . 160
Ejecutar un programa Java con AWT remoto 161 Imprimir con AWT remoto . . . 163
Propiedades de AWT remoto . . . 164
Restricciones de SecurityManager de AWT remoto . . . 164
Establecimiento de Class Broker para Java en una pantalla remota. . . 165
Instalación de Class Broker para Java en AS/400 165 Instalación de Class Broker para Java en Windows o UNIX . . . 166
Contenido de paquete de cbj_1.1.jar . . . 167
Capítulo 9. Seguridad Java
. . . 171
El modelo de seguridad Java . . . 171 Conseguir que una aplicación Java sea segura con
Preparación de AS/400 para el soporte de capa de sockets seguros. . . 173 Elección de un certificado digital . . . 174 Utilización del certificado digital al ejecutar la aplicación Java . . . 175 Modificación del código Java para utilizar
fábricas de sockets. . . 176 Modificación del código Java para utilizar la
capa de sockets seguros . . . 179
Capítulo 10. Crear un programa Java
internacionalizado . . . 183
Entornos nacionales Java . . . 183 Ejemplo: internacionalización de las fechas con la clase java.util.DateFormat . . . 185 Ejemplo: internacionalización de las presentaciones numéricas con la clase java.util.NumberFormat . . 186 Ejemplo: internacionalización de los datosespecíficos de entorno nacional con la clase
java.util.ResourceBundle. . . 186
Capítulo 11. Ajustar el rendimiento de
los programas Java con AS/400
Developer Kit para Java . . . 189
Consideraciones en torno al rendimiento deejecución Java . . . 190 Consideraciones en torno al rendimiento de
transformación Java . . . 190 Consideraciones en torno al rendimiento de la
recogida de basura Java . . . 191 Consideraciones en torno al rendimiento de la
invocación a métodos nativos Java . . . 191 Consideraciones en torno al rendimiento de la
incorporación de métodos Java . . . 192 Consideraciones en torno al rendimiento de las
excepciones Java . . . 192
Herramientas de rendimiento de rastreo de eventos Java . . . 192 Herramientas de rendimiento de rastreo de
llamadas Java . . . 193 Herramientas de rendimiento de perfilado Java . . 193 Recogida de datos de rendimiento Java. . . . 193 Herramienta Performance Data Collector . . . . 195 Herramienta Java Performance Data Converter 195 Ejecución de Java Performance Data Converter 196
Capítulo 12. Depuración de programas
utilizando AS/400 Developer Kit para
Java . . . 199
Depurar un programa Java . . . 199 Depurar programas Java con la opción *DEBUG 200 Pantallas iniciales de depuración de programas Java . . . 200 Establecimiento de puntos de interrupción . . 201 Recorrer los programas Java para depurarlos 202 Depurar programas Java y de métodos nativos . . 204 Depurar un programa Java desde otra pantalla . . 205Variable de entorno
QIBM_CHILD_JOB_SNDINQMSG . . . 206 Depuración de servlets . . . 206
Capítulo 13. Resolución de problemas
en AS/400 Developer Kit para Java . . 209
Buscar archivos de anotaciones de trabajo paraanalizar problemas de Java . . . 209 Reunir datos para analizar problemas de Java . . 210 Obtener soporte técnico para AS/400 Developer Kit para Java . . . 211
Capítulo 14. Ejemplos de código para
AS/400 Developer Kit para Java . . . 213
Capítulo 1. AS/400 Developer Kit para Java
Qué es:
AS/400 Developer Kit para Java está optimizado para su utilización en un entorno de servidor AS/400. Utiliza la compatibilidad de las interfaces de usuario y de programación Java para que el usuario pueda desarrollar aplicaciones propias para el sistema AS/400.
AS/400 Developer Kit para Java le permite crear y ejecutar programas Java en AS/400. AS/400 Developer Kit para Java es una implementación compatible de la tecnología Java de Sun Microsystems, Inc., y por tanto se presupone que el usuario está familiarizado con la documentación de Java Development Kit (JDK). Para facilitar el trabajo con la información de dicha empresa y la nuestra, se suministra una lista de enlaces con la información de Sun Microsystems, Inc.
Si, por algún motivo, nuestros enlaces con la documentación de Java Development Kit de Sun Microsystems, Inc no funcionasen, consulte la información que necesite en la documentación de referencia en formato HTML de dicha empresa. Puede encontrar esta información en la World Wide Web en The Source for Java
Technology java.sun.com.
Cómo utilizar estas páginas:
Si desea obtener información más detallada sobre la utilización de AS/400 Developer Kit para Java, seleccione cualquiera de los temas relacionados a continuación:
v Imprimir este tema proporciona detalles acerca de cómo bajar un archivo PDF imprimible o un paquete en archivo ZIP de los archivos HTML de AS/400 Developer Kit para Java.
v Novedades de V4R5 indica las actualizaciones más recientes de información y productos.
v Cómo empezar proporciona información sobre la instalación, la configuración, la creación y ejecución de programas Java Hello World sencillos, el bajar e instalar paquetes y la compatibilidad de release a release.
v En Conceptos se presentan conceptos concretos con los que se debe estar familiarizado a la hora de utilizar AS/400 Developer Kit para Java. También se dan definiciones muy básicas de Java para quienes buscan detalles generales. v En Mandatos y herramientas se facilita información detallada sobre la manera de
utilizar los mandatos y las herramientas Java.
v Otros lenguajes de programación muestra la manera de llamar al código escrito en un lenguaje distinto de Java por medio de Java Native Interface (JNI), java.lang.Runtime.exec(), la comunicación entre procesos y Java Invocation API.
v Controlador JDBC describe cómo el controlador JDBC de AS/400 Developer Kit para Java permite a los programas Java acceder a archivos de base de datos de AS/400.
v Soporte SQLJ describe la forma en que AS/400 Developer Kit para Java permite utilizar sentencias SQL intercaladas en la aplicación Java.
v Ejecución en un sistema principal sin GUI contiene información acerca de cómo configurar y ejecutar programas Java con Abstract Window Toolkit (AWT) remoto o Class Broker para Java.
v Seguridad proporciona detalles sobre la autorización adoptada y describe cómo puede utilizarse SSL para hacer que las corrientes de sockets sean seguras en la aplicación Java.
v Internacionalización proporciona instrucciones acerca de cómo personalizar un programa Java para una región específica del mundo.
v En Rendimiento se facilita información sobre la manera de ajustar el rendimiento de Java.
v En Depuración se explica cómo depurar programas Java.
v En Resolución de problemas se indica cómo buscar archivos de anotaciones de trabajo y recoger datos para analizar los programas Java. En este tema también se facilita información sobre los arreglos temporales del programa (PTF) y la manera de obtener soporte técnico para AS/400 Developer Kit para Java. v Ejemplos de código enlaza directamente con todos los ejemplos de código de
esta información.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Imprimir este tema
Puede ver o bajar una versión PDF de este documento a efectos de visualización o impresión. Debe tener instalado Adobe(R) Acrobat(R) Reader para ver archivos
PDF. Puede bajar una copia desde Adobe .
Para ver o bajar la versión PDF, seleccione AS/400 Developer Kit para Java (aproximadamente 943 KB o 176 páginas).
Para guardar un PDF en la estación de trabajo a efectos de visualización o impresión:
1. Abra el PDF en el navegador (pulse en el enlace anterior).
2. En el menú del navegador, pulse en Archivo.
3. Pulse en Guardar como...
4. Vaya al directorio en el que desea guardar el PDF.
5. Pulse en Guardar.
Bajar un archivo zip de este documento
Para bajar un archivo ZIP de los archivos HTML de AS/400 Developer Kit para Java en la estación de trabajo:
1. Asegúrese de que dispone de 5,0 MB de espacio de almacenamiento como mínimo en el disco duro.
2. Cree un directorio nuevo en el disco duro.
a. Seleccione la opción Guardar en disco.
b. Seleccione un directorio temporal como destino de la operación de bajar.
c. Pulse Aceptar.
4. Desempaquete el archivo ZIP en el directorio que ha creado en el paso 2.
5. Abra devkit.htm con el navegador para ver el manual de consulta.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Novedades de V4R5 para AS/400 Developer Kit para Java
En este tema se destacan los cambios efectuados en AS/400 Developer Kit para Java en V4R5. Se destacan los cambios efectuados en Java Development Kit (JDK) 1.1.8 y Java 2 Software Development Kit (J2SDK), Standard Edition, versión 1.2. Si ya está familiarizado con esta información, puede utilizar los enlaces con la versión que elija y saber cuáles son las nuevas actualizaciones:
v Java Development Kit (JDK) 1.1.8
v Java 2 Software Development Kit (J2SDK), Standard Edition, versión 1.2
Cómo ver en qué punto de la información se encuentra:
Los pequeños enlaces situados al principio de cada página muestran en qué punto de la información se encuentra. Estos enlaces se visualizan en formato de
estructura de directorios. Para ver dónde se encuentra, lea a través de los enlaces. Por ejemplo, si observa el principio de esta página, verá:
AS/400 Developer Kit para Java \ Novedades
Estos enlaces le indican que se encuentra en la información “Novedades” bajo el tema “AS/400 Developer Kit para Java”.
Cómo saber cuáles son las novedades o los cambios:
En esta información se utiliza lo siguiente a modo de ayuda para indicar dónde se han realizado cambios técnicos:
v La imagen señala el lugar en el que empieza la información nueva o modificada.
v La imagen señala el lugar en el que acaba la información nueva o modificada.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Novedades de V4R5 para Java Development Kit (JDK) 1.1.8
En este tema se destacan los cambios efectuados en AS/400 Developer Kit para Java en V4R5 para Java Development Kit (JDK) 1.1.8.
Cómo empezar:
v Si desea obtener información sobre los JDK a los que da soporte IBM, consulte Soporte a varios JDK.
v Consulte el apartado vía de acceso de clases Java para obtener detalles acerca de cómo establecer adecuadamente la vía de acceso de clases para JDK 1.1.x o J2SDK.
Herramientas y mandatos:
v Se ha añadido la herramienta ajar Java a la lista de herramientas Java soportadas por AS/400 Developer Kit para Java.
v Consulte el apartado Herramienta appletviewer Java para conocer nuevos detalles acerca de cómo ejecutar la herramienta appletviewer con Abstract Window Toolkit remoto.
v Se ha añadido el mandato nuevo Volcar máquina virtual Java (DMPJVM) para volcar información acerca de la máquina virtual Java para un trabajo
especificado.
v Se ha añadido el parámetro TGTRLS al mandato Crear programa Java (CRTJVAPGM).
v Se ha añadido el parámetro SUBTREE al mandato Cambiar programa Java (CHGJVAPGM).
v Se ha añadido la opción JIT al parámetro OPTIMIZE y al parámetro INTERPRET del mandato Ejecutar Java (RUNJVA).
v Se ha añadido un ejemplo de pantalla con la descripción de cada uno de los campos al mandato Visualizar programa Java (DSPJVAPGM).
Ejecución en un sistema principal sin GUI:
v
Consulte el tema Configuración de Abstract Window Toolkit remoto para conocer las actualizaciones.
v
Si desea ejecutar la aplicación Java en un sistema principal que no tiene una interfaz gráfica de usuario (GUI), como por ejemplo un sistema AS/400, puede utilizar Abstract Window Toolkit (AWT) remoto o Class Broker para Java (CBJ). Puede utilizar CBJ para servicios de GUI de alto rendimiento. Puesto que el AWT remoto no es aconsejable para operaciones con gráficos complejos o alta interacción, puede utilizar CBJ en su lugar, diseñado para estos entornos. Para utilizar CBJ, consulte el apartado Configuración de Class Broker para Java.
Depuración:
v Se han añadido detalles acerca de cómo depurar servlets.
Ejemplos de código:
v Se han añadido más ejemplos de código.
Imprimir este tema:
v Consulte el apartado Imprimir este tema para obtener un PDF de la información de AS/400 Developer Kit para Java.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Novedades de V4R5 para Java 2 Software Development Kit
(J2SDK), Standard Edition, versión 1.2
En este tema se destacan los cambios efectuados en AS/400 Developer Kit para Java en V4R5 para Java 2 Software Development Kit (J2SDK), Standard Edition, versión 1.2.
Nota: En esta sección sólo se describen los cambios que son exclusivos o interesantes en J2SDK, versión 1.2. La información general acerca de las actualizaciones del capítulo Novedades para Java Development Kit (JDK) 1.1.8 también se aplica a J2SDK, versión 1.2.
Cómo empezar:
v Si desea obtener información sobre los JDK a los que da soporte IBM, consulte Soporte a varios JDK.
v Consulte el apartado vía de acceso de clases Java para obtener detalles acerca de cómo establecer adecuadamente la vía de acceso de clases para JDK 1.1.x o J2SDK.
v Se ha añadido el tema Seleccionar la modalidad a utilizar al ejecutar un
programa Java para describir la direferencia entre ejecutar un programa Java en modalidad interpretada, ejecución directa o compilación Just-In-Time.
v Para obtener información acerca de la infraestructura de ampliaciones Java, consulte el apartado Bajar e instalar paquetes Java en AS/400 e Instalación de ampliaciones para AS/400 Developer Kit para Java.
Conceptos:
v Consulte el apartado Class Broker para Java para obtener información general acerca de cómo ejecutar aplicaciones Java en un sistema principal que no tenga una interfaz gráfica de usuario (GUI).
v Se ha añadido soporte para un compilador Just-In-Time que mejora el rendimiento al compilar código a medida que es necesario.
v Se han añadido propiedades de sistema para J2SDK nuevas.
v Se ha añadido soporte para la Interfaz de depuración de la máquina virtual Java.
Mandatos y herramientas:
v Consulte el apartado Herramienta appletviewer Java para conocer nuevos detalles acerca de cómo ejecutar la herramienta appletviewer con Abstract Window Toolkit remoto.
v Se han añadido las herramientas Java extcheck, Java jarsigner, Java keytool, Java policytool, Java rmid y Java tnameserv a la lista de herramientas Java soportadas por AS/400 Developer Kit para Java.
v La herramienta javakey Java ha quedado obsoleta en J2SDK, versión 1.2.
Acceso a bases de datos utilizando el soporte SQLJ DB2 de AS/400 Developer Kit para Java
v La información de acceso a bases de datos utilizando el soporte SQLJ DB2 de AS/400 Developer Kit para Java se ha revisado.
v La herramienta conversor de SQLJ permite generar perfiles SQLJ a partir del código fuente Java.
v El personalizador de perfil SQLJ DB2 permite personalizar perfiles SQLJ. v La herramienta impresor de perfil SQLJ DB2 permite imprimir perfiles SQLJ. v La herramienta instalador de auditor de perfil SQLJ permite instalar auditores
de perfil SQLJ sobre los perfiles SQLJ.
v La herramienta de conversión de perfil SQLJ permite convertir una instancia de perfil serializado al formato de clase Java.
v Intercalar sentencias SQL en la aplicación Java muestra cómo intercalar sentencias SQL en el código fuente Java.
v Compilación y ejecución de programas SQLJ muestra cómo compilar y ejecutar los programas SQLJ.
Ejecución en un sistema principal sin GUI:
v
Consulte el tema Configuración de Abstract Window Toolkit remoto para conocer las actualizaciones.
v
Si desea ejecutar la aplicación Java en un sistema principal que no tiene una interfaz gráfica de usuario (GUI), como por ejemplo un sistema AS/400, puede utilizar Abstract Window Toolkit (AWT) remoto o Class Broker para Java (CBJ). Puede utilizar CBJ para servicios de GUI de alto rendimiento. Puesto que el AWT remoto no es aconsejable para operaciones con gráficos complejos o alta interacción, puede utilizar CBJ en su lugar, diseñado para estos entornos. Para utilizar CBJ, consulte el apartado Configuración de Class Broker para Java.
Depuración:
v Se han añadido detalles acerca de cómo depurar servlets.
Ejemplos de código:
v Se han añadido más ejemplos de código.
Imprimir este tema:
v Consulte el apartado Imprimir este tema para obtener un PDF de la información de AS/400 Developer Kit para Java.
[ Página de presentación de Information Center | Comentarios ]
Capítulo 2. Cómo empezar con AS/400 Developer Kit para
Java
Si todavía no ha utilizado AS/400 Developer Kit para Java, siga estos pasos para instalarlo, configurarlo y practicar la ejecución de un programa Java Hello World sencillo.
1. Si ya está familiarizado con la información de AS/400 Developer Kit para Java, consulte Novedades, donde hallará enlaces con la información y las
actualizaciones de productos más recientes.
2. Instalar AS/400 Developer Kit para Java.
3. Configurar el sistema.
4. Si esta información es nueva para usted y todavía no ha utilizado AS/400 Developer Kit para Java, consulte Ejecutar el primer programa Java Hello World. En este tema se ilustran dos métodos de ejecución de un programa Java Hello World sencillo con AS/400 Developer Kit para Java. Es una forma práctica de ver si ha instalado correctamente AS/400 Developer Kit para Java.
5. Ahora ya está preparado para crear, compilar y ejecutar un programa Java Hello World propio. Si desea saber cuál es el procedimiento que debe seguir, consulte Crear, compilar y ejecutar un programa Java Hello World.
6. Si está interesado en crear más aplicaciones Java propias, lea los temas siguientes:
v En Crear y ejecutar programas se facilitan las instrucciones paso a paso para crear y ejecutar programas Java propios.
v En Crear y editar archivos fuente Java se enseñan tres maneras diferentes de crear y editar archivos fuente Java.
v Bajar e instalar paquetes Java en AS/400 sirve de ayuda para utilizar los paquetes Java de una forma más eficiente. En este tema se facilita
información detallada referente a los paquetes con interfaz gráfica de usuario (GUI), el sistema de archivos integrado y la distinción entre mayúsculas y minúsculas, así como el manejo de archivos ZIP y JAR.
v Compatibilidad de release a release proporciona información acerca de la compatibilidad de un release a otro.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Instalar AS/400 Developer Kit para Java
Instalar AS/400 Developer Kit para Java permite crear y ejecutar programas Java en AS/400.
Para instalar AS/400 Developer Kit para Java:
1. Entre el mandato Ir a programa bajo licencia (GO LICPGM) en la línea de mandatos.
2. Seleccione la opción 11 (Instalar programas bajo licencia).
3. Elija la opción 1 (Instalar) para el programa bajo licencia (LP) 5769-JV1 *BASE y seleccione la opción que coincida con el Java Development Kit (JDK) que desee instalar. Si la opción que desea instalar no figura en la lista, puede añadirla a la misma entrando la opción 1 (Instalar) en el campo de opción. Entre 5769JV1 en
el campo de programa bajo licencia y el número de opción en el campo de opción de producto. IBM da soporte a varios JDK.
Nota:se puede instalar más de una opción a la vez.
AS/400 Developer Kit es el programa bajo licencia (LP) número 5769-JV1.
Una vez haya instalado AS/400 Developer Kit para Java en el AS/400, puede optar por configurar el sistema.
En Ejecutar el primer programa Java Hello World hallará información sobre cómo empezar con AS/400 Developer Kit para Java.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Soporte para varios Java Development Kits (JDK)
AS/400 soporta varios Java Development Kits (JDK) y 2 SDK (J2SDK), Standard Edition, versión 1.2. AS/400 soporta la utilización de varios JDK simultáneamente, pero sólo a través de varias máquinas virtuales Java. Una sola máquina virtual Java ejecuta un JDK especificado.
Localice el JDK que usted utiliza, o que desea utilizar, y seleccione la opción correspondiente para instalarlo. Puede instalar más de un JDK a la vez. La propiedad del sistema java.version determina qué JDK debe ejecutarse. No obstante, si se cambia la propiedad del sistema java.version, el cambio no surte efecto una vez la máquina virtual Java está en marcha.
Opción JDK java.home java.version
1 1.1.6 /QIBM/ProdData/Java400/jdk116/1.1.6 2 1.1.7 /QIBM/ProdData/Java400/jdk117/1.1.7 3 1.2* /QIBM/ProdData/Java400/jdk12/1.2 4 1.1.8 /QIBM/ProdData/Java400/jdk118/ 1.1.8
* Versión 1.2 es lo mismo que Java 2 SDK (J2SDK), Standard Edition, versión 1.2.
Por ejemplo, estos son los resultados de las opciones que se instalen y el mandato que se entre.
Instalado Entrado Resultado
Opción 1 (1.1.6) java Hello Se ejecuta JDK 1.1.6 porque sólo hay un único JDK instalado y es el valor por omisión.
Opción 1 (1.1.6) java -Djava.version=1.1.7
Hello Error que indica que laOpción 2 no está instalada. Opción 1 (1.1.6) y Opción 2
(1.1.7) y Opción 4 (1.1.8)
java Hello Se ejecuta JDK 1.1.8, ya que el JDK 1.1.x más reciente es el valor por omisión.
Opción 1 (1.1.6) y Opción 2 (1.1.7) y Opción 4 (1.1.8)
java -Djava.version=1.1.7
Opción 1 (1.1.6), Opción 2 (1.1.7) y Opción 3 (1.2) java -Djava.version=1.2 Hello Se ejecuta J2SDK, Standard Edition, versión 1.2. Si no ha especificado java.version, el valor por omisión es la 1.1.x más reciente (por ejemplo, JDK 1.1.7). Para obtener más detalles acerca de la
propiedad java.version, consulte el apartado
propiedades del sistema Java.
Opción 3 (1.2) java Hello Se ejecuta J2SDK, Standard
Edition, versión 1.2. [ Página de presentación de Information
Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Configuración de AS/400 para AS/400 Developer Kit para Java
Una vez haya instalado AS/400 Developer Kit para Java en el AS/400, puede optar por configurar el sistema.
Configuración del huso horario
Si los programas Java son sensibles a la hora, puede resultar necesario configurar el huso horario.
Si el valor del sistema QUTCOFFSET (diferencia horaria universal coordinada) está establecido en su valor por omisión (+00:00), Java utilizará la hora del AS/400 como hora actual. El valor por omisión de la propiedad del sistema Java user.timezone es UTC.
Si se da cualquiera de las siguientes circunstancias, se necesita el valor del sistema QUTCOFFSET y un entorno nacional actualizado:
v Si QUTCOFFSET no está establecido en su valor por omisión y, por tanto, es sensible al huso horario.
v Si el código Java espera que la propiedad del sistema user.timezone tome como valor por omisión un valor distinto de UTC.
v Si especifica la propiedad del sistema Java user.timezone al ejecutar el mandato java.
La categoría LC_TOD del entorno nacional contiene el campo tname, que debe establecerse en el mismo valor que coincida con el huso horario. Si desea obtener información detallada sobre la manera de crear un entorno nacional y de formatear el campo tname, consulte la publicación AS/400 International Application
Development, SC41-5603.
Configuración de las propiedades de sistema
Las propiedades de sistema Java determinan cuál es el entorno en el que se ejecutan los programas Java. Son parecidas a los valores del sistema o las variables de entorno de OS/400. Cuando se inicia la máquina virtual Java, se establecen diversas propiedades. Puede optar por utilizar los valores por omisión de las propiedades de sistema o bien por especificar un conjunto propio de valores de propiedad por omisión siguiendo estos pasos:
1. Proporcione, en /QIBM/UserData/Java400, un archivo llamado
SystemDefault.properties. Los valores de propiedad que especifique en este archivo prevalecen sobre los valores por omisión de sistema que proporciona IBM. Este archivo establece las propiedades del sistema por omisión para todas las máquinas virtuales Java que se ejecutan en el sistema AS/400.
2. O bien, coloque un archivo SystemDefault.properties en la vía de acceso de user.home propia. Este archivo y las propiedades que contenga prevalecerán sobre las de /QIBM/UserData/Java400/SystemDefault.properties. Este archivo establece las propiedades del sistema por omisión para todas las máquinas virtuales Java que se ejecutan.
En Ejecutar el primer programa Java Hello World hallará información sobre cómo empezar con AS/400 Developer Kit para Java.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Ejecutar el primer programa Java Hello World
Para poner en marcha el programa Java Hello World, puede hacerlo de cualquiera de las dos maneras siguientes:
1. Puede, simplemente, ejecutar el programa Java Hello World que se entrega con AS/400 Developer Kit para Java en el paquete com.ibm.as400.system.
Para ejecutar el programa que se incluye:
a. Compruebe que AS/400 Developer Kit para Java está instalado; para ello, entre el mandato Ir a programa bajo licencia (GO LICPGM). A continuación, seleccione la opción 10 (Visualizar programas bajo licencia instalados). Verifique que el programa bajo licencia 5769-JV1 *BASE y, como mínimo, una de las opciones figuren en la lista como instalados.
b. Entre java com.ibm.as400.system.Hello en la línea de mandatos del menú principal de AS/400. Pulse Intro para ejecutar el programa Java Hello World.
c. Si AS/400 Developer Kit para Java se ha instalado correctamente, en la pantalla de la Shell Java aparecerá Hello World. Pulse F3 (Salir) o F12 (Salir) para volver a la pantalla de entrada de mandato.
d. Si no se ejecuta la clase Hello World, compruebe si la instalación se ha realizado satisfactoriamente o consulte Obtener soporte técnico para AS/400 Developer Kit para Java, donde hallará información sobre el servicio
técnico.
2. También puede ejecutar un programa Hello World propio. Si desea obtener más información sobre la manera de crear un programa Java Hello World propio, consulte Crear, compilar y ejecutar un programa Java Hello World.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Crear, compilar y ejecutar un programa Java Hello World
Crear un programa Java Hello World sencillo es un buen punto de partida para familiarizarse con AS/400 Developer Kit para Java.
1. Cree el archivo fuente como archivo de texto ASCII en el sistema de archivos integrado.
a. Dé al archivo de texto el nombre de Hello.java. Si desea obtener más información sobre la manera de crear y editar el archivo, consulte Crear y editar archivos fuente Java.
b. Asegúrese de que el archivo contiene el código fuente siguiente:
class Hello {
public static void main (String args[]) { System.out.println(“Hello World”); }
}
2. Compile el archivo fuente.
a. Entre el mandato Trabajar con variable de entorno (WRKENVVAR) para comprobar la variable de entorno CLASSPATH. Si no existe, añádala y establézcala en ’.’ (el directorio actual). Si existe, asegúrese de que ’.’ encabeza la lista de vías de acceso. Para obtener detalles acerca de la variable de entorno CLASSPATH, consulte el apartado Vía de acceso de clases Java.
b. Entre el mandato Arrancar Qshell (STRQSH) para iniciar el intérprete Qshell.
c. Utilice el mandato cd (cambiar de directorio) para pasar del directorio actual al directorio del sistema de archivos integrado que contiene el archivo Hello.java.
d. Entre javac seguido del nombre del archivo tal y como lo haya guardado en el disco. Por ejemplo, entre javac Hello.java.
3. Ejecute el archivo de clase.
a. Entre java seguido de Hello para ejecutar la clase Hello.class con la máquina virtual Java. Por ejemplo, entre java Hello.
b. Si se ha entrado todo correctamente, en la pantalla aparecerá impreso “Hello World”.
c. Pulse F3 (Salir) o F12 (Desconectar) para volver a la pantalla de entrada de mandato.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Crear y ejecutar programas Java con AS/400 Developer Kit para Java
Para crear programas de applet y aplicación Java, puede utilizar AS/400 Developer Kit para Java. También puede utilizar el Java Development Kit (JDK) de Sun Microsystems, Inc que haya disponible en la estación de trabajo.
Para crear un programa Java:
1. Cree un archivo de código fuente con un editor que dé soporte a archivos de texto ASCII.
2. Compile el archivo fuente para transformarlo en un archivo de clase utilizando la herramienta de compilador Java, que es javac.
Nota:los archivos de clase Java son portables de una plataforma a otra, de manera que el archivo fuente Java puede compilarse en una estación de trabajo que tenga también un javac. Una vez compilados los archivos fuente, los archivos de clase han de transferirse al sistema de archivos integrado.
3. Establezca las autorizaciones del archivo de clase en el sistema de archivos integrado.
4. Optimice el programa Java con el mandato Crear programa Java (CRTJVAPGM).
Nota:este paso es opcional. Para ejecutar un programa Java:
1. Asegúrese de que la vía de acceso de clases Java está configurada correctamente.
2. Utilice el mandato Ejecutar Java (RUNJVA) o el mandato JAVA en AS/400, o el mandato java de Qshell para ejecutar el programa Java. A continuación, seleccione qué modalidad desea utilizar para ejecutar el programa Java. Puede establecer la modalidad estableciendo una propiedad del sistema con el mandato Java, o estableciendo la variable de entorno antes de ejecutar el mandato Java.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Vía de acceso de clases Java
La máquina virtual Java utiliza la vía de acceso de clases Java para buscar las clases durante la ejecución. Los mandatos y las herramientas Java la utilizan también para localizar las clases. La vía de acceso de clases del sistema por
omisión, la variable de entorno CLASSPATH, y el parámetro de mandato de vía de acceso de clases determinan ambos en qué directorios se realiza la búsqueda cuando se desea hallar una clase determinada.
Nota:En Java 2 Software Development Kit (J2SDK), Standard Edition, versión 1.2, la propiedad java.ext.dirs determina la vía de acceso de clases para las
ampliaciones que se van a cargar. Consulte el apartado Instalación de ampliaciones para AS/400 Developer Kit para Java para obtener más información.
La vía de acceso de clases del sistema por omisión la define el sistema y el usuario no puede cambiarla. En AS/400, la vía de acceso de clases por omisión especifica dónde se encuentran las clases que forman parte de AS/400 Developer Kit, de AWT remoto, y otras clases del sistema.
Para hallar cualquier otra clase en el sistema, debe especificar la vía de acceso de clases en la que debe realizarse la búsqueda; para ello, utilice la variable de entorno CLASSPATH o el parámetro de vía de acceso de clases. El parámetro de vía de acceso de clases que se utilice en una herramienta o en un mandato prevalecerá sobre el valor especificado en la variable de entorno CLASSPATH.
Para trabajar con la variable de entorno CLASSPATH, utilice el mandato Trabajar con variable de entorno (WRKENVVAR). Desde la pantalla WRKENVVAR, se puede añadir o cambiar la variable de entorno CLASSPATH. Los mandatos Añadir variable de entorno (ADDENVVAR) y Cambiar variable de entorno
(CHGENVVAR) añaden y cambian, respectivamente, la variable de entorno CLASSPATH.
El valor de la variable de entorno CLASSPATH es una lista de nombres de vía de acceso, separados por el signo de dos puntos (:), en los que se busca una clase determinada. Un nombre de vía de acceso es una secuencia de cero o más nombres
el archivo ZIP o el archivo JAR en el que se ha de realizar la búsqueda en el sistema de archivos integrado. Los componentes del nombre de vía de acceso van separados por medio del carácter barra inclinada (/). Utilice un punto (.) para indicar cuál es el directorio de trabajo actual.
Para establecer la variable CLASSPATH del entorno Qshell, puede utilizar el programa de utilidad de exportación que hay disponible con el intérprete Qshell.
Estos mandatos añaden la variable CLASSPATH al entorno y la establecen en el valor “ .:/myclasses.zip:/Product/classes.”
v El mandato siguiente establece la variable CLASSPATH del entorno Qshell:
export -s CLASSPATH=.:/myclasses.zip:/Product/classes
v Este mandato establece la variable CLASSPATH desde la línea de mandatos:
ADDENVVAR ENVVAR(CLASSPATH) VALUE(“.:/myclasses.zip:/Product/classes”)
J2SDK busca las clases de forma distinta a JDK 1.1.x. JDK 1.1.x busca primero en la vía de acceso de clases del sistema, y luego en las vías de acceso de clases
especificadas por el usuario. J2SDK busca primero en la vía de acceso de clases de rutina de carga, a continuación en los directorios de ampliación y finalmente en la vía de acceso de clases.
Por tanto, el orden de búsqueda de JDK 1.1.x, utilizando el código de ejemplo anterior, es:
1. La vía de acceso de clases del sistema por omisión,
2. El directorio de trabajo actual,
3. El archivo myclasses.zip, que se encuentra en el sistema de archivos “root” (/),
4. El directorio de clases del directorio Product del sistema de archivos “root”. El orden de búsqueda de J2SDK, utilizando el código de ejemplo anterior, es:
1. La vía de acceso de clases de rutina de carga, que se encuentra en la propiedad sun.boot.class.path,
2. Los directorios de ampliación, que se encuentran en la propiedad java.ext.dirs,
3. La vía de acceso de clases del sistema por omisión,
4. El directorio de trabajo actual,
5. El archivo myclasses.zip, que se encuentra en el sistema de archivos “root” (/),
6. El directorio de clases del directorio Product del sistema de archivos “root” (/).
Al entrar en el entorno Qshell, la variable CLASSPATH queda establecida en la variable de entorno. El parámetro de vía de acceso de clases especifica una lista de nombres de vía de acceso. La sintaxis es idéntica a la de la variable de entorno CLASSPATH. Las herramientas y mandatos siguientes disponen de un parámetro de vía de acceso de clases:
v El mandato java de Qshell v La herramienta javac v La herramienta javah v La herramienta javap v La herramienta javadoc v La herramienta rmic
Si desea obtener más información sobre los mandatos anteriores, consulte Mandatos y herramientas. Si utiliza el parámetro de vía de acceso de clases con cualquiera de estos mandatos o herramientas, el parámetro hará caso omiso de la variable de entorno CLASSPATH.
Puede alterar temporalmente la variable de entorno CLASSPATH utilizando la propiedad java.class.path. Puede cambiar la propiedad java.class.path, así como otras propiedades, utilizando el archivo SystemDefault.properties. Los valores del archivo SystemDefault.properties alteran temporalmente la variable de entorno CLASSPATH. Para obtener información acerca del archivo
SystemDefault.properties, consulte el apartado El archivo SystemDefault.properties.
En JDK 1.1.x, la propiedad os400.class.path.system también afecta al lugar en el que se realiza la búsqueda de las clases. Esta propiedad puede contener uno de los tres valores siguientes: PRE, POST o NONE. Por omisión, está establecida en PRE, lo que hace que la búsqueda tenga lugar primero en la vía de acceso de clases del sistema por omisión y después en la vía de acceso. La variable de entorno
CLASSPATH o el parámetro de vía de acceso de clases son los que especifican esta vía de acceso. Si establece la propiedad os400.class.path.system en POST, la
búsqueda se realizará primero en la vía de acceso de clases especificada por usuario y después en la vía de acceso de clases del sistema por omisión. Si se utiliza el valor NONE, no se efectuará ninguna búsqueda en la vía de acceso de clases por omisión y sí en la vía de acceso de clases especificada por usuario.
Nota:tenga cuidado al especificar NONE o POST porque pueden producirse resultados imprevistos si no se encuentra una clase del sistema o si se sustituye ésta de forma incorrecta por una clase definida por el usuario. Así pues, debería permitir que la búsqueda de clases se realice primero en la vía de acceso de clases del sistema por omisión y después en la vía de acceso de clases especificada por usuario.
En Propiedades de sistema Java hallará más información sobre la manera de determinar el entorno en el que se ejecutan los programas Java.
Para obtener más información, consulte las publicaciones OS/400 Program and CL
Command APIs, SC41-5870 o OS/400 Introducción al sistema de archivos integrado.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Archivo SystemDefault.properties
El archivo SystemDefault.properties es un archivo de propiedades Java estándar. En un archivo SystemDefault.properties puede especificar propiedades por omisión. El archivo SystemDefault.properties que se encuentra en el directorio inicial tiene prioridad sobre el archivo SystemDefault.properties que se encuentra en el directorio /QIBM/UserData/Java400.
Puede especificar los valores de las propiedades en el archivo
SystemDefault.properties del mismo modo que en cualquier archivo de propiedades Java.
#Los comentarios se inician siempre con el signo de almohadilla #esto significa ejecutar siempre con JDK 1.2
java.version=1.2
#establecer la propiedad especial myown.propname=6
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Instalación de ampliaciones para AS/400 Developer Kit para Java
Las ampliaciones son paquetes de clases Java que pueden utilizarse para ampliar la funcionalidad de la plataforma central. Las ampliaciones se empaquetan en uno o más archivos ZIP o JAR y se cargan en la máquina virtual Java mediante un cargador de clases de ampliación.
El mecanismo de ampliación permite que la máquina virtual Java utilice las clases de ampliación de la misma forma que la máquina virtual Java utiliza las clases del sistema. El mecanismo de ampliación también proporciona una forma de recuperar ampliaciones de URL especificados cuando no están ya instalados en Java
Development Kit (JDK) o Java 2 Runtime Environment, Standard Edition, versión 1.2.
Los archivos JAR de una ampliación instalada se encuentran en el directorio QIBM/ProdData/Java400/ext. Si desea instalar una ampliación, entre este mandato:
ADDLNKOBJ('/QIBM/ProdData/Java400/ext/extensionToInstall.jar') NEWLNK('/QIBM/UserData/Java400/ext/extensionToInstall.jar') LNKTYPE(*SYMBOLIC)
Donde extensionToInstall.jar es el nombre del archivo ZIP o JAR que contiene la ampliación que desea instalar.
Al crear un enlace con una ampliación utilizando el mandato Añadir objeto de enlace (ADDLNKOBJ), la lista de archivos en la que busca el cargador de clases de ampliación cambia a todas las máquinas virtuales Java que se ejecutan en AS/400. Si no desea que se produzca un impacto sobre los cargadores de clases de ampliación para otras máquinas virtuales Java en AS/400, pero sigue deseando crear un enlace con una ampliación, siga estos pasos:
1. Cree un directorio para instalar las ampliaciones.
Utilice el mandato Crear directorio (MKDIR) desde la línea de mandatos de AS/400 o el mandato mkdir desde el intérprete Qshell.
2. Instale las ampliaciones en el directorio nuevo utilizando el mandato ADDLNKOBJ.
3. Añada el directorio nuevo a la propiedad java.ext.dirs.
Puede añadir el directorio nuevo a la propiedad java.ext.dirs utilizando el campo PROP del mandato JAVA desde la línea de mandatos AS/400. Si el nombre del directorio nuevo es “/home/username/ext”, y el nombre del programa Java es “Hello”, los mandatos que entre deben ser parecidos a los siguientes:
MKDIR DIR('/home/username/ext')
ADDLNKOBJ('/QIBM/ProdData/Java400/ext/extensionToInstall.jar') NEWLNK('/home/username/ext/extensionToInstall.jar')
LNKTYPE(*SYMBOLIC)
JAVA Hello PROP((java.ext.dirs '/home/username/ext'))
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Seleccionar la modalidad a utilizar al ejecutar un programa
Java
Al ejecutar un programa Java, puede seleccionar la modalidad que desea utilizar. Puede elegir modalidad interpretada, ejecución directa o compilación Just-In-Time (JIT).
Interpretado:
Si elige ejecutar el programa Java en modalidad interpretada, el código se verifica y se crea un objeto de programa Java para contener la forma preverificada del programa. Cada bytecode se interpreta en la ejecución.
Para obtener información acerca de la ejecución del programa Java en modalidad interpretada, consulte el apartado correspondiente al mandato Ejecutar Java (RUNJVA).
Ejecución directa:
Si elige ejecutar el programa Java utilizando la ejecución directa, el código se verifica y se crea un objeto de programa Java para contener la forma preverificada del programa. Se generan instrucciones de máquina para un método durante la primera llamada a dicho método, y se guardan para utilizarlas la próxima vez que se ejecute el programa. También se comparte una copia para todo el sistema.
Para obtener información acerca de la ejecución del programa Java utilizando la ejecución directa, consulte el apartado correspondiente al mandato Ejecutar Java (RUNJVA).
Compilación Just-In-Time (JIT):
Si elige ejecutar el programa Java utilizando el compilador Just-In-Time, el código se verifica y se crea un programa Java asociado para contener la forma
preverificada del programa. Se generan instrucciones de máquina para un método durante la primera llamada a dicho método, y se guardan durante la ejecución de la máquina virtual Java.
Para utilizar JIT, es necesario establecer el valor del compilador en jitc. Puede establecer el valor añadiendo una variable de entorno o estableciendo la propiedad del sistema java.compiler. Seleccione un método de la lista siguiente para establecer el valor del compilador:
v Añada la variable de entorno especificando el mandato Añadir variable de entorno (ADDENVVAR) en la línea de mandatos AS/400. A continuación, ejecute el programa Java mediante el mandato Ejecutar Java (RUNJVA) o el mandato JAVA. Por ejemplo, especifique
ADDENVVAR ENVVAR (JAVA_COMPILER) VALUE(jitc) JAVA CLASS(Test)
v Establezca la propiedad del sistema java.compiler en la línea de mandatos AS/400. Por ejemplo, especifique JAVA CLASS(Test) PROP((java.compiler jitc))
v Establezca la propiedad del sistema java.compiler en la línea de mandatos del intérprete de Qshell. Por ejemplo, especifique java -Djava.compiler=jitc Test Una vez establecido este valor, el compilador JIT optimiza todo el código Java antes de ejecutarlo.
Compilación Just-In-Time (JIT) y ejecución directa:
La forma más común de utilizar el compilador Just-In-Time (JIT) es con la opción jit_de. Al ejecutar con esta opción, los programas que ya se han optimizado con la ejecución directa se ejecutan en modalidad de ejecución directa. Los programas que no se han optimizado para la optimización directa se ejecutan en modalidad JIT.
Para utilizar el compilador JIT y la ejecución directa conjuntamente, es necesario establecer el valor del compilador en jitc-de. Puede establecer el valor añadiendo una variable de entorno o estableciendo la propiedad del sistema java.compiler. Seleccione un método de la lista siguiente para establecer el valor del compilador: v Añada la variable de entorno especificando el mandato Añadir variable de
entorno (ADDENVVAR) en la línea de mandatos AS/400. A continuación, ejecute el programa Java mediante el mandato Ejecutar Java (RUNJVA) o el mandato JAVA. Por ejemplo, especifique
ADDENVVAR ENVVAR (JAVA_COMPILER) VALUE(jitc_de) JAVA CLASS(Test)
v Establezca la propiedad del sistema java.compiler en la línea de mandatos AS/400. Por ejemplo, especifique JAVA CLASS(Test) PROP((java.compiler jitc_de))
v Establezca la propiedad del sistema java.compiler en la línea de mandatos del intérprete de Qshell. Por ejemplo, especifique java -Djava.compiler=jitc_de Test
Una vez establecido este valor, se utiliza el programa Java para el archivo de clase creado como ejecución directa. Si el programa Java no se ha creado como ejecución directa, el JIT optimiza el archivo de clase antes de ejecutarlo. Para obtener más información, consulte el apartado Comparación entre el compilador Just-In-Time y la ejecución directa.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Crear y editar archivos fuente Java
Con Client Access:Los archivos fuente Java son archivos de texto ASCII del sistema de archivos integrado de AS/400.
Para crear y editar un archivo fuente Java, se puede utilizar Client Access y un editor basado en estación de trabajo.
En una estación de trabajo:
Se puede crear un archivo fuente Java en una estación de trabajo. A continuación, hay que transferirlo al sistema de archivos integrado utilizando para ello el protocolo FTP.
Para crear y editar archivos fuente Java en una estación de trabajo:
1. Cree el archivo ASCII en la estación de trabajo con el editor que prefiera.
2. Conéctese a AS/400 con FTP.
3. Transfiera el archivo fuente al directorio del sistema de archivos integrado como archivo binario, para que así conserve el formato ASCII.
Con el Programa de Utilidad para Entrada del Fuente:
El archivo fuente Java puede crearse como archivo de texto con el Programa de Utilidad para Entrada del Fuente (SEU)
Para crear el archivo fuente Java como archivo de texto con SEU:
1. Cree un miembro de archivo fuente con SEU.
2. Utilice el mandato Copiar a archivo continuo (CPYTOSTMF) para copiar el miembro de archivo fuente en un archivo continuo del sistema de archivos integrado y convertir al mismo tiempo los datos a formato ASCII.
Si ha de realizar cambios en el código fuente, cambie el miembro de base de datos con SEU y copie de nuevo el archivo.
Para obtener información sobre el almacenamiento de archivos, consulte Archivos en el sistema de archivos integrado.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Bajar e instalar paquetes Java en AS/400
Para bajar, instalar y utilizar paquetes Java de una forma más efectiva en AS/400, consulte lo siguiente:
v Paquetes con interfaces gráficas de usuario (página 18)
v Distinción entre mayúsculas y minúsculas y el sistema de archivos integrado (página 19)
v Manejo de archivos ZIP y JAR (página 19) v Infraestructura de ampliaciones Java (página 20)
Paquetes con interfaces gráficas de usuario:
Los programas Java que se utilizan con una interfaz gráfica de usuario (GUI) requieren el uso de un dispositivo de presentación con posibilidades de
visualización gráfica. Por ejemplo, se puede utilizar un PC, una estación de trabajo técnica o un network computer. AS/400 ofrece la función AWT (Abstract Window Toolkit) remoto. Esta función ejecuta aplicaciones en AS/400 utilizando para ello un completo abanico de funciones gráficas en el dispositivo de pantalla TCP/IP
conectado. Si desea obtener información más concreta sobre la instalación, la configuración y el uso general, consulte el tema dedicado a la configuración de AWT remoto.
Distinción entre mayúsculas y minúsculas y el sistema de archivos integrado:
El sistema de archivos integrado proporciona sistemas de archivos sensibles a las mayúsculas y minúsculas y también otros no sensibles a las mayúsculas y minúsculas por lo que a los nombres de archivo se refiere. QOpenSys es un ejemplo de sistema de archivos sensible a las mayúsculas y minúsculas dentro del sistema de archivos integrado. El sistema de archivos raíz, ’/’, es un ejemplo de sistema de archivos no sensible a las mayúsculas y minúsculas. Para obtener más información acerca del sistema de archivos integrado, consulte la información del apartado “Sistemas de archivos” de la publicación OS/400 Introducción al sistema de archivos integrado.
Manejo de archivos ZIP y JAR:
Los archivos ZIP y JAR contienen un conjunto de clases Java. Cuando se utiliza el mandato Crear programa Java (CRTJVAPGM) en uno de estos archivos, se
verifican las clases, se convierten a un formato máquina interno y, si se ha
especificado así, se transforman en código máquina de AS/400. Los archivos ZIP y JAR pueden recibir el mismo trato que cualquier otro archivo de clase individual. Si se asocia un formato máquina interno con uno de estos archivos, permanece asociado con el archivo. El formato máquina interno se utilizará en ejecuciones futuras en lugar del archivo de clase con el fin de mejorar el rendimiento. Si no está seguro de si existe un programa Java actual asociado con el archivo de clase o JAR, utilice el mandato Visualizar programa Java (DSPJVAPGM) para visualizar información acerca del programa Java en AS/400.
En releases anteriores de AS/400 Developer Kit para Java, era necesario volver a crear un programa Java si se cambiaba de algún modo el archivo JAR o ZIP, debido a que el programa Java conectado no hubiera podido utilizarse. Esto ya no es así. En muchos casos, si se cambia un archivo JAR o ZIP, el programa Java sigue siendo válido y no es necesario volver a crearlo. Si se efectúan cambios parciales, como por ejemplo al actualizar un archivo de clase simple dentro de un archivo JAR, sólo es necesario volver a crear los archivos de clase afectados que se encuentran dentro del archivo JAR.
Los programas Java permanecen conectados con el archivo JAR después de realizarse los cambios más habituales en el archivo JAR; por ejemplo, después de: v Cambiar o volver a crear un archivo JAR con la herramienta ajar.
v Cambiar o volver a crear un archivo JAR con la herramienta jar.
v Sustituir un archivo JAR con el mandato COPY de OS/400 o el programa de utilidad cp de Qshell.
Nota:Los programas Java no permanecen intactos con el mandato COPY; sin embargo, sí lo hacen con el mandato Mover objeto (MOV). Cada vez que copie un archivo JAR, será necesario que ejecute el mandato CRTJVAPGM en el archivo JAR resultante a efectos de rendimiento y espacio. O bien, deje que los programas Java se creen automáticamente, según convenga, cuando se ejecute la aplicación.
Si accede a un archivo JAR del sistema de archivos integrado por medio de Client Access o desde una unidad correlacionada de un PC, los programas Java
v Arrastrar y soltar otro archivo JAR dentro del archivo JAR del sistema de archivos integrado existente.
v Cambiar o volver a crear el archivo JAR del sistema de archivos integrado con la herramienta jar.
v Sustituir el archivo JAR del sistema de archivos integrado utilizando el mandato copy de PC.
Cuando se cambia o sustituye un archivo JAR, el programa Java conectado al mismo ya no es actual.
Existe un único caso en el que los programas Java no permanecen conectados con el archivo JAR. Los programas Java conectados se destruyen si se utiliza el protocolo FTP para sustituir el archivo JAR. Esto ocurre, por ejemplo, si se utiliza el mandato put de FTP para sustituir el archivo JAR.
En el apartado Rendimiento de ejecución hallará información más detallada sobre las características de rendimiento de los archivos JAR.
Infraestructura de ampliaciones Java:
En Java 2 SDK, Standard Edition, versión 1.2, las ampliaciones son paquetes de clases Java que pueden utilizarse para ampliar la funcionalidad de la plataforma central. Una ampliación o aplicación está empaquetada en uno o más archivos JAR. El mecanismo de ampliación permite que la máquina virtual Java utilice las clases de ampliación de la misma forma que la máquina virtual Java utiliza las clases del sistema. El mecanismo de ampliación también proporciona una forma de recuperar ampliaciones de URL especificados cuando no están ya instalados en Java
Development Kit (JDK) o Java 2 Runtime Environment, Standard Edition, versión 1.2.
Consulte el apartado Instalación de ampliaciones para AS/400 Developer Kit para Java para obtener más información sobre la instalación de ampliaciones.
[ Página de presentación de Information Center | Comentarios ]
[ Legal | Glosario de AS/400 ]
Compatibilidad de release a release
Al igual que sucede con todos los programas Java, los archivos de clase son portables a los releases anteriores y futuros de AS/400 o de otras máquinas Java compatibles, respetando las limitaciones que pueda introducir Sun Microsystems, Inc. No obstante, los programas Java no son portables actualmente entre releases de AS/400, por lo que es necesario ejecutar el mandato Crear programa Java (CRTJVAPGM) con el fin de optimizar el archivo de clase, el archivo ZIP o el archivo JAR cuando se mueva el programa a otro AS/400 desde un release diferente.
Los programas Java que pueden asociarse al archivo de clase, archivo ZIP o archivo JAR no son compatibles en sentido ascendente desde releases anteriores a V4R4. Debe ejecutar el mandato CRTJVAPGM en V4R4 para conseguir la mejor optimización al utilizar un archivo de clase, archivo ZIP o archivo JAR con un programa Java asociado desde un release anterior a V4R4. Utilice el mandato Visualizar programa Java (DSPJVAPGM) para determinar si tiene un programa Java asociado. Independientemente de ello, debe seguir ejecutando el mandato CRTJVAPGM aunque no exista un programa Java asociado procedente de un
release anterior. En cualquier caso, se produce la creación implícita si no ejecuta explícitamente el mandato CRTJVAPGM, pero una creación explícita mediante el mandato CRTJVAPGM produce un código mejor y utiliza menos espacio de disco.
Si tiene programas Java creados en el nivel de optimización 40, antes de la
instalación de Java 2 Software Development Kit (J2SDK), Standard Edition, versión 1.2, debe crearlos de nuevo mediante el mandato CRTJVAPGM. Es necesario crearlos de nuevo debido a los cambios efectuados en las clases básicas J2SDK.
Nota:Si crea programas Java que utilizan características exclusivas de J2SDK, versión 1.2, no son portables a versiones anteriores a J2SDK, versión 1.2. Si los programas Java no utilizan características exclusivas, son portables a versiones anteriores.
Consulte el apartado Rendimiento de ejecución para obtener información más detallada sobre el rendimiento.
[ Página de presentación de Information Center | Comentarios ]
Capítulo 3. Conceptos de AS/400 Developer Kit para Java
Conceptos de AS/400 Developer Kit para Javapresenta todo aquello con lo que se debe estar familiarizado a la hora de utilizar AS/400 Developer Kit para Java. Esta información es específica de AS/400.
En Conceptos básicos de Java se dan definiciones para quienes buscan detalles básicos. Se trata de información general sobre Java y no es específica del AS/400. Se facilita a modo de consulta rápida. También hay información de consulta para Java Development Kit (JDK) de Sun Microsystems Inc.
Conceptos de AS/400 Developer Kit para Java:
AS/400 Developer Kit para Java está optimizado para su utilización en un entorno de servidor AS/400. Utiliza la compatibilidad de las interfaces de usuario y de la programación en Java para que usted pueda desarrollar aplicaciones propias para AS/400.
AS/400 Developer Kit para Java le permite crear y ejecutar programas Java en AS/400. AS/400 Developer Kit para Java es una implementación compatible de la tecnología Java de Sun Microsystems, Inc., y por tanto se presupone que el usuario está familiarizado con la documentación de Java Development Kit (JDK), y con frecuencia se suministran enlaces con dicha información.
Entre las características únicas del diseño de AS/400 Developer Kit para Java cabe señalar:
v La integración de componentes fundamentales de la máquina virtual Java por debajo de la interfaz de máquina independiente de la tecnología (TIMI).
v Un transformador Java para la conversión de los bytecodes Java en instrucciones de lenguaje máquina RISC.
v Implementaciones avanzadas y escalables de los procesos de recogida de basura, asignación de objetos y sincronización.
v La implementación AWT remoto, que da soporte a las API java.awt.
v Class Broker para Java, que puede utilizarse para servicios de interfaz gráfica de usuario (GUI) de alto rendimiento.
v Un compilador Just-In-Time (justo a tiempo) que mejora el rendimiento al compilar código a medida que es necesario.
AS/400 Developer Kit para Java no es un lenguaje del entorno de lenguajes integrados (ILE). Introduce en AS/400 un nuevo entorno de lenguajes construido sobre Java, ASCII, el sistema de archivos integrado y otros estándares del sector.
AS/400 Developer Kit para Java da soporte a las herramientas comunes de JDK como, por ejemplo, javac, javadoc y jar. También hay mandatos CL e interfaces de Operations Navigator con AS/400 Developer Kit para Java.
Si busca la definición de conceptos concretos de AS/400 Developer Kit para Java además de información detallada, pulse en cualquiera de los enlaces siguientes: v En Ejecutar Java en un trabajo de proceso por lotes se explica cómo ejecutar
programas Java en un trabajo de proceso por lotes utilizando el mandato Someter trabajo (SBMJOB).
v En Clases, paquetes y directorios Java se da la definición de cada uno de estos términos y se explica cómo están relacionados entre sí.
v En Propiedades de sistema Java se muestran las propiedades de sistema junto con su descripción y valor por omisión del sistema.
v En Archivos en el sistema de archivos integrado se indica dónde se pueden almacenar los archivos fuente en los sistemas de archivos integrados.
v En Autorizaciones de archivo Java en el sistema de archivos integrado se enseña a establecer las autorizaciones de archivo Java.
v En Codificaciones de caracteres Java se explica la manera en que la máquina virtual Java convierte los datos a otras codificaciones.
v En JNDI (Java Naming and Directory Interface) se informa de cómo ejecutar JNDI.
v En Interfaz de depuración de la máquina virtual Java se describe qué es la JVMDI y por qué se utiliza.
v En Limitaciones, restricciones y comportamientos propios se facilita una relación de las limitaciones conocidas.
Conceptos básicos de Java:
Java es un lenguaje de programación orientado a objeto totalmente funcional que sirve para desarrollar aplicaciones y applets. La programación orientada a objeto emplea objetos y clases dentro de un programa para representar las entidades del mundo real y las clasificaciones que pueden establecerse entre ellas. Las clases definen los atributos y el comportamiento que son comunes a todos los objetos de una misma clase. Un objeto es un caso particular de una clase, el ejemplo concreto del modelo conceptual más general. La programación orientada a objeto permite a los programadores diseñar aplicaciones que utilizan clases y objetos que son paralelos a los que encontramos en el mundo real.
Pero no tan sólo puede utilizarse la tecnología Java para programar applets o para escribir aplicaciones, sino que también pueden utilizarse los servlets para llevar Java hasta los servidores. Los servlets son componentes del lado del servidor independientes del protocolo y la plataforma que se escriben en Java con el fin de ampliar de forma dinámica los servidores habilitados para Java. Consulte la página
de presentación de IBM WebSphere Application Server para obtener información más específica acerca de los servlets.
Desde el punto de vista de la sintaxis, el lenguaje Java es parecido a C++. Sin embargo, se ha diseñado para que resulte más fácil de aprender y más sencillo de utilizar. Una de las simplificaciones realizadas en Java ha sido la eliminación de los punteros. En un lenguaje como C++, los punteros suelen ser la causa más frecuente de los errores de un programa debido a las referencias hechas de forma incorrecta a la memoria. Java permite hacer referencias a objetos, pero el programador no puede manipularlas ni cambiarlas directamente.
Java es más sencillo que C++ en otros aspectos. No existen la herencia múltiple, las plantillas, la sobrecarga de operadores ni los archivos de cabecera. Estas
simplificaciones se suman a la versatilidad del lenguaje, lo convierten en algo fácil de utilizar para los programadores y reducen el riesgo de cometer errores de programación.
Asimismo, Java libra al programador de la obligación de tener que gestionar la memoria. Un componente de la máquina virtual Java, el llamado recogedor de basura, libera la memoria asignada a un objeto una vez que éste ha dejado de