viernes, 11 de julio de 2008

Lunes 14 Julio

Actualización a Eclipse Ganymede
http://www.eclipse.org/downloads/

Help>software updates> incluir y/o seleccionar las siguientes direcciones
MAVEN
http://m2eclipse.codehaus.org/update
TestNG
http://beust.com/eclipse
Subclipse
http://subclipse.tigris.org/update_1.4.x

Instalar Plugin JBoss Tools
http://downloads.sourceforge.net/jboss/JBossTools-2.1.2.GA-ALL-win32.zip
Este paquete de plugins se instala de la siguiente forma:
  • descomprimimos el .zip
  • copiamos los plugins dentro de la carpeta plugins del nuevo eclipse
  • copiamos las features dentro de la carpeta features del nuevo eclipse

JSF Java Server Faces

link a foro

Proyecto base: eticom-jsf
link a foro




jueves, 10 de julio de 2008

Viernes 11 Julio

... SpringFramework diseño en capas - Inyección de dependencias
Ejercicio de creación de daos y servicios e inyección en Controlador de las entidades: autor, editorial.
link a foro con ejemplo de libros
en repo se ha duplicado el proyecto para evitar solapamientos:eticom-libreria-web-continuacion


Tipos de beans en SpringFramework
ejercicio carrito de compra link a foro
Statefull vs Stateless


Objetivos del master para el cv:
Objetivos del master

martes, 8 de julio de 2008

Jueves 10 Julio

intro a Spring ...
link a foro


IoC-Inversion of Control ó DI-Dependency Inyection
link a foro


ejercicio de aplicación de Inyección de Dependencias a nuestro proyecto
refactorización de controlador y apoyo en servicios y daos
en eticom-spring-libreria



Miercoles 9 Julio

Seguimos con Spring MVC...

Ejercicio3:

Desde la pantalla ("autores.html") que vemos los autores vamos a añadir una nueva columna para que nos muestre solamente los libros del autor seleccionado en la pantalla "librosDeAutor.html". Para ello vamos a enviar en el enlace el id del autor correspondiente sobre el que queremos realizar la consulta o filtrado de datos. Es decir el enlace tendría la forma: "librosDeAutor.html?id=3" para ver los libros del autor con id=3

En este enlace se explican los pasos para desarrollar la funcionalidad anterior:
enlace a tutorial de esto en foro

Ejercicio 4:
Conseguir las pantallas siguientes mandando el id correspondiente...
  • editorialesDeLibro.html
  • librosDeEditorial.html
  • librosDeAutor.html
  • capitulosDeLibro.html (esta pantalla es la que se hace en el tutorial anterior)
  • librosDeUsuario.html

Ejercicio 5:
Formulario de busqueda de libros por titulo tutorial en foro
Formulario de busqueda de autores por nombre
Formulario de busqueda de editoriales por nombre
Formulario de busqueda de libros por nombre de autor




domingo, 6 de julio de 2008

Martes 8 Julio

sobre MVC
Struts (Partes integrantes):
archivos de configuración xmls, librerías de etiquetas tlds, componentes (actionsForms, Actions) validadores, conversores, plugins...


sobre eticom-libreria-spring

Esta aplicación web utiliza un framework de integración de herramientas llamado Appfuse que intenta proporcionar al desarrollador un esqueleto de aplicación muy completo. Entre las características de la aplicación eticom-libreria-spring:http://code.google.com/p/eticom-master-java/source/browse/trunk/eticom-libreria-spring
  • filtro decorator: sitemesh. Configurable en web.xml, src/main/webapp/WEB-INF/decorators.xml, decoratos/default.xml
  • Hojas de estilo. CSS intercambiables. En plantilla web podemos cambiar el CSS cambiando una sola linea href="${ctx}/styles/deliciouslyblue/theme.css" por href="${ctx}/styles/deliciouslygreen/theme.css". Esto funcionará siempre que estandaricemos los estilos
  • Hibernate con XMLs, al arrancar la aplicación intentará arrancar Hibernate teniendo en cuenta los siguientes archivos: src/main/resources/jdbc.properties, src/main/webapp/WEB-INF/applicationContext-hibernate.xml, src/main/resources/import.sql
  • i18n: Internacionalización. A través de la etiqueta fmt:message y carga de traducciones en src/main/webapp/WEB-INF/dispatcher-servlet.xml
  • Spring MVC: enlace a foro. Esta librería resuelve el patrón Modelo Vista Controlador utilizando Anotaciones y archivos de configuración en XML




Ejercicio:
listado de editoriales, usuarios, autores, capítulos siguiendo esquema de lista de libros.




Ejercicio2:
navegar por las entidades para la representación de valores en las tablas

viernes, 4 de julio de 2008

Lunes 7 Julio

sobre MAVEN
estructura de directorios estandar, directorio de construcción, versión package.
http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html


sobre Hibernate
configuración de mapeo en xmls foro cea
http://groups.google.com/group/eticom-master-java/web/hibernate-sin-anotaciones

Ejercicio: completar los mapeos y comprobar en una prueba que la información que insertamos en el import.sql se corresponde con la que nos devuelve Hibernate utilizando para las consultas objetos de HQL -> Criteria, Expression.


Ejercicio: lo mismo pero en proyecto maven nuevo llamado libreria con modelo de Libreria: Editorial, Libro, Autor, Capitulo

Doc Hibernate:
http://www.hibernate.org/hib_docs/v3/reference/en/html/

Doc Hibernate Anotaciones:
http://www.hibernate.org/hib_docs/annotations/reference/en/html/




jueves, 3 de julio de 2008

Viernes 4 Julio

Sitemesh
  • configuración en web.xml, decorators.xml y librerias de etiquetas de sitemesh dentro del layout y de los jsps


Ejercicio a desarrollar con Struts 1
Definición de ejercicio(posibilidad de trabajar en grupo a través de un mismo repositorio en Subversión y que cada integrante vaya resolviendo diferentes partes de la funcionalidad...):
utilizar en eticom-club-struts-basico para resolver las funcionalidades que se listan a continuación tres tipos de peticiones: de tipo jsp, de tipo Struts y de tipo Servlet (MVC) . Es decir nuestro programa responderá peticiones de tipo http://localhost:8080/mipagina.jsp, http://localhost:8080/loquesea.do y http://localhost:8080/MiServlet . Siguiendo siempre el patrón MVC, es decir un controlador creará y llenará el modelo, mientras que una vista(jsp) accederá al módelo (en el caso de que exista o sea necesario) para su representación.
  • Pantalla de envío de mails a la dirección adecuada, con el asunto adecuado y el contenido
  • Pantalla de envío correcto si no han aparecido excepciones en el envío
  • Antes de enviar el mensaje comprobar que el campo destinatario, es decir el mail contiene una "@" y un dominio ".loquesea". En caso de que no sea valido el destinatario presentar los errores en pantalla
  • Pantalla de envío incorrecto en caso de que hayan excepciones en el envío del mensaje (ej:EticomMailException....)

... todavía por definir en el ejercicio (No continuar hasta aviso!) ....
  • Incluir Disco a colección de cliente, validación de que todavía no exista
  • Pantalla de selección de entrada del blog a detallar
  • Pantalla de detalle de la entrada seleccionada
  • ...



... algunas cosas de Struts2 sobre el proyecto eticom-struts2-servlet, disponible en repositorio o siguiendo las primeras instrucciones del foro http://groups.google.com/group/eticom-master-java/web/struts

  • web.xml:3 Filter, 1 ServletContextListener, 1 servlet con mapping y 1 servlet sin mapping pero con load-on-startup, struts ya no responde a *.do
  • xwork2:

    XWork is an command-pattern framework that is used to power Struts 2 as well as other applications. XWork provides an Inversion of Control container, a powerful expression language, data type conversion, validation, and pluggable configuration.

  • dwr: es una librería de código abierto escrita en Java que permite escribir
    aplicaciones web con Ajax. Manual en español
    DWR esta formado por dos partes:
    • Un Servlet corriendo en el servidor que procesa las peticiones y envía las
    respuestas de retorno al navegador.
    • JavaScript corriendo en el navegador que envía peticiones y puede actualizar
    dinámicamente el contenido de las páginas.
  • carga de struts.xml como archivo de configuración de struts y lo situamos en src/main/resources y desde el web.xml se cargan dichos archivos "de otra forma"...
  • struts procesará todas las peticiones *.action, y esta configuración se indica en el archivo src/main/resources/struts.properties en la propiedad struts.action.extension=action
  • IoC o ID a través de Spring o XWork
  • struts.xml las acciones y sus configuraciones se aplican a paquetes...
  • Las Acciones heredan de com.opensymphony.xwork2.ActionSupport
  • Uso de anotaciones en las acciones para definir la validación y la conversión de valores
  • Uso de metodos getter/setter para acceso desde el jsp a los valores correspondientes de la Accion


... otras muchas cosas de Struts2 sobre el proyecto eticom-appfuse-struts2-servlet, disponible en repositorio o siguiendo las segundas instrucciones del foro http://groups.google.com/group/eticom-master-java/web/struts

  • en el archivo web.xml: context-params relacionados con i18n y la configuración del contexto, y filtros...
  • Utiliza Hibernate en la persistencia
  • DBUnit para resetear la base de datos. Base de datos controlada al iniciar la aplicación utilizando la herramienta DBUnit "hija" de JUnit
  • más info en : http://appfuse.org/display/APF/Using+Struts+2

¿Waffle? otro FrameWork de desarrollo J2EE que sigue el patrón MVC...