miércoles, 12 de marzo de 2008

Inyección de Dependencia

También llamada Inverse of Control,se utiliza para evitar la excesiva creación de objetos de manera innecesaria que puede provocar la caida del servidor.Esto se suele utilizar con objetos DAO que crean una conexión a la BD ya que si cada usuario crea una conexión a la BD y el número de usuarios es alto pueden hacer que el servidor se caiga.

La inyección de dependencias q actua generando los objetos cuando se arranca la aplicación y luego los inyecta en los demás objetos que los necesiten a través de métodos set o bien a través del constructor, pero estos objetos se instancian una vez, se guardan en una factoría y se comparten por todos los usuarios (al menos en el caso de Spring) y nos evitamos tener que andar extendiendo clases o tumbar el servidor de la BD.

Spring soporta inyección de dependencias a través del constructor y a través de métodos set pero se aconseja hacerlo a través de métodos set.

En conclusion :
  • Se utiliza para no tener que crear el objecto siempre cada que creemos el servicio.
  • El mismo objeto creado puede ser usado por varios servicios.
Un Ejemplo:

public class Clase {

private Clase2 atributo1;

public Clase(){

}

public void setAtributo1(Clase2 atributo1){

this.atributo1 = atributo1;
}

}

public class Clase2 {—IMPLEMENTACIÓN—}

Declaramos nuestros beans en el contexto de la aplicación< id="atributo1" class="org.mipaquete.bean.Clase2">

< /bean>

< id="atributo" class="org.mipaquete.bean.Clase">

< name=" atributo1" ref="atributo1">
< /bean>


El atributo refhace referencia al id del bean creado así que hay que tener un poco de cuidado con los ids.


Struts

Es un framework para el desarrollo de aplicaciones Web bajo el modelo Modelo-Vista-Controlador.

Struts permite reducir el tiempo de desarrollo. Su carácter de software libre y su compatibilidad con todas las plataformas en que Java Entreprise esté disponible, lo convierte en una herramienta altamente disponible.

lunes, 10 de marzo de 2008

Hibernate asociaciones-relaciones

Aquí tengo un enlace que lo he cogido del blog del profesor.
Documentación de configuración de relaciones de entidades en hibernate utilizando xml
http://www.hibernate.org/hib_docs/reference/en/html/associations.html

Tengo que profundizar más en esto y ya lo iré explicando con mis propias palabras.

Arquitectura orientada a servicios. SOA

Es un tipo de diseño de software que permite reutilizar sus elementos gracias a las interfaces de servicios que se comunican a través de una red con un lenguaje común.

JINI

JavaBeans

Componentes reutilizables e independientes de la plataforma.
El programador que hace el JB no hace nada misterioso, simplemente define una clase, tratando de encapsular (ocultar) su implementación y mostrando al exterior (el programador que usa el bean) solamente los métodos y propiedades que son públicos. Sólo se muestra aquello que forma parte del servicio que el bean ofrece al exterior.

Aqui tengo un enlace de un pagina que lo explica mejor y mas detallado.
http://www.proactiva-calidad.com/java/javabean/index.html

JSF

JSF(JavaServer Faces)--> es un framework de desarrollo basado en el patrón MVC (Modelo Vista Controlador).
La tecnología JSF ofrece una clara separación entre el comportamiento y la presentación de la aplicación.
Al igual que Struts, JSF pretende normalizar y estandarizar el desarrollo de aplicaciones web.
Hay que tener en cuenta JSF es posterior a Struts, y por lo tanto se a nutrido de la experiencia de este, mejorando algunas sus deficiencias.
JSF no puede competir en madurez con Struts (en este punto Struts es claro ganador), pero si puede ser una opción muy recomendable para nuevos desarrollos, sobre todo si todavía no tenemos experiencia con Struts.


Algunos manuales:
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSFPage5.html
http://www.programacion.com/java/tutorial/jsf_intro/5/

JSF incorpora APIs para el desarrollo de interfaz de usuario.
API:
http://java.sun.com/javaee/javaserverfaces/1.1/docs/api/index.html