martes, 27 de noviembre de 2007

J2EE Blueprints

buenas practicas en el desarrollo de J2EE
java.sun.com/j2ee/blueprints

  • código reusable
  • separación de lógicas de aplicación (presentación, negocio y acceso a datos)
  • separación de las áreas con más mantenimiento
  • extensibildad
  • modularidad
  • seguridad
  • interfaces simples y robustas
  • eficiencia de la red
  • integridad de los datos

J2EE Servicios estandar

Tipos de servicios ofrecidos por un servidor de aplicaciones J2EE a un componente:
  • conectividad local y distribuida (RMI) sobre HTTP o HTTPS
  • directorio de servicios (JNDI)
  • acceso a datos y persistencia (JDBC)
  • conectividad (JCA java connector architecture) EIS (Enterprise Information Servers ) y ERP (Enterprise Resource Plannig)
  • seguridad (JAAS)
  • soporte xml (JAXP),
  • Transacciones JTA
  • Mensajería y e-mail JMS y JavaMail (javamail utilza JAF [javaBeans Activation Framework] para soportar los diferentes tipos de mail [MIME types] )

requerimientos de un servidor de aplicaciones J2EE

un servidor de aplicaciones J2EE debe proveer los siguientes contenedores (se encargan de gestionar el ciclo de vida de los componentes así como proveer de servicios) para albergar a componentes J2EE.
  • applet container
  • aplication Client COntainer
  • web container
  • ejb container
Existen dos tipos de componentes:
  • componentes web
    • servlet
    • jsp
  • ejb
    • session bean
    • entity bean
    • message driven bean

desarrollo de arquitectura de n-capas

Principios de arquitectura de n-capas
Se entiende que la comunicación entre diferentes capas se hace a través de API (interfaces)


principales responsabilidades de las capas:
lógica de presentación (interactividad y presentación)
lógica de negocio (reglas de negocio)
lógica de acceso a datos (conexiones y fuentes de datos [datasources])


Por capa se puede entender separación física (diferente máquina)
evolución de arquitectura de 1 capa a 2 capas donde existe una máquina dedicada a la base de datos

problemas de arquitectura de 2-capas
mezcla de presentacion y negocio lo que implica que si cambia negocio cambia presentación

3-capas --> cliente es navegador (HTML) y la capa de presentación la genera un servidor web


la arquitectura de 3 capas es de hecho la que se utiliza para aplicaciones web


como consecuencias en el desarrollo:
especialización de desarrollador y capa


Ciclo de vida de componentes

Tecnología:
componente es una unidad funcional.
simplifica el desarrollo
el framework se ocuopa de proporcionar la comunicación entre componentes así como su persistencia
la modularidad elimina el acomplamiento o dependencia entre diferentes partes de la aplicación




Estandars J2EE
gestión del ciclo de vida de componentes
persistencia
nombrado (naming)
transacción
seguridad (autentificación y autorización)

lunes, 26 de noviembre de 2007

desarrollo de componentes de aplicación

Composición de componentes de aplicación en modulos
  • modulos web:web.xml
  • modulos ejb: ejb-jar.xml
  • modulos java: application-client.xml
Composición de modulos en aplicaciones

Tecnologías j2ee

  • de componentes
    • web
      • servlets
      • jsp
    • EJB
      • sesión
      • entidad
      • mensaje
    • XML
  • de servicios
    • JDBC
    • JTA y JTS : transacciones y servicios
    • JNDI
    • JMS
    • JavaMail
    • Java Conector Architecture
    • JAAS : autentificación
  • de comunicación
    • protocolos de internet
      • http
      • tpc/ip
      • ssl
    • protocolos de objeto remoto
      • RMI
      • JavaIDL

intalación de herramientas

Preparando el navegador.....

Instalando herramientas de desarrollo e integración

Instalando servidor de aplicacion JBoss AS

Instalando Eclipse IDE y complementos

Demos:
Documentación en video:


Instalación de maven:
http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

appfuse2
http://appfuse.org/display/APF/AppFuse+QuickStart