lunes, 31 de marzo de 2008

Servidores

Hoy mi profe ha estado hablando un poco sobre los servidores.
He cogido estos apuntes que ya ire desarrollando,de momento dejo esto:

  • Servidores web-->apache(genera paginas html)
  • Servidor web+contenedor servidor de servlet-->tomca y jettyt
  • SWeb+servidor contenedor servlet+servidor contenedor de aplicaciones-->jboss,glassfish

Proyectos con JBoss y Seam-gen.ERROR al ejecutar

Me ha ocurrido un error mientras ejecutaba mi proyecto,debido a que ejecute las tareas deploy y explode.
Para ello explico como solucionar este error:

El archivo buil.xml tiene dos tareas:
  1. Una de desarrollo(explode)-->que te crea un directorio ear
  2. Una de produccion(deploy)-->que te crea el archivo.ear

Si ejecutamos explode y luego deploy puede darnos un error IOException puesto que estas dos tareas son incompatible,o ejecutas la tarea en modo desarrollo o en modo produccion.

Para solventar este error,hay que para el servidor,hacer un undeploy y unexplode. Y luego ejecutar la aplicacion con una sola de estas tareas.

miércoles, 26 de marzo de 2008

Direcciones de las inyecciones de dependencia con JSF

Los bean se pueden almacenar de 3 formas distintas:


  1. application(mayor ámbito).
  2. session.(2 de mayor ámbito)
  3. request.(es el de menor ámbito)

Hay que tener encuenta que JSF no deja que un bean de menor ámbito se inyecte en un bean de mayor ámbito.

Y tambien para inyectar beans estos deben estar creados.

Pero si se puede inyectar bean de mismo ambitos.

lunes, 24 de marzo de 2008

JavaBeans Vs. EJB’s

Me he liado un poco al ver estas dos cosas porque me ha parecido en un principo que eran casi lo mismo.
He buscado información y he encontrado que no tiene nada que ver uno con lo otro,salvo que los dos son modelos de componentes dentro de una arquitectura JAVA, es decir , elementos de software reusables, codificados en JAVA, y ensamblados luego como bloques para construir aplicaciones.
Veamos sus diferencias:
  • JavaBeans--> define los componentes de arquitectura para la plataforma J2SE (Java 2 Standard Edition).
  • EJB's--> define los componentes de arquitectura para la plataforma J2EE (Java 2 Enterprise Edition).
  • JavaBeans--> se basan el en package java.beans, que esta dentro del JDK.
  • EJB's-->se basan en el package javax.ejb, que pertenece a la extension J2EE.
  • JavaBeans-->son componentes INTRAPROCESO que viven dentro de un espacio de direcciones único, y que, típicamente, se utilizan para manejar aspectos de la interfaz gráfica de usuario, botones, tablas, viewers HTML, etc.
  • EJB's-->son componentes INTERPROCESO, que viven en espacios de direcciones múltiples, como objetos distribuidos.Estos componentes son usados como objetos de negocio en aplicaciones transaccionales, y accedidos en forma remota.Se ejecutan dentro de un container. En cierta forma, los EJB’s se parecen más a los Servlets, que a los JavaBeans.
  • JavaBeans-->son componentes de escritorio.
  • ENB's-->son componentes de Servidores.
Para más información seguid este enlace: http://www.teknoda.com.ar/tips/java/tipja07.pdf

La palabra singleton

Esta palabra quiere decir que de cada bean se crea un sola instancia por cada aplicacion.

Para crear singleton:
*Declaramos una varible con del tipo de la clase poniendole el atributo static
private static ProvinciasUtil singleton;

*ponemos el constructor privado para que no se pueda instanciar la clase.
private ProvinciasUtil() {}

*y nos creamos un método get para ponder acceder a la varible singleton creada.
public static ProvinciasUtil getInstance() {
if(singleton==null) {
singleton = new ProvinciasUtil();
iniciarProvincias();
}
return singleton;
}

SEAM - GEN

Es un framework que facilita el desarrollo con el JB3.Y estandariza la vista JSF y en el modelo los EJB.
Con esta herramienta tenemos varias opciones:
  • setup: Sirve para configurar el proyecto. Te pregunta entre otras cosas el directorio de instalación de JBoss, si quieres desplegar un archivo war (sin EJBs) o un ear (con EJBs), el nombre del paquete donde irán las clases, y parámetros de la conexión con la base de datos.
  • new-project: Crea un proyecto para eclipse con todas las dependencias y la configuración básica a partir de los datos proporcionados a través del setup.
  • update-project: Actualiza el proyecto con las últimas dependencias.
  • delete-project: borra el proyecto
  • deploy: Despliega el proyecto y el datasource en JBoss
  • undeploy: Replega el proyecto y el datasource.
  • explode: Desplega el proyecto y el datasource en JBoss como una estructura de ficheros, sin empaquetar.
  • restart: Resetea el proyectodesplegado con ”explode”
  • unexplode: Replega el proyecto y el datasource desplegado con ”explode”
  • new-action: Crea un nuevo Stateless Session Bean con su correspondiente interface y sus anotaciones.
  • new-form: Crea un nuevo Stateful Session Bean con su correspondiente interface y sus anotaciones.
  • new-conversation: Crea un nuevo Stateful Session Bean con su correspondiente interface y sus anotaciones. Añade anotaciones y esqueletos de métodos para trabajar con Tasks. También crea una clase de Test que puede usarse para simular el ciclo de petición/respuesta de JSF.
  • new-entity: Crea un nuevo Entity Bean con sus anotaciones.
  • generate-entities: Genera Entity Beans a partir de un modelo existente en la base de datos

viernes, 14 de marzo de 2008

¿Qué son los JSP?

Los Jsp son en realidad servlets.
Cuando se compila un Jsp se crea una clase java que se ejecuta en el servidor como los servlets.
Hay una diferencia entre los Jsp y los servlets y es en el enfoque de la programacion,un JSP es una página Web con etiquetas especiales y código Java incrustado, mientras que un servlet es un programa que recibe peticiones y genera a partir de ellas una página web