Mostrando las entradas con la etiqueta GlassFish. Mostrar todas las entradas
Mostrando las entradas con la etiqueta GlassFish. Mostrar todas las entradas

21 de octubre de 2011

¿GlassFish con Java 7? Todavía no, según Oracle

Actualización: Ahora sé que había un bug en la JVM HotSpot de Java 7.

Alguien quería poner en producción un servidor GlassFish 3.1.1 usando Java 7. Sin embargo, se sorprendió al saber que Java 7 todavía no está disponible para los usuarios finales. En el sitio sitio oficial Java.com aparece el siguiente texto: 
¿Por qué no está todavía disponible Java SE 7 en java.com/es?

La nueva versión de Java estará disponible en primer lugar para los desarrolladores a fin de garantizar que no existen problemas importantes. Posteriormente, la descarga de la versión más reciente estará disponible para los usuarios finales en el sitio web www.java.com/es.

Novedades de Java SE 7. Oracle Corporation. (Archivado el 2011-10-21 por WebCite® en http://www.webcitation.org/62bsWw6lP)
Me llama la atención la frase "a fin de garantizar que no existen problemas importantes". Es decir que, a pesar de que la comunidad que desarrolla GlassFish liberó la versión 3.1.1 específicamente para poder usar Java 7, Oracle considera que éste último todavía no está listo.

Espero te sirvan los siguientes libros (lista automática):

7 de abril de 2011

Cookies de sesión con el mismo nombre y mismo servidor GlassFish 2.1

¿Ocurre un error cuando se utilizan dos cookies de sesión que tienen el mismo nombre y provienen del mismo servidor? La respuesta es: depende. No ocurrirá error si tienen diferente ruta (path).

20 de febrero de 2011

Tutorial: Cómo acceder Sybase desde PHP en Java EE, usando GlassFish y Quercus

Image of Duke and PHP togetherEn mi tutorial anterior, ejecuté PHP en Java EE usando GlassFish y Quercus. Hoy, accedí una base de datos Sybase ASE desde PHP en un servidor Java EE.
  1. Instalé Sybase.
    1. Descargué e instalé la versión de desarrollo de Sybase Adaptive Server Enterprise 15.5 (enlace directo). La instalación me tomó bastante tiempo.
    2. Inicié la base de datos: inicié el servicio de Windows llamado Sybase SQLServer.
    3. Verifiqué la conexión a Sybase. En la línea de comandos de Windows, ejecuté:
      %SYBASE%\%SYBASE_OCS%\bin\isql -Usa -P
      Estando en el prompt de isql, ejecuté:
      select @@version
      go

      (A propósito, el usuario administrador es sa e inicialmente no tiene contraseña).
  2. Creé una base de prueba.
    1. En el prompt de isql, ejecuté:
      create database base_prueba
      go

    2. Creé su database owner:
      sp_addlogin dbo_base_prueba, password
      use base_prueba
      sp_changedbowner dbo_base_prueba
      sp_modifylogin dbo_base_prueba, defdb, base_prueba
      go
      exit
  3. Creé una tabla de prueba.
    1. Me conecté como dbo:
      %SYBASE%\%SYBASE_OCS%\bin\isql -Udbo_base_prueba -Ppassword
    2. Creé la tabla:
      create table Tabla1 (valor int)
      insert into Tabla1 values (12345)
      go
  4. Creé el DataSource en GlassFish.
    • Copié el driver JDBC de Sybase: copié el archivo Sybase\jConnect-6_0\classes\jconn3.jar al directorio glassfish\domains\domain1\lib\ext, y reinicié GlassFish.
    • Creé el connection pool, especificando la clase del driver como com.sybase.jdbc3.jdbc.SybDataSource.
    • Creé el DataSource y como nombre JNDI escribí jdbc/base.
  5. Creé una aplicación para ejecutar PHP en Java EE.
    • Usando mi tutorial anterior, creé una aplicación llamada HolaSybasePHP:
      • HolaSybasePHP.war
        • hola.php
        • WEB-INF
          • web.xml
          • lib
            • resin.jar
  6. Especifiqué el DataSource en la aplicación.
    • Agregué las siguientes líneas antes del tag final del archivo web.xml de mi aplicación:
      <resource-ref>
        <res-ref-name>jdbc/base</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
  7. Modifiqué la página PHP.
    • Usé PDO (portable database object) de PHP 5:
      <p>Hola Sybase desde PHP.</p>
      <?php
      $pdo = new PDO("java:comp/env/jdbc/base");
      echo "<table border=1>"
      $sql = "SELECT valor FROM Tabla1";
      foreach ($pdo->query($sql) as $renglon) {
         echo "<tr><td>$renglon[valor]</td></tr>";
      }
      echo "</table>"
      ?>
  8. Finalmente, accedí http://localhost:8080/HolaSybasePHP/hola.php:
Una imagen del navegador de Internet mostrando en su interior Hola Sybase desde PHP 12345

Libros que espero te sean útiles (lista automática):

10 de febrero de 2011

Tutorial: Cómo ejecutar PHP en Java EE usando GlassFish y Quercus

Image of Duke and PHP togetherHoy ejecuté una página PHP en un servidor de aplicaciones Java EE llamado GlassFish. Esto es posible usando un intérprete llamado Quercus, que es una implementación 100% Java de PHP 5 liberada bajo la licencia Open Source GPL.
  1. Instalé Java.
    Tengo Java 6 (1.6.0_18-b07).
  2. Instalé GlassFish.
    Para ello, existe documentación de ayuda. Instalé GlassFish 2.1 (2.1-b60) para Windows.
  3. Descargé Quercus y lo descomprimí.
    Descargué el archivo .war de Quercus 4.0.11 de la página de Quercus. También hurgé en el contenido. ☺
  4. Creé una aplicación web.
    Simplemente, creé la siguiente estructura de directorio:
    • HolaMundoPHP.war
      • WEB-INF
        • lib
  5. Copié la biblioteca de Quercus.
    Copié el archivo resin.jar del directorio WEB-INF/lib del WAR de Quercus a mi aplicación Web:
    • HolaMundoPHP.war
      • WEB-INF
        • lib
          • resin.jar
  6. Creé el archivo web.xml
    Creé el archivo web.xml de mi aplicación Web, indicando que el Servlet de Quercus atendiera las peticiones a las páginas PHP:

    <?xml version="1.0" encoding="UTF-8"?>
     <web-app xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     version="2.5">
     <description>Tutorial para ejecutar PHP en Java EE usando GlassFish y Quercus</description>
      <servlet>
       <servlet-name>QuercusServlet</servlet-name>
       <servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class>
      </servlet>
     <servlet-mapping>
      <servlet-name>QuercusServlet</servlet-name>
      <url-pattern>*.php</url-pattern>
     </servlet-mapping>
    </web-app>
    Lo coloqué en el directorio WEB-INF de mi aplicación Web:
    • HolaMundoPHP.war
      • WEB-INF
        • web.xml
        • lib
          • resin.jar
  7. Creé un archivo PHP.
    El ejemplo clásico, ahora en PHP, llamado hola.php:
    <?php
    echo "Hola mundo PHP";
    ?>
    Lo coloqué en mi aplicación Web, en donde normalmente se colocan los archivos JSP:
    • HolaMundoPHP.war
      • hola.php
      • WEB-INF
        • web.xml
        • lib
          • resin.jar
  8. Inicié GlassFish.
    Mediante el comando asadmin start-domain.
  9. Instalé mi aplicación usando autodeploy
    Copié el directorio de mi aplicación (HolaMundoPHP.war) al área de autodeploy del dominio de GlassFish. En mi caso, lo copie en glassfish\domains\domain1\autodeploy:
    • glassfish
      • domains
        • domain1
          • autodeploy
            • HolaMundoPHP.war
  10. Accedí mi aplicación Web.
    Accedí http://localhost:8080/HolaMundoPHP/hola.php y voliá.

Imagen del navegador con el texto Hola mundo PHP

Libros que espero te sean útiles (lista automática):