Este documento explica la gestión de propiedades de aplicación y de internacionalización en UDA a través de Spring. Se detallan dos formas de declarar y acceder a las propiedades: mediante anotaciones de forma programática o a través de XML de forma declarativa. También se especifican las ubicaciones y objetos utilizados para gestionar las propiedades a nivel de EAR y WAR. Finalmente, se ofrece un ejemplo de cómo consumir propiedades desde clases de utilidades propias.
Este documento proporciona una introducción al acceso a datos extremo con ASP.NET. Explica conceptos como el databinding, las fuentes de datos declarativas y programáticas, y cómo usar controles como GridView, DetailsView, Repeater y DataList para mostrar datos vinculados. También incluye ejemplos de cómo cargar datos desde diferentes orígenes como arreglos, lectores de datos y tablas de base de datos.
System.Data.SqlClient define clases para conectarse a bases de datos SQL Server, ejecutar comandos y leer resultados. Incluye clases como SqlConnection y SqlCommand. El espacio de nombres permite interactuar directamente con SQL Server de forma optimizada.
Este documento presenta una introducción a los servicios web y Java. Explica los fundamentos de XML y su estructura, así como las diferentes formas de validar documentos XML como DTD y esquemas XML. También resume los contenidos del documento, incluyendo conceptos como el modelo SOA, lenguajes y protocolos de servicios web, y cómo crear y consumir servicios web existentes desde Java.
Este documento describe varias herramientas para el desarrollo y gestión de proyectos Java. Explica Eclipse, Ant, Maven y otros como sistemas de control de versiones, gestión de incidencias y pruebas. Proporciona detalles sobre sus características y cómo usarlas en las distintas fases de un proyecto Java.
Este documento presenta información sobre SQL Server y T-SQL. Explica las características de SQL Server como el soporte de transacciones y procedimientos almacenados. También describe los cuatro elementos de T-SQL, incluidos operadores, expresiones, comentarios y funciones integradas. Luego detalla varias funciones de cadena, fecha y sistema como LEFT, DATEADD, CAST y CONVERT respectivamente. El documento proporciona una introducción general a SQL Server y T-SQL.
El espacio de nombres System.Data.SqlClient contiene clases que permiten interactuar de forma más directa con bases de datos SQL Server que otras alternativas como OleDb, mejorando el rendimiento. Algunas de las clases más importantes son SqlConnection para conectarse a la base de datos, SqlCommand para ejecutar consultas, y SqlDataAdapter como puente entre DataSet y la base de datos.
Este documento proporciona una introducción al desarrollo de componentes EJB. Explica los tres tipos principales de EJBs - Entity Beans, Message-Driven Beans y Session Beans - y sus usos. También describe cómo crear, desplegar y utilizar un EJB, incluidos los pasos para definir interfaces, clases y empaquetar el EJB en un archivo JAR para su despliegue.
Este documento proporciona una introducción al acceso a datos extremo con ASP.NET. Explica conceptos como el databinding, las fuentes de datos declarativas y programáticas, y cómo usar controles como GridView, DetailsView, Repeater y DataList para mostrar datos vinculados. También incluye ejemplos de cómo cargar datos desde diferentes orígenes como arreglos, lectores de datos y tablas de base de datos.
System.Data.SqlClient define clases para conectarse a bases de datos SQL Server, ejecutar comandos y leer resultados. Incluye clases como SqlConnection y SqlCommand. El espacio de nombres permite interactuar directamente con SQL Server de forma optimizada.
Este documento presenta una introducción a los servicios web y Java. Explica los fundamentos de XML y su estructura, así como las diferentes formas de validar documentos XML como DTD y esquemas XML. También resume los contenidos del documento, incluyendo conceptos como el modelo SOA, lenguajes y protocolos de servicios web, y cómo crear y consumir servicios web existentes desde Java.
Este documento describe varias herramientas para el desarrollo y gestión de proyectos Java. Explica Eclipse, Ant, Maven y otros como sistemas de control de versiones, gestión de incidencias y pruebas. Proporciona detalles sobre sus características y cómo usarlas en las distintas fases de un proyecto Java.
Este documento presenta información sobre SQL Server y T-SQL. Explica las características de SQL Server como el soporte de transacciones y procedimientos almacenados. También describe los cuatro elementos de T-SQL, incluidos operadores, expresiones, comentarios y funciones integradas. Luego detalla varias funciones de cadena, fecha y sistema como LEFT, DATEADD, CAST y CONVERT respectivamente. El documento proporciona una introducción general a SQL Server y T-SQL.
El espacio de nombres System.Data.SqlClient contiene clases que permiten interactuar de forma más directa con bases de datos SQL Server que otras alternativas como OleDb, mejorando el rendimiento. Algunas de las clases más importantes son SqlConnection para conectarse a la base de datos, SqlCommand para ejecutar consultas, y SqlDataAdapter como puente entre DataSet y la base de datos.
Este documento proporciona una introducción al desarrollo de componentes EJB. Explica los tres tipos principales de EJBs - Entity Beans, Message-Driven Beans y Session Beans - y sus usos. También describe cómo crear, desplegar y utilizar un EJB, incluidos los pasos para definir interfaces, clases y empaquetar el EJB en un archivo JAR para su despliegue.
El documento introduce el framework Spring, que permite desarrollar aplicaciones Java de forma más sencilla. Spring proporciona inyección de dependencias, manejo de ciclo de vida de beans y soporte para AOP. El framework se basa en POJOs y favorece el desacoplamiento y la testabilidad del código.
Creación de varios_ proyectos_ en_una_solución_visual _studio_2010Adriana Cabella
- El documento explica cómo crear proyectos separados para la interfaz de usuario y las entidades del dominio de una aplicación Web para organizar las capas.
- Se crea un proyecto de biblioteca de clases para las entidades del dominio y se agrega una referencia desde el proyecto de la interfaz para tener acceso a las clases.
- También se agrega una directiva using para facilitar el acceso a las clases del dominio desde la interfaz sin necesidad de calificarlas con su namespace.
Este documento trata sobre la administración de roles en Oracle. Explica que los roles son grupos de privilegios que se otorgan a usuarios u otros roles para facilitar la administración de privilegios. Cubre temas como la creación, modificación y eliminación de roles, así como la asignación de roles a usuarios. También habla brevemente sobre auditoría, carga de datos y soporte de globalización en Oracle.
Este documento describe la estructura y contenido típicos de un proyecto de aplicación Android desarrollado en Eclipse. Explica que los archivos principales incluyen AndroidManifest.xml, el código Java, y recursos almacenados en carpetas como res, drawables, layouts y valores. También describe las subcarpetas y archivos utilizados para almacenar imágenes, vistas, menús, cadenas y otros recursos de la aplicación.
Este documento presenta una introducción a Spring MVC, incluyendo una descripción del patrón MVC, los componentes clave de Spring MVC como DispatcherServlet y HandlerMapping, y cómo configurar una aplicación Spring MVC. También explica conceptos como controllers, views y binding de datos, e incluye ejemplos de código de controllers simples y MultiActionController.
Un lenguaje de_cuarta_generacion_oracleOscar Allen
Este documento describe los pasos para instalar y configurar el ambiente de desarrollo de Oracle, incluyendo la base de datos Oracle 10g Express Edition, Oracle Developer Suite 10g, y el contenedor OC4J. Explica cómo instalar cada componente, iniciar servicios como el OC4J, y realizar configuraciones básicas del servidor de aplicaciones. También presenta una introducción a los conceptos básicos de desarrollo con Oracle Forms como componentes, diseño de pantallas, objetos de trabajo y más.
El documento describe el espacio de nombres System.Data.SqlClient del .NET Framework, que proporciona acceso a bases de datos SQL Server. Este espacio de nombres contiene clases, enumeraciones y delegados para conectarse a SQL Server, ejecutar comandos y leer datos. El proveedor de datos SqlClient utiliza su propio protocolo para comunicarse directamente con SQL Server de forma ligera y con alto rendimiento.
El espacio de nombres System.Data.SqlClient proporciona clases para conectarse y acceder a datos en una base de datos SQL Server desde .NET. Algunas clases importantes incluyen SqlConnection para conexiones, SqlCommand para ejecutar comandos, SqlDataReader para leer filas, y SqlDataAdapter para llenar DataSet y actualizar la base de datos. El espacio de nombres también incluye clases para carga masiva, permisos de seguridad, y notificaciones de cambios en consultas.
Este documento presenta una introducción a Hibernate, un framework para mapeo objeto-relacional. Explica cómo Hibernate mapea elementos de una base de datos relacional a objetos de una aplicación, haciendo la aplicación independiente del lenguaje SQL y del sistema de gestión de bases de datos. También describe cómo Hibernate se puede utilizar como capa de persistencia en una arquitectura MVC para aplicaciones web. Finalmente, proporciona una guía paso a paso para crear una primera aplicación simple con Hibernate.
La API de persistencia de Java permite el acceso a bases de datos relacionales desde aplicaciones Java. Utiliza JDBC para conectarse a bases de datos y gestiona pools de conexiones JDBC. Las clases entidad representan registros de bases de datos y se definen con anotaciones. Las consultas se especifican en JPQL y se ejecutan mediante objetos TypedQuery gestionados por EntityManagers.
Este documento presenta un tutorial básico sobre Microsoft SQL Server Express 2008. Explica los pasos para instalar .NET Framework 3.5, PowerShell e SQL Server Express 2008. También cubre temas como el manejo de bases de datos con la utilidad sqlcmd, la creación de una base de datos y tabla relacionada, y cómo mostrar una base de datos a través de un control de rejilla.
Este documento explica los conceptos clave de la internacionalización (i18n) en Java y Struts. Detalla las clases java.util.Locale, java.util.ResourceBundle y java.text.MessageFormat que son fundamentales para la i18n en Java. También cubre cómo Struts usa estos conceptos de Java para proporcionar i18n a través de atributos como Locale, MessageResources, ResourceBundle, ActionErrors y ActionMessages y cómo varios tags como <bean:message> son afectados por la i18n. Finalmente, brinda consejos sobre cómo localizar aplicaciones.
Este documento introduce JDBC y cómo se puede usar para acceder a bases de datos relacionales desde Java. Explica que JDBC proporciona una interfaz estándar para conectarse a diferentes bases de datos y ejecutar consultas SQL. Detalla los tipos de controladores JDBC, cómo registrar un controlador, establecer una conexión y ejecutar consultas simples y preparadas.
ENTERPRISE MANAGER DE LA BASE DE DATOS ORACLE VERSIÓN 11G1712223955
El documento describe las características y funcionalidades del Oracle Enterprise Manager, incluyendo su arquitectura de tres capas formada por una consola, servidores de gestión y agentes inteligentes. También explica cómo configurar el Enterprise Manager en Oracle 11g y los pasos para instalarlo.
Tema 9 aplicaciones de dos capas por gioRobert Wolf
Una aplicación de dos capas separa el código de la aplicación del sistema de administración de la base de datos. En Java, la API JDBC proporciona una interfaz estándar para que un cliente escrito en Java se comunique con administradores de bases de datos. La API JDBC consta de interfaces y clases que representan conexiones, sentencias SQL y resultados de consultas. Las aplicaciones de dos capas encapsulan esta funcionalidad en clases como Conexión y Tabla para establecer conexiones y ejecutar operaciones SQL de forma sencilla.
Este documento proporciona una introducción a Hibernate, un framework de persistencia de objetos para Java. Explica que Hibernate mapea objetos Java a tablas de base de datos de forma transparente mediante el uso de reflexión. También describe los principales componentes de Hibernate como las sesiones, factorías de sesiones, objetos persistentes y transacciones. Finalmente, incluye diagramas que ilustran la arquitectura general de Hibernate y las relaciones entre sus distintos elementos.
WPF 10. mejorando la funcionalidad y usabilidad de las aplicacionesDanae Aguilar Guzmán
Este documento presenta tres lecciones sobre mejorar la funcionalidad y usabilidad de aplicaciones. La primera lección cubre la integración de controles WinForms y WPF. La segunda lección trata sobre la implementación de Drag and Drop. La tercera lección cubre la globalización, localización y accesibilidad.
Tema 16 acceso a base de datos usando jpa por gioRobert Wolf
1) El documento describe el acceso a bases de datos usando JPA, una capa de software que reduce la tarea de conversión entre objetos y datos relacionales. 2) JPA mapea objetos a tablas mediante anotaciones y permite operaciones CRUD. 3) Se explican diferentes tipos de mapeo como uno a uno, muchos a uno, herencia y entidades.
Este documento proporciona una introducción a los servlets. Explica que los servlets son programas Java que se ejecutan en un servidor web para procesar solicitudes HTTP de manera dinámica. Detalla algunas ventajas de los servlets como la eficiencia, conveniencia y portabilidad. También describe características clave como el acceso a información del cliente y el uso de cookies y sesiones. Finalmente, presenta un ejemplo básico de código de un servlet simple.
El documento introduce el framework Spring, que permite desarrollar aplicaciones Java de forma más sencilla. Spring proporciona inyección de dependencias, manejo de ciclo de vida de beans y soporte para AOP. El framework se basa en POJOs y favorece el desacoplamiento y la testabilidad del código.
Creación de varios_ proyectos_ en_una_solución_visual _studio_2010Adriana Cabella
- El documento explica cómo crear proyectos separados para la interfaz de usuario y las entidades del dominio de una aplicación Web para organizar las capas.
- Se crea un proyecto de biblioteca de clases para las entidades del dominio y se agrega una referencia desde el proyecto de la interfaz para tener acceso a las clases.
- También se agrega una directiva using para facilitar el acceso a las clases del dominio desde la interfaz sin necesidad de calificarlas con su namespace.
Este documento trata sobre la administración de roles en Oracle. Explica que los roles son grupos de privilegios que se otorgan a usuarios u otros roles para facilitar la administración de privilegios. Cubre temas como la creación, modificación y eliminación de roles, así como la asignación de roles a usuarios. También habla brevemente sobre auditoría, carga de datos y soporte de globalización en Oracle.
Este documento describe la estructura y contenido típicos de un proyecto de aplicación Android desarrollado en Eclipse. Explica que los archivos principales incluyen AndroidManifest.xml, el código Java, y recursos almacenados en carpetas como res, drawables, layouts y valores. También describe las subcarpetas y archivos utilizados para almacenar imágenes, vistas, menús, cadenas y otros recursos de la aplicación.
Este documento presenta una introducción a Spring MVC, incluyendo una descripción del patrón MVC, los componentes clave de Spring MVC como DispatcherServlet y HandlerMapping, y cómo configurar una aplicación Spring MVC. También explica conceptos como controllers, views y binding de datos, e incluye ejemplos de código de controllers simples y MultiActionController.
Un lenguaje de_cuarta_generacion_oracleOscar Allen
Este documento describe los pasos para instalar y configurar el ambiente de desarrollo de Oracle, incluyendo la base de datos Oracle 10g Express Edition, Oracle Developer Suite 10g, y el contenedor OC4J. Explica cómo instalar cada componente, iniciar servicios como el OC4J, y realizar configuraciones básicas del servidor de aplicaciones. También presenta una introducción a los conceptos básicos de desarrollo con Oracle Forms como componentes, diseño de pantallas, objetos de trabajo y más.
El documento describe el espacio de nombres System.Data.SqlClient del .NET Framework, que proporciona acceso a bases de datos SQL Server. Este espacio de nombres contiene clases, enumeraciones y delegados para conectarse a SQL Server, ejecutar comandos y leer datos. El proveedor de datos SqlClient utiliza su propio protocolo para comunicarse directamente con SQL Server de forma ligera y con alto rendimiento.
El espacio de nombres System.Data.SqlClient proporciona clases para conectarse y acceder a datos en una base de datos SQL Server desde .NET. Algunas clases importantes incluyen SqlConnection para conexiones, SqlCommand para ejecutar comandos, SqlDataReader para leer filas, y SqlDataAdapter para llenar DataSet y actualizar la base de datos. El espacio de nombres también incluye clases para carga masiva, permisos de seguridad, y notificaciones de cambios en consultas.
Este documento presenta una introducción a Hibernate, un framework para mapeo objeto-relacional. Explica cómo Hibernate mapea elementos de una base de datos relacional a objetos de una aplicación, haciendo la aplicación independiente del lenguaje SQL y del sistema de gestión de bases de datos. También describe cómo Hibernate se puede utilizar como capa de persistencia en una arquitectura MVC para aplicaciones web. Finalmente, proporciona una guía paso a paso para crear una primera aplicación simple con Hibernate.
La API de persistencia de Java permite el acceso a bases de datos relacionales desde aplicaciones Java. Utiliza JDBC para conectarse a bases de datos y gestiona pools de conexiones JDBC. Las clases entidad representan registros de bases de datos y se definen con anotaciones. Las consultas se especifican en JPQL y se ejecutan mediante objetos TypedQuery gestionados por EntityManagers.
Este documento presenta un tutorial básico sobre Microsoft SQL Server Express 2008. Explica los pasos para instalar .NET Framework 3.5, PowerShell e SQL Server Express 2008. También cubre temas como el manejo de bases de datos con la utilidad sqlcmd, la creación de una base de datos y tabla relacionada, y cómo mostrar una base de datos a través de un control de rejilla.
Este documento explica los conceptos clave de la internacionalización (i18n) en Java y Struts. Detalla las clases java.util.Locale, java.util.ResourceBundle y java.text.MessageFormat que son fundamentales para la i18n en Java. También cubre cómo Struts usa estos conceptos de Java para proporcionar i18n a través de atributos como Locale, MessageResources, ResourceBundle, ActionErrors y ActionMessages y cómo varios tags como <bean:message> son afectados por la i18n. Finalmente, brinda consejos sobre cómo localizar aplicaciones.
Este documento introduce JDBC y cómo se puede usar para acceder a bases de datos relacionales desde Java. Explica que JDBC proporciona una interfaz estándar para conectarse a diferentes bases de datos y ejecutar consultas SQL. Detalla los tipos de controladores JDBC, cómo registrar un controlador, establecer una conexión y ejecutar consultas simples y preparadas.
ENTERPRISE MANAGER DE LA BASE DE DATOS ORACLE VERSIÓN 11G1712223955
El documento describe las características y funcionalidades del Oracle Enterprise Manager, incluyendo su arquitectura de tres capas formada por una consola, servidores de gestión y agentes inteligentes. También explica cómo configurar el Enterprise Manager en Oracle 11g y los pasos para instalarlo.
Tema 9 aplicaciones de dos capas por gioRobert Wolf
Una aplicación de dos capas separa el código de la aplicación del sistema de administración de la base de datos. En Java, la API JDBC proporciona una interfaz estándar para que un cliente escrito en Java se comunique con administradores de bases de datos. La API JDBC consta de interfaces y clases que representan conexiones, sentencias SQL y resultados de consultas. Las aplicaciones de dos capas encapsulan esta funcionalidad en clases como Conexión y Tabla para establecer conexiones y ejecutar operaciones SQL de forma sencilla.
Este documento proporciona una introducción a Hibernate, un framework de persistencia de objetos para Java. Explica que Hibernate mapea objetos Java a tablas de base de datos de forma transparente mediante el uso de reflexión. También describe los principales componentes de Hibernate como las sesiones, factorías de sesiones, objetos persistentes y transacciones. Finalmente, incluye diagramas que ilustran la arquitectura general de Hibernate y las relaciones entre sus distintos elementos.
WPF 10. mejorando la funcionalidad y usabilidad de las aplicacionesDanae Aguilar Guzmán
Este documento presenta tres lecciones sobre mejorar la funcionalidad y usabilidad de aplicaciones. La primera lección cubre la integración de controles WinForms y WPF. La segunda lección trata sobre la implementación de Drag and Drop. La tercera lección cubre la globalización, localización y accesibilidad.
Tema 16 acceso a base de datos usando jpa por gioRobert Wolf
1) El documento describe el acceso a bases de datos usando JPA, una capa de software que reduce la tarea de conversión entre objetos y datos relacionales. 2) JPA mapea objetos a tablas mediante anotaciones y permite operaciones CRUD. 3) Se explican diferentes tipos de mapeo como uno a uno, muchos a uno, herencia y entidades.
Este documento proporciona una introducción a los servlets. Explica que los servlets son programas Java que se ejecutan en un servidor web para procesar solicitudes HTTP de manera dinámica. Detalla algunas ventajas de los servlets como la eficiencia, conveniencia y portabilidad. También describe características clave como el acceso a información del cliente y el uso de cookies y sesiones. Finalmente, presenta un ejemplo básico de código de un servlet simple.
Este documento describe los cambios realizados en la gestión del idioma en la plataforma UDA. Se explica cómo se realizaba anteriormente y los problemas detectados. La nueva gestión simplifica el proceso e introduce mejoras como centralizar la configuración en el archivo mvc-config.xml y mostrar la clave del literal en lugar de producir un error si no se encuentra la traducción. También se incluye un manual de migración para actualizar las aplicaciones existentes.
Este documento resume los conceptos clave de Java Persistence API (JPA), incluyendo frameworks de persistencia, mapeo objeto-relacional, entidades, relaciones entre entidades, y operaciones básicas como persistencia, recuperación y eliminación. JPA es un estándar para almacenar y recuperar objetos en bases de datos relacionales de forma transparente mediante anotaciones y consultas de objetos.
Introducción a Doctrine 2 ORM.
Una introducción y uso básico de Doctrine 2 ORM en PHP sin utilizar frameworks, a través de un proyecto sencillo usado como ejemplo.
El codigo PHP del proyecto se puede descargar de su repositorio de Github: (https://github.com/gonfert/cine.git)
Presentación realizada para la X Symfony Zaragoza
Este documento presenta las principales características de Spring 3.0. Spring 3.0 incluye mejoras como una nueva implementación del lenguaje de expresiones de Spring, soporte para configuración basada en Java, extensiones para soportar REST y negociación de contenido, y abstracciones para mapeo de objetos a XML. Spring 3.0 también actualiza la API para aprovechar las características de Java 5 como generics.
Este documento describe el componente Árbol de RUP. Explica cómo inicializar el árbol con datos en formato HTML, JSON, XML o mediante AJAX. Detalla las funciones y plugins disponibles como Core, Checkbox, Menú contextual y Theme. Además, indica cómo configurar y personalizar el componente mediante parámetros.
Introducción al trabajo con Java Persistence Api (JPA), conceptos básicos y ejemplo aplicado a una tabla posts con los siguientes campos: post_id, post_title, post_date, post_body utilizando netbeans
El documento describe cómo utilizar beans en JSP mediante 6 pasos: 1) Crear un proyecto Web, 2) Crear una clase bean dentro del paquete Sources Packages, 3) Crear un formulario JSP index.jsp, 4) Crear un JSP proceso.jsp para procesar el formulario, 5) Instanciar el bean en proceso.jsp usando <jsp:useBean>, 6) Almacenar y recuperar valores del bean usando <jsp:setProperty> y <jsp:getProperty>.
La API de Persistencia de Java (JPA) especifica cómo mapear objetos de Java a tablas relacionales de bases de datos. Reemplaza los Entity Beans de EJB con clases de entidad estándar de Java anotadas. Proporciona una interfaz para consultas y gestión del ciclo de vida de las entidades mediante el Entity Manager.
Este documento presenta un resumen básico del framework Struts. Explica que Struts implementa el patrón MVC en Java y cómo funciona en aplicaciones web mediante solicitudes del navegador al controlador. También describe cómo Struts simplifica el desarrollo MVC separando la lógica del negocio, la vista y el controlador. El documento luego resume los componentes clave de Struts como el modelo, la vista y el controlador.
Este documento describe JavaServer Faces (JSF), un framework para aplicaciones web en Java. JSF facilita el desarrollo de interfaces gráficas de usuario siguiendo el patrón MVC. Utiliza un modelo basado en componentes y dirigido por eventos similar a Swing. JSF también permite diferentes salidas mediante renderers y soporta tecnologías como JSP. Su ciclo de vida incluye seis fases como restaurar la vista, aplicar valores de solicitud y renderizar la respuesta. Las aplicaciones JSF usan beans Java, archivos JSP y XML para
Este documento describe cómo integrar las tecnologías JSF, Spring y Hibernate en una aplicación web. Explica cómo configurar los componentes de cada tecnología, crear clases DAO y utilizar un VariableResolver de Spring para inyectar dependencias. También cubre cómo sobrescribir clases como Application y ApplicationFactory para personalizar el comportamiento de JSF.
Spring es un framework ligero para el desarrollo de aplicaciones Java que proporciona soporte para todas las capas de una aplicación. Ofrece inyección de dependencias, programación orientada a aspectos y abstracciones para el acceso a datos y servicios web. Spring simplifica el desarrollo mediante la eliminación de código boilerplate y la integración flexible con otros frameworks y tecnologías.
Este documento describe diferentes tipos de almacenamiento de datos en aplicaciones móviles Android, incluyendo preferencias compartidas, almacenamiento interno, almacenamiento externo, bases de datos SQLite y conexiones de red. También incluye ejemplos de código y recomendaciones para el uso de cada tipo de almacenamiento.
Este documento describe el componente de migas de RUP. Explica cómo funciona, su infraestructura, invocación y configuración a través de propiedades. También cubre temas como la internacionalización, personalización visual y su integración con el módulo de seguridad de UDA para mostrar el usuario autenticado y permitir la desconexión.
Este documento proporciona instrucciones para instalar y configurar Apache Tomcat, crear aplicaciones web dinámicas en Eclipse y desplegarlas en Tomcat. Incluye pasos para cambiar el puerto predeterminado de Tomcat, agregar un usuario administrador, integrar Eclipse con Tomcat, exportar código a un archivo WAR y realizar el despliegue utilizando el administrador de Tomcat.
Desarrollo android almacenamiento de datosFernando Cejas
El documento proporciona una introducción a los diferentes métodos de almacenamiento de datos en Android, incluyendo Preferences, archivos locales, bases de datos SQLite y Content Providers. Explica cómo acceder y manipular datos con cada uno de estos métodos y proporciona ejemplos de código.
Este documento describe varias técnicas de seguridad en Access, incluyendo ocultar objetos, propiedades de inicio de la base de datos, y la macro AutoExec. Explica cómo ocultar objetos cambiando su atributo de oculto y mostrar u ocultar objetos ocultos. También describe las propiedades de inicio y cómo modificarlas por código para controlar el comportamiento inicial de la base de datos, como mostrar u ocultar la ventana de base de datos. Finalmente, explica que una macro llamada AutoExec se ejecutará automáticamente al iniciar la base
Este documento proporciona información sobre el componente Tabla de RUP. Describe la infraestructura necesaria, cómo invocar el componente a través de código HTML y JavaScript, y explica los diferentes plugins como Core, Menú contextual, Filtrado, Edición en formulario, entre otros. También cubre temas como la integración con UDA, internacionalización y personalización del tema.
Arinbide Adaptativo. Visión del producto.v1.0Ander Martinez
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
Arinbide Adaptativo. Plan de entregas.v1.0Ander Martinez
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
Arinbide Adaptativo. Pila de producto.v1.0Ander Martinez
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
Arinbide Adaptativo. Pila de impedimentos.v1.1Ander Martinez
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
Arinbide Adaptativo. Normas, participantes y procedimientos.v1.0Ander Martinez
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
Arinbide Adaptativo. Manual de usuario.v1.0Ander Martinez
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
Arinbide Adaptativo. Defectos y errores .v1.0Ander Martinez
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
Este documento presenta conceptos básicos sobre agilismo, Scrum y Extreme Programming (XP). Explica los valores y principios de cada marco, como la comunicación, simplicidad y retroalimentación en XP. También describe técnicas ágiles como personas y escenarios, poker de planificación, tablero de tareas y desarrollo guiado por pruebas. El objetivo es proporcionar una introducción a estas metodologías ágiles para el desarrollo de software.
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
***** Arinbide v3.0 ************************
Metodología de desarrollo de aplicaciones software que contempla:
* Enfoque predictivo (basado en Métrica v3)
* Enfoque adaptativo (Scrum y XP)
Documentación complementaria:
>>> ARINbide-Predictivo
Guías:
- Módulo de gestión de proyectos: ARINbide - GPR
- Módulo de ingeniería de software: ARINbide - ISW
- Módulo de gestión de de la configuración: ARINbide - GCO
- Módulo de mantenimiento de sistemas de información: ARINbide - MSI
Plantillas:
- Acta de reunión: AR
- Cuaderno de Bitácora: BIT
- Informe de progreso: ISP
- Seguimiento: SEG
- Plan de entregas: PEN
- Plan de gestión de la configuración: PGC
- Catálogo de requisitos de usuario: CRU
- Especificación de requisitos del sistema: ERS
- Especificación de diseño del sistema: EDS
- Especificación de construcción del sistema: ECS
- Manual de usuario: MAU
- Plan de mantenimiento: PM
>>> ARINbide-Adaptativo
Guías:
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo
- Gestión de proyectos e Ingeniería del software: ARINbide – Adaptativo. Anexo: Conceptos básicos
Plantillas:
- Visión del producto
- Normas, participantes y procedimientos
- Plan de entregas
- Pila de Producto
- Pila de Sprint
- Pila de Impedimentos
- Retrospectiva
- Manual de usuario
- Diseño técnico
- Acta de reunión
- Monitorización
- Defectos y errores
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)AbrahamCastillo42
Power point, diseñado por estudiantes de ciclo 1 arquitectura de plataformas, esta con la finalidad de dar a conocer el componente hardware llamado tarjeta de video..
El uso de las TIC en la vida cotidiana.pptxjgvanessa23
En esta presentación, he compartido información sobre las Tecnologías de la Información y la Comunicación (TIC) y su aplicación en diversos ámbitos de la vida cotidiana, como el hogar, la educación y el trabajo.
He explicado qué son las TIC, las diferentes categorías y sus respectivos ejemplos, así como los beneficios y aplicaciones en cada uno de estos ámbitos.
Espero que esta información sea útil para quienes la lean y les ayude a comprender mejor las TIC y su impacto en nuestra vida cotidiana.
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)codesiret
Los protocolos son conjuntos de
normas para formatos de mensaje y
procedimientos que permiten a las
máquinas y los programas de aplicación
intercambiar información.
La inteligencia artificial sigue evolucionando rápidamente, prometiendo transformar múltiples aspectos de la sociedad mientras plantea importantes cuestiones que requieren una cuidadosa consideración y regulación.
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxpauca1501alvar
Explica cómo las tecnologías digitales han facilitado e impulsado la globalización al eliminar barreras geográficas y permitir un flujo global sin precedentes de información, bienes, servicios y capital. Se describen los impactos de las herramientas digitales en áreas como la comunicación global, el comercio electrónico internacional, las finanzas y la difusión cultural. Además, se mencionan los beneficios como el crecimiento económico y el acceso a la información, así como los desafíos como la desigualdad y el impacto ambiental. Se concluye que la globalización y las herramientas digitales se refuerzan mutuamente, promoviendo una creciente interdependencia mundial.
Uso de las Tics en la vida cotidiana.pptx231485414
Las Tecnologías de la Información y las Comunicaciones (TIC), son el conjunto de recursos, herramientas, equipos, programas informáticos, aplicaciones, redes y medios.
1. UDA – Utilidades de desarrollo de aplicaciones by EJIE is licensed under a Creative Commons Reconocimiento-
NoComercial-CompartirIgual 3.0 Unported License.
UDA - Utilidades de desarrollo de aplicaciones
Gestión de properties
Fecha: 02/02/2012 Referencia:
EJIE S.A.
Mediterráneo, 14
Tel. 945 01 73 00*
Fax. 945 01 73 01
01010 Vitoria-Gasteiz
Posta-kutxatila / Apartado: 809
01080 Vitoria-Gasteiz
www.ejie.es
2. Gestión de properties ii/15
Control de documentación
Título de documento: Gestión de properties
Histórico de versiones
Código: Versión: Fecha: Resumen de cambios:
1.0.0 02/02/2012 Primera versión.
Cambios producidos desde la última versión
Control de difusión
Responsable: Ander Martínez
Aprobado por:
Firma: Fecha:
Distribución:
Referencias de archivo
Autor:
Nombre archivo:
Localización:
3. Gestión de properties iii/15
Contenido
Capítulo/sección Página
1 Introducción 1
2 Gestión mediante anotaciones (modo programático) 2
2.1 Declaración 2
2.2 Inyección 2
3 Gestión mediante XML (modo declarativo) 3
3.1 Declaración 3
3.2 Inyección 3
4 Propiedades de aplicación 4
5 Propiedades idiomáticas (i18n) 5
5.1 Propiedades del EAR 5
5.2 Propiedades del WAR 6
6 Uso de propiedades en clases de utilidades 8
6.1 Declaración del objeto a consumir 8
6.2 Configuración de la clase para la inyección de dependencia 9
6.3 Consumo de la clase de utilidades 9
6.4 Corolario 11
7 Conclusiones 12
4. Gestión de properties 1/15
1 Introducción
El presente documento pretende explicar y detallar la manera en la que se gestionan los ficheros de
propiedades (tanto de aplicación como idiomáticos) en UDA a través de Spring MVC. De este modo, los
usuarios podrán comprender su funcionamiento y acceder al contenido de dichos ficheros de manera rápida y
sencilla sin problema alguno.
El acceso a los ficheros que nos ocupan se realiza a través de ciertos objetos concretos como se verá a
continuación. Por ello se incluyen diversos apartados relacionados con la declaración y uso de dichos objetos
de manera programática y declarativa.
5. Gestión de properties 2/15
2 Gestión mediante anotaciones (modo programático)
2.1 Declaración
Spring y por tanto UDA, permiten el uso de anotaciones para la declaración de objetos en un “repositorio de
beans” de Spring. Cuando se desee utilizar alguno de estos objetos bastará con recuperarlo e invocar la
función correspondiente a través de la Inyección de Dependencia (ID).
Existen ciertas anotaciones que permiten que Spring incluya ciertas clases Java directamente como objetos
en el respositorio y estas son algunas de ellas:
@Controller
@Service
@Repository
@Component
El plugin de generación de código de UDA permite seleccionar el uso de anotaciones para la resolución de las
dependencias. En caso de seleccionar esta opción, en cada controlador, servicio o DAO se incluirá su
correspondiente anotación (para los DAO se utiliza la anotación @Repository).
Una vez las clases estén implementadas (con su anotación correspondiente), Spring tiene que cargarlos en
su repositorio para poder ser utilizados a través de la ID. El fichero de configuración incluirá un tag que le
indica el paquete desde el que tiene que recorrer los subpaquetes localizando las clases Java para incluir
como objetos del repositorio aquellas anotadas correctamente.
Controllers (WAR)
o xxxNombreWarWebContentWEB-INFspringmvc-config.xml
o <context:component-scan base-package="com.ejie.x21a.control" />
Servicios (EAR)
o xxxEARClassessrcspringservice-config.xml
o <context:component-scan base-package="com.ejie.x21a.service" />
DAOs (EAR)
o xxxEARClassessrcspringdao-config.xml
o <context:component-scan base-package="com.ejie.x21a.dao" />
Adicionalmente, Spring comprobará las anotaciones internas de cada clase resolviendo las dependencias que
encuentre como se explica en el siguiente apartado.
2.2 Inyección
La inyección de dependencia de los objetos de manera programática se realiza del siguiente modo:
@Autowired
private Properties appConfiguration;
Mediante esta anotación Spring buscará en su repositorio de beans algún objeto cuyo ID sea appConfiguration
y enlazará la variable declarada con dicho objeto. Se podrá utilizar directamente el objeto appConfiguration sin
tener que inicializarlo ya que Spring lo habrá realizado por nosotros.
6. Gestión de properties 3/15
3 Gestión mediante XML (modo declarativo)
3.1 Declaración
La declaración de objetos en Spring puede realizarse a través del fichero XML ya que hasta la versión 5 de
Java no existía soporte para anotaciones.
Por cada objeto que se quiera declarar en el repositorio de beans de Spring deberá incluir una sentencia como
la siguiente:
<bean id="NOMBRE_DEL_OBJETO" class="RUTA_DEL_OBJETO">
<property name="xxa" ref="yyy" />
<property name="xxb" value="zzz" />
…
</bean>
NOMBRE_DEL_OBJETO: Identificador con el que se va a registrar el objeto (se utilizará para
reverenciarlo o recuperarlo)
RUTA_DEL_OBJETO: Nombre completo de la clase que implementa el objeto (incluyendo paquete)
xxa: Nombre de las propiedad del objeto donde se va a inyectar el objeto yyy.
yyy: Objeto del repositorio de beans de Spring a inyectar en el objeto que se está declarando.
xxb: Nombre de la propiedad a la que se le va a asignar el valor zzz.
zzz: Valor que se asociadrá directamente a la propiedad xxx2
UDA declara los objetos empleados para la gestión de propiedades mediante XML como se verá más
adelante. A pesar de que los objetos se declaren en el XML, puede utilizarse la anotación @Autowired
para inyectarlos allí donde sean necesarios.
3.2 Inyección
La inyección de dependencia de los objetos de manera programática se realiza a través del método set de la
variable.
private Properties appConfiguration;
public void setAppConfiguration(Properties appConfiguration) {
this.appConfiguration = appConfiguration;
}
Cuando Spring esté registrando los objetos en su repositorio y detecte que un objeto define una propiedad que
es una referencia a otro objeto, intentetará invocar el metodo set de esa propiedad.
En el siguiente ejemplo, Spring al cargar el objeto “example” implementado en el fichero “com.ejie.xxx.Foo”
invocará el método setAppConfiguration para inyectarle el objeto. Se podrá utilizar directamente el objeto
appConfiguration sin tener que inicializarlo ya que Sprin lo habrá realizado por nosotros.
<bean id="example" class="com.ejie.xxx.Foo">
<property name="appConfiguration" ref="appConfiguration" />
</bean>
7. Gestión de properties 4/15
4 Propiedades de aplicación
Las aplicaciones desarrolladas con UDA contienen un fichero de propiedades de aplicación denominado
aaa.properties (ej. x21a.properties) alojado en /config/aaa. Dicho fichero contiene valores que dependen del
entorno en el que se trabaja pero no de la versión idomática. Un claro ejemplo puede ser la ruta en la que se
alojan el contenido estático de la aplicación:
foo=bar
El acceso a este tipo de propiedades se realizará a través de la variable appConfiguration declarada en el
fichero xxxEARClassessrcspringservice-config.xml:
<bean id="appConfiguration"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location" value="classpath:x21a/x21a.properties" />
<property name="fileEncoding" value="UTF-8" />
</bean>
Acceso desde clase Java
o Declarar la propiedad (consultar apartados 2.1 y 3.1)
private Properties appConfiguration;
o Acceso directo a la propiedad a recuperar
appConfiguration.get("foo")
Acceso desde JSP
o Guardar propiedad en el Model (en el controller)
model.addAttribute("foo", "bar");
o Acceso medienta EL (Expression Language)
${foo}
8. Gestión de properties 5/15
5 Propiedades idiomáticas (i18n)
La gestión idiomática (i18n) se realiza a tarvés de diferentes ficheros de propiedades (uno por cada idioma de
la aplicación). Un claro ejemplo puede ser el literal de la pantalla de inicio:
welcome.title=Hello EJIE!
Estos ficheros existen a varios niveles (EAR y WAR) y por tanto en diferentes localizaciones como veremos a
continuación.
5.1 Propiedades del EAR
Los ficheros de propiedades del EAR se encuentran en la siguiente ruta:
xxxEARClassesresources
o xxx.i18n_en.properties
o xxx.i18n_es.properties
o xxx.i18n_eu.properties
o …
El acceso a las propiedades del EAR se realizará a través de la variable appMessageSource declarada en el
fichero xxxEARClassessrcspringservice-config.xml:
<bean id="appMessageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSo
urce">
<property name="basename" value="x21a.i18n" />
<property name="defaultEncoding" value="UTF-8" />
<property name="useCodeAsDefaultMessage" value="true" />
<property name="fallbackToSystemLocale" value="false" />
</bean>
Acceso desde clase Java
o Declarar la propiedad (consultar apartados 2.1 y 3.1)
private ReloadableResourceBundleMessageSource appMessageSource;
o Acceso directo a la propiedad a recuperar
appMessageSource.getMessage("welcome.title", args, locale)
args: Array de argumentos de la propiedad (ej. {0}, {1}, … {n}). En caso de no tener se
pasará null
La locale se puede obtener como variable directamente o como parámetro de un
método:
o Locale locale = LocaleContextHolder.getLocale();
o public void xxx (Locale locale) { ... }
Acceso desde JSP
o Incluir el fichero TLD de Spring (se incluye en el fichero ‘includeTemplate.inc’)
<%@ taglib prefix="spring" uri="/WEB-INF/tld/spring.tld" %>
9. Gestión de properties 6/15
o Acceso a la propiedad mediante el tag de Spring
<spring:message code="welcome.title" />
UDA incluye automáticamente la TLD de Spring en el fichero ‘includeTemplate.inc’ en la ruta
xxxNombreWarWebContentWEB-INF por lo que bastará con incluir dicho fichero:
<%@include file="/WEB-INF/includeTemplate.inc"%>
5.2 Propiedades del WAR
Los ficheros de propiedades del WAR se encuentran en la siguiente ruta:
xxxNombreWarWebContentWEB-INFresources
o xxxNombreWar.i18n_en.properties
o xxxNombreWar.i18n_es.properties
o xxxNombreWar.i18n_eu.properties
o …
Las propiedades definidas a nivel de WAR solo pueden ser accedidas desde el propio WAR, en cambio las
propiedades definidas a nivel de EAR pueden ser accedidas desde cualquier capa (Presentación, Servicios,
Acceso a datos, …).
La resolución de una propiedad desde el WAR sigue el siguiente orden. Primero se comprueba que la
propiedad exista en sus ficheros de recursos y en caso afirmativo se recuperará. Si por el contrario no existe
se buscará en los ficheros de recursos del EAR. De esta manera en caso de necesitar identicos literales a
nivel de EAR y de los diferentes WAR bastará con definirlos únicamente en el fichero de recursos del EAR.
El acceso a las propiedades del WAR se realizará a través de la variable messageSource declarada en el
fichero xxxNombreWarWebContentWEB-INFspringmvc-config.xml:
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSo
urce">
<property name="parentMessageSource" ref="appMessageSource" />
<property name="basename" value="/WEB-
INF/resources/x21aPilotoPatrones.i18n" />
<property name="defaultEncoding" value="UTF-8" />
<property name="useCodeAsDefaultMessage" value="true" />
<property name="fallbackToSystemLocale" value="false" />
</bean>
Acceso desde clase Java
o Declarar la propiedad (consultar apartados 2.1 y 3.1)
private ReloadableResourceBundleMessageSource messageSource;
o Acceso directo a la propiedad a recuperar
messageSource.getMessage("welcome.title", args, locale)
args: Array de argumentos de la propiedad (ej. {0}, {1}, … {n}). En caso de no tener se
pasará null
La locale se puede obtener como variable directamente o como parámetro de un
método:
10. Gestión de properties 7/15
o Locale locale = LocaleContextHolder.getLocale();
o public void xxx (Locale locale) { ... }
Acceso desde JSP
o Incluir el fichero TLD de Spring (se incluye en el fichero ‘includeTemplate.inc’)
<%@ taglib prefix="spring" uri="/WEB-INF/tld/spring.tld" %>
o Acceso a la propiedad mediante el tag de Spring
<spring:message code="welcome.title" />
UDA incluye automáticamente la TLD de Spring en el fichero ‘includeTemplate.inc’ en la ruta
xxxNombreWarWebContentWEB-INF por lo que bastará con incluir dicho fichero:
<%@include file="/WEB-INF/includeTemplate.inc"%>
11. Gestión de properties 8/15
6 Uso de propiedades en clases de utilidades
El acceso y explotación de propiedades desde las clases de las capas de presentación (controllers), servicio
(services) o acceso a datos (daos) es directo ya que UDA deja todo configurado directamente. Y dependiendo
de cómo se generara el código a través del plugin de UDA se deberá realizar lo siguiente:
Anotaciones
o Incluir la anotación @Autowired delante del objeto
o Asegurarse de que el paquete en el que se encuentra la clase está en el scan (por defecto sí)
XML
o Incluir el método set de la aplicación
o Configurar la propiedad del objeto en el fichero XML correspondiente (tag property)
El problema puede existir cuando se utilizan clases propias de ayuda (paquetes de utilidades) que al no
configurarse correctamente pueden inducir a error y generar problemas.
A continuación se muestra un ejemplo detallando esta casuística. Se creará una clase de utilidades cuya
función recupere un valor de una propiedad de aplicación (para i18n sería idéntico) y lo escriba en el log:
package com.ejie.xxx;
//imports
public class Foo {
private static final Logger logger = ...;
//Declaración de appConfiguration (ver apartado 6.1)
public void do(){
logger.info(appConfiguration.get("bar"));
}
}
6.1 Declaración del objeto a consumir
A continuación se detalla como debería declararse la variable appConfiguration dependiendo del tipo de
variable (de instancia o de clase que dependerá del tipo de método a implementar) y de si se usan
anotaciones o XML:
Anotaciones
o Variable de instancia
@Autowired
private Properties appConfiguration;
o Variable de clase
private static Properties appConfiguration;
@Autowired
public void setAppConfiguration(Properties appConfiguration){
Foo.appConfiguration = appConfiguration;
12. Gestión de properties 9/15
}
XML
o Variable de instancia
private Properties appConfiguration;
public void setAppConfiguration(Properties appConfiguration) {
this.appConfiguration = appConfiguration;
}
o Variable de clase
private static Properties appConfiguration;
public void setAppConfiguration(Properties appConfiguration){
Foo.appConfiguration = appConfiguration;
}
NOTA: En caso de que la variable se declare de clase, habrá que modificar el método para añadirle el
modificador static.
6.2 Configuración de la clase para la inyección de dependencia
En el caso de que utilicen anotaciones como la clase se encuentra fuera de los paquetes generados y
escaneados por UDA (control, service y dao) se deberán realizar dos modificaciones:
1. Se deberá anotar la clase con el modificador @Component
@Component
public class Foo ...
2. Se deberá incluir el escaneo del paquete en el fichero xml correspondiente (dependiendo de su
localización en el mvc-config [WAR], service-config [EAR] o dao-config [EAR]). Por ejemplo si lo
incluyeramos en el mvc-config (ya que la clase la desplegaremos en el WAR):
<context:component-scan base-package="
com.ejie.x21a.control,
com.ejie.xxx"
/>
Si por el contrario se utiliza XML para la configuración de objetos, se deberá incluir la definición del bean en el
xml para que Spring inyecte la dependencia a través del setter:
<bean id="foo" class="com.ejie.xxx.Foo">
<property name="appConfiguration" ref="appConfiguration" />
</bean>
6.3 Consumo de la clase de utilidades
Una vez declarada la clase de utilidades con su objeto de acceso a las propiedades, será turno de realizar la
invocación, por ejemplo desde un controlador.
En el caso de que el método de utilidades sea estático bastará con invocarlo de la siguiente manera:
13. Gestión de properties 10/15
@RequestMapping(method = RequestMethod.GET)
public String getXXX(Model model) {
Foo.do();
}
NOTA: Podría inyectarse el objeto como variable del controller e invocar el método sobre esa instancia del
objeto pero daría un warning por la manera de invocar el método por lo que se descarta.
En el caso de que el método de utilidades sea dinámico, podría invocarse de alguna de las siguientes
maneras:
1. Inyectando el objeto (mediante anotación o xml) e invocando el método directamente
XML
private Foo foo;
public void setFoo (Foo foo) {
this.foo = foo;
}
@RequestMapping(method = RequestMethod.GET)
public String getXXX(Model model) {
foo.do();
}
Habría que declarar la inyección de la variable en el fichero XML
<bean id="fooController"
class="com.ejie.xxx.control.FooController">
<property name="foo" ref="foo" />
</bean>
Anotación
@Autowired
private Foo foo;
@RequestMapping(method = RequestMethod.GET)
public String getXXX(Model model) {
foo.do();
}
2. Creando una instancia de la clase de utilidades e invocando el método
@RequestMapping(method = RequestMethod.GET)
public String getXXX(Model model) {
Foo foo = new Foo();
foo.do();
}
14. Gestión de properties 11/15
En este segundo caso (al invocar el constructor directamente) el objeto foo inicializará su variable interna
appConfig a null por lo que en la invocación del método se lanzará una excepción (NullPointerException).
Para evitar esto bastará con modificar la clase de utilidades para que extienda de
“SpringBeanAutowiringSupport” del siguiente modo:
public class Foo extends SpringBeanAutowiringSupport {
...
}
6.4 Corolario
Para evitar inconsistencias y problemas de esta índole, se recomienda el uso de anotaciones para la
inyección de dependencia y evitar el uso de bloques estáticos (static) en la medida de lo posible. Esto se
justifica porque Spring instancia sus beans siguiendo el patrón singleton por lo que internamente se crean una
única vez.
SpringSource.org también es partidario de seguir estas pautas en el desarrollo de aplicaciones porque este
tipo de bloques pueden generar problemas al integrarse con Spring.
15. Gestión de properties 12/15
7 Conclusiones
La explotación de los ficheros de properties en UDA se realiza a través de objetos es idéntica a la explotación
de cualquier objeto en Spring.
Una vez que se configuran los objetos encargados de su gestión (appConfiguration, appMessageSource y
messageSource), su explotación como se ha visto en este documento es fácil y sencilla. Independientemente
del modo en el que se trabaje (anotaciones o a través de xml) el acceso a las propiedades es idéntica y no
presenta grandes problemas.
El único problema o complejidad puede presentarse cuando se utilizan clases de utilidades (clases que no
entran en las capas de presentación, servicios y acceso a datos) que habrá que configurar manualmente (al
igual que habría que hacer con el resto de clases si no utilizamos el plugin de UDA).