ebook img

Aprende OpenXava con ejemplos PDF

44 Pages·2011·0.62 MB·Spanish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Aprende OpenXava con ejemplos

Aprende OpenXava con ejemplos EDICIÓN 1.1 LITE © 2011 Javier Paniza iii Sobre el libro El propósito de este libro es enseñarte a desarrollar aplicaciones Java Web de gestión usando OpenXava y otras tecnologías, herramientas y marcos de trabajo relacionados. El camino para conseguir este objetivo va a ser desarrollar una aplicación desde cero, paso a paso, hasta obtener una aplicación de gestión completamente funcional. ¿Por qué un libro sobre OpenXava? Ya tenemos un montón de documentación gratuita. Sí, es cierto. De hecho, durante algún tiempo yo mismo pensaba que la documentación oficial de OpenXava, que es bastante exhaustiva y siempre está actualiza, era suficiente para aprender OpenXava. Sin embargo, algunos miembros de las comunidad OpenXava me pedían un libro, y esto hizo que empezara a pensar que lo de escribir un libro no era tan mala idea al fin y al cabo. La documentación de OpenXava describe con precisión toda la sintaxis de OpenXava junto con su semántica. Sin duda, es una herramienta esencial que permite conocer todos los secretos de OpenXava. Pero, si eres principiante en el mundo Java Enterprise puede ser que necesites algo más que una documentación de referencia. Querrás tener mucho código de ejemplo y también aprender las demás tecnologías necesarias para crear una aplicación final. En este libro aprenderás, no solo OpenXava, sino también JPA, Eclipse, PostgreSQL, JUnit, HtmlUnit, Hibernate Validator framework, Liferay, etc. Y lo más importante, vas a aprender técnicas para resolver casos comunes y avanzados a los que te enfrentarás al desarrollar aplicaciones de gestión. No dudes en contactar conmigo para darme tu opinión y sugerencias sobre el libro. Hazlo en [email protected]. Gracias especiales para Emiliano Torres, César Llave Llerena y Gerardo Gómez Caminero por sus correcciones. iv Contenido Capítulo 1: Arquitectura y filosofía 1 1.1 Los conceptos 2 Desarrollo Dirigido por el Modelo Ligero 2 Componente de Negocio 3 1.2 Arquitectura de la aplicación 6 Perspectiva del desarrollador de aplicaciones 6 Perspectiva del usuario 7 Estructura del proyecto 8 1.3 Flexibilidad 9 Editores 9 Vista personalizada 10 1.4 Resumen 10 Capítulo 2: Java Persistence API 12 2.1 Anotaciones JPA 13 Entidad 13 Propiedades 14 Referencias 16 Clases incrustables 17 Colecciones 18 2.2 API JPA 20 2.3 Resumen 22 Capítulo 3: Anotaciones 23 3.1 Validación 24 Validación declarativa 24 Validaciones predefinidas 24 Validación propia 26 Aprende más sobre validaciones 27 3.2 Interfaz de usuario 28 La interfaz de usuario por defecto 28 La anotación @View 29 Refinando la presentación de los miembros 30 Aprende más acerca de la interfaz de usuario 33 3.3 Otras anotaciones 34 3.4 Resumen 34 v Capítulo 4: Empezando con Eclipse y PostgreSQL 36 4.1 Nuestro objetivo: Una pequeña aplicación de facturación 37 4.2 Instalar PostgreSQL 37 4.3 Crear el proyecto en Eclipse 39 Instalar OpenXava 40 Crear el proyecto 40 Configurar Tomcat dentro de Eclipse 42 Crear tu primera entidad 44 4.4 Preparar la base de datos 46 Configurar persistence.xml 46 Actualizar esquema 47 4.5 Ejecutar la aplicación 49 4.6 Modificar la aplicación 50 4.7 Acceder a la base de dato desde Eclipse 51 4.8 Resumen 54 Capítulo 5: Modelar con Java 55 5.1 Modelo básico del dominio 56 Referencia (ManyToOne) como lista de descripciones (combo) 56 Estereotipos 58 Embeddable 59 Clave compuesta 61 Calcular valores por defecto 63 Referencias convencionales (ManyToOne) 65 Colección de entidades dependientes (ManyToOne con cascade) 66 5.2 Refinar la interfaz de usuario 68 Interfaz de usuario por defecto 69 Usar @View para definir la disposición 70 Usar @ReferenceView para refinar la interfaz de referencias 70 Refinar la introducción de elementos de colección 71 La interfaz de usuario refinada 73 5.3 Desarrollo ágil 74 5.4 Resumen 77 Capítulo 6: Pruebas automáticas 79 6.1 JUnit 80 6.2 ModuleTestBase para probar módulos 80 El código para la prueba 80 Ejecutar las pruebas desde Eclipse 82 vi 6.3 Añadir el controlador JDBC al path de Java 84 6.4 Crear datos de prueba usando JPA 85 Los métodos setUp() y tearDown() 85 Crear datos con JPA 86 Borrar datos con JPA 88 Filtrar datos desde modo lista en una prueba 88 Usar instancias de entidad dentro de una prueba 89 6.5 Usar datos ya existentes para probar 90 6.6 Probar colecciones 91 Dividir la prueba en varios métodos 91 Verificar valores por defecto 93 Entrada de datos 94 Verificar los datos 95 6.7 Suite 96 6.8 Resumen 97 Capítulo 7: Herencia 99 7.1 Heredar de una superclase mapeada 100 7.2 Herencia de entidades 102 Nueva entidad Order 102 CommercialDocument como entidad abstracta 103 Invoice refactorizada para usar herencia 104 Crear Order usando herencia 105 Convención de nombres y herencia 106 Asociar Order con Invoice 106 7.3 Herencia de vistas 107 El atributo extendsView 107 Vista para Invoice usando herencia 108 Vista para Order usando herencia 110 Usar @ReferenceView y @CollectionView para refinar vistas 111 7.4 Herencia en las pruebas JUnit 113 Crear una prueba de módulo abstracta 113 Prueba base abstracta para crear pruebas de módulo concretas 115 Añadir nuevas pruebas a las pruebas de módulo extendidas 115 7.5 Resumen 117 Capítulo 8: Lógica de negocio básica 119 8.1 Propiedades calculadas 120 Propiedad calculada simple 120 Usar @DefaultValueCalculator 121 vii Propiedades calculadas dependientes de una colección 124 Valor por defecto desde un archivo de propiedades 126 8.2 Métodos de retrollamada JPA 128 Cálculo de valor por defecto multiusuario 128 Sincronizar propiedades persistentes y calculadas 130 8.3 Lógica desde la base de datos (@Formula) 132 8.4 Pruebas JUnit 134 Modificar la prueba existente 134 Verificar valores por defecto y propiedades calculadas 136 Sincronización entre propiedad persistente y calculada / @Formula 137 8.5 Resumen 139 Capítulo 9: Validación avanzada 141 9.1 Alternativas de validación 142 Añadir la propiedad delivered a Order 142 Validar con @EntityValidator 143 Validar con métodos de retrollamada JPA 144 Validar en el setter 145 Validar con Hibernate Validator 146 Validar al borrar con @RemoveValidator 146 Validar al borrar con un método de retrollamada JPA 148 ¿Cuál es la mejor forma de validar? 148 9.2 Crear tu propia anotación de Hibernate Validator 149 Usar un Hibernate Validator en tu entidad 149 Definir tu propia anotación ISBN 150 Usar Apache Commons Validator para implementar la lógica 150 Llamar a un servicio web REST para validar el ISBN 152 Añadir atributos a tu anotación 154 9.3 Pruebas JUnit 155 Probar la validación al añadir a una colección 155 Probar validación al asignar una referencia y al borrar 157 Probar el Hibernate Validator propio 158 9.4 Resumen 159 Capítulo 10: Refinar el comportamiento predefinido 161 10.1 Acciones personalizadas 162 Controlador Typical 162 Refinar el controlador para un módulo 164 Escribir tu propia acción 165 10.2 Acciones genéricas 168 viii Código genérico con MapFacade 168 Cambiar el controlador por defecto para todos los módulos 170 Volvamos un momento al modelo 171 Metadatos para un código más genérico 173 Acciones encadenadas 174 Refinar la acción de búsqueda por defecto 175 10.3 Modo lista 179 Filtrar datos tabulares 180 Acciones de lista 180 10.4 Reutilizar el código de las acciones 183 Propiedades para crear acciones reutilizables 183 Módulos personalizados 184 Varias definiciones de datos tabulares por entidad 185 Obsesión por reutilizar 186 10.5 Pruebas JUnit 187 Probar el comportamiento personalizado para borrar 187 Probar varios módulos en el mismo método de prueba 188 10.6 Resumen 191 Capítulo 11: Comportamiento y lógica de negocio 193 11.1 Lógica de negocio desde el modo detalle 194 Crear una acción para ejecutar lógica personalizada 195 Escribiendo la lógica de negocio real en la entidad 196 Escribe menos código usando Apache Commons BeanUtils 197 Copiar una colección de entidad a entidad 198 Excepciones de aplicación 199 Validar desde la acción 200 Evento OnChange para ocultar/mostrar una acción por código 202 11.2 Lógica de negocio desde el modo lista 205 Acción de lista con lógica propia 205 Lógica de negocio en el modelo sobre varias entidades 207 11.3 Cambiar de módulo 209 Uso de IChangeModuleAction 210 Módulo de solo detalle 211 Volviendo al módulo que llamó 212 Objeto de sesión global y acción on-init 213 11.4 Pruebas JUnit 216 Probar la acción de modo detalle 216 Buscar una entidad para la prueba usando el modo lista y JPA 218 Probar que la acción se oculta cuando no aplica 219 ix Probar la acción de modo lista 220 Verificar datos de prueba 221 Probar casos excepcionales 222 11.5 Resumen 223 Capítulo 12: Referencias y colecciones 225 12.1 Refinar el comportamiento de las referencias 226 Las validaciones están bien, pero no son suficientes 226 Modificar los datos tabulares por defecto ayuda 227 Refinar la acción para buscar una referencia con una lista 228 Buscar la referencia tecleando en los campos 230 Refinar la acción para buscar cuando se teclea la clave 231 12.2 Refinar el comportamiento de las colecciones 234 Modificar los datos tabulares ayuda 234 Refinar la lista para añadir elementos a la colección 235 Refinar la acción que añade elementos a la colección 237 12.3 Pruebas JUnit 240 Adaptar OrderTest 240 Probar @SearchAction 241 Probar @OnChangeSearch 242 Adaptar InvoiceTest 243 Probar @NewAction 244 Probar la acción para añadir elementos a la colección 247 12.4 Resumen 249 Capítulo 13: Seguridad y navegación con Liferay 251 13.1 Introducción a los portales Java 252 13.2 Instalar Liferay 253 13.3 Desplegar nuestra aplicación en Liferay 254 13.4 Navegación 256 Añadir las páginas para la aplicación y sus módulos 256 Llenar una página vacía con un Portlet 258 Añadir un menú de navegación 258 Copiar una página 259 Dos módulos en la misma página 260 Usar el CMS 262 13.5 Gestión de usuarios 264 Roles 264 Usuarios 265 13.6 Niveles de acceso 267 x Limitar el acceso a toda la aplicación 267 Limitar el acceso a módulos individuales 268 Limitar funcionalidad 269 Limitar la visibilidad de los datos en modo lista 270 Limitar la visibilidad de los datos en modo detalle 272 13.7 Pruebas JUnit 274 13.8 Resumen 276 Apéndice A: Código fuente 277 Apéndice B: Aprender más 325

Description:
actualiza, era suficiente para aprender OpenXava. Sin embargo, algunos En este libro aprenderás, no solo OpenXava, sino también JPA, Eclipse,.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.