ibm i: programaci.n de ibm toolbox para java...para visualizar o descargar la versión en pdf de...

806
IBM i Programación de IBM Toolbox para Java 7.1

Upload: others

Post on 21-Jul-2020

51 views

Category:

Documents


0 download

TRANSCRIPT

  • IBM i

    Programación deIBM Toolbox para Java7.1

    ���

  • IBM i

    Programación deIBM Toolbox para Java7.1

    ���

  • NotaAntes de utilizar esta información y el producto al que da soporte, lea la información de la sección“Avisos”, en la página 795.

    Esta edición se aplica a IBM i 7.1 (número de producto 5770-SS1) y a la totalidad de los releases y lasmodificaciones posteriores hasta que se indique lo contrario en nuevas ediciones. Esta versión no se ejecuta entodos los modelos de sistema de conjunto reducido de instrucciones (RISC) ni se ejecuta en modelos CICS.

    © Copyright IBM Corporation 1999, 2010.

  • Contenido

    IBM Toolbox para Java . . . . . . . . 1Novedades de IBM i 7.1 . . . . . . . . . . 1Archivo PDF para IBM Toolbox para Java . . . . 2Instalación y gestión de IBM Toolbox para Java . . . 3

    Gestión de la instalación de IBM Toolbox paraJava . . . . . . . . . . . . . . . . 3Instalación de IBM Toolbox para Java . . . . . 3Propiedades del sistema . . . . . . . . . 13

    Clases de IBM Toolbox para Java . . . . . . . 22Clases de acceso . . . . . . . . . . . . 23Clases commtrace . . . . . . . . . . . 192Clases HTML . . . . . . . . . . . . 201Clases ReportWriter . . . . . . . . . . 234Clases de recursos . . . . . . . . . . . 236Clases de seguridad . . . . . . . . . . 239Clases de servlets . . . . . . . . . . . 243Clases de utilidades . . . . . . . . . . 251Clases de vaccess . . . . . . . . . . . 261

    Caja de Herramientas Gráfica y PDML . . . . . 306Puesta a punto de la Caja de HerramientasGráfica . . . . . . . . . . . . . . 312Crear una interfaz de usuario propia . . . . 314Visualizar los paneles en tiempo de ejecución 317Edición de los documentos de ayuda generadospor el Constructor de GUI . . . . . . . . 321Utilización de la Caja de Herramientas Gráficaen un navegador . . . . . . . . . . . 325Barra de herramientas del constructor depaneles del Constructor de GUI . . . . . . 329

    Beans de IBM Toolbox para Java . . . . . . . 331JDBC . . . . . . . . . . . . . . . . 332

    Mejoras efectuadas en el soporte JDBC de IBMToolbox para Java para IBM i 7.1 . . . . . . 332Mejoras efectuadas en el soporte JDBC de IBMToolbox para Java para IBM i 6.1 . . . . . . 336Mejoras efectuadas en el soporte JDBC de IBMToolbox para Java para IBM i 5.4 . . . . . . 340Propiedades JDBC de IBM Toolbox para Java 345Tipos SQL JDBC . . . . . . . . . . . 365

    Soporte de proxy . . . . . . . . . . . . 365Capa de Sockets Segura y Extensión de socketsseguros Java. . . . . . . . . . . . . . 371IBM Toolbox para Java 2 Micro Edition. . . . . 371

    Requisitos de ToolboxME . . . . . . . . 371Bajar y configurar ToolboxME . . . . . . . 372Conceptos importantes para el uso deToolboxME . . . . . . . . . . . . . 372Clases ToolboxME . . . . . . . . . . . 373Crear y ejecutar un programa ToolboxME . . . 385Ejemplos de trabajo con ToolboxME . . . . . 399

    Componentes XML (Extensible Markup Language) 400PCML (Program Call Markup Language) . . . 400

    Caja de Herramientas Gráfica y PDML . . . . 427Record Format Markup Language . . . . . 432Analizador XML y procesador XSLT. . . . . 442XPCML (Extensible Program Call MarkupLanguage) . . . . . . . . . . . . . 443

    Preguntas habituales (FAQ). . . . . . . . . 471Consejos para la programación . . . . . . . 471

    Cómo concluir el programa Java . . . . . . 471Nombres de vía de acceso del sistema dearchivos integrado para objetos de servidor . . 471Gestionar conexiones en programas Java . . . 474Máquina virtual Java de IBM i . . . . . . 480Agrupación de almacenamiento auxiliar (ASP)independiente . . . . . . . . . . . . 484Excepciones . . . . . . . . . . . . . 485Eventos de error . . . . . . . . . . . 486Clase Trace . . . . . . . . . . . . . 487Optimización de IBM i . . . . . . . . . 489Mejoras en el rendimiento . . . . . . . . 491Clases de instalación y actualización en cliente 493AS400ToolboxJarMaker . . . . . . . . . 493Soporte de idiomas nacionales para Java . . . 495Servicio y soporte para IBM Toolbox para Java 495

    Ejemplos de código . . . . . . . . . . . 496Ejemplos: clases de acceso . . . . . . . . 497Ejemplos: JavaBeans . . . . . . . . . . 585Ejemplos: clases commtrace . . . . . . . 592Caja de Herramientas Gráfica - Ejemplos . . . 592Ejemplos de las clases HTML . . . . . . . 627Ejemplos: PCML (Program Call MarkupLanguage) . . . . . . . . . . . . . 650Ejemplos: clases ReportWriter . . . . . . . 660Ejemplos: clases de recursos . . . . . . . 676Ejemplos: RFML . . . . . . . . . . . 681Ejemplo: cómo se utiliza una credencial desímbolo de perfil para intercambiar la identidadde la hebra de IBM i . . . . . . . . . . 682Ejemplos de las clases de servlets. . . . . . 683Ejemplos simples de programación . . . . . 710Ejemplos: consejos para la programación . . . 727Ejemplos: ToolboxME. . . . . . . . . . 728Ejemplos: clases de utilidades . . . . . . . 749Ejemplos: clases de vaccess . . . . . . . . 750Ejemplos: XPCML . . . . . . . . . . . 780

    Información relacionada para IBM Toolbox paraJava . . . . . . . . . . . . . . . . 791

    Apéndice. Avisos. . . . . . . . . . 795Información sobre interfaces de programación . . 797Marcas registradas. . . . . . . . . . . . 797Términos y condiciones . . . . . . . . . . 797

    © Copyright IBM Corp. 1999, 2010 iii

    |||

  • iv IBM i: Programación de IBM Toolbox para Java

  • IBM Toolbox para Java

    IBM® Toolbox para Java™ es un conjunto de clases Java que permiten utilizar programas Java paraacceder a datos del sistema. Con estas clases, puede escribir aplicaciones de cliente/servidor, applets yservlets que funcionen con datos existentes en el sistema. También puede ejecutar las aplicaciones Javaque utilizan las clases de IBM Toolbox para Java en la máquina virtual Java (JVM) de IBM i.

    IBM Toolbox para Java utiliza los servidores de host de IBM i como puntos de acceso al sistema. Dadoque IBM Toolbox para Java utiliza funciones de comunicación incorporadas a Java, no es necesarioutilizar IBM i Access para Windows® para utilizar IBM Toolbox para Java. Cada servidor se ejecuta en untrabajo aparte en el servidor, y cada trabajo servidor envía y recibe corrientes de datos a través de unaconexión por socket.

    Nota: al utilizar los ejemplos de código, acepta los términos del “Información sobre licencia de código yexención de responsabilidad” en la página 793.

    Novedades de IBM i 7.1Conozca la información nueva o con modificaciones importantes de la colección de temas de IBMToolbox para Java.

    Se han realizado los siguientes cambios en IBM Toolbox para Java en IBM i 7.1:v El producto de programa bajo licencia JC1 (IBM Toolbox para Java) ya no existe en IBM i 7.1. El

    software del producto se ha integrado en la opción 3 de SS1 (ID del producto 5770-SS1). Los mismosarchivos JAR de Java continúan estando disponibles en los mismos directorios del sistema de archivosintegrado que en el pasado, pero ahora todos están instalados como parte de 5770-SS1.

    v Con respecto al release anterior de IBM i, se han añadido las clases siguientes. Todas las clases listadasaquí están en el paquete "com.ibm.as400.access," a menos que se indique lo contrario.– Clase AS400JDBCArray– Clase AS400JDBCArrayResultSet– Clase ErrorCodeParameter– Clase ObjectLockListEntry– Clase UserObjectsOwnedList– Clase UserObjectsOwnedListEntry– Interfaz com.ibm.as400.security.auth.ProfileTokenProvider– Clase com.ibm.as400.security.auth.DefaultProfileTokenProvider

    v Se han realizado mejoras importantes en las clases siguientes. Todas las clases listadas aquí están en elpaquete "com.ibm.as400.access," a menos que se indique lo contrario.– Muchas de las clases JDBC– CommandCall y ProgramCall - nuevo comportamiento predeterminado de seguridad de hebras,

    nuevos métodos– IFSFile y IFSJavaFile - nuevos métodos– AS400 - nuevas propiedades del sistema, nuevos métodos– AS400ConnectionPool– Rastreo– DataArea– SpooledFile

    © Copyright IBM Corp. 1999, 2010 1

    |

    ||||

    ||

    |

    |

    |

    |

    |

    |

    |

    |

    ||

    |

    ||

    |

    |

    |

    |

    |

    |

    javadoc/com/ibm/as400/access/AS400JDBCArray.htmljavadoc/com/ibm/as400/access/AS400JDBCArrayResultSet.htmljavadoc/com/ibm/as400/access/ErrorCodeParameter.htmljavadoc/com/ibm/as400/access/ObjectLockListEntry.htmljavadoc/com/ibm/as400/access/UserObjectsOwnedList.htmljavadoc/com/ibm/as400/access/UserObjectsOwnedListEntry.htmljavadoc/com/ibm/as400/security/auth/ProfileTokenProvider.htmljavadoc/com/ibm/as400/security/auth/DefaultProfileTokenProvider.htmljavadoc/com/ibm/as400/access/CommandCall.htmljavadoc/com/ibm/as400/access/ProgramCall.htmljavadoc/com/ibm/as400/access/IFSFile.htmljavadoc/com/ibm/as400/access/IFSJavaFile.htmljavadoc/com/ibm/as400/access/AS400.htmljavadoc/com/ibm/as400/access/AS400ConnectionPool.htmljavadoc/com/ibm/as400/access/Trace.htmljavadoc/com/ibm/as400/access/DataArea.htmljavadoc/com/ibm/as400/access/SpooledFile.html

  • Obtener IBM Toolbox para Java

    IBM Toolbox para Java está disponible en los formatos siguientes:v Los Archivos JAR de IBM Toolbox para Java se instalan en el sistema de archivos integrado de IBM i,

    bajo el directorio /QIBM/ProdData/OS400/jt400/.v IBM Toolbox para Java también está disponible en una versión de fuente abierto. Puede descargar el

    código y obtener más información en el sitio Web de JTOpen .

    Cómo ver las novedades y los cambios realizados

    Para ayudarle a ver dónde se han realizado cambios técnicos, el Information Center utiliza:v La imagen para marcar dónde empieza la información nueva o modificada.v La imagen para marcar dónde finaliza la información nueva o modificada.

    En los archivos PDF, aparecen barras de revisión (|) en el margen izquierdo de la información nueva omodificada.

    Si desea obtener otra información sobre las novedades o modificaciones de este release, consulte eldocumento Memorándum para los usuarios.

    Archivo PDF para IBM Toolbox para JavaPuede visualizar e imprimir un archivo PDF de esta información.

    Para visualizar o descargar la versión en PDF de este documento, seleccione IBM Toolbox para Java(aproximadamente 3100 KB).

    Puede visualizar o descargar estos archivos PDF de temas relacionados:v IBM Developer Kit para Java (4585 KB)v Depurador de System i (134 KB)

    Otra información

    También puede descargar un paquete comprimido en zip del tema IBM Toolbox para Java, que incluye

    los Javadocs del sitio Web de IBM Toolbox para Java y JTOpen .

    Nota: la información del paquete comprimido tiene enlaces con documentos que no se incluyen en elpaquete comprimido, por lo que esos enlaces no funcionarán.

    Guardar archivos PDF

    Para guardar un PDF en la estación de trabajo con el fin de verlo o imprimirlo:1. Pulse el enlace PDF con el botón derecho del ratón en el navegador.2. Pulse la opción que guarda el PDF localmente.3. Navegue al directorio en el que desea guardar el archivo PDF.4. Pulse Guardar.

    Descargar Adobe® Reader

    Necesita tener instalado Adobe Reader en el sistema para poder visualizar o imprimir estos PDF. Puededescargar una copia gratuita desde el sitio Web de Adobe

    (www.adobe.com/products/acrobat/readstep.html) .

    2 IBM i: Programación de IBM Toolbox para Java

    http://www.ibm.com/systems/i/software/toolbox/http://www.ibm.com/servers/eserver/iseries/toolbox/downloads.htmlhttp://www.adobe.com/products/acrobat/readstep.html

  • Instalación y gestión de IBM Toolbox para JavaEl uso de IBM Toolbox para Java facilita la tarea de escribir applets, servlets y aplicaciones Java clienteque accedan a los recursos, datos y programas del sistema.

    Gestión de la instalación de IBM Toolbox para JavaSolo es necesario que instale IBM Toolbox para Java en los sistemas cliente que lo utilicen o en unaubicación de la red en la que los clientes puedan acceder al mismo. Los clientes pueden ser PC,estaciones de trabajo dedicadas o sistemas IBM i. Es importante recordar que puede configurar unservidor IBM i o una partición del servidor como cliente. En el segundo caso, debe instalar IBM Toolboxpara Java en la partición cliente del servidor.

    Puede utilizar cualquiera de los métodos siguientes (solos o combinados) para instalar y gestionar IBMToolbox para Java:v Gestión individual para instalar y gestionar de forma individual IBM Toolbox para Java en cada

    clientev Gestión en red de una sola instalación utilizando la red para instalar y gestionar una única instalación

    compartida de IBM Toolbox para Java en un servidor

    En los apartados siguientes se describe brevemente cómo afecta al rendimiento y a la facilidad de gestióncada uno de los métodos. El modo de desarrollo de las aplicaciones Java y gestión de los recursos queelija determinará cuál de los métodos (o cuál de las combinaciones de métodos) utilizará.

    Gestión individual

    Puede elegir gestionar las instalaciones de IBM Toolbox para Java de forma individual en los distintosclientes. La principal ventaja de instalar IBM Toolbox para Java en clientes individuales es que con ello sereduce el tiempo que tarda un cliente en iniciar una aplicación que utiliza las clases de IBM Toolbox paraJava.

    La principal desventaja es la gestión individual de esas instalaciones. Un usuario o una aplicación creadapor el usuario debe hacer un seguimiento de qué versión de IBM Toolbox para Java está instalada encada estación de trabajo y llevar a cabo las tareas de gestión.

    Gestión en red de una sola instalación

    También puede utilizar la red para instalar y gestionar una única copia de IBM Toolbox para Java en unservidor al que todos los clientes puedan acceder. Este tipo de instalación en red proporciona lassiguientes ventajas:v Todos los clientes utilizan la misma versión de IBM Toolbox para Javav La actualización de la única instalación de IBM Toolbox para Java beneficia a todos los clientesv Los distintos clientes no tienen que preocuparse de llevar a cabo ninguna tarea de mantenimiento,

    excepto la de establecer la misma CLASSPATH inicial.

    Este tipo de instalación también tiene el inconveniente de aumentar el tiempo que tarda un cliente eniniciar una aplicación de IBM Toolbox para Java. Asimismo, debe permitir que la CLASSPATH del clienteapunte al servidor. Puede utilizar NetServer, que está integrado en IBM i, u otro método que le permitaacceder a los archivos del sistema, como IBM i Access para Windows.

    Instalación de IBM Toolbox para JavaEl método que utilice para instalar IBM Toolbox para Java dependerá de cómo desee gestionar lainstalación. Utilice estos temas para instalar IBM Toolbox para Java.

    IBM Toolbox para Java 3

  • Requisitos de IBM i para IBM Toolbox para JavaEste tema detalla los requisitos que el entorno debe cumplir para poder utilizar IBM Toolbox para Java.

    Nota: antes de utilizar IBM Toolbox para Java, compruebe que se cumplen los requisitos de estación detrabajo que corresponden a su entorno.

    Opciones de IBM i necesarias:

    Para ejecutar IBM Toolbox para Java en un entorno de cliente/servidor, debe habilitar el perfil de usuarioQUSER, iniciar los servidores de host y tener TCP/IP en ejecución.v El perfil de usuario QUSER debe estar habilitado para iniciar los servidores de host.v Los servidores de host escuchan y aceptan las peticiones de conexión de los clientes. La opción

    Servidores de host IBM i se incluye con la opción base de IBM i. Para obtener más información,consulte el tema acerca de la administración de servidores de host.

    v El soporte TCP/IP, que está integrado en IBM i, permite conectar el servidor a una red. Para obtenermás información, consulte TCP/IP.

    Cómo iniciar las opciones de IBM i necesarias

    En una línea de mandatos, inicie las opciones de IBM i necesarias siguiendo estos pasos:1. Compruebe que el perfil QUSER está habilitado.2. Para iniciar los servidores de host IBM i, utilice el mandato CL Iniciar servidor de host. Escriba

    STRHOSTSVR *ALL y pulse INTRO.3. Para iniciar el servidor de gestión de datos distribuidos (DDM) TCP/IP, utilice el mandato CL Iniciar

    servidor TCP/IP. Escriba STRTCPSVR SERVER(*DDM) y pulse INTRO.

    Cómo determinar si IBM Toolbox para Java está instalado en el sistema:

    Para ver si IBM Toolbox para Java ya está instalado en el servidor IBM i, siga los pasos de este tema.1. En System i Navigator, seleccione el sistema que desea utilizar e inicie la sesión en él.2. En el árbol de funciones (el panel izquierdo), expanda el sistema y, a continuación, expanda

    Configuración y servicio.3. Expanda Software y, a continuación, expanda Productos instalados.4. En el panel Detalles (el panel derecho), consulte si se ha instalado la opción 3 del producto 5770-SS1.

    Si ve este producto y la combinación de opciones, IBM Toolbox para Java está instalado en el servidorseleccionado.

    Nota: también puede averiguar si IBM Toolbox para Java está instalado ejecutando el mandato CL Ira menú (GO MENU(LICPGM)), Opción 11.

    Si IBM Toolbox para Java no está instalado, puede instalar IBM Toolbox para Java instalando la opción 3del producto 5770-SS1.

    Comprobar el perfil QUSER:

    Los servidores de host IBM i se inician con el perfil de usuario QUSER, por lo que primero debeasegurarse de que el perfil QUSER está habilitado para poder ejecutar IBM Toolbox para Java en unentorno cliente/servidor.

    Comprobar el perfil QUSER

    Para utilizar la línea de mandatos a fin de comprobar el perfil QUSER, siga estos pasos:1. En una línea de mandatos, escriba DSPUSRPRF USRPRF(QUSER) y pulse Intro.

    4 IBM i: Programación de IBM Toolbox para Java

    |||

    ||

  • 2. Compruebe que Estado tiene establecido el valor *ENABLED. Si el estado del perfil no es *ENABLED,cambie el perfil QUSER.

    Cambiar el perfil de usuario QUSER:

    Si el perfil QUSER no está establecido en *ENABLED (habilitado), debe habilitarlo para iniciar losservidores de host IBM i. Asimismo, la contraseña del perfil QUSER no puede ser *NONE. Si ese es elcaso, debe restablecerla.

    Para utilizar la línea de mandatos a fin de habilitar el perfil QUSER, siga estos pasos:1. Escriba CHGUSRPRF USRPRF(QUSER) y pulse INTRO.2. Cambie el campo Estado a *ENABLED y pulse INTRO.

    El perfil de usuario QUSER está ahora preparado para iniciar los servidores de host IBM i.

    Dependencias de otros programas bajo licencia:

    En función de cómo desee utilizar IBM Toolbox para Java, puede que tenga que instalar otros programasbajo licencia.

    Visor de archivos en spool

    Si desea utilizar las funciones del visor de archivos en spool (clase SpooledFileViewer) de IBM Toolboxpara Java, asegúrese de que en el servidor esté instalada la opción 8 de host (Fonts de compatibilidadAFP).

    Nota: las clases SpooledFileViewer, PrintObjectPageInputStream y PrintObjectTransformedInputStreamsolo funcionan cuando se conectan a sistemas cuya versión sea igual o posterior a V4R4.

    SSL (capa de sockets segura)

    Si desea utilizar SSL (capa de sockets segura), compruebe que tenga instalado lo siguiente:v Programa bajo licencia IBM HTTP Server para i, 5770-DG1v Opción 34 de IBM i (Digital Certificate Manager)

    Para obtener más información sobre SSL, consulte “Capa de Sockets Segura y Extensión de socketsseguros Java” en la página 371.

    Servidor HTTP para utilizar applets, servlets o SSL

    Si desea utilizar applets, servlets o SSL en el servidor IBM i, debe configurar un servidor HTTP e instalarlos archivos de clase en el sistema. Para obtener más información acerca de IBM HTTP Server para i,

    consulte el sitio Web de HTTP Server .

    Si desea información sobre el gestor de certificados digitales y sobre cómo crear certificados digitales conIBM HTTP Server y trabajar con ellos, consulte Gestión de certificados digitales.

    Compatibilidad con niveles distintos de IBM i:

    Dado que puede utilizar IBM Toolbox para Java tanto en el servidor como en el cliente, las cuestiones decompatibilidad afectan tanto a la ejecución en un servidor como a la conexión desde un cliente a unservidor.

    IBM Toolbox para Java 5

    http://www.ibm.com/systems/i/software/http/docs/doc.html

  • Utilizar IBM Toolbox para Java para conectarse desde un cliente a un servidor

    Puede utilizar distintas versiones de IBM Toolbox para Java en un cliente y en el servidor al que seconecta. Para utilizar IBM Toolbox para Java con el fin de acceder a los datos y recursos de un servidorIBM i, el servidor al que se conecta debe ejecutar uno de los sistemas operativos siguientes:v IBM i 7.1v IBM i 6.1v IBM i 5.4

    La tabla siguiente muestra los requisitos de compatibilidad para la conexión con distintas versionesanteriores de IBM i.

    Nota: IBM Toolbox para Java no da soporte a la compatibilidad con versiones posteriores. No se puedeinstalar IBM Toolbox para Java en un servidor que ejecute una versión más reciente de IBM i. Porejemplo, si utiliza la versión de IBM Toolbox para Java que se distribuye con IBM i 5.2, no puedeconectarse a un servidor que ejecute IBM i 5.4.

    LPP Se suministra con IBM i Se conecta a IBM i

    5722-JC1 5.3 5.1 y superior

    5722-JC1 5.4 5.2 y superior

    5761-JC1 6.1 5.3 y superior

    5770-SS1 7.1 5.4 y superior

    Optimizaciones nativas al llevar a cabo la ejecución en la JVM de IBM i:

    Las optimizaciones nativas son un conjunto de funciones que hacen que las clases de IBM Toolbox paraJava funcionen como un usuario esperaría que funcionaran al ejecutarse en IBM i. Las optimizacionessolo inciden en el funcionamiento de IBM Toolbox para Java al ejecutarse en la JVM de IBM i.

    Las optimizaciones de IBM Toolbox para Java cuando se ejecuta en IBM i son:v Inicio de sesión: si no se especifica ningún ID de usuario o ninguna contraseña en el objeto AS400, se

    utilizan el ID de usuario y la contraseña del trabajo actual.v Llamada directa a las API de IBM i en lugar de efectuar llamadas por socket a los servidores de host:

    – Acceso a base de datos a nivel de registro, colas de datos y espacio de usuario cuando se cumplenlos requisitos de seguridad.

    – Llamada a programa y llamada a mandato cuando se cumplen los requisitos de seguridad y losrequisitos de seguridad de hebras.

    Nota: para obtener un mejor rendimiento, establezca la propiedad driver de JDBC para utilizar elcontrolador nativo cuando el programa Java y el archivo de base de datos estén en el mismoservidor.

    No es necesario efectuar ningún cambio en la aplicación Java para obtener las optimizaciones. IBMToolbox para Java habilita automáticamente las optimizaciones cuando corresponde.

    Para obtener las mejoras en el rendimiento, debe asegurarse de utilizar el archivo JAR que contiene lasoptimizaciones nativas de IBM i. Para obtener más información, consulte la nota 1 de Archivos JAR.

    Si no utiliza el archivo JAR que incluye las optimizaciones nativas de IBM i, IBM Toolbox para Javafunciona como si se ejecutara en un cliente.

    Requisitos de ToolboxME:

    6 IBM i: Programación de IBM Toolbox para Java

    |

    |||

  • La estación de trabajo, el dispositivo inalámbrico y el servidor deben cumplir determinados requisitos(indicados a continuación) para desarrollar y ejecutar aplicaciones de IBM Toolbox para Java 2 MicroEdition.

    Aunque Toolbox ME se considera parte de IBM Toolbox para Java, no se incluye en el producto bajolicencia. ToolboxME (jt400Micro.jar) se incluye en la versión de fuente abierto de Toolbox para Java,denominada JTOpen. Debe bajar y configurar ToolboxME, que se encuentra en JTOpen, por separado.

    Requisitos

    Para utilizar ToolboxME, la estación de trabajo, el dispositivo inalámbrico Tier0 y el servidor debencumplir los requisitos siguientes.

    Requisitos de estación de trabajo

    Requisitos de estación de trabajo para desarrollar aplicaciones de ToolboxME:v Una versión soportada de Java Standard Editionv Máquina virtual Java para dispositivos inalámbricosv Simulador o emulador de dispositivos inalámbricos

    Requisitos de dispositivo inalámbrico

    El único requisito para ejecutar aplicaciones de ToolboxME en el dispositivo Tier0 consiste en utilizar unamáquina virtual Java para dispositivos inalámbricos.

    Requisitos de servidor

    Requisitos de servidor utilizar aplicaciones de ToolboxME:v Clase MEServer, que se incluye en IBM Toolbox para Java o la última versión de JTOpenv Requisitos de IBM i para IBM Toolbox para Java

    Requisitos de estación de trabajo para IBM Toolbox para JavaAsegúrese de que la estación de trabajo cumple con los siguientes requisitos.

    Nota: antes de utilizar IBM Toolbox para Java, compruebe que se cumplen los requisitos de IBM irelativos a su entorno.

    Requisitos de estación de trabajo para ejecutar aplicaciones de IBM Toolbox para Java:

    Para desarrollar y ejecutar aplicaciones de IBM Toolbox para Java, asegúrese de que la estación de trabajocumpla los requisitos siguientes.v Se recomienda emplear una máquina virtual Java de Java 2 Standard Edition (J2SE) soportada. Son

    muchas las nuevas funciones de IBM Toolbox para Java que requieren utilizar la versión 1.4 o superiorde la JVM.

    v Para utilizar las clases de vaccess o la Caja de Herramientas Gráfica, debe utilizar Swing, que seproporciona con J2SE. También puede bajar Swing 1.1 del sitio Web de Sun Java Foundation Classes

    . Los entornos que se han comprobado son los siguientes:– Windows 2000– Windows XP– AIX Versión 4.3.3.1– Sun Solaris Versión 5.7– IBM i 5.4 o posterior

    IBM Toolbox para Java 7

    http://java.sun.com/products/jfc/

  • – Linux® (Red Hat 7.0)v TCP/IP instalado y configurado.

    Requisitos de estación de trabajo para ejecutar applets de IBM Toolbox para Java:

    Para desarrollar y ejecutar applets de IBM Toolbox para Java, asegúrese de que la estación de trabajocumpla los requisitos siguientes.v Un navegador que tenga una máquina virtual Java (JVM) compatible.

    Nota: IBM Toolbox para Java ya no soporta la ejecución en la JVM en Netscape Navigator o Microsoft®

    Internet Explorer. Para que el applet que utiliza las clases de IBM Toolbox para Java se ejecuteen un navegador, debe instalar un plug-in como el plug-in de Sun Java 2 Runtime Environment

    (JRE) .v TCP/IP instalado y configurado.v La estación de trabajo debe conectarse a un servidor que ejecute IBM i 5.4 o un release más reciente.

    Requisitos de ToolboxME:

    La estación de trabajo, el dispositivo inalámbrico y el servidor deben cumplir determinados requisitos(indicados a continuación) para desarrollar y ejecutar aplicaciones de IBM Toolbox para Java 2 MicroEdition.

    Aunque Toolbox ME se considera parte de IBM Toolbox para Java, no se incluye en el producto bajolicencia. ToolboxME (jt400Micro.jar) se incluye en la versión de fuente abierto de Toolbox para Java,denominada JTOpen. Debe bajar y configurar ToolboxME, que se encuentra en JTOpen, por separado.

    Requisitos

    Para utilizar ToolboxME, la estación de trabajo, el dispositivo inalámbrico Tier0 y el servidor debencumplir los requisitos siguientes.

    Requisitos de estación de trabajo

    Requisitos de estación de trabajo para desarrollar aplicaciones de ToolboxME:v Una versión soportada de Java Standard Editionv Máquina virtual Java para dispositivos inalámbricosv Simulador o emulador de dispositivos inalámbricos

    Requisitos de dispositivo inalámbrico

    El único requisito para ejecutar aplicaciones de ToolboxME en el dispositivo Tier0 consiste en utilizar unamáquina virtual Java para dispositivos inalámbricos.

    Requisitos de servidor

    Requisitos de servidor utilizar aplicaciones de ToolboxME:v Clase MEServer, que se incluye en IBM Toolbox para Java o la última versión de JTOpenv Requisitos de IBM i para IBM Toolbox para Java

    Requisitos de Swing de estación de trabajo para IBM Toolbox para Java:

    IBM Toolbox para Java pasó a dar soporte a Swing 1.1 en la versión V4R5 y este release sigueproporcionando ese soporte. Este cambio a Swing requirió cambios de programación en las clases de IBM

    8 IBM i: Programación de IBM Toolbox para Java

    |

    http://java.sun.com/products/plugin/http://java.sun.com/products/plugin/

  • Toolbox para Java. Por consiguiente, si sus programas utilizan la Caja de Herramientas Gráfica o lasclases del paquete vaccess de releases anteriores a V4R5, también tendrá que modificar sus programas.

    Además de hacer cambios en la programación, las clases de Swing deben estar en la CLASSPATH alejecutarse el programa. Las clases de Swing forman parte de la plataforma Java 2. Si no dispone de la

    plataforma Java 2, puede bajar las clases de Swing 1.1 de Sun Microsystems, Inc.

    Instalación de IBM Toolbox para Java en el sistemaÚnicamente debe instalar IBM Toolbox para Java en el servidor IBM i si ha configurado como cliente elsistema o una partición del sistema.

    Antes de instalar IBM Toolbox para Java, debe asegurarse de que la versión de IBM i cumple losrequisitos para ejecutar IBM Toolbox para Java. Puede resultarle de interés determinar si IBM Toolboxpara Java ya está instalado en el servidor.

    Instalación de IBM Toolbox para Java

    Puede instalar IBM Toolbox para Java instalando la opción 3 de 5770-SS1. Puede utilizar System iNavigator o la línea de mandatos.

    Utilización de System i Navigator para instalar IBM Toolbox para Java

    Para instalar IBM Toolbox para Java utilizando System i Navigator, siga estos pasos:1. En System i Navigator, inicie la sesión en el sistema que desea utilizar.2. En el árbol de funciones (el panel izquierdo), expanda Mis conexiones.3. Bajo Mis conexiones, pulse con el botón derecho el sistema donde desea instalar IBM Toolbox para

    Java.4. Seleccione Ejecutar mandato.5. En el diálogo Restaurar programa bajo licencia (RSTLICPGM), escriba la siguiente información y, a

    continuación, pulse Aceptar:v Producto: 5770-SS1v Dispositivo: el nombre del dispositivo o archivo de salvarv Parte opcional a a restaurar: 3

    Nota: para obtener más información, pulse Ayuda en el diálogo Restaurar programa bajo licencia(RSTLICPGM).

    Puede utilizar System i Navigator para ver el estado de la tarea Mandato de Management Centralresultante siguiendo estos pasos:1. Expanda Management Central.2. Expanda Actividad de tareas.3. Bajo Actividad de tareas, seleccione Mandatos.4. En el panel de detalles, pulse la tarea de Ejecutar mandato adecuada.

    Utilizar la línea de mandatos para instalar IBM Toolbox para Java

    Para instalar IBM Toolbox para Java desde una línea de mandatos, siga estos pasos:1. En una línea de mandatos, utilice el mandato CL Ir a menú. Escriba GO MENU(LICPGM) y pulse

    INTRO.2. Seleccione 11. Instalar programa bajo licencia.3. Seleccione 5770-SS1 3 Soporte de directorio base ampliado.

    IBM Toolbox para Java 9

    ||

    |

    |

    |

    http://java.sun.com/products/jfc/index.html

  • Encontrará más información sobre cómo instalar programas bajo licencia en Gestión de software yprogramas bajo licencia.

    Instalación de IBM Toolbox para Java en la estación de trabajoAntes de instalar IBM Toolbox para Java, compruebe que se cumplen los requisitos de estación de trabajoque corresponden a su entorno.

    El método que utilice para instalar IBM Toolbox para Java en la estación de trabajo dependerá de cómodesee gestionar la instalación:v Para instalar IBM Toolbox para Java en clientes individuales, copie los archivos JAR en la estación de

    trabajo y configure la CLASSPATH de la estación de trabajo.v Para utilizar el producto IBM Toolbox para Java instalado en un servidor, solo tiene que configurar la

    CLASSPATH de la estación de trabajo de modo que apunte a la instalación del servidor. Para que laCLASSPATH de la estación de trabajo apunte al servidor, el servidor debe tener instalado i5/OSNetServer.

    En esta información se describe cómo copiar los archivos de clase en la estación de trabajo. Para obtenermás información sobre cómo establecer la CLASSPATH de la estación de trabajo, consulte ladocumentación del sistema operativo de la estación de trabajo o la información disponible en el sitio Web

    de Sun Java .

    Nota: para utilizar las clases de IBM Toolbox para Java en la aplicación también es preciso que el sistemacumpla los requisitos de IBM i.

    Los archivos de clase de IBM Toolbox para Java están empaquetados en varios archivos JAR, por lo quedebe copiar uno o más de estos archivos JAR en la estación de trabajo. Para obtener más informaciónsobre qué archivos JAR son necesarios para las funciones de IBM Toolbox para Java específicas, consulteArchivos JAR.

    Ejemplo: cómo copiar jt400.jar

    En el ejemplo que figura a continuación se supone que se desea copiar jt400.jar, que contiene las clases denúcleo de IBM Toolbox para Java.

    Para copiar manualmente el archivo JAR, siga estos pasos:1. Busque el archivo jt400.jar en el directorio siguiente: /QIBM/ProdData/HTTP/Public/jt400/lib2. Copie jt400.jar del servidor en la estación de trabajo. Para ello existen varios métodos:

    v Utilice IBM i Access para Windows a fin de correlacionar una unidad de red de la estación detrabajo con el servidor y, a continuación, copie el archivo.

    v Utilice el protocolo de transferencia de archivos (FTP) para enviar el archivo a la estación de trabajo(en modalidad binaria).

    3. Actualice la variable de entorno CLASSPATH de la estación de trabajo.v Por ejemplo, si utiliza Windows NT® y ha copiado jt400.jar en C:\jt400\lib, añada la serie siguiente

    al final de la CLASSPATH:;C:\jt400\lib\jt400.jar

    También tiene la opción de utilizar la versión de fuente abierto de IBM Toolbox para Java, denominadaJTOpen. Para obtener más información sobre JTOpen, consulte el sitio Web de IBM Toolbox para Java y

    JTOpen .

    Archivos JAR:

    10 IBM i: Programación de IBM Toolbox para Java

    http://developer.java.sun.com/developer/http://developer.java.sun.com/developer/http://www.ibm.com/servers/eserver/iseries/toolbox/downloads.htmlhttp://www.ibm.com/servers/eserver/iseries/toolbox/downloads.html

  • IBM Toolbox para Java se suministra en forma de conjunto de archivos JAR. Cada uno de los archivosJAR contiene paquetes Java que proporcionan funciones específicas. Puede reducir la cantidad de espaciode almacenamiento necesario utilizando únicamente los archivos JAR que sean precisos para habilitar lasfunciones concretas que desee.

    Para utilizar un archivo JAR, compruebe que especifica una entrada para el mismo en la variableCLASSPATH.

    El diagrama siguiente indica los archivos JAR que debe añadir a la variable CLASSPATH para utilizar lafunción o el paquete asociado.

    Paquete o función de IBM Toolbox para JavaArchivos JAR que deben estar en la variableCLASSPATH

    Clases de acceso jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1, ojt400Proxy.jar en un entorno de proxy

    “Clase CommandHelpRetriever” en la página 258 jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1 y unanalizador XML y un procesador XSLT Nota 3

    CommandPrompter Nota 3 jt400.jar, jui400.jar, util400.jar Nota 4, y un analizador XMLNota 3

    Clases commtrace jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1

    Clases HTML jt400.jar Nota 1 más jt400Servlet.jar (cliente), ojt400Native.jar (servidor) Nota 1

    Clase HTMLDocument Los mismos archivos JAR necesarios para las clasesHTML, más un analizador XML y un procesador XSLTNota 3

    Clases JCA jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1

    GUI de origen de datos JDBC jt400.jar (cliente) Nota 1 y jui400.jarNota 5

    Mensajes de error y del sistema de NLS jt400Mri_lang_cntry.jar Nota 6

    PCML (desarrollo y ejecución, analizado) Nota 7 jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1, Nota 8, yun analizador XML Nota 3

    PCML (ejecución, serializado) jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1, Nota 8

    PDML (desarrollo) Nota 3 uitools.jar, jui400.jar, util400.jar Nota 4, y un analizadorXML Nota 3

    PDML (ejecución, analizado) Nota 3 jui400.jar, util400.jar Nota 4, y un analizador XML Nota 3

    PDML (ejecución, serializado) Nota 3 jui400.jar y util400.jar Nota 4

    Clases ReportWriter jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1,archivos JAR de reportwriter Nota 9, y un analizador XMLy un procesador XSLT Nota 3

    Clases de recursos jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1

    RFML jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1, y unanalizador XML Nota 3

    Clases de seguridad jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1, ojt400Proxy.jar en un entorno de proxy

    Clases de servlets jt400.jar Nota 1 más jt400Servlet.jar (cliente), ojt400Native.jar (servidor) Nota 1

    Depurador de System i Nota 4 jt400.jar (cliente) Nota 1 y tes.jar

    “IBM Toolbox para Java 2 Micro Edition” en la página371

    jt400Micro.jar (cliente) Nota 10 y jt400.jar (servidor) ojt400Native.jar (servidor)Nota 1

    Clases de vaccess jt400.jar (cliente) Nota 1

    IBM Toolbox para Java 11

  • Paquete o función de IBM Toolbox para JavaArchivos JAR que deben estar en la variableCLASSPATH

    XPCML jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1, y unanalizador XML y un procesador XSLT Nota 3

    Nota 1: no coloque jt400.jar y jt400Native.jar en la CLASSPATH. Elija el archivo JAR más adecuado a suentorno y utilice sólo ese archivo JAR en la CLASSPATH.

    Nota 2: algunas de las clases de IBM Toolbox para Java se encuentran en más de un archivo JAR:v jt400.jar - Acceso, commtrace, JCA, soporte para JDBC, MEServer, PCML, recursos, RFML, seguridad,

    utilidades, vaccess y XPCML.v jt400.zip - Utilice jt400.jar en lugar de jt400.zip. jt400.zip se distribuye para mantener la compatibilidad

    con los releases anteriores de IBM Toolbox para Java.v jt400Access.zip - Las mismas clases que contiene jt400.jar menos las clases de vaccess. jtAccess400.zip

    se distribuye para mantener la compatibilidad con los releases anteriores de IBM Toolbox para Java.Utilice jt400.jar o jt400Native.jar en lugar de jt400Access.zip.

    v jt400Native.jar - Acceso, HTML, MEServer, PCML, recursos, RFML, seguridad, XPCML yoptimizaciones nativas. Las optimizaciones nativas son un conjunto de clases (menos de 20) queaprovechan la función de IBM i cuando se ejecuta en la JVM de IBM i. Dado que jt400Native.jarcontiene las optimizaciones nativas, al ejecutarse en la JVM de IBM i, utilice jt400Native.jar en lugar dejt400.jar. jt400Native.jar se suministra con IBM i y reside en el directorio /QIBM/ProdData/OS400/jt400/lib.

    v jt400Native11x.jar - Utilice jt400Native.jar en lugar de jt400Native11x.jar. jt400Native11x.jar sedistribuye para mantener la compatibilidad con los releases anteriores de IBM Toolbox para Java.

    Nota 3: cuando tenga que utilizar un analizador XML o procesador XSLT, asegúrese de que es compatiblecon JAXP. Encontrará más información en esta página:

    “Analizador XML y procesador XSLT” en la página 442

    Nota 4: al utilizar CommandPrompter, PDML o el depurador de System i, también es necesario unarchivo JAR adicional que no forma parte de IBM Toolbox para Java: jhall.jar. Para obtener más

    información sobre cómo bajar jhall.jar, consulte el sitio Web de Sun JavaHelp .

    Nota 5: util400.jar contiene clases específicas de IBM i para dar formato a la entrada y para emplear elprograma de solicitud de línea de mandatos. Para utilizar la clase CommandPrompter se necesitautil400.jar. Para utilizar PDML no se requiere util400.jar, pero es útil.

    Nota 6: jui400.jar contiene las clases necesarias para utilizar la interfaz de GUI DataSource JDBC. jt400.jar(Nota 1) contiene las clases necesarias para todas las demás funciones JDBC.

    Nota 7: jt400Mri_xx_yy.jar contiene mensajes traducidos, entre los que se encuentran series incluidas enmensajes de excepción, diálogos y salida de otros procesos normales. En jt400Mri_lang_cntry.jar, lang = elcódigo de idioma ISO y cntry = el código de país o región ISO utilizado para traducir el texto incluido.En algunos casos no se emplea el código de país o región ISO. Al instalar una versión en idioma nacionalconcreta del programa bajo licencia IBM Toolbox para Java en el sistema, se instala el archivojt400Mri_lang_cntry.jar adecuado. Si el idioma no está soportado, la instalación utiliza de formapredeterminada la versión en inglés, que se incluye en los archivos JAR de IBM Toolbox para Java.v Por ejemplo, al instalar la versión del idioma alemán del programa bajo licencia 5770-SS1, se instala el

    archivo JAR del idioma alemán, jt400Mri_de.jar.

    Puede añadir soporte para otros idiomas añadiendo más de uno de estos archivos JAR a la variableclasspath. Java carga la serie correcta según el entorno local actual.

    12 IBM i: Programación de IBM Toolbox para Java

    ||

    http://java.sun.com/products/javahelp/index.html

  • Nota 8: la serialización del archivo PCML durante el desarrollo supone dos ventajas:1. Tan solo deberá analizar el archivo PCML durante el desarrollo y no durante la ejecución.2. Los usuarios necesitarán incluir menos archivos JAR en la variable CLASSPATH para ejecutar la

    aplicación.

    Para analizar el archivo PCML durante el desarrollo, necesitará el módulo de ejecución de PCML dedata.jar o jt400.jar y el analizador PCML de x4j400.jar. Para ejecutar la aplicación serializada, los usuariossolo necesitarán jt400.jar. Para obtener más información, consulte “Construir llamadas a programa IBM icon PCML” en la página 401.

    Nota 9: utilice jt400.jar y jt400Native.jar en lugar de data400.jar. data400.jar contiene las clases deejecución PCML, que ahora también están en jt400.jar y jt400Native.jar (Nota 1). data400.jar se distribuyepara mantener la compatibilidad con los releases anteriores de IBM Toolbox para Java.

    Nota 10: hay copias de las clases ReportWriter en más de un archivo JAR:v composer.jarv outputwriter.jarv reportwriters.jar

    Si su aplicación envía corrientes de datos PCL a un archivo en spool del IBM i, debe establecer comodisponibles las clases de acceso mediante el archivo JAR adecuado (Nota 1). Para crear un archivo enspool que contenga los datos PCL se necesitan las clases AS400, OutputQueue, PrintParameterList ySpooledFileOutputStream. Para obtener más información, consulte las clases ReportWriter.

    Nota 11: jt400Micro.jar no contiene las clases necesarias para ejecutar MEServer, que residen en jt400.jar yjt400Native.jar (Nota 1). jt400Micro.jar sólo está disponible en el sitio Web de IBM Toolbox para Java y

    JTOpen .

    Propiedades del sistemaPuede especificar propiedades del sistema para configurar diversos aspectos de IBM Toolbox para Java.

    Por ejemplo, puede utilizar las propiedades del sistema para definir un servidor proxy o un nivel derastreo. Las propiedades del sistema son útiles para la adecuada configuración en tiempo de ejecución sinnecesidad de volver a compilar el código. Las propiedades del sistema funcionan como las variables deentorno en el sentido de que cuando se cambia una propiedad del sistema durante la ejecución, por logeneral el cambio no se refleja hasta la próxima vez que se ejecuta la aplicación.

    Puede establecer las propiedades del sistema de varias formas:v Mediante el método java.lang.System.setProperties()

    Puede establecer las propiedades del sistema de forma programática mediante el métodojava.lang.System.setProperties().Por ejemplo, el código siguiente establece la propiedad com.ibm.as400.access.AS400.proxyServer enhqoffice:

    Properties systemProperties = System.getProperties();systemProperties.put ("com.ibm.as400.access.AS400.proxyServer", "hqoffice");System.setProperties (systemProperties);

    v Mediante la opción -D del mandato javaMuchos entornos permiten establecer propiedades del sistema al ejecutar aplicaciones desde una líneade mandatos mediante la opción -D del mandato java.Por ejemplo, el programa siguiente ejecuta la aplicación denominada Inventory con la propiedadcom.ibm.as400.access.AS400.proxyServer establecida en hqoffice:

    java -Dcom.ibm.as400.access.AS400.proxyServer=hqoffice Inventory

    IBM Toolbox para Java 13

    http://www.ibm.com/servers/eserver/iseries/toolbox/downloads.htmlhttp://www.ibm.com/servers/eserver/iseries/toolbox/downloads.html

  • v Mediante un archivo jt400.propertiesEn algunos entornos, puede resultar poco práctico ordenar a todos los usuarios que establezcan suspropias propiedades del sistema. Como alternativa, puede especificar las propiedades del sistema deIBM Toolbox para Java en un archivo denominado jt400.properties donde se buscará como si fueraparte del paquete com.ibm.as400.access. Dicho de otro modo, coloque el archivo jt400.properties en undirectorio com/ibm/as400/access al que apunte la sentencia CLASSPATH.Por ejemplo, establezca la propiedad com.ibm.as400.access.AS400.proxyServer en hqoffice insertandola línea siguiente en el archivo jt400.properties:

    com.ibm.as400.access.AS400.proxyServer=hqoffice

    El carácter de barra inclinada invertida (\) funciona como carácter de escape en los archivos depropiedades. Para especificar un carácter de barra inclinada invertida literal, emplee dos caracteres debarra inclinada invertida (\\).Modifique este ejemplo de un archivo jt400.properties para su entorno.

    v Mediante una clase PropertiesAlgunos navegadores no cargan los archivos de propiedades sin cambiar explícitamente los valores deseguridad. Sin embargo, la mayoría de los navegadores sí admiten propiedades en archivos .class, demodo que las propiedades del sistema de IBM Toolbox para Java también pueden especificarsemediante una clase denominada com.ibm.as400.access.Properties que amplía java.util.Properties.Por ejemplo, para establecer la propiedad com.ibm.as400.access.AS400.proxyServer en hqoffice,utilice el código Java siguiente:

    package com.ibm.as400.access;

    public class Propertiesextends java.util.Properties{

    public Properties (){

    put ("com.ibm.as400.access.AS400.proxyServer", "hqoffice");}

    }

    Modifique y compile este ejemplo de un archivo fuente Properties.java para su entorno.

    Si una propiedad del sistema de IBM Toolbox para Java se establece mediante más de uno de losprocedimientos descritos anteriormente, se aplica la prioridad siguiente (por orden de prioridaddecreciente):1. La propiedad del sistema establecida programáticamente mediante

    java.lang.System.setProperties()

    2. La propiedad del sistema establecida mediante la opción -D del mandato java3. La propiedad del sistema establecida mediante una clase Properties4. La propiedad del sistema establecida mediante un archivo jt400.properties

    IBM Toolbox para Java da soporte a las propiedades del sistema siguientes:v “Propiedades de servidor proxy” en la página 15v “Propiedades de rastreo” en la página 15v “Propiedades de llamada a mandato/programa” en la página 16v “Propiedades de FTP” en la página 16v “Propiedades de conexión” en la página 16

    14 IBM i: Programación de IBM Toolbox para Java

  • Propiedades de servidor proxy

    Propiedad de servidor proxy Descripción

    com.ibm.as400.access.AS400.proxyServer Especifica el nombre de host y el número depuerto de servidor proxy, con el formato:

    nombrehost:númeropuerto

    El número de puerto es opcional.

    com.ibm.as400.access.TunnelProxyServer.clientCleanupInterval Especifica con qué frecuencia, en segundos,el servidor proxy busca si hay conexionesdesocupadas. El servidor proxy inicia unahebra para buscar los clientes que ya notienen comunicación. Utilice esta propiedadpara establecer con qué frecuencia busca lahebra si hay conexiones desocupadas.

    com.ibm.as400.access.TunnelProxyServer.clientLifetime Especifica durante cuánto tiempo, ensegundos, puede estar desocupado un clienteantes de que el servidor proxy elimine lasreferencias a los objetos de modo que lamáquina virtual Java pueda eliminarlos en larecogida de basura. El servidor proxy iniciauna hebra para buscar los clientes que ya notienen comunicación. Utilice esta propiedadpara establecer durante cuánto tiempo puedeestar desocupado un cliente antes de que seejecute la recogida de basura sobre él.

    Propiedades de rastreo

    Propiedad de rastreo Descripción

    com.ibm.as400.access.Trace.category Especifica qué categorías de rastreo deben habilitarse. Setrata de una lista delimitada por comas que contienecualquier combinación de categorías de rastreo. La listacompleta de categorías de rastreo se define en la claseTrace.

    com.ibm.as400.access.Trace.file Especifica el archivo en que se escribe la salida derastreo. Por omisión la salida de rastreo se escribe enSystem.out.

    com.ibm.as400.access.ServerTrace.JDBC Especifica qué categorías de rastreo deben iniciarse en eltrabajo servidor JDBC. Para obtener información sobrelos valores soportados, consulte la propiedad de rastreodel servidor JDBC.

    IBM Toolbox para Java 15

  • Propiedades de llamada a mandato/programa

    Propiedad de llamada a mandato/programa Descripción

    com.ibm.as400.access.CommandCall.threadSafe Especifica si puede suponerse que las llamadas amandato son seguras en ejecución multihebra. Si es true,se supone que todas las llamadas a mandato son segurasen ejecución multihebra. Si es false, se supone que todaslas llamadas a mandato no son seguras en ejecuciónmultihebra. Esta propiedad no se tiene en cuenta para unobjeto CommandCall determinado siCommandCall.setThreadSafe() oAS400.setMustUseSockets(true) se ha llevado a cabosobre el objeto.

    com.ibm.as400.access.ProgramCall.threadSafe Especifica si puede suponerse que las llamadas aprograma son seguras en ejecución multihebra. Si estrue, se supone que todas las llamadas a programa sonseguras en ejecución multihebra. Si es false, se suponeque todas las llamadas a programa no son seguras enejecución multihebra. Esta propiedad no se tiene encuenta para un objeto ProgramCall determinado siProgramCall.setThreadSafe() oAS400.setMustUseSockets(true) se ha llevado a cabosobre el objeto.

    Propiedades de FTP

    Propiedad de FTP Descripción

    com.ibm.as400.access.FTP.reuseSocket Especifica si el socket se reutiliza para variastransferencias de archivo (a través de una sola instanciaFTP) cuando está en la modalidad "active". Si el valor estrue, se reutiliza el socket. Si el valor es false, se crea unsocket nuevo para cada transferencia de archivo. Estapropiedad no se tiene en cuenta para un objeto FTP dadosi se ha realizado FTP.setReuseSocket() sobre el objeto.

    Propiedades de conexión

    Propiedad de conexión Descripción

    com.ibm.as400.access.AS400.guiAvailable Indica si el entorno actual tiene capacidad GUI. Si estrue, puede solicitarse información durante el inicio desesión para mostrar las condiciones de error, solicitarinformación adicional o solicitar un cambio decontraseña. Si es false, las condiciones de error o lainformación que falta generarán excepciones. Lasaplicaciones que se ejecutan como aplicaciones de IBM io que desean controlar la interfaz de usuario de inicio desesión pueden ejecutarse con la modalidad de solicitudde información establecida en false. El valorpredeterminado es true.

    16 IBM i: Programación de IBM Toolbox para Java

    ||||||||||||

  • Propiedad de conexión Descripción

    com.ibm.as400.access.AS400.mustAddLanguageLibrary Indica si los objetos AS400 deben intentar añadir labiblioteca de idioma secundario a la lista de bibliotecascuando se ejecutan en el sistema. Si establece labiblioteca de idioma, se garantiza que los mensajes deerror del sistema que se devuelven estén en el idiomanacional correspondiente al entorno local del cliente. Sise establece en true, los objetos AS400 intentarán añadirla biblioteca de idioma secundario a la lista de bibliotecascuando se ejecutan en el sistema. Si se establece enfalse, los objetos AS400 no intentarán añadir labiblioteca de idioma secundario a la lista de bibliotecas.El valor predeterminado es false.

    com.ibm.as400.access.AS400.mustUseNetSockets Especifica si los objetos AS400 deben utilizar sólo socketsde dominio de Internet. Cuando el programa Java seejecuta en el sistema, algunas clases de IBM Toolbox paraJava crean conexiones de socket de dominio UNIX. Si seestablece en true, los objetos AS400 sólo utilizaránsockets de dominio de Internet. Si se establece en false,los objetos AS400 pueden utilizar conexiones de socketde dominio UNIX además de los sockets de dominio deInternet. El valor predeterminado es false.

    com.ibm.as400.access.AS400.mustUseSockets Especifica si los objetos AS400 deben utilizar sockets.Cuando el programa Java se ejecuta en el sistema,algunas clases de IBM Toolbox para Java acceden a losdatos llamando a una API, en lugar de realizar unallamada de socket al sistema. Existen algunas pequeñasdiferencias en el comportamiento de las clases cuando seutilizan llamadas de API en lugar de llamadas de socket.Si el programa se ve afectado por estas diferencias,puede obligar a las clases a que utilicen llamadas desocket, en lugar de llamadas de API, estableciendo lapropiedad en true. El valor predeterminado es false.

    com.ibm.as400.access.AS400.mustUseSuppliedProfile Especifica si los objetos AS400 deben utilizar sólo unperfil suministrado. Cuando el programa Java se ejecutaen el sistema, puede utilizarse la información del perfilde usuario con el que se ha iniciado actualmente lasesión (*CURRENT). Si el valor es true, debesuministrarse un perfil de usuario. Si es false, losobjetos AS400 recuperan la información del perfil deusuario actual si no se suministra un perfil de usuario. Elvalor predeterminado es false.

    com.ibm.as400.access.AS400.signonHandler Especifica el manejador de inicio de sesiónpredeterminado. Esta propiedad no se tiene en cuentapara un objeto AS400 dado si se ha realizadoAS400.setSignonHandler() sobre el objeto o si se hallamado a AS400.setDefaultSignonHandler().

    com.ibm.as400.access.AS400.threadUsed Especifica si los objetos AS400 usan hebras en unacomunicación con los servidores de host. Si IBM Toolboxpara Java utiliza hebras, puede ser ventajoso para elrendimiento; la desactivación de las hebras puede sernecesaria si la aplicación debe ser compatible con laespecificación de Enterprise Java Beans. El valorpredeterminado es true.

    IBM Toolbox para Java 17

    |||||||||||||

    ||||||||||

    ||||||||||||

    ||||||||||

    ||||||||

  • Ejemplo: archivo de propiedadesEste ejemplo muestra las propiedades del servidor proxy, las categorías de rastreo, las llamadas amandato, las llamadas a programa, las transferencias de archivo y las conexiones.#=========================================================## IBM Toolbox para Java ##---------------------------------------------------------## Archivo de propiedades de ejemplo ## ## Denomine este archivo jt400.properties y almacénelo en ## un directorio com/ibm/as400/access al que apunte la ## la classpath. ##=========================================================#

    #---------------------------------------------------------## Propiedades del sistema de servidor proxy ##---------------------------------------------------------#

    # Esta propiedad del sistema especifica el nombre de host y el# número de puerto del servidor proxy, con el formato: nombrehost:númeropuerto# El número de puerto es opcional.com.ibm.as400.access.AS400.proxyServer=hqoffice

    # Esta propiedad del sistema especifica con qué frecuencia, en segundos,# el servidor proxy buscará si hay conexiones desocupadas. El# servidor proxy inicia una hebra para buscar los clientes que ya no# tienen comunicación. Utilice esta propiedad para establecer con qué# frecuencia busca la hebra si hay conexiones desocupadas.com.ibm.as400.access.TunnelProxyServer.clientCleanupInterval=7200

    # Esta propiedad del sistema especifica durante cuánto tiempo, en segundos, un# cliente puede estar desocupado antes de eliminarse. El servidor proxy# inicia una hebra para buscar los clientes que ya no tienen# comunicación. Utilice esta propiedad para establecer cuánto tiempo puede estar# desocupado un cliente antes de eliminarse.com.ibm.as400.access.TunnelProxyServer.clientLifetime=2700

    #---------------------------------------------------------## Propiedades del sistema de rastreo ##---------------------------------------------------------#

    # Esta propiedad del sistema especifica qué categorías de rastreo deben habilitarse.# Se trata de una lista delimitada por comas que contiene cualquier combinación de# categorías de rastreo. La lista completa de categorías de rastreo se define en# la clase Trace.com.ibm.as400.access.Trace.category=error,warning,information

    # Esta propiedad del sistema especifica el archivo en que se escribe la# salida de rastreo. Por omisión la salida de rastreo se escribe en # System.out.com.ibm.as400.access.Trace.file=c:\\temp\\trace.out

    #---------------------------------------------------------## Propiedades del sistema de llamada a mandato ##---------------------------------------------------------#

    # Esta propiedad del sistema especifica si las llamadas a mandato deben# suponerse como seguras en ejecución multihebra. Si es true, se supone que# todas las llamadas a mandato son seguras en ejecución multihebra. Si es false,# se supone que todas las llamadas a mandato no son seguras en ejecución multihebra. Esta# propiedad se omite para un objeto CommandCall determinado si# CommandCall.setThreadSafe(true/false) o# AS400.setMustUseSockets(true) se ha llevado a cabo sobre el objeto.com.ibm.as400.access.CommandCall.threadSafe=true

    18 IBM i: Programación de IBM Toolbox para Java

  • #---------------------------------------------------------## Propiedades del sistema de llamada a programa ##---------------------------------------------------------#

    # Esta propiedad del sistema especifica si las llamadas a programa deben# suponerse como seguras en ejecución multihebra. Si es true, se supone que# todas las llamadas a mandato son seguras en ejecución multihebra. Si es false,# se supone que todas las llamadas a mandato no son seguras en ejecución multihebra. Esta# propiedad se omite para un objeto ProgramCall determinado si# ProgramCall.setThreadSafe(true/false) o# AS400.setMustUseSockets(true) se ha llevado a cabo sobre el objeto.com.ibm.as400.access.ProgramCall.threadSafe=true

    #---------------------------------------------------------## Propiedades del sistema de FTP ##---------------------------------------------------------#

    # Esta propiedad del sistema especifica si se reutiliza el socket# para varias transferencias de archivo (a través de una sola# instancia FTP) cuando está en la modalidad "active".# Si el valor es true, se reutiliza el socket. Si es false,# se crea un socket nuevo para cada transferencia de archivo.# Esta propiedad no se tiene en cuenta para un objeto FTP# dado si FTP.setReuseSocket(true/false) se ha realizado# sobre el objeto.com.ibm.as400.access.FTP.reuseSocket=true

    #---------------------------------------------------------## Propiedades del sistema de conexión ##---------------------------------------------------------#

    # Esta propiedad del sistema especifica el manejador de# inicio de sesión predeterminado.# Esta propiedad no se tiene en cuenta para un objeto# AS400 dado si AS400.setSignonHandler() se ha# ejecutado sobre el objeto o si se ha llamado a# AS400.setDefaultSignonHandler().com.ibm.as400.access.AS400.signonHandler=mypackage.MyHandler

    # Esta propiedad del sistema especifica si en Toolbox se debe# suponer que el entorno actual tiene capacidad GUI.# Esta propiedad no se tiene en cuenta para un objeto AS400 dado si# AS400.setGuiAvailable() se ha ejecutado en el objeto.com.ibm.as400.access.AS400.guiAvailable=true

    # Esta propiedad del sistema especifica si debe añadirse la# biblioteca de idioma secundario correspondiente a la lista de bibliotecas,# cuando se ejecuta en el sistema. De forma predeterminada, la biblioteca no se añade.# Esta propiedad no se tiene en cuenta para un objeto AS400 dado si# se ha ejecutado AS400.setMustAddLanguageLibrary()# en el objeto.com.ibm.as400.access.AS400.mustAddLanguageLibrary=true

    # Esta propiedad del sistema especifica si deben utilizarse sockets# cuando se comunica con el sistema.# Si se establece en true, esta propiedad indica a Toolbox que# no explote optimizaciones nativas, cuando se ejecute directamente en# el sistema.# De forma predeterminada, cuando se ejecuta directamente en el sistema, Toolbox# explotará optimizaciones nativas, si están disponibles,# y sockets de elusión.# Esta propiedad no se tiene en cuenta para un objeto AS400 dado si# AS400.setMustUseSockets() se ha ejecutado en el objeto.com.ibm.as400.access.AS400.mustUseSockets=true

    # Esta propiedad del sistema especifica si deben utilizarse sockets

    IBM Toolbox para Java 19

    |||||||||||||||||||||||||||

  • # de dominio de Internet cuando se comunica con el sistema.# Si se establece en true, esta propiedad indica a Toolbox que# no explote los sockets Unix, cuando se ejecute directamente en# el sistema.# De forma predeterminada, cuando se ejecuta directamente en el sistema, Toolbox# explotará los sockets Unix, si están disponibles,# en lugar de sockets de dominio de Internet.# Esta propiedad no se tiene en cuenta para un objeto AS400 dado si# AS400.setMustUseNetSockets() se ha ejecutado en el objeto.com.ibm.as400.access.AS400.mustUseNetSockets=true

    # Esta propiedad del sistema especifica si debe utilizarse el perfil# proporcionado de forma explícita cuando se comunica con el sistema.# Si se establece en true, esta propiedad indica a Toolbox que# no explote el perfil con el que se ha iniciado la sesión actualmente,# de forma predeterminada, cuando se ejecuta directamente en el sistema.# Esta propiedad no se tiene en cuenta para un objeto AS400 dado si# AS400.setMustUseSuppliedProfile() se ha ejecutado en el objeto.com.ibm.as400.access.AS400.mustUseSuppliedProfile=true

    # Esta propiedad del sistema especifica si se utilizan hebras# cuando se comunica con los servidores de host.# De forma predeterminada, el objeto AS400 crea hebras diferentes# para escuchar en los sockets de comunicación a los servidores de host.# Si se establece en false, esta propiedad indica a Toolbox que# no cree hebras diferentes para las comunicaciones de los servidores de host.# Esta propiedad no se tiene en cuenta para un objeto AS400 dado si# AS400.setThreadUsed() se ha ejecutado en el objeto.com.ibm.as400.access.AS400.threadUsed=true# End

    Ejemplo: archivo fuente de clase de propiedades del sistema//=========================================================// IBM Toolbox para Java//---------------------------------------------------------// Archivo fuente de clase de propiedades de ejemplo//// Compile este archivo fuente y almacene el archivo de// clase en la sentencia CLASSPATH.//=========================================================package com.ibm.as400.access;

    public class Propertiesextends java.util.Properties{

    public Properties (){

    /*---------------------------------------------------------*//* Propiedades del sistema de servidor proxy *//*---------------------------------------------------------*/

    // Esta propiedad del sistema especifica el nombre de host y el// número de puerto del servidor proxy, con el formato: nombrehost:númeropuerto// El número de puerto es opcional.put ("com.ibm.as400.access.AS400.proxyServer", "hqoffice");

    // Esta propiedad del sistema especifica con qué frecuencia, en segundos,// el servidor proxy buscará si hay conexiones desocupadas. El// servidor proxy inicia una hebra para buscar los clientes que ya no// tienen comunicación. Utilice esta propiedad para establecer con qué// frecuencia busca la hebra si hay conexiones desocupadas.put("com.ibm.as400.access.TunnelProxyServer.clientCleanupInterval", "7200");

    // Esta propiedad del sistema especifica durante cuánto tiempo, en segundos, un// cliente puede estar desocupado antes de eliminarse. El servidor proxy// inicia una hebra para buscar los clientes que ya no tienen

    20 IBM i: Programación de IBM Toolbox para Java

    ||||||||||||||||||||||||||||||

  • // comunicación. Utilice esta propiedad para establecer cuánto tiempo puede estar// desocupado un cliente antes de eliminarse.put("com.ibm.as400.access.TunnelProxyServer.clientLifetime", "2700");

    /*---------------------------------------------------------*//* Propiedades del sistema de rastreo *//*---------------------------------------------------------*/

    // Esta propiedad del sistema especifica qué categorías de rastreo deben habilitarse.// Se trata de una lista delimitada por comas que contiene cualquier combinación de// categorías de rastreo. La lista completa de categorías de rastreo se define en// la clase Trace.put ("com.ibm.as400.access.Trace.category", "error,warning,information");

    // Esta propiedad del sistema especifica el archivo en que se escribe la// salida de rastreo. Por omisión la salida de rastreo se escribe en System.out.put ("com.ibm.as400.access.Trace.file", "c:\temp\trace.out");

    /*---------------------------------------------------------*//* Propiedades del sistema de llamada a mandato *//*---------------------------------------------------------*/

    // Esta propiedad del sistema especifica si las llamadas a mandato deben// suponerse como seguras en ejecución multihebra. Si es true, se supone que// todas las llamadas a mandato son seguras en ejecución multihebra. Si es false,// se supone que todas las llamadas a programa no son seguras en ejecución multihebra. Esta// propiedad se omite para un objeto CommandCall determinado si// CommandCall.setThreadSafe(true/false) o// AS400.setMustUseSockets(true) se ha llevado a cabo sobre el objeto.put ("com.ibm.as400.access.CommandCall.threadSafe", "true");

    /*---------------------------------------------------------*//* Propiedades del sistema de llamada a programa *//*---------------------------------------------------------*/

    // Esta propiedad del sistema especifica si las llamadas a programa deben// suponerse como seguras en ejecución multihebra. Si es true, se supone que// todas las llamadas a mandato son seguras en ejecución multihebra. Si es false,// se supone que todas las llamadas a programa no son seguras en ejecución multihebra. Esta// propiedad se omite para un objeto ProgramCall determinado si// ProgramCall.setThreadSafe(true/false) o// AS400.setMustUseSockets(true) se ha llevado a cabo sobre el objeto.put ("com.ibm.as400.access.ProgramCall.threadSafe", "true");

    /*---------------------------------------------------------*//* Propiedades del sistema de FTP *//*---------------------------------------------------------*/

    // Esta propiedad del sistema especifica si se reutiliza el socket// para varias transferencias de archivo (a través de una sola// instancia FTP) en modalidad "active". Si el valor es true, se// reutiliza el socket. Si el valor es false, se crea un socket// nuevo para cada transferencia de archivos.// Esta propiedad no se tiene en cuenta para un objeto FTP dado si// FTP.setReuseSocket(true/false) se ha realizado sobre el objeto.put ("com.ibm.as400.access.FTP.reuseSocket", "true");

    /*---------------------------------------------------------*//* Propiedades del sistema de conexión *//*---------------------------------------------------------*/

    // Esta propiedad del sistema especifica el manejador de// inicio de sesión predeterminado.

    IBM Toolbox para Java 21

  • // Esta propiedad no se tiene en cuenta para un objeto AS400// dado si AS400.setSignonHandler() se ha ejecutado en el// objeto o si se ha llamado a// AS400.setDefaultSignonHandler().put ("com.ibm.as400.access.AS400.signonHandler", "mypackage.MyHandler");

    // Esta propiedad del sistema especifica si en Toolbox se debe// suponer que el entorno actual tiene capacidad GUI.// Esta propiedad no se tiene en cuenta para un objeto AS400 dado si// AS400.setGuiAvailable() se ha ejecutado en el objeto.put ("com.ibm.as400.access.AS400.guiAvailable", "true");

    // Esta propiedad del sistema especifica si debe añadirse la// biblioteca de idioma secundario correspondiente a la lista de bibliotecas,// cuando se ejecuta en el sistema. De forma predeterminada, la biblioteca no se añade.// Esta propiedad no se tiene en cuenta para un objeto AS400 dado si// se ha ejecutado AS400.setMustAddLanguageLibrary()// en el objeto.put ("com.ibm.as400.access.AS400.mustAddLanguageLibrary", "true");

    // Esta propiedad del sistema especifica si deben utilizarse sockets// cuando se comunica con el sistema.// De forma predeterminada, cuando se ejecuta directamente en el sistema, Toolbox// explotará optimizaciones nativas, si están disponibles,// y sockets de elusión.// Esta propiedad no se tiene en cuenta para un objeto AS400 dado si// AS400.setMustUseSockets() se ha ejecutado en el objeto.put ("com.ibm.as400.access.AS400.mustUseSockets", "true");

    // Esta propiedad del sistema especifica si deben utilizarse sockets// de dominio de Internet cuando se comunica con el sistema.// Si se establece en true, esta propiedad indica a Toolbox que// no explote los sockets Unix, cuando se ejecute directamente en// el sistema.// De forma predeterminada, cuando se ejecuta directamente en el sistema, Toolbox// explotará los sockets Unix, si están disponibles,// en lugar de sockets de dominio de Internet.// Esta propiedad no se tiene en cuenta para un objeto AS400 dado si// AS400.setMustUseNetSockets() se ha ejecutado en el objeto.put ("com.ibm.as400.access.AS400.mustUseNetSockets", "true");

    // Esta propiedad del sistema especifica si debe utilizarse el perfil// proporcionado de forma explícita cuando se comunica con el sistema.// Si se establece en true, esta propiedad indica a Toolbox que// no explote el perfil con el que se ha iniciado la sesión actualmente,// de forma predeterminada, cuando se ejecuta directamente en el sistema.// Esta propiedad no se tiene en cuenta para un objeto AS400 dado si// AS400.setMustUseSuppliedProfile() se ha ejecutado en el objeto.put ("com.ibm.as400.access.AS400.mustUseSuppliedProfile", "true");

    // Esta propiedad del sistema especifica si se utilizan hebras// cuando se comunica con los servidores de host.// De forma predeterminada, el objeto AS400 crea hebras diferentes// para escuchar en los sockets de comunicación a los servidores de host.// Si se establece en false, esta propiedad indica a Toolbox que// no cree hebras diferentes para las comunicaciones de los servidores de host.// Esta propiedad no se tiene en cuenta para un objeto AS400 dado si// AS400.setThreadUsed() se ha ejecutado en el objeto.put ("com.ibm.as400.access.AS400.threadUsed", "true");

    }}

    Clases de IBM Toolbox para JavaLas clases de IBM Toolbox para Java están categorizadas por paquetes, como todas las clases Java. Cadapaquete proporciona un tipo determinado de funcionalidad.

    22 IBM i: Programación de IBM Toolbox para Java

    |||||||||||||||||||||||||||||||||||||||||||||||||||||

  • Para mayor comodidad, en esta documentación habitualmente se hace referencia a cada paquete con unnombre corto. Por ejemplo, el paquete com.ibm.as400.access se denomina paquete access.

    Además de los paquetes listados más adelante, también puede obtener más información acerca delmicropaquete, que permite crear programas Java que dan a los dispositivos inalámbricos acceso directo alos datos y servicios de IBM i, en el tema “IBM Toolbox para Java 2 Micro Edition” en la página 371.

    Clases de accesoLas clases de acceso de IBM Toolbox para Java representan datos y recursos de IBM i.

    Nota: IBM Toolbox para Java proporciona un segundo conjunto de clases, denominadas clases derecursos, para trabajar con objetos y listas de IBM i. Las clases de recursos presentan unainfraestructura genérica y una interfaz de programación coherente para trabajar con diversosobjetos y listas de IBM i.

    Información relacionada

    Javadoc de clases EventLogPermite anotar excepciones y mensajes con independencia del dispositivo utilizado para visualizarlos.Resumen de paquetes de accesoResumen de paquetes de recurso

    Puntos de acceso de servidorLas clases de acceso de IBM Toolbox para Java suministran funciones similares al uso de las API de IBM iAccess para Windows. Sin embargo, la instalación de IBM i Access para Windows no es un requisito parala utilización de estas clases.

    Las clases de acceso utilizan los sistemas existentes como puntos de acceso. Cada servidor se ejecuta enun trabajo aparte del sistema y envía y recibe corrientes de datos a través de una conexión por socket.

    Figura 1: Puntos de acceso de servidor

    IBM Toolbox para Java 23

    javadoc/com/ibm/as400/access/EventLog.htmljavadoc/com/ibm/as400/access/package-summary.htmljavadoc/com/ibm/as400/resource/package-summary.html

  • Clase AS400La clase AS400 de IBM Toolbox para Java gestiona un conjunto de conexiones por socket a los trabajos deservidor en el servidor sobre comportamiento de inicio de sesión para el servidor, incluido lapresentación al usuario de la solicitud de información de inicio de sesión, la colocación de contraseñas enmemoria caché y la gestión de usuario predeterminado.

    El programa Java debe proporcionar un objeto AS400 cuando el programa Java utiliza una instancia deuna clase que accede al sistema IBM i. Por ejemplo, el objeto CommandCall requiere un objeto AS400para poder enviar mandatos al sistema.

    El objeto AS400 maneja de manera diferente las conexiones, los ID de usuario y las contraseñas cuando seejecuta en la máquina virtual Java de IBM i. Para obtener más información, consulte “Máquina virtualJava de IBM i” en la página 480.

    Los objetos AS400 ahora soportan la autenticación de Kerberos, utilizando la interfaz de programación deaplicaciones Java Generic Security Service (API JGSS) para autenticar en el servidor, en lugar de utilizarun ID de usuario y una contraseña.

    24 IBM i: Programación de IBM Toolbox para Java

  • Nota: para utilizar los tickets de Kerberos debe instalarse J2SDK, v1.4 y configurarse la interfaz deprogramación de aplicaciones Java Generic Security Services (JGSS). Para obtener más información

    sobre JGSS, consulte la documentación de seguridad de J2SDK v1.4 .

    Consulte la sección Gestionar conexiones para obtener información acerca de cómo se gestionan lasconexiones con el servidor mediante el objeto AS400. En el Javadoc AS400ConnectionPool encontraráinformación acerca de cómo reducir el tiempo de conexión inicial solicitando conexiones desde unaagrupación de conexiones.

    La clase AS400 proporciona las siguientes funciones de inicio de sesión:v Autenticar el perfil de usuariov Obtener una credencial de símbolo de perfil y autenticar el perfil de usuario asociadov Establecer una credencial de símbolo de perfilv Gestionar identificadores de usuario predeterminadosv Colocar contraseñas en la memoria cachév Solicitar ID de usuariov Cambiar una contraseñav Obtener la versión y el release del sistema operativo

    Para obtener información acerca de cómo utilizar un objeto AS400 al enviar o recibir datos cifrados,consulte la clase SecureAS400.

    Información relacionada

    Javadoc AS400ConnectionPoolJavadoc AS400

    Gestión de identificadores de usuario predeterminado:

    Si desea minimizar el número de veces que un usuario debe iniciar la sesión, utilice un ID de usuariopredeterminado. El programa Java utiliza el ID de usuario predeterminado si no se suministra ningún IDde usuario. El ID de usuario predeterminado puede establecerse ya sea por medio del programa Java omediante la interfaz de usuario. Si el ID de usuario predeterminado no se ha establecido, el diálogo Iniciode sesión permite al usuario establecer el ID de usuario predeterminado.

    Una vez establecido el ID de usuario predeterminado para un servidor determinado, el diálogo Inicio desesión no permite realizar cambios en el mismo. Cuando se construye un objeto AS400, el programa Javapuede suministrar el ID de usuario y la contraseña. Cuando un programa suministra el ID de usuario alobjeto AS400, el ID de usuario predeterminado no se ve afectado. El programa, si va a establecer ocambiar el ID de usuario predeterminado, debe establecer explícitamente setUseDefaultUser(). EnResumen de solicitudes, ID de usuario predeterminado y colocación de contraseñas en memoria cachéencontrará más información.

    El objeto AS400 tiene métodos para obtener, establecer y eliminar el ID de usuario predeterminado. Elprograma Java también puede inhabilitar el proceso de ID de usuario predeterminado mediante elmétodo setUseDefaultUser(). Si el proceso de ID de usuario predeterminado está inhabilitado y laaplicación Java no suministra ningún ID de usuario, el objeto AS400 solicita el ID de usuario cada vezque se establece una conexión con el servidor.

    Todos los objetos AS400 que representan el mismo servidor IBM i dentro de una máquina virtual Javautilizan el mismo ID de usuario predeterminado.

    En el ejemplo que sigue, se crean dos conexiones con el servidor utilizando dos objetos AS400. Si elusuario, al iniciar la sesión, marcó el recuadro "ID de usuario predeterminado", cuando se establezca lasegunda conexión no se presentará al usuario ninguna solicitud para que escriba un ID de usuario.

    IBM Toolbox para Java 25

    http://java.sun.com/j2se/1.4/docs/guide/security/index.htmljavadoc/com/ibm/as400/access/AS400ConnectionPool.htmljavadoc/com/ibm/as400/access/AS400.htmljavadoc/com/ibm/as400/access/AS400.htmljavadoc/com/ibm/as400/access/AS400.html#SETUSEDEFAULTUSER(BOOLEAN)javadoc/com/ibm/as400/access/AS400.html#GETDEFAULTUSER(JAVA.LANG.STRING)javadoc/com/ibm/as400/access/AS400.html#SETDEFAULTUSER(JAVA.LANG.STRING, JAVA.LANG.STRING)javadoc/com/ibm/as400/access/AS400.html#REMOVEDEFAULTUSER(JAVA.LANG.STRING)javadoc/com/ibm/as400/access/AS400.html#SETUSEDEFAULTUSER(BOOLEAN)

  • // Cree dos objetos AS400 para elmismo sistema.

    AS400 sys1 = new AS400("mySystem.myCompany.com");AS400 sys2 = new AS400("mySystem.myCompany.com");

    // Inicie una conexión con el servicio de llamada a mandato.// Se solicita al usuario el ID de usuario y la contraseña.sys1.connectService(AS400.COMMAND);

    // Inicie otra conexión con el servicio de llamada a mandato.// No se solicita información al usuario.sys2.connectService(AS400.COMMAND);

    La información de ID de usuario predeterminado se eliminará cuando el colector de basura haya recogidoel último objeto AS400 correspondiente al servidor.

    Utilización de una memoria caché de contraseñas:

    La memoria caché de contraseñas permite a IBM Toolbox para Java guardar información de contraseña yde ID de usuario para que no se solicite al usuario dicha información cada vez que se establezca unaconexión.

    Los métodos proporcionados por el objeto AS400 permiten realizar estas tareas:v Borrar la memoria caché de contraseñas e inhabilitarlav Minimizar el número de veces que el usuario debe escribir información de inicio de sesión

    La memoria caché de contraseñas es aplicable a todos los objetos AS400 que representan un sistema IBM identro de una máquina virtual Java. Java no permite a las máquinas virtuales compartir informaciónentre sí, por lo que una contraseña colocada en la memoria caché en una máquina virtual Java no esvisible para otra máquina virtual. La memoria caché quedará descartada en cuanto el colector de basurahaya recogido el último objeto AS400. El diálogo Inicio de sesión dispone de un recuadro de selecciónque ofrece al usuario la opción de guardar la contraseña en la memoria caché. Cuando se construye unobjeto AS400, el programa Java tiene la opción de suministrar el ID de usuario y la contraseña. Lascontraseñas suministradas en los constructores no se almacenan en la memoria caché.

    El objeto AS400 proporciona métodos para borrar la memoria caché de contraseñas e inhabilitar lamemoria caché de contraseñas. En la sección Resumen de solicitudes, ID de usuario predeterminado ycolocación de contraseñas en la memoria caché encontrará más información.

    Solicitud de identificadores de usuario y contraseñas:

    Si se utiliza la clase AS400, la solicitud de ID de usuario y contraseña puede presentarse cuando seestablece la conexión con el servidor. La solicitud puede quedar desactivada por el programa Java.

    Los programas Java pueden desactivar la solicitud de ID de usuario y contraseña así como las ventanasde mensajes visualizadas por el objeto AS400. Ello puede ser necesario, por ejemplo, cuando unaaplicación se está ejecutando en una pasarela en nombre de muchos clientes. Si las solicitudes y losmensajes se visualizan en la máquina pasarela, el usuario no puede interactuar con las solicitudes. Lasaplicaciones de este tipo pueden desactivar toda presentación de solicitudes utilizando el métodosetGuiAvailable() en el objeto AS400.

    En Resumen de solicitudes, ID de usuario predeterminado y colocación de contraseñas en memoria cachéencontrará más información.

    Resumen de solicitudes, ID de usuario predeterminado y colocación de contraseñas en memoriacaché:

    26 IBM i: Programación de IBM Toolbox para Java

    javadoc/com/ibm/as400/access/AS400.html#CLEARPASSWORDCACHE()javadoc/com/ibm/as400/access/AS400.html#SETUSEPASSWORDCACHE(BOOLEAN)javadoc/com/ibm/as400/access/AS400.html#SETUSEPASSWORDCACHE(BOOLEAN)javadoc/com/ibm/as400/access/AS400.html

  • Los programas Java pueden controlar en qué momento se presenta la solicitud de ID de usuario ycuándo entra en juego la colocación de contraseñas en la memoria caché. La información del diálogoInicio de sesión permite establecer el ID de usuario predeterminado y poner la contraseña en la memoriacaché. La tabla que figura a continuación es un resumen de cuándo se presentan las solicitudes, quéinformación se recupera y cuál es la información que se establece.

    En esta tabla se presupone que el programa Java permite el proceso de ID de usuario predeterminado yla colocación de contraseñas en la memoria caché, y que se ha marcado el recuadro ID de usuariopredeterminado y el recuadro Guardar contraseña en el diálogo Inicio de sesión.

    Utilice esta tabla para las conexiones de cliente, no para la ejecución de Java en el servidor.

    Sistemaproporcionado enel constructor

    ID de usuarioproporcionado enel constructor

    Contraseñaproporcionada enel constructor

    Se estableceusuariopredeterminado

    Contraseña enmemoria cachépara ID deusuario

    Resultado deutilizar valoresmarcados

    Se solicita alusuario el nombredel sistema, el IDde usuario y lacontraseña. El IDde usuariopredeterminadose establece y lacontraseña sepone en memoriacaché.

    Sí Se solicita alusuario el ID deusuario y lacontraseña. Elnombre delsistema sevisualiza, pero nopuede cambiarse.El ID de usuariopredeterminadose establece y lacontraseña sepone en memoriacaché.

    Sí Sí Se solicita alusuario lacontraseña. El IDde usuario sevisualiza y puedecambiarse. Elnombre delsistema sevisualiza, pero nopuede cambiarse.El ID de usuariopredeterminadono cambia. Lacontraseña sepone en memoriacaché.

    IBM Toolbox para Java 27

  • Sistemaproporcionado enel constructor

    ID de usuarioproporcionado enel constructor

    Contraseñaproporcionada enel constructor

    Se estableceusuariopredeterminado

    Contraseña enmemoria cachépara ID deusuario

    Resultado deutilizar valoresmarcados

    Sí Sí Sí No se presentaninguna solicitud.El ID de usuariopredeterminadono cambia. Lacontraseña no sepone en memoriacaché.

    Sí Se solicita alusuario el nombredel sistema y lacontraseña. El IDde usuario sevisualiza y puedecambiarse.Cambiar el ID deusuario nomodifica el ID deusuariopredeterminado.La contraseña sepone en memoriacaché.

    Sí Sí Se solicita lacontraseña del IDde usuariopredeterminado.El ID de usuariose visualiza ypuede cambiarse.El nombre delsistema sevisualiza, pero nopuede cambiarse.La contraseña sepone en memoriacaché.

    Sí Sí Sí No se presentaninguna solicitud.La conexión serealiza utilizandoel ID de usuariopredeterminado yla contraseña dela memoria caché.

    Sí Sí Sí No se presentaninguna solicitud.La conexión serealiza como elusuarioespecificado,utilizando lacontraseña de lamemoria caché.

    28 IBM i: Programación de IBM Toolbox para Java

  • Sistemaproporcionado enel constructor

    ID de usuarioproporcionado enel constructor

    Contraseñaproporcionada enel constructor

    Se estableceusuariopredeterminado

    Contraseña enmemoria cachépara ID deusuario

    Resultado deutilizar valoresmarcados

    Sí Sí Sí Sí No se presentaninguna solicitud.La conexión serealiza como elusuarioespecificado,utilizando lacontraseña de lamemoria caché.

    Sí Sí Sí Sí No se presentaninguna solicitud.La conexión serealiza como elusuarioespecificado.

    Clase SecureAS400La clase SecureAS400 permite utilizar un objeto AS400 al enviar o recibir datos cifrados. Cuando unobjeto AS400 se comunica con el servidor, los datos de usuario (excepto la contraseña de usuario) seenvían sin cifrar al servidor. Por consiguiente, los objetos de IBM Toolbox para Java asociados a un objetoAS400 intercambian datos con el servidor por medio de una conexión normal.

    Si desea utilizar IBM Toolbox para Java para intercambiar datos confidenciales con el servidor, puedecifrar los datos mediante SSL (capa de sockets segura). Utilice el objeto SecureAS400 para designar losdatos que desea cifrar. Los objetos de IBM Toolbox para Java asociados a un objeto SecureAS400intercambian datos con el servidor por medio de una conexión segura.

    Encontrará más información en el tema acerca de Capa de Sockets Segura y Extensión de sockets segurosJava.

    La clase SecureAS400 es una subclase de la AS400.

    Puede configurar una conexión de servidor segura creando una instancia de un objeto SecureAS400 delos modos siguientes:v SecureAS400(String systemName, String userID) le solicita información de inicio de sesiónv SecureAS400(String systemName, String userID, String password) no le solicita información de inicio

    de sesión

    A continuación figura un ejemplo de cómo se utiliza CommandCall para enviar mandatos al servidorutilizando una conexión segura:

    // Cree un objeto AS400 seguro. Esta sentencia es la única que cambia// en relación con el caso no SSL.SecureAS400 sys = new SecureAS400("mySystem.myCompany.com");

    // Cree un objeto de llamada a mandato.CommandCall cmd = new CommandCall(sys, "myCommand");

    // Ejecute los mandatos. Se establece una conexión segura al// ejecutarse el mandato. Toda la información pasada entre el// cliente y el servidor está cifrada.cmd.run();

    Información relacionada

    IBM Toolbox para Java 29

  • Javadoc SecureAS400Javadoc AS400

    Clase AS400JPingLa clase AS400JPing de IBM Toolbox para Java permite al programa Java consultar los servidores de hostpara ver qué servicios están en ejecución y qué puertos están en servicio.

    Para consultar los servidores desde una línea de mandatos, utilice la clase JPing.

    La clase AS400JPing proporciona varios métodos:v Realizar un ping del servidorv Realizar un ping de un servicio específico en el servidorv Establecer un objeto PrintWriter en el que desea anotar la información de la operación pingv Establecer el tiempo de espera de la operación ping

    Ejemplo: cómo se utiliza AS400JPing

    El ejemplo siguiente muestra cómo utilizar AS400JPing dentro de un programa Java para realizar un pingd