jueves, 12 de junio de 2008

Conversation y Long running conversation

Hay que distiguir entre estos dos conceptos:
  • Conversation-->es una unidad de trabajo desde el punto de vista del usuario. Tal vez abarcan varias interacciones con el usuario, varias solicitudes, varios de bases de datos y transacciones. Pero para el usuario, una conversación resuelve un solo problema.
    Una conversación tiene estado asociado con "lo que el usuario está haciendo ahora, en esta ventana". Un único usuario puede tener múltiples conversaciones en curso en cualquier momento, por lo general en múltiples ventanas. La conversación contexto nos permite asegurar que el estado de las diferentes conversaciones no chocar y provocar errores.
  • Long-running conversation-->unicamente la 2ª mantiene el estado entre diferentes peticiones a lo largo de la realización de la tarea (task).
Link interesante:
http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/doc/seam/Seam_Reference_Guide/index.html

CSS estilos de la web

Un link con las propiedades CSS ordenadas alfabéticamente:

http://www.blooberry.com/indexdot/css/propindex/all.htm

Microformatos

Es una forma de marcar contenido en las webs. Usas un XHTML concreto, con unos "class" concretos, etc. Con eso permites que aplicaciones externas, o incluso tu propia aplicación, pueda extraer información de tu XHTML simplemente parseandolo.

Puedes marcar, por ejemplo, datos de contacto.

La aplicación parsea ese XHTML, y puede extraer, por ejemplo, el nombre de la persona, su e-Mail, su teléfono, etc. Porque está marcado siguiendo una especificación.

Gracias Juan por la explicación.

Link interesante:
Microformatos

miércoles, 11 de junio de 2008

@RaiseEvent Seam,@Observer

@RaiseEvent-->Inicia un evento en tiempo de ejecución o declara el código que se debe ejecutar al iniciar un evento.

  • anotacion para observar un evento @Observer("nombreEvento")
  • anotación para lanzar un evento @RaiseEvent("nombreEvento")
Por ejemplo:
Tenemos un método:

@RaiseEvent("nuevaEmpProductora")
public String actionNew(){
//código
}

Yen la misma clase o en otra clase de la aplicación ponemos :

@Observer("nuevaEmpProductora")
public String completarCampos(){
//código
}

El @Observer esta esperando que se lance un evento con el nombre que el tiene y lo ejecuta automaticamente.

@In y @Out Seam

@In
es para inyectar componentes de la aplicación en el componente actual.
La anotación @In puede recibir valores:
  • create=true/false que indica si se crea el componente en caso de que no exista (o lo que es lo mismo en caso de que Seam no lo haya creado en una petición anterior),.
  • required=true/false indicando si el componente debe estar creado con anterioridad, en caso de que no exista la aplicación ha fallado y debería lanzarse una excepción.
  • y los relacionados con el scope y el value que son el ámbito y el nombre del componente.

@Out
es para "outyectar" componentes, o dicho de otra forma inyectar hacia fuera y de ahí el término biyección que utiliza Seam.
La anotación @Out puede recibir valores:
  • required=true/false.
  • scope=relacionado con el ámbito.
  • value=relaciona con el nombre del contexto

lunes, 2 de junio de 2008

Web Services

Los web services son un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones.

Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos.

Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares.

Desplegar un war en un Tomcat

Una vez creado el war nos vamos a la carpeta target del pryecto y copiamos el war que se generó en la carpeta webapp del tomcat.
El tomcat cuando arranca y ver un war,lo despliega y crea su carpeta correspondiente.
Miramos en la carpeta conf/Catalina/localhost del tomcat creamos un archivo xml con el mismo nombre que el de la aplicación y copiamos alli el context que viene en el server.xml de nuestra aplicación.

Ya podemos lanzar nuestro tomcat con la aplicación.

Nos vamos o desde consola o desde modo gráfico a la carpeta bin del tomcat y ejecutamos startup.bat en windows o startup.sh en linux.