Hoy intentaré contar como configurar el Driver JDBC de Oracle como módulo de JBoss AS 7, aunque también es válido para versión EAP 6, tanto para arranque en modo standalone como domain.
Mostrando entradas con la etiqueta Tecnología. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tecnología. Mostrar todas las entradas
11 abr 2013
3 abr 2012
MiniSeries - Vaadin Parte I
- Vaadin “Thinking in U and I”, o lo que es lo mismo como hacer una interfaz gráfica atractiva y ligera, con programación java pura y disponer de todos los mecanismos necesarios para poder realizar binding de datos sin dolores de cabeza.
Comencemos...
Preparar el entorno de trabajo
- Para empezar a trabajar con Vaadin necesitaremos 4 cosas fundamentalmente:
- Una instalación de JDK5 o JDK6 de Sun, JRocket o IBM y la variable de entrono $JAVA_HOME establecida.
- Apache Maven 2.0.9 o superior instalado y con el PATH configurado correctamente.
- Eclipse IDE, preferiblemente la versión JEE.
- Vaadin Eclipse plugin, esto no es totalmente necesario, pero para próximas miniguías será muy interesante disponer de el, ademas con la interfaz gráfica WYSIWYG que han incluido hará muy simple la composición de pantallas (una de las grandes pegas desde mi punto de vista de este framework)
Creación del proyecto
- Para la creación del proyecto usaremos el arquetipo maven que está disponible en http://vaadin.com/addons
- Una vez instalado el arquetipo ejecutaremos en una shell:
-
- mvn archetype:generate
- -DarchetypeGroupId=com.vaadin
- -DarchetypeArtifactId=vaadin-archetype-clean
- -DarchetypeVersion=1.3.0
- -DgroupId=org.agenda
- -DartifactId=agenda.vaadin
4 oct 2011
Vaadin Spring Archetype made by me :D
Hace no mucho tiempo me puse a trabajar con Vaadin para ver como podía encajar en alguno de los proyectos que está desarrollando la compañía donde estoy trabajando ahora, comprobé que la arquitectura encajaba perfectamente con lo que estaba buscando para conseguir compatibilidad con diversos navegadores y sus distintas versiones, así que me puse manos a la obra y empecé con el típico tutorial rápido que tiene todo framework.
Tras realizar el tutorial comencé a incluir algo más de complejidad, por decir algo, de hsqldb para persistencia de datos pasé a mysql y posteriormente a Oracle XE, me basé en anotaciones JPA para realizar la persistencia de una manera transparente a la base de datos que se quisiera utilizar, posteriormente pensé en introducir Spring como framework de soporte para el "negocio" y ante la odisea que suponía el tener que andar con tanto jar por ahí suelto, decidí incluir Maven para gestionar las dependencias de manera eficiente, así que me puse a buscar y encontré que la gente de Vaadin tenía un arquetipo para crear proyectos con Maven, así que para que dar más vueltas, lo usé y generó un proyecto que contenía las dependencias necesarias para empezar a trabajar con Vaadin. Pero el problema vino cuando me puse a incluir las dependencias de Spring, que si spring-tx, spring-beans, spring-context, spring-aop, ... y entonces decidí realizar mi aporte a la comunidad.
El aporte es un arquetipo maven que genera un proyecto Vaadin con Spring y que he publicado en googlecode. Toda la información está disponible en la página del proyecto así que para que enrollarme más si puedo pasaros directamente el enlace para que juguéis con el...
El enlace es http://code.google.com/p/vaadin-spring-archetype/ cualquier opinión para mejora o porque no termináis de ver como tira el arquetipo, será bienvenida.
Un saludo y a disfrutar
Tras realizar el tutorial comencé a incluir algo más de complejidad, por decir algo, de hsqldb para persistencia de datos pasé a mysql y posteriormente a Oracle XE, me basé en anotaciones JPA para realizar la persistencia de una manera transparente a la base de datos que se quisiera utilizar, posteriormente pensé en introducir Spring como framework de soporte para el "negocio" y ante la odisea que suponía el tener que andar con tanto jar por ahí suelto, decidí incluir Maven para gestionar las dependencias de manera eficiente, así que me puse a buscar y encontré que la gente de Vaadin tenía un arquetipo para crear proyectos con Maven, así que para que dar más vueltas, lo usé y generó un proyecto que contenía las dependencias necesarias para empezar a trabajar con Vaadin. Pero el problema vino cuando me puse a incluir las dependencias de Spring, que si spring-tx, spring-beans, spring-context, spring-aop, ... y entonces decidí realizar mi aporte a la comunidad.
El aporte es un arquetipo maven que genera un proyecto Vaadin con Spring y que he publicado en googlecode. Toda la información está disponible en la página del proyecto así que para que enrollarme más si puedo pasaros directamente el enlace para que juguéis con el...
El enlace es http://code.google.com/p/vaadin-spring-archetype/ cualquier opinión para mejora o porque no termináis de ver como tira el arquetipo, será bienvenida.
Un saludo y a disfrutar
Uso de variables de Entorno con Spring
Hoy
he tenido que pelearme con la configuración de Spring para poder
desplegar una aplicación que ataca a una base de datos en diversos
JBoss, con distintos esquemas de base de datos por usuario, así que
he echado a volar mi imaginación y en lugar de utilizar diversos
archivos de propiedades he decidido usar variables de entorno (que ya
están definidas por requisitos de aplicación) esto aparentemente
sencillo (al final lo era) se ha convertido en una odisea digna del
propio Ulises, bueno no he tardado 20 años con dar con la solución,
pero me ha costado un ratillo.
He
empezado por lo sencillo (PropertyPlaceHolderConfigurer) y he
pensado... "Pues si pongo el nombre de la vairiable de
entorno... esto tiene que tirar si o si..." PUES NO!!! Navegando
por los interneses he dado con varias páginas que me podían ayudar,
pero nada, al final he hecho un "popurrí" y la cosa ha
quedado tal que así:
- Configuración del PropertyPlaceHolderConfigurer de spring:
<bean
id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property
name="systemPropertiesModeName"
value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property
name="searchSystemEnvironment" value="true"/>
<property
name="locations">
<list>
<value>classpath:application.properties</value>
<value>classpath:resources.properties</value>
</list>
</property>
</bean>
- Configuración del DataSource
<bean
id="dataSourceConfiguracion"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property
name="driverClass"
value="oracle.jdbc.OracleDriver"
/>
<property
name="jdbcUrl"
value="${DB_URL}"
/>
<property
name="minPoolSize"
value="10"
/>
<property
name="maxPoolSize"
value="100"
/>
<property
name="initialPoolSize"
value="10"
/>
<property
name="idleConnectionTestPeriod"
value="30000"
/>
<property
name="testConnectionOnCheckin"
value="true"
/>
<property
name="preferredTestQuery"
value="SELECT 1 FROM DUAL"
/>
<property
name="user"
value="${DB_USR}"
/>
<property
name="password"
value="${DB_PWD}"
/>
</bean>
En
esta configuración DB_URL, DB_USR y DB_PWD están definidas como
variables de entorno a nivel de usuario.
Espero
que os sirva de ayuda.
Un
saludo y a disfrutar!
25 ago 2011
Spring ROO - HOWTO (Parte I)
Hoy
toca probar la última release de Spring-ROO
(1.1.5.RELEASE), como ya comenté en un post anterior, sigo sin
entender (del todo) el motivo por el que Springsource se ha embarcado
en el crear un proyecto de desarrollo rápido tras la compra de la
empresa que desarrollaba Grails.
Como
no puede ser de otra forma vamos a dar los primeros pasos con
Spring-ROO a través de un Mini HOWTO con el ejemplo tipo de la
agenda. Para ello debemos seguir unos sencillos pasos que intento
explicar a continuación.
Preparar el entorno de trabajo
Lo
primero que debemos hacer es descargarnos la última versión de
Spring-ROO de la página de Spring y seguir los siguientes pasos para
su instalación:
- Se descomprime el archivo descargado en una ruta que podamos recordar.(en mi caso USER_HOME/java/spring-roo-1.1.5.RELEASE)
- Establecemos la variable de entorno ROO_HOME apuntando a la ruta anterior.
- Añadimos ROO_HOME/bin al path de nuestro sistema para que reconozca los comandos de spring-roo.
- En caso de que tengáis un sistema Linux o un MAC os recomiendo que creéis un enlace simbólico a roo.shln -s ${ROO_HOME}/bin/roo.sh /usr/bin/roo
Ahora
comprobamos que tenemos el sistema preparado para poder empezar a
trabajar. Las necesidades mínimas son:
- Una instalación de JDK5 o JDK6 de Sun, JRocket o IBM y la variable de entrono $JAVA_HOME establecida.
- Apache Maven 2.0.9 o superior instalado y con el PATH configurado correctamente.
Con
esto ya podemos probar que tenemos instalado y listo para usar
spring-roo, para ello en un terminal ejecutamos lo siguiente:
roo
quit
Si
obtenemos una salida parecida a la que muestro a continuación es que
todo ha ido bien y podemos empezar con el howto.
14 jun 2011
Instalar Oracle 11gR2 XE beta en ubuntu 10.04
Hoy
por necesidad me he visto obligado a instalar una versión de oracle
en mi portatil, insisto en el tema de la obligación, ya que en un
portatil un Oracle es demasiado "pesado", con lo que he
tenido que hacer la configuración de la misma, para ello me he
basado en varios HOW-TOs que he encontrado googleando, por eso voy a
intentar resumirlo en este post.
Para configurar la
versión Express Edition de Oracle 11g en ubuntu 10.04 x64 se deben
seguir los siguientes pasos:- Descargar la
versión linux de 64 bits de la página oficial de Oracle
- Una vez
descargada se descomprime el zip.
- Se instalan las
librerías necesarias para continuar con los siguientes pasos, estas
son alien y libaio1 para la instalación ejecutamos en una
consola
sudo apt-get install alien libaio1
Etiquetas:
Oracle,
Tecnología,
tip,
ubuntu
1 abr 2011
Grails - El Santo Grial del Desarrollo rápido (Parte II)
Vamos a continuar con la serie de Grails, si recordáis en la parte I de esta serie empezamos a crear una aplicación que servía para gestionar los contactos. Al final de la entrada anterior se decía que había que hacer click en ContactoController, pero porque no hacer las cosas algo mejor, es decir, porque no introducir una pantalla de login y un menú, y si además ponemos una gestión de usuarios y permitimos dar de alta, modificar y eliminar usuarios, habremos realizado una aplicación que tendrá más aspecto de aplicación.
Esto es justo lo que vamos a hacer en esta parte de la mini-serie.
Vamos a comenzar paso a paso nuestra “nueva” aplicación de Contactos.
- Creación de los usuarios, grupos y permisos.
Para este proceso vamos a utilizar un plugin de los diversos plugins que posee grails (http://www.grails.org/Plugins), en concreto uno llamado Stark-Security. Ahora bien, y ¿cómo utilizo un plugin? Pues muy sencillo, simplemente hay que instalarlo, y para instalarlo hay que ejecutar un simple comando de grails.
- grails install-plugin stark-security
Al ejecutar este comando tenemos la siguiente salida por consola:
- grails install-plugin stark-securityWelcome to Grails 1.2.0 - http://grails.org/Licensed under Apache Standard License 2.0Grails home is set to: /Users/javi/java/grails-1.2.0Base Directory: /Users/javi/proyectos/grails-howto-series/agendaResolving dependencies...Dependencies resolved in 1433ms.Running script /Users/javi/java/grails-1.2.0/scripts/InstallPlugin.groovyEnvironment set to developmentReading remote plugin list …Plugin list out-of-date, retrieving..[delete] Deleting: /Users/javi/.grails/1.2.0/plugins-list-core.xml[get] Getting: http://svn.codehaus.org/grails/trunk/grails-plugins/.plugin-meta/plugins-list.xml[get] To: /Users/javi/.grails/1.2.0/plugins-list-core.xml....................................................[get] last modified = Wed Feb 02 03:16:38 CET 2011Reading remote plugin list ...Plugin list out-of-date, retrieving..[delete] Deleting: /Users/javi/.grails/1.2.0/plugins-list-default.xml[get] Getting: http://plugins.grails.org/.plugin-meta/plugins-list.xml[get] To: /Users/javi/.grails/1.2.0/plugins-list-default.xml......................................................................................[get] last modified = Thu Feb 10 06:22:21 CET 2011[copy] Copying 1 file to /Users/javi/.grails/1.2.0/projects/agenda.parte2/pluginsInstalling plugin stark-security-0.4.3[mkdir] Created dir: /Users/javi/.grails/1.2.0/projects/agenda.parte2/plugins/stark-security-0.4.3[unzip] Expanding: /Users/javi/.grails/1.2.0/plugins/grails-stark-security-0.4.3.zip into /Users/javi/.grails/1.2.0/projects/agenda.parte2/plugins/stark-security-0.4.3Executing stark-security-0.4.3 plugin post-install script ...Plugin stark-security-0.4.3 installedPlug-in provides the following new scripts:------------------------------------------grails stark-security-install-fullgrails stark-security-install-without-dao
Si os fijáis en las dos últimas líneas de la salida anterior, veréis que este plugin ofrece dos nuevos comandos, el que nos interesa es stark-security-install-full, así que ahora tenemos que ejecutar el nuevo comando que nos ha aportado este plugin.
- grails stark-security-install-full
26 ene 2010
Spring ROO - ¿Competencia de GRAILS?
En mi afán de probar nuevos frameworks que surgen en el ámbito del Software Libre, me encontré hace tiempo, no mucho la verdad, con este framework de desarrollo rápido de Spring, si queréis podéis ver la información (en inglés) de Spring Roo en la web oficial de SpringSource.
Lo primero que se me vino a la mente fue... ¿Cómo es posible que Spring, habiendo comprado G2One recientemente, publique un framework que puede hacer la competencia a GRAILS? Y la verdad es que aún me lo sigo preguntando, pero poco a poco veo el motivo, aunque aún lo veo un poquito lejos.
Pero Spring Roo tiene las mismas bonanzas que GRAILS y desde mi punto de vista alguna otra cosa muy interesante, como son por ejemplo:
Un saludo y a disfrutar!!!
Lo primero que se me vino a la mente fue... ¿Cómo es posible que Spring, habiendo comprado G2One recientemente, publique un framework que puede hacer la competencia a GRAILS? Y la verdad es que aún me lo sigo preguntando, pero poco a poco veo el motivo, aunque aún lo veo un poquito lejos.
Pero Spring Roo tiene las mismas bonanzas que GRAILS y desde mi punto de vista alguna otra cosa muy interesante, como son por ejemplo:
- Usa AOP.
- Totalmente integrado con Maven.
- Es rápido, muy rápido en ejecución.
- Solo está la primera versión, por lo que le falta uso por parte de la comunidad.
- Hay que hacer prácticamente todo desde la consola de Roo.
Un saludo y a disfrutar!!!
14 ene 2010
GRAILS - El santo grial del desarrollo rápido (Parte I)
Hoy toca algo tecnológico, bueno hoy y algún que otro día más con esta serie.
Algunos diréis que ya era hora, pero el trabajo es lo que tiene, quita tiempo para hacer estas cosas, así que vamos a hacer un pequeño MINI-HOWTO, para poner en marcha una aplicación con este framework de desarrollo rápido, pero primero...
Algunos diréis que ya era hora, pero el trabajo es lo que tiene, quita tiempo para hacer estas cosas, así que vamos a hacer un pequeño MINI-HOWTO, para poner en marcha una aplicación con este framework de desarrollo rápido, pero primero...
1. ¿Qué es GRAILS?
Grails es un framework para desarrollo rápido de aplicaciones desarrollado sobre Groovy. Grails pretende ser un framework altamente productivo siguiendo dos paradigmas del desarrollo rápido como son "Convention over Configuration" (CoC) y "Don't Repeat Yourself" (DRY), proporciona un entorno de desarrollo estandarizado y oculta la mayoría de los detalles de configuración al desarrollador.
Grails ha sido impulsado principalmente por la empresa G2One, que fue adquirida por SpringSource en noviembre de 2008.
Grails es un framework para desarrollo rápido de aplicaciones desarrollado sobre Groovy. Grails pretende ser un framework altamente productivo siguiendo dos paradigmas del desarrollo rápido como son "Convention over Configuration" (CoC) y "Don't Repeat Yourself" (DRY), proporciona un entorno de desarrollo estandarizado y oculta la mayoría de los detalles de configuración al desarrollador.
Grails ha sido impulsado principalmente por la empresa G2One, que fue adquirida por SpringSource en noviembre de 2008.
2. ¿De dónde me descargo GRAILS?
Pues fácil y sencillo de su página grails.org, en su zona de descargas está disponible la versión 1.2 del framework.
En su página hay muchos tutoriales y artículos que os servirán de ayuda para dar los primeros pasos. Pero voy a intentar que os saltéis varios de ellos con esta serie de HOW-TOs.
3. Configurar la herramienta:
Lo primero de todo debéis ir a la dirección que os he dicho en el punto 2 y os descargáis el framework, tras esto hay que descomprimirlo en algún lugar que se, yo soy usuario de Linux y de MacOS por lo que usaré la nomenclatura de estos sistemas operativos para referirme a creación de directorios y temas de variables de entorno.
Después de descomprimirlo lo que tenemos que hacer es establecer la variable de entorno $GRAILS_HOME que apunte a la carpeta que acabamos de descomprimir y añadir $GRAILS_HOME/bin al $PATH.
4. Crear el proyecto
Esto es de las cosas que más me gustan de este entorno de desarrollo. Una vez configurada la herramienta, todo lo que tenemos que hacer es ir a una carpeta en la que queramos crear el proyecto, por ejemplo, una carpeta que crearemos para esta serie "grails-howto-series" y ejecutamos el siguiente comando:
| grails create-app agenda |
12 jun 2008
Tecnocategorías
Hoy toca hablar de las categorías que nos encontramos en nuestra amada profesión.
Vayamos por partes (Jack el Destripador Dixit). En general, y depende de la empresa en la que te toque, hay una serie de categorías profesionales (Programador, Analista Programador, Analista, Arquitecto, Jefe de Proyecto, ...) y en todas ellas se podría hacer una subdivisión más que evidente, cada una a su nivel, eso está claro.
¿Y cuales son estas subdivisiones? De todas no me voy a acordar, pero si de las más frecuentes, (XXXX valor dentro de las categorías padre) que son:
- El XXXX trepador: subcategoría por excelencia, se basa en no hacer absolutamente nada a lo largo de toda la carrera profesional pero llegar a todo sin importar cuantos mueran en el camino.
- El XXXX amidimequehago: subcategoría en auge, cada vez que termina algo de lo que tiene asignado se queda de brazos cruzados esperando a que alguien le diga que tiene que hacer, le da igual lo que le mandes siempre y cuando la complejidad de la tarea no supere un bucle con 2 if de no más de una expresión cada uno, es una persona capaz de estar horas enchufado a youtube, meneame, barrapunto y por supuesto el as o marca.
- El XXXX mesudalapollatodo: de esta categoría, al igual que de la anterior, cada vez hay más especímenes, especialistas en no hacer nada y vivir "a su ritmo", terminan convirtiendose en amidimequehagos o trepadores.
- El XXXX enmicasasejuegaasi: subdivisión de la anterior, cuando se quedan sin argumentos de por qué están parados, o de por qué todo lo que han hecho falla, se limitan a decir, "yo esto siempre lo he hecho así", "si está mal es culpa del lenguaje", "es que en mi universidad me lo explicaron así", ...
Suscribirse a:
Entradas (Atom)
