miércoles, 9 de junio de 2010

próximo curso/master en programación java j2ee

Aquí os dejo los detalles del próximo curso/master en programación java j2ee, en breve comenzará a impartirse en la CEA - Sevilla. Es de formación profesional ocupacional y ...todavía hay plazas!

DESARROLLO DE APLICACIONES EN JAVA J2EE

Número del curso: 41-148

Código de especialidad: IFCI17
Duración: 900 horas
Horario: 15:00 - 21:00 horas
Número de alumnos: 16
Nivel de estudios: BACHILLER, FP II o equivalente
Rama o especialidad: INFORMÁTICA Y COMUNICACIONES
Localidad SEVILLA
Lugar de impartición: CEA - Confederación de Empresarios de Andalucía
Prácticas/Proyecto: Prácticas

Contenidos Orientativos:
ENTORNO DE DESARROLLO INTEGRADO: ECLIPSE IDE PARA DESARROLLO JAVA EE
DESARROLLO DIRIGIDO POR PRUEBAS (TDD - TEST DRIVEN DEVELOPMENT)
PROGRAMACIÓN ORIENTADA A OBJETOS (POO)
PROGRAMACIÓN ORIENTADA A EVENTOS (POE)
DESARROLLO DE COMPONENTES WEB CON TECNOLOGÍA JAVA
DESARROLLO DE APLICACIONES J2EE
ACCESO A BASE DE DATOS. HIBERNATE
INTRODUCCIÓN A EJB3 Y SU RELACIÓN CON LAS NOVEDADES APORTADAS DESDE LA VERSIÓN DE JAVA 5
FUNDAMENTOS DEL LENGUAJE DE PROGRAMACIÓN JAVA
PROGRAMACIÓN JAVA
NORMATIVA JURÍDICA EN NUEVAS TECNOLOGÍAS
INGLÉS
ORGANIZACIÓN Y ESTRUCTURA EMPRESARIAL
TÉCNICAS DE INFORMACIÓN Y COMUNICACIÓN (T.I.C.)
PREVENCIÓN DE RIESGOS LABORALES
INSERCIÓN LABORAL Y TÉCNICAS DE BÚSQUEDA DE EMPLEO
SENSIBILIZACIÓN AMBIENTAL
IGUALDAD DE OPORTUNIDADES
SEMINARIO


Si deseas obtener más información sobre este cursos puedes contactar a través del teléfono o de la siguiente dirección de correo electrónico: 
Teléfono: 954 48 89 83 / 954 48 89 24 / 954 48 89 17 
E-mail: infocursocea@cea.es

lunes, 4 de mayo de 2009

Resumen para curriculum

Systemas operativos: Windows
Lenguajes de programación:Java J2EE
Bases de datos: MySQL. Utilizo habitualmente Hibernate para mapeo O-R.
Programación Web: CSS

IDE's: Eclipse. Plugins de eclipse: subclipse(subversion), testng, jboss, m2eclipse(maven)
Servidores Web: Tomcat y Jetty
Servidores de aplicaciones: JBoss
Frameworks de desarrollo web en java: Servlets, JSP, JSTL, Struts, SpringFramework, JBoss Seam, JSF, EJB

Frameworks de pruebas: TestNG, Mockito

Herramientas de automatización y estandarización en el desarrollo: Ant, Maven, Subversion, log4j, commons-logging



Contenido del master en java j2se y j2ee
Desarrollo de Componentes Web Con Tecnología Java (84 Horas)
  • Introducción al desarrollo de Aplicaciones Web con Java
  • introducción al Control de Versiones utilizando la herramienta Subversion
  • introducción a la POO (Programación Orientada a Objetos) a través del estudio del framework de colecciones de java y su comprobación a través de pruebas con testNG
  • introducción a las excepciones, su diseño y su gestión en un programa
  • introducción al seguimiento del programa por consola (logging) y configuración. Uso de la herramienta Log de la librería commons-logging y log4j de Apache
  • introducción a Apache ANT: herramienta de automatización de tareas en el desarrollo
  • introducción al api jdbc: Java Data Base Connectivity
  • profundización en el uso y creación de anotaciones
  • introducción a la herramienta MAVEN: herramienta de estandarización del desarrollo (automatización de tareas) en proyectos java, destacando la gestión de dependencias
  • servidores web
  • desarrollo de servlets modelo 1 :listeners, filters, servlets
  • introducción a JSP - Java Server Pages. Modelo 2 de desarrollo con Servlets
  • introducción a JSTL - Java Standar Tag Library
  • introducción al patrón de desarrollo Controlador Frontal
  • introducción al patrón de desarrollo MVC - Modelo Vista Controlador


Desarrollo de Aplicaciones J2EE (56,50 Horas)
  • Arquitectura J2EE.
  • servidores de aplicaciones
  • introducción a Struts 1
  • introducción a EL - Expression Language
  • introducción a la internacionalización de aplicaciones
  • introducción a SiteMesh - Patrón Filtro Decorador
  • introducción a Hibernate "con XML"
  • introducción a Spring
  • introducción a DI - Inyección de Dependencias
  • introducción a JSF Java Server Faces



Acceso a Base de Datos. Hibernate (42 Horas)
  • Persistencia de Objetos
  • Configuración de Hibernate
  • Introducción a un proyecto con Hibernate
  • API
  • Propiedades De Hibernate
  • HQL - Hibernate Query Language
  • Hibernate Criteria Query
  • Persistencia De Colecciones

Desarrollo Aplicaciones De Negocio Enterprise JavaBeans (73,50 Horas)
  • Análisis de los componentes EJB
    • Session Beans.
      • stateless
      • statefull
    • Entity Beans.
    • MDB.
  • ciclo de vida y contextos de EJB
  • Uso del lenguaje de consulta de EJB (EJB QL)
  • Implementación de transacciones
  • Manejo de excepciones
  • Implementación de la seguridad
  • introducción a JBoss Seam como herramienta de integración de JSF y EJB

lunes, 20 de abril de 2009

Seam: CarritoCompra

package org.domain.seamcea2.session;

import javax.persistence.EntityManager;

import org.jboss.seam.Component;
import org.jboss.seam.annotations.intercept.AroundInvoke;
import org.jboss.seam.intercept.InvocationContext;
import org.jboss.seam.security.Identity;
import org.jboss.seam.security.NotLoggedInException;

public class Espia {

@AroundInvoke
public Object meDaIgual(InvocationContext llamadaMetodo)
throws Exception {





String nombreMetodoInvocado = llamadaMetodo.getMethod().getName();
Object[] parameters = llamadaMetodo.getParameters();
Object resultadoAccion = llamadaMetodo.proceed();
ListaDiscoBean listaDiscoBean =
(ListaDiscoBean) llamadaMetodo.getTarget();
Disco discoSelccionado=listaDiscoBean.discoSelccionado;


if(nombreMetodoInvocado.equals("incluye")){
EntityManager entityManager = (EntityManager) Component
.getInstance("entityManager");
Estadistica stadistica=new Estadistica();
stadistica.setDisco(discoSelccionado);
entityManager.persist(stadistica);

}
return resultadoAccion;
}

}




package org.domain.seamcea2.session;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.jboss.seam.annotations.intercept.Interceptors;

import sun.reflect.annotation.AnnotationType;

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Interceptors(Espia.class)
public @interface EspiaAnotacion {

}



Aplicar la inyección de dependencias al carrito de la compra

Convertir un Entity en un Bean accesible por su nombre (desde la vista y desde otros beans) de la aplicación

(Pagina 152 tutorial de seam)Interceptar el carrito para implementar estadisticas y seguridad de forma transparente

Generar consultas JPQL para saber los detalles de las entidades relacionadas con disco y estadistica

viernes, 17 de abril de 2009

Request-JSF-Seam

Problematica de recuperar parametros

Solucion casi igual a Servlets
@RequestParameter(value="nombreParametro")
Long id;

Solucion orientada a objetos aprovechando JSF e inyeccion de dependencias
Binding de HtmlDataTable y aprovechar el metodo datatable.getRowData() para obtener el objeto de la fila actual...

Solucion Seam .... @DataModel @DataModelSelection

Carrito compra-> inyeccion

miércoles, 15 de abril de 2009

calendar/time pattern

info recogida de: http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html






















Letter
Date or Time Component
Presentation
Examples
G
Era designator
Text
AD
y
Year
Year
1996; 96
M
Month in year
Month
July; Jul; 07
w
Week in year
Number
27
W
Week in month
Number
2
D
Day in year
Number
189
d
Day in month
Number
10
F
Day of week in month
Number
2
E
Day in week
Text
Tuesday; Tue
a
Am/pm marker
Text
PM
H
Hour in day (0-23)
Number
0
k
Hour in day (1-24)
Number
24
K
Hour in am/pm (0-11)
Number
0
h
Hour in am/pm (1-12)
Number
12
m
Minute in hour
Number
30
s
Second in minute
Number
55
S
Millisecond
Number
978
z
Time zone
General time zone
Pacific Standard Time; PST; GMT-08:00
Z
Time zone
RFC 822 time zone
-0800

Seam: JSF+EJB

Practica de componentes JSF a través de edición de Disco. Comenzamos solo editando nombre para después utilizar
  • componente calendario para editar la fecha del Disco
  • componente selectOneMenu para editar el Cantante del Disco
  • componente validador para validar que la fecha del Disco siempre sea anterior al día actual
  • conversores
  • binding e inyección de ejbs dentro de bindings
  • listeners en JSF: ActionEvent y ValueChangeEvent
Componente CarritoCompra (Mantener en session información de usuario y detallarla)


gestión de Excepciones en Seam

i18n en Seam

Tests en Seam



Debugear una aplicación java

lunes, 13 de abril de 2009

SeamFramework=EJB3+JSF(Richfaces)

Richfaces es una implementacion de jsf

gettingstartedwithjbosstools