Programación IBMToolbox para Java PDF para IBM Toolbox para Java. Instalación y gestión de IBM...

606
IBM i Versión 7.2 Programación IBM Toolbox para Java

Transcript of Programación IBMToolbox para Java PDF para IBM Toolbox para Java. Instalación y gestión de IBM...

  • IBM iVersin 7.2

    ProgramacinIBM Toolbox para Java

  • IBM iVersin 7.2

    ProgramacinIBM Toolbox para Java

  • NotaAntes de utilizar esta informacin y el producto al que da soporte, lea la informacin de la seccin Avisos en la pgina593.

    Este documento puede contener referencias al cdigo interno bajo licencia (LIC). El Cdigo interno bajo licencia esCdigo mquina que se proporciona bajo los trminos del acuerdo de licencia IBM License Agreement for MachineCode.

    Copyright IBM Corporation 1999, 2014.

  • Contenido

    IBM Toolbox para Java . . . . . . . . 1Novedades de IBM i 7.2 . . . . . . . . . . 1Archivo PDF para IBM Toolbox para Java . . . . 2Instalacin y gestin de IBM Toolbox para Java . . . 2

    Gestin de la instalacin de IBM Toolbox paraJava . . . . . . . . . . . . . . . . 2Instalacin de IBM Toolbox para Java . . . . . 3

    Requisitos de IBM i para IBM Toolbox paraJava . . . . . . . . . . . . . . . 3

    Opciones de IBM i necesarias . . . . . . 3Cmo determinar si IBM Toolbox para Javaest instalado en el sistema . . . . . . 4Comprobar el perfil QUSER . . . . . . 4Cambiar el perfil de usuario QUSER . . . 4Dependencias de otros programas bajolicencia . . . . . . . . . . . . . 4Compatibilidad con niveles distintos de IBMi . . . . . . . . . . . . . . . 5Optimizaciones nativas al llevar a cabo laejecucin en la JVM de IBM i . . . . . . 6

    Requisitos de estacin de trabajo para IBMToolbox para Java. . . . . . . . . . . 6

    Requisitos de estacin de trabajo paraejecutar aplicaciones de IBM Toolbox paraJava . . . . . . . . . . . . . . 6Requisitos de estacin de trabajo paraejecutar applets de IBM Toolbox para Java . 6

    Instalacin de IBM Toolbox para Java en elsistema . . . . . . . . . . . . . . 7Instalacin de IBM Toolbox para Java en laestacin de trabajo . . . . . . . . . . 7

    Archivos JAR . . . . . . . . . . . 8Propiedades del sistema . . . . . . . . . 11

    JTOpenLite . . . . . . . . . . . . . . 20Clases de IBM Toolbox para Java . . . . . . . 20

    Clases de acceso . . . . . . . . . . . . 20Puntos de acceso de servidor . . . . . . 20Clase AS400 . . . . . . . . . . . . 21

    Gestin de identificadores de usuariopredeterminado . . . . . . . . . . 22Utilizacin de una memoria cach decontraseas . . . . . . . . . . . 23Solicitud de identificadores de usuario ycontraseas . . . . . . . . . . . 23Resumen de solicitudes, ID de usuariopredeterminado y colocacin decontraseas en memoria cach . . . . . 24

    Clase SecureAS400 . . . . . . . . . . 26Clase AS400JPing . . . . . . . . . . 27Clase BidiTransform . . . . . . . . . 27Clase BidiConversionProperties. . . . . . 28Clase CallStackEntry . . . . . . . . . 28Clases ClusteredHashTable . . . . . . . 28Clase CommandCall . . . . . . . . . 30Agrupacin de conexiones . . . . . . . 31rea de datos . . . . . . . . . . . 32

    Conversin y descripcin de datos . . . . 34Clases de conversin para datos numricos 36Conversin de texto . . . . . . . . 37Clases de conversin para tiposcompuestos . . . . . . . . . . . 38Clases de descripcin de campo . . . . 39Clase RecordFormat . . . . . . . . 40Clase Record . . . . . . . . . . . 40Recuperacin del contenido de un campo 41Establecimiento del contenido de un campo 42Clase LineDataRecordWriter . . . . . . 42

    Colas de datos . . . . . . . . . . . 44Colas de datos secuenciales . . . . . . 45Colas de datos por clave . . . . . . . 46

    Certificados digitales . . . . . . . . . 46Clase EnvironmentVariable . . . . . . . 48Excepciones . . . . . . . . . . . . 49Clase FileAttributes. . . . . . . . . . 50Clase FTP . . . . . . . . . . . . . 50Clases del sistema de archivos integrado . . 51

    Clase IFSFile . . . . . . . . . . . 52Clase IFSJavaFile . . . . . . . . . 53IFSFileInputStream . . . . . . . . . 55Clase IFSTextFileInputStream . . . . . 55IFSFileReader. . . . . . . . . . . 56Clase IFSFileOutputStream . . . . . . 57Clase IFSTextFileOutputStream . . . . . 57IFSFileWriter . . . . . . . . . . . 58IFSRandomAccessFile . . . . . . . . 58Clase IFSKey . . . . . . . . . . . 59Modalidad de compartimiento de archivo 60IFSSystemView . . . . . . . . . . 61

    Clase ISeriesNetServer . . . . . . . . . 61Clase JavaApplicationCall . . . . . . . 61Clases JDBC . . . . . . . . . . . . 62

    Clase AS400JDBCBlob . . . . . . . . 63Interfaz CallableStatement . . . . . . 65Clase AS400JDBCClob . . . . . . . . 65Clase AS400JDBCConnection . . . . . 67AS400JDBCConnectionPool . . . . . . 68ClaseAS400JDBCManagedConnectionPoolDataSource69Interfaz DatabaseMetaData . . . . . . 78Clase AS400JDBCDataSource . . . . . 79Registro del controlador JDBC . . . . . 80Clase AS400JDBCParameterMetaData. . . 82Interfaz PreparedStatement . . . . . . 83Clase ResultSet . . . . . . . . . . 84Clase AS400JDBCRowSet . . . . . . . 86Clase AS400JDBCSavepoint . . . . . . 87Ejecucin de sentencias SQL con objetosStatement . . . . . . . . . . . . 89Gestin de transacciones distribuidas XAde JDBC . . . . . . . . . . . . 91

    Clases de trabajos . . . . . . . . . . 92Clase Job . . . . . . . . . . . . 93

    Copyright IBM Corp. 1999, 2014 iii

    ||

  • Clase JobList . . . . . . . . . . . 93Clase JobLog . . . . . . . . . . . 94

    Clases de mensajes . . . . . . . . . . 95Clase NetServer . . . . . . . . . . . 97Clase ObjectReferences . . . . . . . . 98Clases de permisos . . . . . . . . . . 99

    Clase DLOPermission . . . . . . . 100QSYSPermission . . . . . . . . . 101RootPermission. . . . . . . . . . 103

    Clases de impresin . . . . . . . . . 104Listar objetos de impresin . . . . . . 105Trabajar con objetos de impresin . . . 106Recuperar atributos de PrintObject . . . 107Atributos de recursos AFP . . . . . . 108Atributos de la cola de salida . . . . . 108Atributos de impresora . . . . . . . 109Atributos de archivo de impresora . . . 110Atributos de archivo en spool . . . . . 114Atributos de trabajo de transcriptor . . . 117Atributos de objeto de impresin . . . . 117Copiar archivos en spool . . . . . . 155Crear archivos en spool nuevos . . . . 157Generar una corriente de datos SCS . . . 158Leer archivos en spool y recursos AFP . . 159Leer archivos en spool mediantePrintObjectPageInputStream yPrintObjectTransformedInputStream . . . 160

    Clase ProductLicense . . . . . . . . . 160Clase ProgramCall. . . . . . . . . . 161Clase QSYSObjectPathName . . . . . . 163Acceso a nivel de registro . . . . . . . 164

    AS400File . . . . . . . . . . . 166KeyedFile . . . . . . . . . . . 166SequentialFile . . . . . . . . . . 168AS400FileRecordDescription . . . . . 169Crear y suprimir archivos y miembros . . 171Leer y escribir registros . . . . . . . 174Bloquear archivos . . . . . . . . . 175Utilizar bloques de registros . . . . . 176Fijar la posicin del cursor . . . . . . 178Control de compromiso . . . . . . . 179

    Clase SaveFile . . . . . . . . . . . 180Clase ServiceProgramCall . . . . . . . 181Clase Subsystem . . . . . . . . . . 181Clases SystemStatus . . . . . . . . . 181

    Clase SystemPool . . . . . . . . . 183Valores del sistema . . . . . . . . . 183Clase Trace . . . . . . . . . . . . 185Clases de usuarios y grupos . . . . . . 188Clase UserSpace . . . . . . . . . . 189

    Clases commtrace . . . . . . . . . . . 190Modelo de commtrace . . . . . . . . 190Clases Format y FormatProperties . . . . 191

    Ejecutar Format como un programaautnomo . . . . . . . . . . . 193

    Clase Prolog. . . . . . . . . . . . 194Clase Frame . . . . . . . . . . . . 194Clase LanHeader . . . . . . . . . . 195Clase IPPacket . . . . . . . . . . . 195Clase Header . . . . . . . . . . . 196

    Ejemplo: cmo se utilizan las clasescommtrace . . . . . . . . . . . . 197

    Clases HTML . . . . . . . . . . . . 198Clase BidiOrdering . . . . . . . . . 199Clase HTMLAlign . . . . . . . . . . 200Clase HTMLDocument . . . . . . . . 201

    Cmo se utiliza HTMLDocument paracrear datos HTML . . . . . . . . . 201Cmo se utiliza HTMLDocument paracrear datos FO XSL . . . . . . . . 202Ejemplos: cmo se utilizaHTMLDocument . . . . . . . . . 205

    Clases de formularios HTML . . . . . . 210Clases FormInput . . . . . . . . . 211Clase LayoutFormPanel . . . . . . . 215Clase TextAreaFormElement . . . . . 216Clase LabelFormElement . . . . . . 217Clase SelectFormElement . . . . . . 217Clase SelectOption. . . . . . . . . 218Clase RadioFormInputGroup . . . . . 218

    Clase HTMLHead . . . . . . . . . . 219Clase HTMLHeading . . . . . . . . . 220Clase HTMLHyperlink . . . . . . . . 220Clase HTMLImage . . . . . . . . . 221Clases HTMLList . . . . . . . . . . 221Clase HTMLMeta . . . . . . . . . . 224Clase HTMLParameter . . . . . . . . 225Clase HTMLServlet . . . . . . . . . 225Clases de tablas HTML . . . . . . . . 226

    Clase HTMLTableCell . . . . . . . 226Clase HTMLTableRow . . . . . . . 227Clase HTMLTableHeader . . . . . . 227Clase HTMLTableCaption . . . . . . 228

    Clase HTMLText . . . . . . . . . . 228Clases HTMLTree . . . . . . . . . . 228

    Clase HTMLTreeElement . . . . . . 229Clase FileTreeElement . . . . . . . 230Clase FileListElement. . . . . . . . 231Clase FileListRenderer . . . . . . . 231

    Clases ReportWriter . . . . . . . . . . 232Clases Context . . . . . . . . . . . 233Clase JSPReportProcessor . . . . . . . 233Clase XSLReportProcessor . . . . . . . 233

    Clases de seguridad . . . . . . . . . . 234SSL (capa de sockets segura) . . . . . . 234

    Utilizacin de SSL para cifrar datos entreIBM Toolbox para Java y los servidoresIBM i . . . . . . . . . . . . . 235

    Servicios de autenticacin . . . . . . . 236Clases de servlets . . . . . . . . . . . 238

    Clases de autenticacin . . . . . . . . 239Clase RowData . . . . . . . . . . . 240

    Clase ListRowData . . . . . . . . 240Clase RecordListRowData . . . . . . 241Clase ResourceListRowData . . . . . 241Clase QLResultSetRowData. . . . . . 242

    Clases RowMetaData . . . . . . . . . 242Clase ListMetaData . . . . . . . . 242Clase RecordFormatMetaData . . . . . 243Clase SQLResultSetMetaData . . . . . 243

    Clases conversoras . . . . . . . . . 244

    iv IBM Toolbox para Java: IBM Toolbox para Java

  • Clase StringConverter . . . . . . . 244Clase HTMLFormConverter . . . . . 244Clase HTMLTableConverter . . . . . 244

    Clases de utilidades . . . . . . . . . . 245Clases de instalacin y actualizacin encliente . . . . . . . . . . . . . . 245AS400ToolboxJarMaker . . . . . . . . 246

    Componentes soportados en IBM Toolboxpara Java . . . . . . . . . . . . 247Valores de CCSID y codificacinsoportados por IBM Toolbox para Java . . 249

    Clase CommandHelpRetriever. . . . . . 253Clase CommandPrompter . . . . . . . 254RunJavaApplication . . . . . . . . . 254JPing . . . . . . . . . . . . . . 255

    Beans de IBM Toolbox para Java . . . . . . . 256JDBC . . . . . . . . . . . . . . . . 256

    Mejoras efectuadas en el soporte JDBC de IBMToolbox para Java para IBM i 7.2 . . . . . . 256Mejoras efectuadas en el soporte JDBC de IBMToolbox para Java para IBM i 7.1 . . . . . . 257Mejoras efectuadas en el soporte JDBC de IBMToolbox para Java para IBM i 6.1 . . . . . . 261Mejoras efectuadas en el soporte JDBC de IBMToolbox para Java para IBM i 5.4 . . . . . . 265Propiedades JDBC de IBM Toolbox para Java 266

    Propiedad LibraryList de JDBC . . . . . 285Tipos SQL JDBC . . . . . . . . . . . 287

    Soporte de proxy . . . . . . . . . . . . 287Capa de Sockets Segura y Extensin de socketsseguros Java. . . . . . . . . . . . . . 293Componentes XML (Extensible Markup Language) 293

    PCML (Program Call Markup Language) . . . 293Requisitos para utilizar PCML. . . . . . 294Construir llamadas a programa IBM i conPCML . . . . . . . . . . . . . . 294Sintaxis de PCML . . . . . . . . . . 299

    Cdigo PCML program . . . . . . . 299Cdigo PCML struct . . . . . . . . 301Cdigo PCML data . . . . . . . . 307

    Record Format Markup Language . . . . . 320Requisitos para utilizar RFML . . . . . . 320Ejemplo: cmo se utiliza RFML encomparacin con el uso de las clases Recordde IBM Toolbox para Java . . . . . . . 320Clase RecordFormatDocument. . . . . . 322Documentos RFML y sintaxis RFML. . . . 323

    Definicin de tipo de documento RFML(DTD) . . . . . . . . . . . . . 323Cdigo RFML data . . . . . . . . 325Cdigo RFML rfml . . . . . . . . 329Cdigo RFML recordformat . . . . . 329Cdigo RFML struct . . . . . . . . 330

    Analizador XML y procesador XSLT. . . . . 330XPCML (Extensible Program Call MarkupLanguage) . . . . . . . . . . . . . 331

    Ventajas de XPCML respecto de PCML . . . 331Requisitos de uso de XPCML . . . . . . 332Esquema y sintaxis XPCML . . . . . . 333

    Comparacin del fuente XPCML con elfuente PCML . . . . . . . . . . 333

    Archivo xpcml.xsd de esquema . . . . 335Sintaxis de XPCML . . . . . . . . 350Atributos de cdigos XPCML . . . . . 352

    Utilizacin de XPCML . . . . . . . . 353Convertir fuente PCML existente enXPCML . . . . . . . . . . . . 353Utilizar XPCML para llamar a unprograma del servidor . . . . . . . 354Obtener los resultados de una llamada aprograma en formato de XPCML . . . . 355Pasar valores de parmetros comoXPCML . . . . . . . . . . . . 356Cmo se utiliza fuente XPCMLcondensado . . . . . . . . . . . 356Identificar errores de anlisis en XPCML 357

    Preguntas habituales (FAQ). . . . . . . . . 358Consejos para la programacin . . . . . . . 358

    Cmo concluir el programa Java . . . . . . 358Nombres de va de acceso del sistema dearchivos integrado para objetos de servidor . . 359Gestionar conexiones en programas Java . . . 361Mquina virtual Java de IBM i . . . . . . 369

    Comparacin de la mquina virtual Java deIBM i y las clases de IBM Toolbox para Java . 369Ejecutar las clases de IBM Toolbox para Javaen la mquina virtual Java de IBM i . . . . 370Establecer el nombre del sistema, el ID deusuario y la contrasea con un objeto AS400en la mquina virtual Java de IBM i . . . . 371

    Agrupacin de almacenamiento auxiliar (ASP)independiente . . . . . . . . . . . . 373Excepciones . . . . . . . . . . . . . 374Clase Trace . . . . . . . . . . . . . 375Optimizacin de IBM i . . . . . . . . . 377Mejoras en el rendimiento . . . . . . . . 379Clases de instalacin y actualizacin en cliente 381AS400ToolboxJarMaker . . . . . . . . . 381Soporte de idiomas nacionales para Java . . . 383Servicio y soporte para IBM Toolbox para Java 383

    Ejemplos de cdigo . . . . . . . . . . . 384Ejemplos: clases de acceso . . . . . . . . 384Ejemplos: JavaBeans . . . . . . . . . . 473Ejemplos: clases commtrace . . . . . . . 480Ejemplos de las clases HTML . . . . . . . 480Ejemplos: PCML (Program Call MarkupLanguage) . . . . . . . . . . . . . 504Ejemplos: clases ReportWriter . . . . . . . 513Ejemplos: RFML . . . . . . . . . . . 530Ejemplo: cmo se utiliza una credencial desmbolo de perfil para intercambiar la identidadde la hebra de IBM i . . . . . . . . . . 531Ejemplos de las clases de servlets. . . . . . 532Ejemplos simples de programacin . . . . . 560Ejemplos: consejos para la programacin . . . 574Ejemplos: clases de utilidades . . . . . . . 575Ejemplos: XPCML . . . . . . . . . . . 577

    Informacin relacionada para IBM Toolbox paraJava . . . . . . . . . . . . . . . . 588

    Avisos . . . . . . . . . . . . . . 593Informacin sobre interfaces de programacin . . 595

    Contenido v

    |||

  • Marcas registradas. . . . . . . . . . . . 595 Trminos y condiciones . . . . . . . . . . 595

    vi IBM Toolbox para Java: 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. Tambin puede ejecutar las aplicaciones Javaque utilizan las clases de IBM Toolbox para Java en la mquina 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 comunicacin 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 enva y recibe corrientes de datos a travs de unaconexin por socket.

    Nota: al utilizar los ejemplos de cdigo, acepta los trminos del Informacin sobre licencia de cdigo yexencin de responsabilidad en la pgina 590.

    Novedades de IBM i 7.2Conozca la informacin nueva o con modificaciones importantes de la coleccin de temas de IBMToolbox para Java.

    Se han realizado los siguientes cambios en IBM Toolbox para Java en IBM i 7.2:v Las clases siguientes se han aadido desde el release anterior de IBM i. Todas las clases listadas aqu

    estn en el paquete "com.ibm.as400.access," a menos que se indique lo contrario. com.ibm.as400.access.AS400JDBCTimestamp

    v Se han realizado mejoras significativas en las clases de JDBC que estn en el paquete"com.ibm.as400.access,"

    v Se ha aadido informacin sobre JTOpenLite en la pgina 20, ubicada en el paquetecom.ibm.jtopenlite. JTOpenLite permite escribir programas Java que permiten a diversos dispositivosmviles acceder directamente a datos y recursos de IBM i.

    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 tambin est disponible en una versin de fuente abierto. Puede descargar el

    cdigo y obtener ms informacin en el sitio Web de JTOpen .

    Cmo ver las novedades y los cambios realizados

    Para ayudarle a ver dnde se han realizado cambios tcnicos, el Information Center utiliza:v La imagen para marcar dnde empieza la informacin nueva o modificada.v La imagen para marcar dnde finaliza la informacin nueva o modificada.

    En los archivos PDF, aparecen barras de revisin (|) en el margen izquierdo de la informacin nueva omodificada.

    Si desea obtener otra informacin sobre las novedades o modificaciones de este release, consulte eldocumento Memorndum para los usuarios.

    Copyright IBM Corp. 1999, 2014 1

    http://www.ibm.com/systems/i/software/toolbox/

  • Archivo PDF para IBM Toolbox para JavaPuede visualizar e imprimir un archivo PDF de esta informacin.

    Para visualizar o descargar la versin en PDF de este documento, seleccione IBM Toolbox para Java.

    Puede visualizar o descargar estos archivos PDF de temas relacionados:v IBM Developer Kit para Javav Depurador de IBM i

    Otra informacin

    Tambin 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 informacin del paquete comprimido tiene enlaces con documentos que no se incluyen en elpaquete comprimido, por lo que esos enlaces no funcionarn.

    Guardar archivos PDF

    Para guardar un PDF en la estacin de trabajo con el fin de verlo o imprimirlo:1. Pulse el enlace PDF con el botn derecho del ratn en el navegador.2. Pulse la opcin 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) .

    Instalacin y gestin 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.

    Gestin de la instalacin de IBM Toolbox para JavaSolo es necesario que instale IBM Toolbox para Java en los sistemas cliente que lo utilicen o en unaubicacin 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 particin del servidor como cliente. En el segundo caso, debe instalar IBM Toolboxpara Java en la particin cliente del servidor.

    Puede utilizar cualquiera de los mtodos siguientes (solos o combinados) para instalar y gestionar IBMToolbox para Java:v Gestin individual para instalar y gestionar de forma individual IBM Toolbox para Java en cada

    clientev Gestin en red de una sola instalacin utilizando la red para instalar y gestionar una nica instalacin

    compartida de IBM Toolbox para Java en un servidor

    2 IBM Toolbox para Java: IBM Toolbox para Java

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

  • En los apartados siguientes se describe brevemente cmo afecta al rendimiento y a la facilidad de gestincada uno de los mtodos. El modo de desarrollo de las aplicaciones Java y gestin de los recursos queelija determinar cul de los mtodos (o cul de las combinaciones de mtodos) utilizar.

    Gestin 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 aplicacin que utiliza las clases de IBM Toolbox paraJava.

    La principal desventaja es la gestin individual de esas instalaciones. Un usuario o una aplicacin creadapor el usuario debe hacer un seguimiento de qu versin de IBM Toolbox para Java est instalada encada estacin de trabajo y llevar a cabo las tareas de gestin.

    Gestin en red de una sola instalacin

    Tambin 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 instalacin en red proporciona lassiguientes ventajas:v Todos los clientes utilizan la misma versin de IBM Toolbox para Javav La actualizacin de la nica instalacin 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 instalacin tambin tiene el inconveniente de aumentar el tiempo que tarda un cliente eniniciar una aplicacin 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 mtodo que le permitaacceder a los archivos del sistema, como IBM i Access para Windows.

    Instalacin de IBM Toolbox para JavaEl mtodo que utilice para instalar IBM Toolbox para Java depender de cmo desee gestionar lainstalacin. Utilice estos temas para instalar IBM Toolbox para Java.

    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 estacin 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 ejecucin.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 conexin de los clientes. La opcin

    Servidores de host IBM i se incluye con la opcin base de IBM i. Para obtener ms informacin,consulte el tema acerca de la administracin de servidores de host.

    v El soporte TCP/IP, que est integrado en IBM i, permite conectar el servidor a una red. Para obtenerms informacin, consulte TCP/IP.

    Cmo iniciar las opciones de IBM i necesarias

    En una lnea de mandatos, inicie las opciones de IBM i necesarias siguiendo estos pasos:

    IBM Toolbox para Java 3

  • 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 gestin de datos distribuidos (DDM) TCP/IP, utilice el mandato CL Iniciar

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

    Cmo 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 sesin en l.2. En el rbol de funciones (el panel izquierdo), expanda el sistema y, a continuacin, expanda

    Configuracin y servicio.3. Expanda Software y, a continuacin, expanda Productos instalados.4. En el panel Detalles (el panel derecho), consulte si se ha instalado la opcin 3 del producto 5770-SS1.

    Si ve este producto y la combinacin de opciones, IBM Toolbox para Java est instalado en el servidorseleccionado.

    Nota: tambin puede averiguar si IBM Toolbox para Java est instalado ejecutando el mandato CL Ira men (GO MENU(LICPGM)), Opcin 11.

    Si IBM Toolbox para Java no est instalado, puede instalar IBM Toolbox para Java instalando la opcin 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 lnea de mandatos a fin de comprobar el perfil QUSER, siga estos pasos:1. En una lnea de mandatos, escriba DSPUSRPRF USRPRF(QUSER) y pulse Intro.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 contrasea del perfil QUSER no puede ser *NONE. Si ese es elcaso, debe restablecerla.

    Para utilizar la lnea 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 funcin de cmo desee utilizar IBM Toolbox para Java, puede que tenga que instalar otros programasbajo licencia.

    4 IBM Toolbox para Java: IBM Toolbox para Java

  • Visor de archivos en spool

    Si desea utilizar las funciones del visor de archivos en spool (clase SpooledFileViewer) de IBM Toolboxpara Java, asegrese de que en el servidor est instalada la opcin 8 de host (Fonts de compatibilidadAFP).

    Nota: las clases SpooledFileViewer, PrintObjectPageInputStream y PrintObjectTransformedInputStreamsolo funcionan cuando se conectan a sistemas cuya versin 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 Opcin 34 de IBM i (Digital Certificate Manager)

    Para obtener ms informacin sobre SSL, consulte Capa de Sockets Segura y Extensin de socketsseguros Java en la pgina 293.

    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 ms informacin acerca de IBM HTTP Server para i,

    consulte el sitio Web de HTTP Server .

    Si desea informacin sobre el gestor de certificados digitales y sobre cmo crear certificados digitales conIBM HTTP Server y trabajar con ellos, consulte Gestin 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 ejecucin en un servidor como a la conexin desde un cliente a unservidor.

    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.2v IBM i 7.1v IBM i 6.1

    La tabla siguiente muestra los requisitos de compatibilidad para la conexin 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 versin ms reciente de IBM i. Porejemplo, si utiliza la versin de IBM Toolbox para Java que se distribuye con IBM i 6.1, no puedeconectarse a un servidor que ejecute IBM i 7.2.

    LPP Se suministra con IBM i Se conecta a IBM i

    5761-JC1 6.1 5.3 y superior

    5770-SS1 7.1 5.4 y superior

    IBM Toolbox para Java 5

    |

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

  • LPP Se suministra con IBM i Se conecta a IBM i

    5770-SS1 7.2 6.1 y posterior

    Optimizaciones nativas al llevar a cabo la ejecucin 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 esperara 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 sesin: si no se especifica ningn ID de usuario o ninguna contrasea en el objeto AS400, se

    utilizan el ID de usuario y la contrasea 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 estn en el mismo servidor.

    No es necesario efectuar ningn cambio en la aplicacin Java para obtener las optimizaciones. IBMToolbox para Java habilita automticamente 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 ms informacin, 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 estacin de trabajo para IBM Toolbox para JavaAsegrese de que la estacin 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 estacin de trabajo para ejecutar aplicaciones de IBM Toolbox para Java:

    Para desarrollar y ejecutar aplicaciones de IBM Toolbox para Java, asegrese de que la estacin de trabajocumpla los requisitos siguientes.v Se recomienda emplear una mquina virtual Java de Java 2 Standard Edition (J2SE) soportada. Son

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

    v TCP/IP instalado y configurado.

    Requisitos de estacin de trabajo para ejecutar applets de IBM Toolbox para Java:

    Para desarrollar y ejecutar aplicaciones de IBM Toolbox para Java, asegrese de que la estacin de trabajocumpla los requisitos siguientes.v Un navegador que tenga una mquina virtual Java (JVM) compatible.v TCP/IP instalado y configurado.v La estacin de trabajo debe conectarse a un servidor que ejecute IBM i 6.1 o un release ms reciente.

    6 IBM Toolbox para Java: IBM Toolbox para Java

    |||

    |

  • Instalacin de IBM Toolbox para Java en el sistemanicamente debe instalar IBM Toolbox para Java en el servidor IBM i si ha configurado como cliente elsistema o una particin del sistema.

    Antes de instalar IBM Toolbox para Java, debe asegurarse de que la versin de IBM i cumple losrequisitos para ejecutar IBM Toolbox para Java. Puede resultarle de inters determinar si IBM Toolboxpara Java ya est instalado en el servidor.

    Instalacin de IBM Toolbox para Java

    Puede instalar IBM Toolbox para Java instalando la opcin 3 de 5770-SS1. Puede utilizar System iNavigator o la lnea de mandatos.

    Utilizacin 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 sesin 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 botn derecho el sistema donde desea instalar IBM Toolbox para

    Java.4. Seleccione Ejecutar mandato.5. En el dilogo Restaurar programa bajo licencia (RSTLICPGM), escriba la siguiente informacin y, a

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

    Nota: para obtener ms informacin, pulse Ayuda en el dilogo 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 lnea de mandatos para instalar IBM Toolbox para Java

    Para instalar IBM Toolbox para Java desde una lnea de mandatos, siga estos pasos:1. En una lnea 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.

    Encontrar ms informacin sobre cmo instalar programas bajo licencia en Gestin de software yprogramas bajo licencia.

    Instalacin de IBM Toolbox para Java en la estacin de trabajoAntes de instalar IBM Toolbox para Java, compruebe que se cumplen los requisitos de estacin de trabajoque corresponden a su entorno.

    IBM Toolbox para Java 7

  • El mtodo que utilice para instalar IBM Toolbox para Java en la estacin de trabajo depender de cmodesee gestionar la instalacin:v Para instalar IBM Toolbox para Java en clientes individuales, copie los archivos JAR en la estacin de

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

    CLASSPATH de la estacin de trabajo de modo que apunte a la instalacin del servidor. Para que laCLASSPATH de la estacin de trabajo apunte al servidor, el servidor debe tener instalado IBM iNetServer.

    En esta informacin se describe cmo copiar los archivos de clase en la estacin de trabajo. Para obtenerms informacin sobre cmo establecer la CLASSPATH de la estacin de trabajo, consulte ladocumentacin del sistema operativo de la estacin de trabajo o la informacin disponible en el sitio Web

    de Sun Java .

    Nota: para utilizar las clases de IBM Toolbox para Java en la aplicacin tambin es preciso que elsistema cumpla los requisitos de IBM i.

    Los archivos de clase de IBM Toolbox para Java estn empaquetados en varios archivos JAR, por lo quedebe copiar uno o ms de estos archivos JAR en la estacin de trabajo. Para obtener ms informacinsobre qu archivos JAR son necesarios para las funciones de IBM Toolbox para Java especficas, consulteArchivos JAR.

    Ejemplo: cmo copiar jt400.jar

    En el ejemplo que figura a continuacin se supone que se desea copiar jt400.jar, que contiene las clases dencleo 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 estacin de trabajo. Para ello existen varios mtodos:

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

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

    3. Actualice la variable de entorno CLASSPATH de la estacin de trabajo.v Por ejemplo, si utiliza Windows NT y ha copiado jt400.jar en C:\jt400\lib, aada la serie siguiente

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

    Tambin tiene la opcin de utilizar la versin de fuente abierto de IBM Toolbox para Java, denominadaJTOpen. Para obtener ms informacin sobre JTOpen, consulte el sitio Web de IBM Toolbox para Java y

    JTOpen .

    Archivos JAR:

    IBM Toolbox para Java se suministra en forma de conjunto de archivos JAR. Cada uno de los archivosJAR contiene paquetes Java que proporcionan funciones especficas. 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.

    8 IBM Toolbox para Java: 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

  • El diagrama siguiente indica los archivos JAR que debe aadir a la variable CLASSPATH para utilizar lafuncin o el paquete asociado.

    Paquete o funcin 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 pgina 253 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 ms jt400Servlet.jar (cliente), ojt400Native.jar (servidor) Nota 1

    Clase HTMLDocument Los mismos archivos JAR necesarios para las clasesHTML, ms 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 ejecucin, analizado) Nota 7 jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1, Nota 8, yun analizador XML Nota 3

    PCML (ejecucin, serializado) jt400.jar (cliente) o jt400Native.jar (servidor) Nota 1, Nota 8

    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

    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 ms jt400Servlet.jar (cliente), ojt400Native.jar (servidor) Nota 1

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

    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 ms adecuado a suentorno y utilice slo ese archivo JAR en la CLASSPATH.

    Nota 2: algunas de las clases de IBM Toolbox para Java se encuentran en ms de un archivo JAR:v jt400.jar - Acceso, commtrace, JCA, soporte para JDBC, PCML, RFML, seguridad, utilidades 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. jtAccess400.zip se distribuye para mantener

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

    v jt400Native.jar - Acceso, HTML, PCML, RFML, seguridad, XPCML y optimizaciones nativas. Lasoptimizaciones nativas son un conjunto de clases (menos de 20) que aprovechan la funcin de IBM icuando se ejecuta en la JVM de IBM i. Dado que jt400Native.jar contiene las optimizaciones nativas, al

    IBM Toolbox para Java 9

  • ejecutarse en la JVM de IBM i, utilice jt400Native.jar en lugar de jt400.jar. jt400Native.jar se suministracon 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, asegrese de que es compatiblecon JAXP. Encontrar ms informacin en esta pgina:

    Analizador XML y procesador XSLT en la pgina 330

    Nota 4: al utilizar CommandPrompter o el depurador de IBM i, tambin es necesario un archivo JARadicional que no forma parte de IBM Toolbox para Java: jhall.jar. Para obtener ms informacin sobre

    cmo bajar jhall.jar, consulte el sitio Web de Sun JavaHelp .

    Nota 5: util400.jar contiene clases especficas de IBM i para dar formato a la entrada y para emplear elprograma de solicitud de lnea de mandatos. Para utilizar la clase CommandPrompter se necesitautil400.jar.

    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 dems funciones JDBC.

    Nota 7: jt400Mri_xx_yy.jar contiene mensajes traducidos, entre los que se encuentran series incluidas enmensajes de excepcin, dilogos y salida de otros procesos normales. En jt400Mri_lang_cntry.jar, lang = elcdigo de idioma ISO y cntry = el cdigo de pas o regin ISO utilizado para traducir el texto incluido.En algunos casos no se emplea el cdigo de pas o regin ISO. Al instalar una versin 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 instalacin utiliza de formapredeterminada la versin en ingls, que se incluye en los archivos JAR de IBM Toolbox para Java.v Por ejemplo, al instalar la versin del idioma alemn del programa bajo licencia 5770-SS1, se instala el

    archivo JAR del idioma alemn, jt400Mri_de.jar.

    Puede aadir soporte para otros idiomas aadiendo ms de uno de estos archivos JAR a la variableclasspath. Java carga la serie correcta segn el entorno local actual.

    Nota 8: la serializacin del archivo PCML durante el desarrollo supone dos ventajas:1. Tan solo deber analizar el archivo PCML durante el desarrollo y no durante la ejecucin.2. Los usuarios necesitarn incluir menos archivos JAR en la variable CLASSPATH para ejecutar la

    aplicacin.

    Para analizar el archivo PCML durante el desarrollo, necesitar el mdulo de ejecucin de PCML dedata.jar o jt400.jar y el analizador PCML de x4j400.jar. Para ejecutar la aplicacin serializada, los usuariossolo necesitarn jt400.jar. Para obtener ms informacin, consulte Construir llamadas a programa IBM icon PCML en la pgina 294.

    Nota 9: utilice jt400.jar y jt400Native.jar en lugar de data400.jar. data400.jar contiene las clases deejecucin PCML, que ahora tambin estn 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 ms de un archivo JAR:v composer.jarv outputwriter.jarv reportwriters.jar

    10 IBM Toolbox para Java: IBM Toolbox para Java

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

  • Si su aplicacin enva 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 ms informacin, consulte las clases ReportWriter.

    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 configuracin en tiempo de ejecucin sinnecesidad de volver a compilar el cdigo. Las propiedades del sistema funcionan como las variables deentorno en el sentido de que cuando se cambia una propiedad del sistema durante la ejecucin, por logeneral el cambio no se refleja hasta la prxima vez que se ejecuta la aplicacin.

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

    Puede establecer las propiedades del sistema de forma programtica mediante el mtodojava.lang.System.setProperties().Por ejemplo, el cdigo 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 opcin -D del mandato javaMuchos entornos permiten establecer propiedades del sistema al ejecutar aplicaciones desde una lneade mandatos mediante la opcin -D del mandato java.Por ejemplo, el programa siguiente ejecuta la aplicacin denominada Inventory con la propiedadcom.ibm.as400.access.AS400.proxyServer establecida en hqoffice:

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

    v Mediante un archivo jt400.propertiesEn algunos entornos, puede resultar poco prctico 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 lnea siguiente en el archivo jt400.properties:

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

    El carcter de barra inclinada invertida (\) funciona como carcter de escape en los archivos depropiedades. Para especificar un carcter 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 explcitamente los valores deseguridad. Sin embargo, la mayora de los navegadores s admiten propiedades en archivos .class, demodo que las propiedades del sistema de IBM Toolbox para Java tambin pueden especificarsemediante una clase denominada com.ibm.as400.access.Properties que ampla java.util.Properties.Por ejemplo, para establecer la propiedad com.ibm.as400.access.AS400.proxyServer en hqoffice,utilice el cdigo Java siguiente:

    package com.ibm.as400.access;

    public class Properties

    IBM Toolbox para Java 11

  • extends 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 ms de uno de losprocedimientos descritos anteriormente, se aplica la prioridad siguiente (por orden de prioridaddecreciente):1. La propiedad del sistema establecida programticamente mediante

    java.lang.System.setProperties()

    2. La propiedad del sistema establecida mediante la opcin -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 proxyv Propiedades de rastreo en la pgina 13v Propiedades de llamada a mandato/programa en la pgina 13v Propiedades de FTP en la pgina 13v Propiedades de conexin en la pgina 14

    Propiedades de servidor proxy

    Propiedad de servidor proxy Descripcin

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

    nombrehost:nmeropuerto

    El nmero 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 comunicacin. Utilice esta propiedadpara establecer con qu frecuencia busca lahebra si hay conexiones desocupadas.

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

    12 IBM Toolbox para Java: IBM Toolbox para Java

  • Propiedades de rastreo

    Propiedad de rastreo Descripcin

    com.ibm.as400.access.Trace.category Especifica qu categoras de rastreo deben habilitarse. Setrata de una lista delimitada por comas que contienecualquier combinacin de categoras de rastreo. La listacompleta de categoras de rastreo se define en la claseTrace.

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

    com.ibm.as400.access.ServerTrace.JDBC Especifica qu categoras de rastreo deben iniciarse en eltrabajo servidor JDBC. Para obtener informacin sobrelos valores soportados, consulte la propiedad de rastreodel servidor JDBC.

    Propiedades de llamada a mandato/programa

    Propiedad de llamada a mandato/programa Descripcin

    com.ibm.as400.access.CommandCall.threadSafe Especifica si puede suponerse que las llamadas amandato son seguras en ejecucin multihebra. Si es true,se supone que todas las llamadas a mandato son segurasen ejecucin multihebra. Si es false, se supone que todaslas llamadas a mandato no son seguras en ejecucinmultihebra. 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 ejecucin multihebra. Si estrue, se supone que todas las llamadas a programa sonseguras en ejecucin multihebra. Si es false, se suponeque todas las llamadas a programa no son seguras enejecucin 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 Descripcin

    com.ibm.as400.access.FTP.reuseSocket Especifica si el socket se reutiliza para variastransferencias de archivo (a travs 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.

    IBM Toolbox para Java 13

  • Propiedades de conexin

    Propiedad de conexin Descripcin

    com.ibm.as400.access.AS400.guiAvailable Indica si el entorno actual tiene capacidad GUI. Si estrue, puede solicitarse informacin durante el inicio desesin para mostrar las condiciones de error, solicitarinformacin adicional o solicitar un cambio decontrasea. Si es false, las condiciones de error o lainformacin que falta generarn excepciones. Lasaplicaciones que se ejecutan como aplicaciones de IBM io que desean controlar la interfaz de usuario de inicio desesin pueden ejecutarse con la modalidad de solicitudde informacin establecida en false. El valorpredeterminado es true.

    com.ibm.as400.access.AS400.mustAddLanguageLibrary Indica si los objetos AS400 deben intentar aadir 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 estn en el idiomanacional correspondiente al entorno local del cliente. Sise establece en true, los objetos AS400 intentarn aadirla biblioteca de idioma secundario a la lista de bibliotecascuando se ejecutan en el sistema. Si se establece enfalse, los objetos AS400 no intentarn aadir 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 slo 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 slo utilizarnsockets de dominio de Internet. Si se establece en false,los objetos AS400 pueden utilizar conexiones de socketde dominio UNIX adems 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 pequeasdiferencias 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 slo unperfil suministrado. Cuando el programa Java se ejecutaen el sistema, puede utilizarse la informacin del perfilde usuario con el que se ha iniciado actualmente lasesin (*CURRENT). Si el valor es true, debesuministrarse un perfil de usuario. Si es false, losobjetos AS400 recuperan la informacin del perfil deusuario actual si no se suministra un perfil de usuario. Elvalor predeterminado es false.

    14 IBM Toolbox para Java: IBM Toolbox para Java

  • Propiedad de conexin Descripcin

    com.ibm.as400.access.AS400.signonHandler Especifica el manejador de inicio de sesinpredeterminado. 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 unacomunicacin con los servidores de host. Si IBM Toolboxpara Java utiliza hebras, puede ser ventajoso para elrendimiento; la desactivacin de las hebras puede sernecesaria si la aplicacin debe ser compatible con laespecificacin de Enterprise Java Beans. El valorpredeterminado es true.

    Ejemplo: archivo de propiedadesEste ejemplo muestra las propiedades del servidor proxy, las categoras 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 almacnelo 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# nmero de puerto del servidor proxy, con el formato: nombrehost:nmeropuerto# El nmero 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 comunicacin. 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 cunto 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# comunicacin. Utilice esta propiedad para establecer cunto 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 categoras de rastreo deben habilitarse.# Se trata de una lista delimitada por comas que contiene cualquier combinacin de# categoras de rastreo. La lista completa de categoras 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

    IBM Toolbox para Java 15

  • # salida de rastreo. Por omisin 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 ejecucin multihebra. Si es true, se supone que# todas las llamadas a mandato son seguras en ejecucin multihebra. Si es false,# se supone que todas las llamadas a mandato no son seguras en ejecucin 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

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

    # Esta propiedad del sistema especifica si las llamadas a programa deben# suponerse como seguras en ejecucin multihebra. Si es true, se supone que# todas las llamadas a mandato son seguras en ejecucin multihebra. Si es false,# se supone que todas las llamadas a mandato no son seguras en ejecucin 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 travs 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 conexin ##---------------------------------------------------------#

    # Esta propiedad del sistema especifica el manejador de# inicio de sesin 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 aadirse la# biblioteca de idioma secundario correspondiente a la lista de bibliotecas,# cuando se ejecuta en el sistema. De forma predeterminada, la biblioteca no se aade.

    16 IBM Toolbox para Java: IBM Toolbox para Java

  • # 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 estn disponibles,# y sockets de elusin.# 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# 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 estn 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 explcita 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 sesin 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 comunicacin 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 */

    IBM Toolbox para Java 17

  • /*---------------------------------------------------------*/

    // Esta propiedad del sistema especifica el nombre de host y el// nmero de puerto del servidor proxy, con el formato: nombrehost:nmeropuerto// El nmero 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 comunicacin. 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 cunto 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// comunicacin. Utilice esta propiedad para establecer cunto 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 categoras de rastreo deben habilitarse.// Se trata de una lista delimitada por comas que contiene cualquier combinacin de// categoras de rastreo. La lista completa de categoras 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 omisin 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 ejecucin multihebra. Si es true, se supone que// todas las llamadas a mandato son seguras en ejecucin multihebra. Si es false,// se supone que todas las llamadas a programa no son seguras en ejecucin 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 ejecucin multihebra. Si es true, se supone que// todas las llamadas a mandato son seguras en ejecucin multihebra. Si es false,// se supone que todas las llamadas a programa no son seguras en ejecucin 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 */

    18 IBM Toolbox para Java: IBM Toolbox para Java

  • /*---------------------------------------------------------*/

    // Esta propiedad del sistema especifica si se reutiliza el socket// para varias transferencias de archivo (a travs 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 conexin *//*---------------------------------------------------------*/

    // Esta propiedad del sistema especifica el manejador de// inicio de sesin predeterminado.// 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 aadirse la// biblioteca de idioma secundario correspondiente a la lista de bibliotecas,// cuando se ejecuta en el sistema. De forma predeterminada, la biblioteca no se aade.// 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 estn disponibles,// y sockets de elusin.// 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 estn 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 explcita 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 sesin 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");

    IBM Toolbox para Java 19

  • // 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 comunicacin 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");

    }}

    JTOpenLiteEl paquete JTOpenLite (com.ibm.jtopenlite) permite escribir programas Java que permiten a diversosdispositivos mviles acceder directamente a datos y recursos de IBM i. Aunque JTOpenLite se consideraparte de IBM Toolbox para Java, no se incluye en el producto bajo licencia. El archivo jar de JTOpenLite(jtopenlite.jar) se incluye en la versin de fuente abierto de IBM Toolbox para Java, denominada JTOpen.Debe bajar y configurar por separado JTOpenLite, que est contenido en JTOpen.

    Iniciacin a JTOpenLite

    Puede bajar JTOpenLite del sitio web de IBM Toolbox for Java/JTOpen. El sitio web tambin ofreceinformacin adicional sobre la configuracin de JTOpenLite.Informacin relacionada:

    Sitio web de IBM Toolbox for Java/JTOpen

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

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

    Clases de accesoLas clases de acceso de IBM Toolbox para Java representan datos y recursos de IBM i.Informacin relacionada:Javadoc de clases EventLogPermite anotar excepciones y mensajes con independencia del dispositivo utilizado para visualizarlos.Resumen de paquetes de acceso

    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 instalacin de IBM i Access para Windows no es un requisito parala utilizacin 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 enva y recibe corrientes de datos a travs de una conexin por socket.

    Figura 1: Puntos de acceso de servidor

    20 IBM Toolbox para Java: IBM Toolbox para Java

    |

    |||||

    |

    ||

    |

    |

    http://jt400.sourceforge.net/javadoc/com/ibm/as400/access/EventLog.htmljavadoc/com/ibm/as400/access/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 sesin para el servidor, incluido lapresentacin al usuario de la solicitud de informacin de inicio de sesin, la colocacin de contraseas enmemoria cach y la gestin 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 contraseas cuando seejecuta en la mquina virtual Java de IBM i. Para obtener ms informacin, consulte Mquina virtualJava de IBM i en la pgina 369.

    Los objetos AS400 ahora soportan la autenticacin de Kerberos, utilizando la interfaz de programacin deaplicaciones Java Generic Security Service (API JGSS) para autenticar en el servidor, en lugar de utilizarun ID de usuario y una contrasea.

    IBM Toolbox para Java 21

  • Nota: para utilizar los tickets de kerberos debe configurarse la interfaz de programacin de aplicacionesJava Generic Security Services (JGSS). Para obtener ms informacin sobre JGSS, consulte la

    Documentacin de seguridad de Java .

    Consulte la seccin Gestionar conexiones para obtener informacin acerca de cmo se gestionan lasconexiones con el servidor mediante el objeto AS400. En el Javadoc AS400ConnectionPool encontrarinformacin acerca de cmo reducir el tiempo de conexin inicial solicitando conexiones desde unaagrupacin de conexiones.

    La clase AS400 proporciona las siguientes funciones de inicio de sesin:v Autenticar el perfil de usuariov Obtener una credencial de smbolo de perfil y autenticar el perfil de usuario asociadov Establecer una credencial de smbolo de perfilv Gestionar identificadores de usuario predeterminadosv Colocar contraseas en la memoria cachv Solicitar ID de usuariov Cambiar una contraseav Obtener la versin y el release del sistema operativo

    Para obtener informacin acerca de cmo utilizar un objeto AS400 al enviar o recibir datos cifrados,consulte la clase SecureAS400.Informacin relacionada:Javadoc AS400ConnectionPoolJavadoc AS400

    Gestin de identificadores de usuario predeterminado:

    Si desea minimizar el nmero de veces que un usuario debe iniciar la sesin, utilice un ID de usuariopredeterminado. El programa Java utiliza el ID de usuario predeterminado si no se suministra ningn 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 dilogo Iniciode sesin permite al usuario establecer el ID de usuario predeterminado.

    Una vez establecido el ID de usuario predeterminado para un servidor determinado, el dilogo Inicio desesin no permite realizar cambios en el mismo. Cuando se construye un objeto AS400, el programa Javapuede suministrar el ID de usuario y la contrasea. 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 explcitamente setUseDefaultUser(). EnResumen de solicitudes, ID de usuario predeterminado y colocacin de contraseas en memoria cachencontrar ms informacin.

    El objeto AS400 tiene mtodos para obtener, establecer y eliminar el ID de usuario predeterminado. Elprograma Java tambin puede inhabilitar el proceso de ID de usuario predeterminado mediante elmtodo setUseDefaultUser(). Si el proceso de ID de usuario predeterminado est inhabilitado y laaplicacin Java no suministra ningn ID de usuario, el objeto AS400 solicita el ID de usuario cada vezque se establece una conexin con el servidor.

    Todos los objetos AS400 que representan el mismo servidor IBM i dentro de una mquina 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 sesin, marc el recuadro "ID de usuario predeterminado", cuando se establezca lasegunda conexin no se presentar al usuario ninguna solicitud para que escriba un ID de usuario.

    22 IBM Toolbox para Java: IBM Toolbox para Java

    http://docs.oracle.com/javase/7/docs/technotes/guides/security/javadoc/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 conexin con el servicio de llamada a mandato.// Se solicita al usuario el ID de usuario y la contrasea.sys1.connectService(AS400.COMMAND);

    // Inicie otra conexin con el servicio de llamada a mandato.// No se solicita informacin al usuario.sys2.connectService(AS400.COMMAND);

    La informacin de ID de usuario predeterminado se eliminar cuando el colector de basura haya recogidoel ltimo objeto AS400 correspondiente al servidor.

    Utilizacin de una memoria cach de contraseas:

    La memoria cach de contraseas permite a IBM Toolbox para Java guardar informacin de contrasea yde ID de usuario para que no se solicite al usuario dicha informacin cada vez que se establezca unaconexin.

    Los mtodos proporcionados por el objeto AS400 permiten realizar estas tareas:v Borrar la memoria cach de contraseas e inhabilitarlav Minimizar el nmero de veces que el usuario debe escribir informacin de inicio de sesin

    La memoria cach de contraseas es aplicable a todos los objetos AS400 que representan un sistema IBM identro de una mquina virtual Java. Java no permite a las mquinas virtuales compartir informacinentre s, por lo que una contrasea colocada en la memoria cach en una mquina virtual Java no esvisible para otra mquina virtual. La memoria cach quedar descartada en cuanto el colector de basurahaya recogido el ltimo objeto AS400. El dilogo Inicio de sesin dispone de un recuadro de seleccinque ofrece al usuario la opcin de guardar la contrasea en la memoria cach. Cuando se construye unobjeto AS400, el programa Java tiene la opcin de suministrar el ID de usuario y la contrasea. Lascontraseas suministradas en los constructores no se almacenan en la memoria cach.

    El objeto AS400 proporciona mtodos para borrar la memoria cach de contraseas e inhabilitar lamemoria cach de contraseas. En la seccin Resumen de solicitudes, ID de usuario predeterminado ycolocacin de contraseas en la memoria cach encontrar ms informacin.

    Solicitud de identificadores de usuario y contraseas:

    Si se utiliza la clase AS400, la solicitud de ID de usuario y contrasea puede presentarse cuando seestablece la conexin con el servidor. La solicitud puede quedar desactivada por el programa Java.

    Los programas Java pueden desactivar la solicitud de ID de usuario y contrasea as como las ventanasde mensajes visualizadas por el objeto AS400. Ello puede ser necesario, por ejemplo, cuando unaaplicacin se est ejecutando en una pasarela en nombre de muchos clientes. Si las solicitudes y losmensajes se visualizan en la mquina pasarela, el usuario no puede interactuar con las solicitudes. Lasaplicaciones de este tipo pueden desactivar toda presentacin de solicitudes utilizando el mtodosetGuiAvailable() en el objeto AS400.

    En Resumen de solicitudes, ID de usuario predeterminado y colocacin de contraseas en memoria cachencontrar ms informacin.

    IBM Toolbox para Java 23

    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

  • Resumen de solicitudes, ID de usuario predeterminado y colocacin de contraseas en memoriacach:

    Los programas Java pueden controlar en qu momento se presenta la solicitud de ID de usuario ycundo entra en juego la colocacin de contraseas en la memoria cach. La informacin del dilogoInicio de sesin permite establecer el ID de usuario predeterminado y poner la contrasea en la memoriacach. La tabla que figura a continuacin es un resumen de cundo se presentan las solicitudes, quinformacin se recupera y cul es la informacin que se establece.

    En esta tabla se presupone que el programa Java permite el proceso de ID de usuario predeterminado yla colocacin de contraseas en la memoria cach, y que se ha marcado el recuadro ID de usuariopredeterminado y el recuadro Guardar contrasea en el dilogo Inicio de sesin.

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

    Sistemaproporcionado enel constructor

    ID de usuarioproporcionado enel constructor

    Contraseaproporcionada enel constructor

    Se estableceusuariopredeterminado

    Contrasea enmemoria cachpara ID deusuario

    Resultado deutilizar valoresmarcados

    Se solicita alusuario el nombredel sistema, el IDde usuario y lacontrasea. El IDde usuariopredeterminadose establece y lacontrasea sepone en memoriacach.

    S Se solicita alusuario el ID deusuario y lacontrasea. Elnombre delsistema sevisualiza, pero nopuede cambiarse.El ID de usuariopredeterminadose establece y lacontrasea sepone en memoriacach.

    24 IBM Toolbox para Java: IBM Toolbox para Java

  • Sistemaproporcionado enel constructor

    ID de usuarioproporcionado enel constructor

    Contraseaproporcionada enel constructor

    Se estableceusuariopredeterminado

    Contrasea enmemoria cachpara ID deusuario

    Resultado deutilizar valoresmarcados

    S S Se solicita alusuario lacontrasea. El IDde usuario sevisualiza y puedecambiarse. Elnombre delsistema sevisualiza, pero nopuede cambiarse.El ID de usuariopredeterminadono cambia. Lacontrasea sepone en memoriacach.

    S S S No se presentaninguna solicitud.El ID de usuariopredeterminadono cambia. Lacontrasea no sepone en memoriacach.

    S Se solicita alusuario el nombredel sistema y lacontrasea. El IDde usuario sevisualiza y puedecambiarse.Cambiar el ID deusuario nomodifica el ID deusuariopredeterminado.La contrasea sepone en memoriacach.

    S S Se solicita lacontrasea del IDde usuariopredeterminado.El ID de usuariose visualiza ypuede cambiarse.El nombre delsistema sevisualiza, pero nopuede cambiarse.La contrasea sepone en memoriacach.

    IBM Toolbox para Java 25

  • Sistemaproporcionado enel constructor

    ID de usuarioproporcionado enel constructor

    Contraseaproporcionada enel constructor

    Se estableceusuariopredeterminado

    Contrasea enmemoria cachpara ID deusuario

    Resultado deutilizar valoresmarcados

    S S S No se presentaninguna solicitud.La conexin serealiza utilizandoel ID de usuariopredeterminado yla contrasea dela memoria cach.

    S S S No se presentaninguna solicitud.La conexin serealiza como elusuarioespecificado,utilizando lacontrasea de lamemoria cach.

    S S S S No se presentaninguna solicitud.La conexin serealiza como elusuarioespecificado,utilizando lacontrasea de lamemoria cach.

    S S S S No se presentaninguna solicitud.La conexin 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 contrasea de usuario) seenvan 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 conexin 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 conexin segura.

    Encontrar ms informacin en el tema acerca de Capa de Sockets Segura y Extensin de sockets segurosJava.

    La clase SecureAS400 es una subclase de la AS400.

    Puede configurar una conexin de servidor segura creando una instancia de un objeto SecureAS400 delos modos siguientes:v SecureAS400(String systemName, String userID) le solicita informacin de inicio de sesin

    26 IBM Toolbox para Java: IBM Toolbox para Java

  • v SecureAS400(String systemName, String userID, String password) no le solicita informacin de iniciode sesin

    A continuacin figura un ejemplo de cmo se utiliza CommandCall para enviar mandatos al servidorutilizando una conexin segura:

    // Cree un objeto AS400 seguro. Esta sentencia es la nica que cambia// en relacin 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 conexin segura al// ejecutarse el mandato. Toda la informacin pasada entre el// cliente y el servidor est cifrada.cmd.run();

    Informacin relacionada:Javadoc SecureAS400Javadoc AS400

    Clase AS400JPingLa clase AS400JPing de IBM Toolbox para Java permite al programa Java consultar los servidores de hostpara ver qu servicios estn en ejecucin y qu puertos estn en servicio.

    Para consultar los servidores desde una lnea de mandatos, utilice la clase JPing.

    La clase AS400JPing proporciona varios mtodos:v Realizar un ping del servidorv Realizar un ping de un servicio especfico en el servidorv Establecer un objeto PrintWriter en el que desea anotar la informacin de la