sábado, 28 de junio de 2008

Drupal 6.0. No es J2EE pero me gusta.

Bueno llevaba tiempo detras de volcarme un poco en algo CMS para hacer webs mas o menos profesionales, y me he topado con DRUPAL. Despues de probar con Joomla, PhPNuke, y algunos mas que no recuerdo ninguno me habia convencido o motivado lo suficiente.

Parece que Drupal si, o sera que ahora estoy mas inspirado .....

Bueno pues a medida que vaya experimentando con este gestor de contenidos que por cierto es bastante potente ire plasmando aqui mis conocimientos adquiridos.

Para el que vaya interesandole por aqui e empezado yo.

http://drupal.org.es/drupal/descargas

martes, 27 de mayo de 2008

Un poco de repaso...

Contenedor WEB

Es donde residen los servlets y las pages JSP.

Contenedor EJB

Alojan los EJBs que estan directamente relacionados con los Modelos de datos del negocio.

Aplicaciones J2EE

- Primero fue el Servlet. El servlet recibía peticiones Http y este las procesaba en su metodo:
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)

donde los parámetros request y response tomaban la manija de las transacciones y desde este modulo se desarrollaba la lógica de negocio necesaria para implementar la solución que deseáramos obtener ya fuera conectando con una BD o simplemente realizando algún algoritmo de tratamiento de datos.
Normalmente estos Servlets son clases Java que extienden de CommoAction y su nombre suele ser por convenio MiClaseAction.java este se declaraba como un servlet por ejemplo en el Struts-config.xml y al desplegar la aplicación en el Servidor ya estabamos preparado para escuchar peticiones a través de su metodo execute. Por supuesto que ese Struts-config estará declarado a su vez en el WEB.XML que nunca debe faltar en una aplicación WEB J2EE.

lunes, 4 de febrero de 2008

Spring Framework y los Idiomas.

Ya empiezo a ir conociendo mas cosas acerca de Spring.

Para el tema de los idiomas existen uno ficheros de configuracion que funcionan a modo de clave - valor esos ficheros son:
  • messages.properties (es que fichero por defecto )
  • messages_en.properties (seria el fichero de ingles)
  • messages_es.properties (es el fichero en español)
Estos fichero se localizan en src/main/resources

Luego para incluir la entradas en nuestros JSP hemos de poner la etiqueta
webapp.name"/> donde webapp.name sera una entrada de nuestros ficheros de configuracion y dependiendo del idioma de nuestro navegador leera el archivo message_xx.properties correspondiente y cambiara webapp.name por su valor.

Tambien se podrian hacer subdivisiones locales por ejemplo español de peru seria

message_es_PE.properties


Problemas con el plugin de Maven & Eclipse.

Bueno llevo toda la mañana intentando instala el plugin y nada siempre me sale el mismo error, que me falta el plugin org.eclipse.jdt.source, el caso es lo busco y ese plugin no existe he encontrado otros de org.eclipse.jdt pero ese no.

Os dejo un tutorial muy bueno por si quereis ir mirando algo, este es de otro plugin para Maven & Eclipse pero tiene buena pinta.

domingo, 3 de febrero de 2008

¡¡¡Maven en 5 minutos!!! ¿Es posible eso?




Lo primero que creo que tengo que saber es ¿Que es MAVEN?

De momento lo que he sacado en claro es que es una una herramienta que al menos de momento no dispone de interface grafica, es decir todo o casi todo se ha de hacer desde la linea de comandos.

Maven es una herramienta que mediante comandos es capaz de construir una estructura de directorios para nuestro proyecto con sitio para los fuentes, los iconos, ficheros de configuración y datos, etc. Si le indicamos los jar externos va a internet los busca y si los encuentra los descarga a nuestro proyecto, tambien es capaz de compilar, borrar los class, generarnos el javadoc, crea documentos webs con informes variados como codigo duplicado, tambien si lo deseamos nos genera un zip con la estructura de nuestro proyecto para su distribucion, etc....

Bueno me voy a dejar de lios y me pongo a instalarlo a ver si es tan sencillo, bueno, guapo, etc..., como dicen.

  1. Como todos los soft lo primero es descargalo desde aqui (Maven).
  2. Ahora descomprimimos el contenido del zip y añadimos la ruta a la variable PATH de nuestro SO poniendo al final \bin.
  3. Para comprobar que hemos configurado bien el PATH abrimos una ventana de comandos y tecleamos mvn --version Ooohhhh me ha fallado, me dice que he de crear la variable de entorno JAVA_HOME con la ruta de mi jdk. Pues la crearemos. Tecleo otra vez mvn --version y ahora si me sale en pantalla la version que tengo de maven, la del jdk y el SO que tenemos.
  4. Ahora he tecleado "mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app" y se ha puesto a descargar plugins, jar y archivos actualizados.
  5. Pasado un tiempo que dependera de la conexion a internet que tengas, a mi me ha tardado 1 minuto, te dice que ha creado el directorio c:\my-app y BUILD SUCCESSFUL, si no es asi teclea de nuevo la linea de arriba.
  6. Ahora comprobamos que se nos ha creado una estructura como la de la imagen. Vemos que el path src/main/java es el que contendra nuestro codigo fuente de la aplicacion, src/test/java sera el path de las clases de test y el fichero pom.xml que es el centro de nuestro proyecto Maven y poco a poco lo ire entiendo y al mismo tiempo comentandolo por aqui.
  7. Hemos tecleado un goal que es como se le llaman a las funciones que vamos realizando con Maven archetype:create y ademas le hemos pasado unos parametros
    -DgroupId=com.mycompany.app -DartifactId=my-app y nos ha creado el proyecto my-app con una estructura estandar, tambien tendremos goal y plugins mediante los cuales se nos crearan proyectos base a partir de distintos frameworks como puede ser JBoss
  8. Ahora para construir el proyecto tecleo mvn package y me vuelve a descargar dependencias de internet y finalmente me dice que todo OK.
  9. Para probar que todo ha ido bien tecleo java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App y sale por pantalla el tipico "Hello World".

Y hasta aqui el Maven en 5 minutos que a mi personalmente me ha parecido un poco escaso ya que he intalado algo que no se aun su verdadera utilidad y me he creado un proyecto con el cual no voy a trabajar, lo siguiente sera o creame un proyecto de prueba o intentar añadir Maven a uno de los proyectos existentes en mi WorkSpace.

rOV

miércoles, 30 de enero de 2008

del.icio.us ¿Que es esooooo?

¿A quien no se le ha olvidado alguna vez antes de formatear el Pc salvar la categoria Marcadores o Favoritos?

¿A quien no le ha ocurrido que estando en el trabajo o en algun lugar donde estemos usando un Pc que no es el nuestro habitual ha necesitado algun link que tiene en Marcadores o Favoritos?

Pues ese tipo de casos lo podemos solucionar usando del.icio.us, ademas podemos compatir con otros, ya sean desconocidos, nuestro equipo de trabajo, amigos y familiares, etc...


Aqui teneis un estupendo tutorial para configurar del.icio.us


El tutorial no es mio pero mis agradecimientos al creador.

Contenedor EJBs

Un contenedor de EJBs lo podriamos ver como un gran Objeto que contiene otros Objetos con unas caracteristicas especiales. El contenedor de EJBs nos proporciona una serie de servicios que si tubieramos que implementarlos uno a uno para todos nuestros objetos seria de locos.

Los EJBs pueden ser de ..
  • Sesion (StateFull o StateLess)
  • MDB (Message Drive Bean) Asincronos
  • Entities
Servicios.: "entre parentesis el tipo de EJB al que proporciona el servicio"

  • Messaging (MDB)
  • Inyeccion de Dependencia (StateFull, StateLess, MDB)
  • Pooling (StateLess, MDB)
  • Thread Safety (StateFull, StateLess, MDB)
  • Mantenimiento de Estado (StateLess)
  • AOP Interceptores (StateFull, StateLess, MDB)
  • RMI (StateFull)
  • Web Services (StateLess)
  • Transacciones (StateFull, StateLess, MDB)
  • Seguridad (StateFull, StateLess)

J2EE

¿Que es J2EE?

Esa es la gran pregunta que esta ahora mismo por la red.

Las caracteristicas principales de una aplicacion J2EE son :
  • Alto Rendimiento (muchos usuarios de las aplicaciones al mismo tiempo)
  • Aplicacion Distribuida y Multiusuario.
  • Escalable (Varios servidores para la misma aplicacion)
  • Testetable (desarrollos orientados a test, JUnit, TestNG, EasyMock, etc....)
  • Gestion de Estado
  • Persistencia
  • Transacciones
  • Seguridad
  • Interceptores

Tambien se podria decir que J2EE ha sido la evolucion de Java para implementar aplicaciones Empresariales y de forma distribuida.

EJBs

Los EJBs son objetos Java que estan alojados dentro de un Servidor de Aplicaciones, otra de las caracteristicas de los EJBs es que pueden estar alojados en distintis Servidores y ser accesibles entre ello como si estubieran en la misma maquina.

Los EJBs son manejados por Contenedores de EJBs.

martes, 29 de enero de 2008

POJO

Plain Old Java Object

Aunque creamos que es algo con mucha complicacion POJO no son ni mas ni menos que Objetos creados simplemente con miembros y estos con sus getters and setters correspondientes.

public class Equipo(){
private String nombre;
private Integer puntos;

  public String getNombre() {
return this.nombre;
}

public void setId(String nombre) {
this.nombre = nombre;
}

public Integer getPuntos() {
return this.puntos;
}

public void setId(Integer puntos) {
this.puntos = puntos;
}
}

miércoles, 23 de enero de 2008

Subclipse Instalacion

Este plugin nos sirve para acceder al repositorio publico en cual colocaremos las distintas versiones de los fuentes de nuestra aplicacion.

Su instalacion es secilla pero al menos a mi me ha dado un problema ya que me pide que instale tambien "org.eclipse.buckminster.core" cosa que no es necesaria.

Para que no os ocurra esto cuando esteis en el paso 6 de la instalacion os saldra un arbol de instalacion y teneis que desceleccionar la casilla que pone al final OPTIONAL es decir la que esta en medio de las tres

la direccion para su correcta instalacion es :

http://subclipse.tigris.org/install.html

salu2

rOV