SlideShare una empresa de Scribd logo
1 de 38
Plataforma Java 
Antonio J. Contreras 
EASP 2008
Indice 
 Java 
 Frameworks 
 IDEs 
 Servidores y contenedores 
 Desarrollo con Netbeans
Java 
 No es solo un lenguaje de 
programación. 
 Es un batiburrillo de lenguaje + 
especificaciones + frameworks 
 Algunos conceptos
Algunos Conceptos 
 Jsp (aspx): página compilada dinámicamente 
 Servlet: implementación Java de un cgi. Se diferencia 
de este en que no es un proceso independiente. Se 
ejecuta en la jvm. 
 Los dos anteriores son la base de muchos frameworks 
web 
 Bean: instancia de una clase referenciable por su 
nombre. (uso de java reflection) 
 Container: “Ente” que es capaz de ejecutar objetos y 
aplicaciones java. Las aplicaciones no se ejecutan de 
forma autónoma fuera del container Puede proveer 
funcionalidad añadida a la aplicación: datasources,etc. 
 Framework: colección de bibliotecas a las que se les 
pone un nombre. Aparte, pueden cambiar la filosofía 
de trabajo: i.e. Spring
Java [0]
Java [1] 
 JVM: maquina virtual java (vs. CLR) 
 JRE: runtime para ejecutar aplicaciones 
java. En definitiva es un interprete de 
Bytecode (vs. MSIL) 
 JDK: kit de desarrollo java. Incluye el JRE 
+ algunas herramientas: javac, jar, etc. A 
partir de la v1.2, se distinguió entre J2SE, 
J2EE y J2ME, dependiendo de su 
orientación. La versión actual ha perdido el 
2 y el 1., denominándose Java 6 SE, EE, ME
Java[1] 
 Plataformas Java: SDK + API 
 Java SE: plataforma estándar de Java 
para desarrollo de aplicaciones de 
propósito general 
 Java EE: Java SE + especificaciones de 
desarrollo de aplicaciones en servidor 
(distribuidas, multicapa) 
 Java ME: Desarrollo de aplicaciones 
móviles y empotradas.
Java [3] 
 Java Community Proccess: proceso 
formalizado para la definición de 
futuras versiones y características de 
la plataforma Java.
Frameworks 
 Multitud de ellos con diferentes 
objetivos. Basados en lenguaje Java 
& XML (la mayoría) 
 Libre uso y propietarios 
 Fundación Apache bastante activa 
 Algunos intentan relajar la rigidez de 
la especificación original (i.e. Spring) 
 Hincapié en Frameworks Web
Frameworks[1] 
 Algunos de ellos: 
 Struts: Muy utilizado, aunque parece que está 
destinado a morir 
 JSF RI & MyFaces: Implementaciones de la 
especificación JSF 
 Spring: Framework ligero y amplio para 
desarrollo de aplicaciones EE, frente al uso de 
EJBs estandar. 
 Hibernate: framework de persistencia de datos 
 Velocity: framework de plantillas, Log4java: 
Logging. 
 Web Services: Apache Axis
JavaServerFaces 
 Es una especificación: JSR 127 
 Implementaciones: JSF RI (netBeans 
& Sun Java Studio Creator), MyFaces 
(Apache), ADF Faces (Oracle) … 
 Controlador central (FrontControler) 
que se encarga de manejar todas las 
peticiones del cliente y gestionar su 
ciclo de vida.
JSF [1]
JSF[2]:Ciclo de vida 
 6 fases 
 1. Restore View: Crea el árbol de componentes de la página 
solicitada y carga el estado si esta ya había sido solicitada 
previamente. 
 2. Apply Request Value: Itera sobre el árbol de componentes 
recuperando el estado de cada uno asignándole los valores 
que viene desde el cliente. 
 3. Process Validations: Se realizan las validaciones de cada 
componente 
 4. Update Model Values: Se actualizan los valores de los 
backing beans del modelo cuyas propiedades estaban 
vinculadas a propiedades de los componentes de la vista. 
 5. Invoke application: Se ejecuta la lógica del negocio y se 
selecciona la próxima vista lógica. 
 6. Render Response: Se arma la vista con el estado 
actualizado de los componentes y se la envía al cliente.
JSF[3]:Ciclo de vida
Spring 
 Abarca muchos mas aspectos que 
JSF, tiene objetivos diferentes 
 JSF se podría equiparar con Spring 
MVC. 
 Introduce el concepto de inyección 
de dependencias: tratar de hacer el 
codigo lo mas independiente posible 
respecto de la implementación
Spring[1]
Spring[2] 
 IoC: manejado por Spring Core 
Container. Es el concepto más 
importante de Spring. Las 
dependencias entre objetos son 
controladas por el container, no por el 
propio objeto. 
 Utiliza un fichero xml en el que se 
especifican esas dependencias.
Spring[3]. Ejemplo IoC 
package com.springinaction.chapter01.hello; 
public interface GreetingService { 
void sayGreeting(); 
} 
package com.springinaction.chapter01.hello; 
public class GreetingServiceImpl implements GreetingService { 
private String greeting; 
public GreetingServiceImpl() {} 
public GreetingServiceImpl(String greeting) { 
this.greeting = greeting; 
} 
public void sayGreeting() { 
System.out.println(greeting); 
} 
public void setGreeting(String greeting) { 
this.greeting = greeting; 
} 
}
Spring[3]. Ejemplo IoC y2 
<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns=http://www.springframework.org/schema/beans> 
<bean id="greetingService" 
class="com.springinaction.chapter01.hello.GreetingServiceImpl"> 
<property name="greeting" value="Buenos Dias!" /> 
</bean> 
</beans> 
package com.springinaction.chapter01.hello; 
import org.springframework.beans.factory.BeanFactory; 
import org.springframework.beans.factory.xml.XmlBeanFactory; 
import org.springframework.core.io.FileSystemResource; 
public class HelloApp { 
public static void main(String[] args) throws Exception { 
BeanFactory factory = 
new XmlBeanFactory(new FileSystemResource("hello.xml")); 
GreetingService greetingService = 
(GreetingService) factory.getBean("greetingService"); 
greetingService.sayGreeting(); 
} 
}
IDEs 
 Múltiples entornos para elegir 
 De pago: Jbuilder, Intellij Idea, BEA 
Workshop, WebSphere Developer. 
 Libre uso: Eclipse, netBeans, Sun Java 
Studio Creator, Jdeveloper¿?. 
 No todos tienen capacidad WYSIWYG
Servidores y contenedores 
 Amplia variedad para distintas 
plataformas y SOs 
 Libre uso y propietarios
Servidores[1] 
 Libre uso: 
 Apache Tomcat 
 Jboss 
 Sun JS Application Server 
 De pago: 
 BEA Weblogic (ahora es de Oracle) 
 IBM WebSphere 
 Oracle 9iAS / 10gAS 
 ColdFusion
Desarrollo con NetBeans 
Antonio J. Contreras 
EASP 2008
Aspecto General
Netbeans 
 Características 
 Ciclo de Vida 
 Controles 
 Binding 
 Navegación 
 Formularios Virtuales 
 Acceso a datos
Características 
 Basado en Sun Java Studio Creator 
 Implementa JSF RI 
 Capacidad WYSIWIG 
 Implementado en Java => lento en 
su ejecución. Mejora en v6.0 
 Múltiples contenedores y servidores: 
Tomcat y Sun 
 No solo para web. Variedad de tipos 
de proyectos: JSF, swing, J2ME
Características[2] 
 Aunque se pueden implementar 
aplicaciones completas, no son 
demasiado ortodoxas desde el punto 
de vista Java EE 
 En principio, solo debería utilizarse 
para la parte de vista, desechando 
por ejemplo, el modelo de acceso a 
datos.
Conceptos 
 Una aplicación web consta de: 
 Jsp’s 
 Web.xml 
 Beans 
 Al menos 3 objetos con distinto ambito: 
 Aplicación 
 Sesión 
 Petición
Ciclo de vida petición JSF
Ciclo de vida petición JSF[2] 
 Se puede generar una respuesta a 
partir de la fase 2 
 Propiedad “inmediate” de los 
controles: false por defecto 
 Permite que ese control se “salte” pasos 
en el ciclo de vida: se realiza todo en la 
fase 2
Controles 
 Netbeans proporciona una lista de 
controles estándar para desarrollo: 
 Combos,TextBoxes,etc. 
 Grids 
 tabs, panels y otros containers 
 Ojo con paginas muy cargadas de 
controles: comportamiento poco 
predecible …: conveniencia de utilizar jsp 
fragments
Binding 
 Hay una relación unívoca entre cada 
control y el Bean 
 Cada propiedad de un control se 
puede asociar a un metodo o variable 
<ui:textField binding="#{fichas$altaModificacionEmpresa.txtLocalidad}" 
disabled="#{fichas$altaModificacionEmpresa.hempresaGuardada.disabled}" 
id="txtLocalidad“ />
Navegación 
 Centralizada en un fichero xml: 
navigation.xml 
 Se expresan reglas para navegar 
entre las jsp’s 
<navigation-rule> 
<from-view-id>/bandejas/bandejaBeneficiario.jsp</from-view-id> 
<navigation-case> 
<from-outcome>empresa</from-outcome> 
<to-view-id>/bandejas/bandejaEmpresa.jsp</to-view-id> 
<redirect></redirect> 
</navigation-case> 
</navigation-rule>
Formularios Virtuales 
 La idea es que solo se envíen los 
valores de un subconjunto de 
controles de la jsp cada vez que se 
hace postback
Desarrollo con Eclipse 
Antonio J. Contreras 
EASP 2008
Características 
 Por ahora no ofrece un entorno 
WYSIWYG para web (excepto 
myEclipse). Para Swing si existe esta 
funcionalidad 
 Incorporación de plugins de terceros 
que aumentan su funcionalidad.
Una App J2EE 
 Acceso a Datos: JPA + Hibernate 
 Lógica de Negocio: Spring Framework 
 Seguridad: Acegi Security: role-based 
y/o ACL 
 Uso de Anotaciones Java: etiqueta 
que empieza por @ y que altera el 
comportamiento de un elemento de la 
clase (~atributos .net[])
Una App J2EE 
 Vista: 
 Spring MVC (+ WebFlow) ó JSF 
 Uso de TagLibs. 
 Filosofía REST: desacoplar las URLs: urls 
logicas no coinciden con las físicas: dotar 
de significado a la url

Más contenido relacionado

La actualidad más candente

Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrolloDavid
 
Introducción a Java EE
Introducción a Java EEIntroducción a Java EE
Introducción a Java EEPaco Saucedo
 
Maven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerásMaven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerásCristian Romero Matesanz
 
Introducccion springframework
Introducccion springframeworkIntroducccion springframework
Introducccion springframeworkVortexbird
 
[ES] Introdución al desarrollo de aplicaciones web en java
[ES] Introdución al desarrollo de aplicaciones  web en java[ES] Introdución al desarrollo de aplicaciones  web en java
[ES] Introdución al desarrollo de aplicaciones web en javaEudris Cabrera
 
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006Samuel Marrero
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEFernando Montaño
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web javaCésar Ocampo
 
Introducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaIntroducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaEudris Cabrera
 

La actualidad más candente (20)

Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
 
Introducción a Java EE
Introducción a Java EEIntroducción a Java EE
Introducción a Java EE
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
spring
springspring
spring
 
Maven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerásMaven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerás
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Introducccion springframework
Introducccion springframeworkIntroducccion springframework
Introducccion springframework
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Documento Web2Py
Documento Web2PyDocumento Web2Py
Documento Web2Py
 
[ES] Introdución al desarrollo de aplicaciones web en java
[ES] Introdución al desarrollo de aplicaciones  web en java[ES] Introdución al desarrollo de aplicaciones  web en java
[ES] Introdución al desarrollo de aplicaciones web en java
 
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
 
Java desde cero maven
Java desde cero mavenJava desde cero maven
Java desde cero maven
 
Framework
FrameworkFramework
Framework
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
 
Curso Spring Roo Spring Data Jpa Maven
Curso Spring Roo Spring Data Jpa MavenCurso Spring Roo Spring Data Jpa Maven
Curso Spring Roo Spring Data Jpa Maven
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
Eclipse
EclipseEclipse
Eclipse
 
Introducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaIntroducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en Java
 

Destacado (20)

Ado.net
Ado.netAdo.net
Ado.net
 
Ado.net
Ado.netAdo.net
Ado.net
 
Ciclos
CiclosCiclos
Ciclos
 
Programacion en java
Programacion en javaProgramacion en java
Programacion en java
 
Variables de-programación
Variables de-programaciónVariables de-programación
Variables de-programación
 
Modulo 1
Modulo 1Modulo 1
Modulo 1
 
Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5
 
Flujo de un programa Java (I)
Flujo de un programa Java (I)Flujo de un programa Java (I)
Flujo de un programa Java (I)
 
While do while
While do whileWhile do while
While do while
 
Programación III (Java) - 08 threads
Programación III (Java) - 08 threadsProgramación III (Java) - 08 threads
Programación III (Java) - 08 threads
 
86535551 ciclo-de-vida-jsf
86535551 ciclo-de-vida-jsf86535551 ciclo-de-vida-jsf
86535551 ciclo-de-vida-jsf
 
Fase 5 ciclo for
Fase 5 ciclo forFase 5 ciclo for
Fase 5 ciclo for
 
Clojure: Java y Lisp, unidos
Clojure: Java y Lisp, unidosClojure: Java y Lisp, unidos
Clojure: Java y Lisp, unidos
 
Ciclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - AlgoritmiaCiclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - Algoritmia
 
Ado.net
Ado.netAdo.net
Ado.net
 
Curso java
Curso javaCurso java
Curso java
 
Sentencias de control en java
Sentencias de control en javaSentencias de control en java
Sentencias de control en java
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
ProgramacióN En Java Variables Y Ciclos
ProgramacióN En Java Variables Y CiclosProgramacióN En Java Variables Y Ciclos
ProgramacióN En Java Variables Y Ciclos
 
Captura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVACaptura de datos y mensajes Interfaz - JAVA
Captura de datos y mensajes Interfaz - JAVA
 

Similar a Plataforma de programación Java

Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Robert Rayco Quiroz
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EECarlos Gavidia-Calderon
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentesUTN
 
[ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition [ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition Eudris Cabrera
 
9 tecnologías v1.1
9 tecnologías v1.19 tecnologías v1.1
9 tecnologías v1.1UTN
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver FulgueraJavier Oliver Fulguera
 
Introducción a JBoss
Introducción a JBossIntroducción a JBoss
Introducción a JBossIker Canarias
 
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.pptintroduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.pptBYRONMIGUELSUBUYUCPA
 
01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdfMarvelNanosoft
 
01.springframework.pptx
01.springframework.pptx01.springframework.pptx
01.springframework.pptxjohann
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con JavaEudris Cabrera
 

Similar a Plataforma de programación Java (20)

Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
Spring
SpringSpring
Spring
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentes
 
[ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition [ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition
 
9 tecnologías v1.1
9 tecnologías v1.19 tecnologías v1.1
9 tecnologías v1.1
 
5 lenguaje
5 lenguaje5 lenguaje
5 lenguaje
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
 
Charla
CharlaCharla
Charla
 
Resumen jee
Resumen jeeResumen jee
Resumen jee
 
Introducción a JBoss
Introducción a JBossIntroducción a JBoss
Introducción a JBoss
 
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.pptintroduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
 
5 lenguaje (caso de uso)
5 lenguaje  (caso de uso)5 lenguaje  (caso de uso)
5 lenguaje (caso de uso)
 
01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf
 
01 introducción
01 introducción01 introducción
01 introducción
 
01.springframework.pptx
01.springframework.pptx01.springframework.pptx
01.springframework.pptx
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java
 

Último

El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 

Último (20)

El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 

Plataforma de programación Java

  • 1. Plataforma Java Antonio J. Contreras EASP 2008
  • 2. Indice  Java  Frameworks  IDEs  Servidores y contenedores  Desarrollo con Netbeans
  • 3. Java  No es solo un lenguaje de programación.  Es un batiburrillo de lenguaje + especificaciones + frameworks  Algunos conceptos
  • 4. Algunos Conceptos  Jsp (aspx): página compilada dinámicamente  Servlet: implementación Java de un cgi. Se diferencia de este en que no es un proceso independiente. Se ejecuta en la jvm.  Los dos anteriores son la base de muchos frameworks web  Bean: instancia de una clase referenciable por su nombre. (uso de java reflection)  Container: “Ente” que es capaz de ejecutar objetos y aplicaciones java. Las aplicaciones no se ejecutan de forma autónoma fuera del container Puede proveer funcionalidad añadida a la aplicación: datasources,etc.  Framework: colección de bibliotecas a las que se les pone un nombre. Aparte, pueden cambiar la filosofía de trabajo: i.e. Spring
  • 6. Java [1]  JVM: maquina virtual java (vs. CLR)  JRE: runtime para ejecutar aplicaciones java. En definitiva es un interprete de Bytecode (vs. MSIL)  JDK: kit de desarrollo java. Incluye el JRE + algunas herramientas: javac, jar, etc. A partir de la v1.2, se distinguió entre J2SE, J2EE y J2ME, dependiendo de su orientación. La versión actual ha perdido el 2 y el 1., denominándose Java 6 SE, EE, ME
  • 7. Java[1]  Plataformas Java: SDK + API  Java SE: plataforma estándar de Java para desarrollo de aplicaciones de propósito general  Java EE: Java SE + especificaciones de desarrollo de aplicaciones en servidor (distribuidas, multicapa)  Java ME: Desarrollo de aplicaciones móviles y empotradas.
  • 8. Java [3]  Java Community Proccess: proceso formalizado para la definición de futuras versiones y características de la plataforma Java.
  • 9. Frameworks  Multitud de ellos con diferentes objetivos. Basados en lenguaje Java & XML (la mayoría)  Libre uso y propietarios  Fundación Apache bastante activa  Algunos intentan relajar la rigidez de la especificación original (i.e. Spring)  Hincapié en Frameworks Web
  • 10. Frameworks[1]  Algunos de ellos:  Struts: Muy utilizado, aunque parece que está destinado a morir  JSF RI & MyFaces: Implementaciones de la especificación JSF  Spring: Framework ligero y amplio para desarrollo de aplicaciones EE, frente al uso de EJBs estandar.  Hibernate: framework de persistencia de datos  Velocity: framework de plantillas, Log4java: Logging.  Web Services: Apache Axis
  • 11. JavaServerFaces  Es una especificación: JSR 127  Implementaciones: JSF RI (netBeans & Sun Java Studio Creator), MyFaces (Apache), ADF Faces (Oracle) …  Controlador central (FrontControler) que se encarga de manejar todas las peticiones del cliente y gestionar su ciclo de vida.
  • 13. JSF[2]:Ciclo de vida  6 fases  1. Restore View: Crea el árbol de componentes de la página solicitada y carga el estado si esta ya había sido solicitada previamente.  2. Apply Request Value: Itera sobre el árbol de componentes recuperando el estado de cada uno asignándole los valores que viene desde el cliente.  3. Process Validations: Se realizan las validaciones de cada componente  4. Update Model Values: Se actualizan los valores de los backing beans del modelo cuyas propiedades estaban vinculadas a propiedades de los componentes de la vista.  5. Invoke application: Se ejecuta la lógica del negocio y se selecciona la próxima vista lógica.  6. Render Response: Se arma la vista con el estado actualizado de los componentes y se la envía al cliente.
  • 15. Spring  Abarca muchos mas aspectos que JSF, tiene objetivos diferentes  JSF se podría equiparar con Spring MVC.  Introduce el concepto de inyección de dependencias: tratar de hacer el codigo lo mas independiente posible respecto de la implementación
  • 17. Spring[2]  IoC: manejado por Spring Core Container. Es el concepto más importante de Spring. Las dependencias entre objetos son controladas por el container, no por el propio objeto.  Utiliza un fichero xml en el que se especifican esas dependencias.
  • 18. Spring[3]. Ejemplo IoC package com.springinaction.chapter01.hello; public interface GreetingService { void sayGreeting(); } package com.springinaction.chapter01.hello; public class GreetingServiceImpl implements GreetingService { private String greeting; public GreetingServiceImpl() {} public GreetingServiceImpl(String greeting) { this.greeting = greeting; } public void sayGreeting() { System.out.println(greeting); } public void setGreeting(String greeting) { this.greeting = greeting; } }
  • 19. Spring[3]. Ejemplo IoC y2 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=http://www.springframework.org/schema/beans> <bean id="greetingService" class="com.springinaction.chapter01.hello.GreetingServiceImpl"> <property name="greeting" value="Buenos Dias!" /> </bean> </beans> package com.springinaction.chapter01.hello; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.FileSystemResource; public class HelloApp { public static void main(String[] args) throws Exception { BeanFactory factory = new XmlBeanFactory(new FileSystemResource("hello.xml")); GreetingService greetingService = (GreetingService) factory.getBean("greetingService"); greetingService.sayGreeting(); } }
  • 20. IDEs  Múltiples entornos para elegir  De pago: Jbuilder, Intellij Idea, BEA Workshop, WebSphere Developer.  Libre uso: Eclipse, netBeans, Sun Java Studio Creator, Jdeveloper¿?.  No todos tienen capacidad WYSIWYG
  • 21. Servidores y contenedores  Amplia variedad para distintas plataformas y SOs  Libre uso y propietarios
  • 22. Servidores[1]  Libre uso:  Apache Tomcat  Jboss  Sun JS Application Server  De pago:  BEA Weblogic (ahora es de Oracle)  IBM WebSphere  Oracle 9iAS / 10gAS  ColdFusion
  • 23. Desarrollo con NetBeans Antonio J. Contreras EASP 2008
  • 25. Netbeans  Características  Ciclo de Vida  Controles  Binding  Navegación  Formularios Virtuales  Acceso a datos
  • 26. Características  Basado en Sun Java Studio Creator  Implementa JSF RI  Capacidad WYSIWIG  Implementado en Java => lento en su ejecución. Mejora en v6.0  Múltiples contenedores y servidores: Tomcat y Sun  No solo para web. Variedad de tipos de proyectos: JSF, swing, J2ME
  • 27. Características[2]  Aunque se pueden implementar aplicaciones completas, no son demasiado ortodoxas desde el punto de vista Java EE  En principio, solo debería utilizarse para la parte de vista, desechando por ejemplo, el modelo de acceso a datos.
  • 28. Conceptos  Una aplicación web consta de:  Jsp’s  Web.xml  Beans  Al menos 3 objetos con distinto ambito:  Aplicación  Sesión  Petición
  • 29. Ciclo de vida petición JSF
  • 30. Ciclo de vida petición JSF[2]  Se puede generar una respuesta a partir de la fase 2  Propiedad “inmediate” de los controles: false por defecto  Permite que ese control se “salte” pasos en el ciclo de vida: se realiza todo en la fase 2
  • 31. Controles  Netbeans proporciona una lista de controles estándar para desarrollo:  Combos,TextBoxes,etc.  Grids  tabs, panels y otros containers  Ojo con paginas muy cargadas de controles: comportamiento poco predecible …: conveniencia de utilizar jsp fragments
  • 32. Binding  Hay una relación unívoca entre cada control y el Bean  Cada propiedad de un control se puede asociar a un metodo o variable <ui:textField binding="#{fichas$altaModificacionEmpresa.txtLocalidad}" disabled="#{fichas$altaModificacionEmpresa.hempresaGuardada.disabled}" id="txtLocalidad“ />
  • 33. Navegación  Centralizada en un fichero xml: navigation.xml  Se expresan reglas para navegar entre las jsp’s <navigation-rule> <from-view-id>/bandejas/bandejaBeneficiario.jsp</from-view-id> <navigation-case> <from-outcome>empresa</from-outcome> <to-view-id>/bandejas/bandejaEmpresa.jsp</to-view-id> <redirect></redirect> </navigation-case> </navigation-rule>
  • 34. Formularios Virtuales  La idea es que solo se envíen los valores de un subconjunto de controles de la jsp cada vez que se hace postback
  • 35. Desarrollo con Eclipse Antonio J. Contreras EASP 2008
  • 36. Características  Por ahora no ofrece un entorno WYSIWYG para web (excepto myEclipse). Para Swing si existe esta funcionalidad  Incorporación de plugins de terceros que aumentan su funcionalidad.
  • 37. Una App J2EE  Acceso a Datos: JPA + Hibernate  Lógica de Negocio: Spring Framework  Seguridad: Acegi Security: role-based y/o ACL  Uso de Anotaciones Java: etiqueta que empieza por @ y que altera el comportamiento de un elemento de la clase (~atributos .net[])
  • 38. Una App J2EE  Vista:  Spring MVC (+ WebFlow) ó JSF  Uso de TagLibs.  Filosofía REST: desacoplar las URLs: urls logicas no coinciden con las físicas: dotar de significado a la url