Requerimientos Para trabajar con Java

Requerimientos de hardware

Para utilizar las aplicaciones generadas, es necesario tener un mínimo de 32MB de RAM, recomendándose que se tengan 48MB o más.

 

Para compilar las aplicaciones, en caso de utilizar el SDK de Microsoft, se necesita un mínimo de 32MB de RAM. Para utilizar el JDK de Sun es necesario un mínimo de 48MB.

 

El procesador en principio no es tan crítico como la memoria RAM, pero se recomienda utilizar al menos un Pentium de 133 para compilar/ejecutar las aplicaciones.

 

Requerimientos de SOFTWARE

Para trabajar con el Generador Java es necesario cierto software adicional para la compilación y ejecución de las aplicaciones generadas. A continuación se describen los mismos eEn el Anexo I de este documento se puede encontrar las direcciones en Internet (URL’s) de dónde poder obtenerlos.

 

Browsers (Navegadores)

No es necesario tener ningún navegador para utilizar el generador Java,.  Sin embargo, se recomienda tener ambos para probar el correcto funcionamiento de la aplicación como applet.

 

La ejecución en Netscape se realizará utilizando el Java Plug-In, por lo que es necesario disponer de este software.

En Internet Explorer no es necesario ningún software adicioanl.

 

Java Development Kit  -  Compilador y Máquina Virtual

Para la compilación y ejecución de los programas es necesario tener el JDK 1.1.8 de Sun, el SDK 3.1 de Microsoft, el JDK 1.1.7B de IBM o posteriores.

 

No es necesario tener todos los development kits, aunque es recomendable. Ademas existe un compilador desarrollado por IBM: JIKES. El mismo es el que se recomienda utilizar ya que es más rápido que el compilador del JDK de Sun, y logra compilar algunos objetos GeneXus que no pueden compilarse con el compilador del SDK de Microsoft, dado que este último cancela. Se han detectado estos problemas solo en  llamadas a procedimientos con muchos parámetros (mas de 60).

 

En cuanto a las versiones se recomienda en general utilizar las últimas liberadas de cada uno de ellos. En caso de que alguna version sea menos estable que su version anterior, se avisara.

 

JDK de Sun

Para instalar el JDK de Sun, bajar la versión para Win32 del JDK del web site de Sun (ver Anexo I).

 

Para la instalación simplemente ejecutar EXE que se haya bajado y seguir las instrucciones.

 

SDK de Microsoft

Hay dos formas de bajar el SDK de Microsoft, con un SDK Setup Wizard, que baja e instala los componentes automáticamente, o bajar los ejecutables para luego instalarlos (ver Anexo I). Esta ultima opción es la que se recomienda, dado que luego puede instalarse en otros equipos, o reinstalarse en el mismo equipo.

 

 

Es necesario bajar los siguientes archivos:

 

         Microsoft SDK for Java

         Microsoft virtual machine for Java

 

Se debe instalar primero el SDK y luego la virtual machine.

 

Se recomienda tener la última versión liberada para el correcto funcionamiento de las aplicaciones generadas.. Es imprescindible la versión 5.0.0.3177 o posterior para usar las funciones de interfaz con Office (ver Anexo I).

 

Compilador Jikes de IBM

Para instalar el compilador Jikes de IBM, bajar el archivo jikeswin.exe para Windows 95/NT del web site indicado en el Anexo I

 

Para la instalación simplemente ejecutar este EXE, el cual solicita el directorio en el cual se quiere dejar el compilador (jikes.exe) y documentación (jikes.htm y license.htm). Por ejemplo se puede dejar en un directorio c:\jikes

 

Para poder utilizar este compilador es necesario que esté instalada alguna versión del JDK  de Sun, dado que requiere de sus bibliotecas de clases.

 

Drivers JDBC

El generador GeneXus Java solamente genera aplicaciones Cliente/Servidor, por lo que es necesario contar con alguno de los DBMS  soportados por GeneXus (en cualquiera de sus generadores Client/Server), que son los siguientes:  DB2/400, DB2/Common Servers, Informix, Oracle y SQL Server. Se puede usar adicionalmente el ‘Microsoft Data Engine’.

 

Dependiendo del DBMS y del tipo de acceso a la base de datos que se utilizará, puede ser necesario obtener uno u otro tipo de driver JDBC para el acceso al mismo.Existen 4 tipos de driver JDBC:

 

Tipo 1: el bridge JDBC-ODBC provee acceso al JDBC a través de la mayoría de los drivers ODBC. Notar que el código binario de algunos ODBC, y en muchos casos el código del cliente de la base de datos, debe ser cargado en la máquina de cada cliente que use el driver.  Tiene como ventaja importante que se pueden utilizar los drivers ODBC existentes, pero la desventaja de que hay que instalarlos en cada máquina. De todos modos, si se opta por una arquitectura de 3 capas, donde el acceso a la base de datos no se hace en el cliente sino en el servidor de aplicaciones, puede ser una alternativa viable. Las implementaciones actuales de estos drivers no son muy fiables, por lo que no se recomienda su utilización en ambientes de producción.

 

Tipo 2: el driver native-API partly-Java convierte llamadas JDBC en llamadas en el API del cliente Oracle, Sybase, Informix, DB2, o cualquier otro DBMS. Notar que, igual que el bridge driver, este tipo de driver requiere que se cargue código binario en la máquina de cada cliente. En teoría sería el tipo de driver con mejor performance.

 

Tipo 3: el driver net-protocol all-Java traduce llamadas JDBC en un protocolo de red independiente del DBMS que es luego traducido por el server a un protocolo del DBMS. Este middleware de red del servidor es capaz de conectar todos los clientes Java a diferentes bases de datos. El protocolo específico usado depende del proveedor. Para su utilización hay que instalar en un servidor un software que atiende las llamadas de los programas Java, y las traduce a una llamada nativa al DBMS. Si se instala este servidor en el mismo host donde ejecuta el web server, permite que los applets, que no pueden conectarse con otro host que no sea del que provienen, puedan conectarse a un DBMS que no esté en el web server.

 

Tipo 4: el driver native-protocol all-Java convierte llamadas JDBC directamente en el protocolo de red usado por el DBMS. Esto permite llamadas directas desde la maquina del cliente al servidor del DBMS y es una solución practica para el acceso a Intranets. Dado que muchos de estos protocolos son propietarios, los proveedores de bases de datos son la principal fuente de este tipo de driver.

 

Notas de Instalación

A continuación veremos como se instalan algunos drivers JDBC.

Para configurar estos drivers, muchas veces es necesario conocer el port tcp-ip en el que la base de datos está escuchando los requerimientos. En Windows NT, esta información se puede obtener en el archivo c:\winnt\system32\drivers\etc\services.

 

Existe una página en Internet donde se puede consultar  una lista de drivers JDBC disponibles, (ver en Anexo I)

 

Informix Thin Driver

Es un driver de tipo 4. No necesita una configuración especial en el cliente. Hay una versión para JDK 1.1.x y superiores, y otra solo para JDK 1.2.x.

 

 

El producto se distribuye en un archivo llamado setup.class. Es necesario ejecutar este archivo con un intérprete Java, por ejemplo:

 

java setup

 

Se presentara un wizard de instalación. Entre las cosas que pide:

         Serial nbr = INF#J123456

         Key = ABCDEF

         Directorio destino = <cualquiera>, por ejemplo c:\jdbc\informix

 

Luego de instalado, en el directorio LIB habrá un archivo ifxjdbc.jar que debe agregarse al CLASSPATH.         java setup

 

Oracle Thin Driver

Es un driver de tipo 4. No necesita una configuración especial en el cliente. La instalación consiste en descomprimir el’.zip’ (el nombre de este archivo puede variar con su versión) en cualquier directorio que sea accesible desde Genexus (por ej: c:\jdbc\oracle). Luego de la instalación debe quedar un archivo classes111.zip.

 

 

La versión 7.3.4 del driver, que es la primera que se ha liberado sin el carácter de Beta, tiene un problema que causa que si en GeneXus se graba un valor con el NullValue de un campo Date, luego si se quiere recuperar el dato preguntando por campo = nullvalue(campo) no lo recupera. Esto es porque no es capaz de almacenar la fecha 01.01.0001 que es la que GeneXus utiliza como NullValue del Date. Esto no ocurre si se usan los drivers SequeLink de Intersolv para Oracle.

 

AS/400 JDBC Native Driver

Es un driver de tipo 2 que debe usarse para acceder a DB2/400 desde código que se ejecuta en el AS/400.

 

El driver está incluido en el soporte para Java del AS/400 por lo que no es necesario agregar nada en el CLASSPATH.

AS/400 Toolbox for Java

Es un driver de tipo 4, se debe usar si se quiere acceder a DB2 desde equipos no AS/400. No necesita una configuración especial en el cliente. La instalación consiste en descomprimir el’.zip’ (el nombre de este archivo puede variar con su versión) en cualquier directorio que sea accesible desde Genexus (por ej: c:\jdbc\astoolbox). Luego de la instalación debe quedar un archivo llamado “jt400.jar” o “jt400.zip” que se debe poner en el CLASSPATH.

 

Para poder utilizar el AS/400 Toolbox for Java, es necesario tener instalados algunos PTFs. La lista de PTFs necesarios está publicada en una página de IBM(ver la referencia en Anexo I).

 

Sqlserver I-net Software

Este proveedor fabrica drivers de tipo 4 para SQL Server. Actualmente proveen un driver compatible con JDBC 1.x y otro compatible con JDBC 2.x. Se recomienda utilizar el compatible con JDBC 1.x

 

 

No necesita una configuración especial en el cliente. La instalación consiste en copiar el’.zip’ (el nombre de este archivo puede variar con su versión) en cualquier directorio que sea accesible desde Genexus (por ej: c:\jdbc\sqlserver). El mismo se debe poner en el CLASSPATH.

 

Weblogic jdbcKona

Este proveedor fabrica drivers de tipo 2 y tipo 4. Se han probado los de tipo 4.

 

 

La versión 3.11 de este driver para Informix tiene el mismo problema que el driver thin de Oracle para manejar los nullValues en las fechas de Genexus. Funciona bien si se usa el jdbc-odbc bridge con un driver ODBC de Informix.

 

La instalación consiste en  descomprimir el archivo .zip que se distribuye para SQL Server. Se obtiene  una estructura de directorios como la siguiente:

 

         weblogic – mssqlserver4 – classes  - weblogic

                                                 connect

                                                 utils

    com

                                    - examples

 

En el classpath debe indicarse el directorio weblogic\mssqlserver4\classes, o sea, debe indicarse el directorio que tiene los subdirectorios weblogic, connect, utils y com.

 

Para Informix es análogo, con la diferencia que el directorio de segundo nivel no se llama “mssqlserver4” sino “informix4”.

 

Merant DataDirect SequeLink Java Edition

Es un driver de tipo 3, se ha probado con éxito para SQLServer, Oracle y DB2.

 

Como en todos los drivers de tipo 3, el producto consta de dos partes, una que debe instalarse en el cliente, y otra en el servidor.  Al bajar el producto, se obtienen dos archivos, uno llamado “setup.class” que que es el correspondiente al cliente, y otro llamado “slkntsrv.zip” si se elige bajar el servidor para NT. Al bajar la parte del cliente hay dos opciones, una con “weak encryption” y otra con “strong encryption”. Se recomienda bajar la primera, a no ser que realmente sea necesario utilizar la segunda. Adicionalmente, si se desea bajar la versión con “strong encryption” hay que obtener una contraseña de activación de un distribuidor de Merant.

 

Para instalar las clases en el cliente, hay que ejecutar un intérprete de Java y pasarle como parámetro el archivo “setup.class”. Por ejemplo, si se tiene instalada la máquina virtual de Microsoft, hay que ejecutar “jview setup”. Si se tiene instalada la máquina virtual de Sun, hay que ejecutar “java setup”. Esto iniciará un programa de instalación en el que debe ingresarse una “password” que se obtiene en la misma página web en la que se baja el software. Una vez instalado el software, en el subdirectorio driver\classes del directorio de instalación habrá un archivo “slje.jar”, que hay que incluir en el classpath (en el del cliente si se ejecuta en 2 capas, o en el del servidor de aplicaciones si se ejecuta en 3 capas).

 

Para instalar las clases del servidor, ejecutar el programa de instalación y seguir las instrucciones. Debe ser instalado en el servidor donde está el DBMS que se desea acceder.

 

Drivers DB2 de IBM

 

IBM provee drivers de tipo 2 y de tipo 4. Ambos se encuentran en un archivo llamado db2java.zip que está en el subdirectorio Java del directorio donde se instaló el cliente o servidor DB2 (en general, el directorio se llama SQLLIB).

 

Para utilizar el de tipo 4, en general es necesario levantar un proceso en el servidor que escuche los requerimientos de este driver. En Unix el proceso se levanta con el comando:

 

db2jstrt <puerto>

 

por ejemplo

 

db2jstrt 50006

 

Luego, en la configuración del driver de tipo 4 en GeneXus, se debe poner este número de puerto-

 

Otros

 

 

Configuración TCP/IP del SQL Server

Para utilizar SQL Server desde Java debe configurarse el SQL Server de modo de que acepte conexiones TCP/IP.

 

Para habilitar el protocolo TCP/P se deben seguir los siguientes pasos:

 

Microsoft SQL Server 6.5:

En el grupo de programas de SQL Server, ejecutar “SQL Setup”.

En los dos primeros diálogos presionar el botón “Continue”.

En el tercer diálogo, seleccionar “Change Network Support”.

Seleccionar la opción “TCP/IP” y presionar el botón “Ok”

En el siguiente dialogo ingresar el port TCP/IP en que quiere que el SQL Server reciba las llamadas (el valor por defecto es 1433).

 

Microsoft SQL Server 7.0:

 

En el grupo de programas de SQL Server, ejecutar “SQL Server Network Utility”.

En la hoja de propiedades “General” presionar el botón “Add”

Seleccionar la opción “TCP/IP“ que está debajo de “Network libraries”

Ingresar el port TCP/IP

 

Para asegurarse de que el servidor está escuchando en un servidor/puerto específico, ejecutar:

 

telnet <servidor o dirección ip> <número de port>

 

Si la conexión es denegada, entonces el servidor o el puerto son incorrectos.

 

 


 

Anexo I – Software necesario

Browsers (Navegadores)

Microsoft Internet Explorer

http://www.microsoft.com/ie/download/

Netscape

http://www.netscape.com

 

Virtual Machine

Microsoft

http://www.microsoft.com/java/download/msjav86.exe

 

Java Development Kits

Sun SDK (Windows o Solaris)

http://java.sun.com/j2se/1.3/download-windows.html

Microsoft SDK   (Windows)

http://www.microsoft.com/java/download.htm

Otras plataformas

http://java.sun.com/cgi-bin/java-ports.cgi

Compilador JIKES de IBM

http://www.alphaworks.ibm.com/tech/jikes

IBM JDK 1.1 para Windows

http://www.ibm.com/java/jdk/118/

 

Drivers JDBC

Oracle JDBC drivers

http://technet.oracle.com/software/index.htm

Merant DataDirect SequeLink Java Edition 5.0

http://www.merant.com/products/datadirect/

http://www.merant.com/datadirect/download/eval/index.asp

Weblogic jdbcKona

http://www.weblogic.com/download/downloadkona.html

i-net software (I-net UNA)

http://www.inetsoftware.de/English/Produkte/JDBC_Overview/default.htm

Informix JDBC Driver

http://www.intraware.com/app/shop?page=product&plne=000148&prevpage=searchresults&search=jdbc+driver&name=Informix+JDBC+Driver&name=Informix+JDBC+Driver

AS/400 Toolbox for Java (and JTOpen)

http://www.as400.ibm.com/toolbox/downloads.htm

Lista PTFs necesarios en AS/400 para trabajar con AS/400 Toolbox for Java

http://www.as400.ibm.com/toolbox/hostServicePackDetail.htm

Lista de Drivers JDBC disponibles

http://java.sun.com/products/jdbc/jdbc.drivers.html

 

Soporte para CORBA

Inprise Visibroker 4.0

http://www.borland.com/visibroker/download/

 

Solo es necesario si se desean ejecutar las aplicaciones con CORBA.

Soporte para RMI

Clases Microsoft

ftp://ftp.microsoft.com/developr/msdn/unsup-ed/rmi.zip

Patch de IBM que permite utilizar RMI desde el Internet Explorer

http://www.alphaworks.ibm.com/formula/RMI

 

Java Foundation Classes (JFC)

JFC 1.1 con Swing 1.1.1

http://www.javasoft.com/products/jfc/index.html

 

Web panels

 

JavaServer Web Development Kit (tomcat)

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

JRun

http://www.allaire.com/Download/index.cfm

Lista de motores de Servlets existentes

http://java.sun.com/products/servlet/runners.html

http://www.servlets.com/resources/urls/engines.html

 

Utilitarios

Netscape SignTool

http://developer.netscape.com/software/signedobj/jarpack.html#signtool1.1

 

LDAP

-JNDI (Java Naming and Directory Interface)

-LDAP Provider para JNDI

http://java.sun.com/products/jndi. (versiones mayores que 1.2)