SlideShare una empresa de Scribd logo
Page  1 
Introducción Basiuca a aplicaciones Web en JAVA 
1ra Parte 
D. Rodrigo Zottola Pareja - Ing. en Computación 
2014
Objetivos 
Una mirada a las tecnologías Web Para JAVA. 
Leve introducción al desarrollo de aplicaciones 
empresariales con JAVA EE 
Base a próximos seminarios. 
Page  2 D. Rodrigo Zottola Pareja - Ing. en Computación
Aplicación web 
Una aplicación web es cualquier aplicación que es accedida vía web 
por una red como internet o una intranet. 
En general aquellos programas informáticos que son ejecutados en el 
entorno del navegador 
Programas codificados con algún lenguaje soportado por el navegador 
confiándose en el navegador web para que reproduzca (renderice) la 
aplicación. 
Page  3 
D. Rodrigo Zottola Pareja - Ing. en Computación
Aplicaciones Empresariales 
Caracteristicas: 
Page  4 
Mantenibilidad 
 Fiabilidad 
 Extensibilidad 
Manejabilidad 
 Transaccional. 
-Propiedades ACID: Atomicity(atomicidad), Consistency(coherencia), 
Isolation (aislamiento), Durability (permanencia). 
 Escalables. 
 Disponibilidad. 
Seguridad y confiabilidad 
 Integración de las aplicaciones y de los datos 
 Portabilidad 
D. Rodrigo Zottola Pareja - Ing. en Computación
Arquitecturas 
 Arquitectura (80/90)cliente-servidor de dos capas (arquitectura de nivel 
2): del lado del cliente se incluía tanto la lógica del negocio como la 
lógica de la presentación; del lado del servidor se incluían los datos 
alojados en bases o almacenes de datos 
Computador 
Computador 
 La arquitectura cliente-servidor de tres capas (arquitectura de nivel 3) 
separa la lógica de presentación (que permanece del lado del cliente) 
de la lógica del negocio (servidor de negocio), permaneciendo los datos 
alojados en bases de datos del servidor. 
Page  5 
Computador 
SERVIDOR 
DE 
ARCHIVOS 
SERVIDOR DBMS 
Y 
DATOS 
Cl iente 1 
Cl iente 2 
Cl iente N 
Cl ientes FRONT-END, 
Val idación y Formateo 
de Datos 
Capa Intermedia 
MONITOR 
TP 
Servicios y lógica de 
Apl icación 
Pool de Conexiones a 
B.D 
SERVIDOR DBMS 
Y 
DATOS 
Base de Datos 
Sol icitud de Servicio 
D. Rodrigo Zottola Pareja - Ing. en Computación
Complejidades en la n Capas 
Page  6 
 Más conocimientos de cómputo distribuido (DCOM, RMI, 
CORBA, etc.) 
 Las capas se deben integrar eficientemente 
 Conocimiento para midleware y servicios (transacciones, pool 
de conexiones, accesos a dbs, seguridad, networking, etc. ). 
Administrar Conexiones Costosas : 
 DBMS 
Middleware orientado a mensajes 
EL uso de API's del Servidor Middleware dificulta la 
mantenibilidad y limita la portabilidad. 
D. Rodrigo Zottola Pareja - Ing. en Computación
JAVA Web - Que es J2EE? 
Page  7 
Java EE (Java Enterprise Edition): Plataforma Java para el 
desarrollo de aplicaciones empresariales 
Java EE es un conjunto de especificaciones de APIs Java para 
la construcción de aplicaciones empresariales.(Clases abstracta 
e interfaces) 
Define estándares que son implementados por distintos 
proveedores y fabricantes, no fuerza a emplear ningún producto 
específico. 
Ofrece un framework para el desarrollo de aplicaciones 
distribuidas multicapa (3-tier, n-tier) basadas en Web 
D. Rodrigo Zottola Pareja - Ing. en Computación
El enfoque de J2EE 
Page  8 
JEE soporta aplicaciones distribuidas que toma ventajas de las 
tecnologías existentes y en desarrollo simplificando el proceso a 
través de un modelo de aplicaciones basados en componentes. 
 Las aplicaciones desplegadas con la tecnología 
J2EE: 
 Están estandarizadas 
 Siguen una guías de especificación estrictas 
 Están escritas en Java 
 Se pueden desplegar en cualquier servidor de aplicaciones 
D. Rodrigo Zottola Pareja - Ing. en Computación
El enfoque de J2EE 
Page  9 
Componentes 
 Las Aplicaciones Clientes y Applets son componentes que se ejecutan en el lado del 
cliente. 
 Java Servlet, JavaServer Pages son componentes Web que se ejecutan en 
el lado del servidor. 
 Enterprise JavaBeans (EJB ) son componentes de negocio que se ejecutan 
en el servidor de aplicación. 
JAVA EE Clients 
 Web Clients 
 Application Clients 
 Applets 
 The JavaBeans Component Architecture 
 Java EE Server Communications 
D. Rodrigo Zottola Pareja - Ing. en Computación
Contenedores en JAVA EE 
Page  10 
 Los contenedores proveen Un entorno de ejecucion para 
componentes JAVA. 
Tambien brindan los servicios de seguridad, transacciones, 
administracion del ciclo de vida, caching, persistencia, 
comunicacion en la red 
‒ Java EE server. 
‒ EJB container 
‒ Web container 
‒ Application client container: 
‒ Applet container 
Web Services Support 
‒ XML 
‒ SOAP Transport Protocol 
‒ WSDL Standard Format 
D. Rodrigo Zottola Pareja - Ing. en Computación
J2EE - Evolucion 
Page  11 
D. Rodrigo Zottola Pareja - Ing. en Computación
J2EE - Capas 
Page  12 
D. Rodrigo Zottola Pareja - Ing. en Computación
Servidores de Aplicaciones 
Page  13 
Existen un gran número de fabricantes que venden servidores de 
aplicaciones certificados Java EE. 
Algunos ejemplos. 
 BEA WebLogic Server: 
 http://www.bea.com 
 IBM WebSphere ApplicationServer: 
 http://www.ibm.com 
 Sun Java System Application Server: 
 http://www.sun.com 
 Oracle Application Server: 
 http://www.oracle.com 
D. Rodrigo Zottola Pareja - Ing. en Computación
Servidores de Aplicaciones 
Page  14 
Tomcat (proyecto de Apache): 
 http://tomcat.apache.org 
JBoss: 
 http://www.jboss.com 
GlassFish: 
 https://glassfish.dev.java.net 
OpenEJB: 
 http://openejb.codehaus.org 
 Geronimo: 
 http://geronimo.apache.org 
Portabilidad : Si solo se utilizan Api’s estándares en general es 
posible instalar sobre cualquier servidor de aplicaciones según 
Java EE, esto hace que no exista una dependencia con el 
fabricante. 
D. Rodrigo Zottola Pareja - Ing. en Computación
Tecnologías 
Page  15 
IDE’S : 
ECLIPSE 
NETBEANS 
JDEVELOPER 
SERVIDORES DE APLICACIONES 
-Webologic(Oracle) 
-Tomcat 
-Galssfish 
D. Rodrigo Zottola Pareja - Ing. en Computación
Patrones de Diseños 
Mas usados 
Page  16 
FACADE: Su objetivo es proporcionar una interface simple para un 
subsistema complejo, o estructurar subsistemas en capas (En pocas 
palabras creo una clase a través de la cual el sistema cliente accederá a lo 
que yo quiera que acceda). 
SINGLETON: El patrón de diseño singleton (instancia única) está 
diseñado para restringir la creación de objetos pertenecientes a 
una clase o el valor de un tipo a un único objeto. Su intención consiste en 
garantizar que una clase sólo tenga una instancia y proporcionar un punto 
de acceso global a ella.(Obligo que solo se cree una instancia de una 
clase.) 
FACTORY: En diseño de software, el patrón de diseño Factory 
Method consiste en utilizar una clase constructora (al estilo del Abstract 
Factory) abstracta con unos cuantos métodos definidos y otro(s) 
abstracto(s): el dedicado a la construcción de objetos de un subtipo de un 
tipo determinado. 
Service: 
D. Rodrigo Zottola Pareja - Ing. en Computación
Back/Front – End 
Page  17 
Una aplicación usualmente se puede dividir en : 
 Front End: Es la parte que interactua con el usuario, la parte visual , 
el flujo de navegación, etc 
Back End : Es el núcleo de la aplicación, la lógica del negocio , asi 
como el modelo de datos, etc 
La idea general es que el front-end es responsable de recoger 
entradas de los usuarios, y ser procesadas de tal manera que 
cumplan las especificaciones para que el back-end pueda usarlas. 
La conexión entre front-end y el back-end es un tipo de interfaz. 
Front-end y back-end son términos utilizados para caracterizar las 
interfaces y servicios del programa en relación con el usuario inicial 
de estas interfaces y servicios. 
D. Rodrigo Zottola Pareja - Ing. en Computación
Back End - Capas 
Page  18 
D. Rodrigo Zottola Pareja - Ing. en Computación
Back End - Core 
Page  19 
Sirve indirectamente en apoyo de los servicios front-end. La 
aplicación back-end puede interactuar directamente con el front-end. 
Modelo de datos 
Modelos de negocios 
Base de Datos 
ORM – Hibernate Mapeos de Clase 
JPA hibernate 
Hql 
ANSI sql 
D. Rodrigo Zottola Pareja - Ing. en Computación
Posibles componentes "Core" 
Page  20 
Managers (Facade) 
DAO /JPAControllers 
DTO/Beans/POJO 
XML Mapping/ Annotations 
D. Rodrigo Zottola Pareja - Ing. en Computación
Posibles componentes "Core" 
Page  21 
Manager (Facade): Es un conjunto de funciones para un sistema 
cliente en particula 
DAO : Solo contiene las metodos referentes al acceso a datos de 
un DTO(ABM,count,etc) 
DTO : Son clases JAVA planas o Beans especificos que sirven 
para tranportar datos de una tabla especifica 
Mapping : Archivos xml para mapear tablas a clases JAVA 
D. Rodrigo Zottola Pareja - Ing. en Computación
Back End Capas 
Page  22 
D. Rodrigo Zottola Pareja - Ing. en Computación
Capa de Datos - Persistencia 
Page  23 
HIBERNATE : Es una herramienta de Mapeo objeto-relacional 
para la plataforma Java (y disponible también para .Net con el 
nombre de NHibernate) que facilita el mapeo de atributos entre una 
base de datos relacional tradicional y el modelo de objetos de una 
aplicación, mediante archivos declarativos (XML) que permiten 
establecer estas relaciones. 
JPA HIBERNATE (JAVA Persistence API) : JPA es un framework 
de persistencia, que nos abstrae de las bases de datos y nos 
brinda un estandar para persistir los datos en java. 
JPA viene a solucionar el vacio que hay entre utilizar objetos y 
persistirlos en una DB relacional. 
D. Rodrigo Zottola Pareja - Ing. en Computación
Capa de Datos - Hibernate 
Page  24 
D. Rodrigo Zottola Pareja - Ing. en Computación
Hibernate - Ejemplo 
Page  25 
D. Rodrigo Zottola Pareja - Ing. en Computación
Front End - Intro 
Page  26 
D. Rodrigo Zottola Pareja - Ing. en Computación
Java Servlets 
Page  27 
Los Servlets son módulos que extienden los servidores orientados 
a solicitud -respuesta, como los servidores web compatibles con 
Java. 
Clase usada en el servidor bajo el modelo de programación 
solictud-respuesta (request - response) 
Es la base de todos los frameworks WEb. 
Define clases esecificas para HTTP. 
D. Rodrigo Zottola Pareja - Ing. en Computación
Java Servlets 
Page  28 
 Un Servlet es una clase Java que extiende de 
javax.servlet.http.HttpServlet y que sobreescribe los métodos 
doPost o doGet o ambos. 
 Un Servlet es una clase Java usada para extender la 
capacidad de las aplicaciones basadas en el modelo 
cliente servidor y ejecución petición respuesta. 
 Los Servlets son una potente herramienta para la generación 
de contenido dinámico en la Web. 
 El Servlet Container es el componente encargado de la 
creación, acceso y destrucción de los Servlets, controla su 
ciclo de vida. 
D. Rodrigo Zottola Pareja - Ing. en Computación
Java Servlets 
Page  29 
D. Rodrigo Zottola Pareja - Ing. en Computación
Que puede hacer un Servlet? 
Page  30 
Leer los datos enviados por un usuario 
 Usualmente de formularios en páginas Web 
 Pueden venir de applets de Java o programas cliente HTTP. 
Buscar cualquier otra información sobre la petición que venga 
incluida en esta 
 Detalles de las capacidades del navegador, cookies, nombre del host del 
cliente, etc. 
Generar los resultados 
 Puede requerir consults a Base de Datos, invocar a otras aplicaciones, 
computar directamente la respuesta, etc. 
Dar formato a los resultados en un documento 
 Incluir la información en una página HTML 
Establecer los parámetros de la respuesta HTTP 
 Decirle al navegador el tipo de documento que se va a devolver, establecer las 
cookies, etc. 
Enviar el documento al cliente
Ciclo de vida de un Servlet 
Page  31
Java Server Pages - JSP 
Page  32 
Un documento JSP, es una página dinámica de servidor Java. 
Es un archivo de texto compuesto de : 
1. Cabecera con importaciones y parametros. 
2. Código cliente, normalmente HTML, XML y Javascript. 
3. Código servidor Java, denominado Scriptlet y escrito 
entre los caracteres 
<% y %>. 
4. Tags: instrucciones en formato XML, asociadas a clases 
Java. 
• Un JSP se transforma en un Servlet en tiempo de 
ejecución.
Java Server Pages - JSP 
Page  33
Java Server Pages - JSP 
Page  34
Modelo MVC en JAVA 
Page  35 
D. Rodrigo Zottola Pareja - Ing. en Computación
Front End - MVC 
Page  36 
View 
El usuario ingresa su información en la página identificacion.jsp. 
Esta página tiene un formulario con 
action=“identificarEmpleado.do” y submitea la información al 
servlet IdentificarEmpleadoAction.java 
Controller 
El servlet (controller) accede al facade (model) para invocarle el 
método identificarEmpleado(enpno,ename). Obtiene el resultado 
(un EmpDTO o null) y forwardea el control a la siguiente página 
según el resultado obtenido. 
Model 
El model está representado por el facade pero recordemos que 
detrás de él se encuentran los objetos de negocio (Emp y Dept) 
y (por último) la base de datos con las tablas EMP, DEPT y sus 
relaciones 
D. Rodrigo Zottola Pareja - Ing. en Computación
Frameworks JAVA MVC 
Page  37 
STRUTS Y STRUTS2 
http://struts.apache.org/ 
SPRING MVC 
www.springsource.org 
TILES (TEMPLATE) 
JAVA SERVER PAGES (JSF) 
www.javaserverfaces.org 
FACELET TEMPLATES 
OTROS FRAMWORKS 
GROOVY 
http://groovy.codehaus.org/ 
D. Rodrigo Zottola Pareja - Ing. en Computación
Spring - Modulos 
Page  38 
D. Rodrigo Zottola Pareja - Ing. en Computación
Frameworks and Tools JAVA 
Page  39 
Logueo de Errores: 
 Log4J 
 http://logging.apache.org/log4j/2.x/ 
 LogBack 
 http://logback.qos.ch/ 
Gestión de proyectos 
Maven 
 http://maven.apache.org/ 
 Gradle 
 http://www.gradle.org/ 
Versionado 
SVN 
 Git 
D. Rodrigo Zottola Pareja - Ing. en Computación
Frameworks and Tools JAVA 
Page  40 
Templating: 
 Velocity 
 http://logging.apache.org/log4j/2.x/ 
 Facelets 
XMLParsing 
 JDOM 
Springs Tools 
 Spring MVC Test 
 Spring Security 
Testing 
 JUnit 
 TestNG 
Mocking frameworks 
 Mockito 
 Jmockit 
D. Rodrigo Zottola Pareja - Ing. en Computación
Libros de Referencia 
Page  41 
 Arquitectura Java Sólida - Cecilio Álvarez Caules 
 Java a Fondo - Pablo Sznajdleder 
 SCJP Sun Certified Programmer for JAVA 6 Study 
Guide.- Kathy Sierra/Bert Bates 
 Core J2EE™ Patterns: Best Practices and Design 
Strategies, Second Edition - Deepak Alur, John Crupi, 
Dan Malks 
 Arquitectura empresarial y software libre, J2EE - 
Alberto Molpeceres Touris / Martín Pérez Mariñán 
D. Rodrigo Zottola Pareja - Ing. en Computación
Links de referencia 
Page  42 
http://docs.oracle.com/javaee/7/tutorial/doc/ 
 http://spring.io/docs 
http://holamundojava.blogspot.com/ 
http://ccia.ei.uvigo.es/docencia/SCS/1112/transparencias/Tema 
5-1.pdf 
http://es.wikipedia.org/ 
http://www.alegsa.com.ar/ 
http://jcesarperez.blogspot.com/2009/03/por-que-maven.html 
http://www.fic.udc.es 
http://www.slideshare.net/fernando_jmt/desarrollo-de-aplicaciones- 
empresariales-con-java-ee 
http://es.slideshare.net/cptanalatriste/arquitectura-y-diseo-de-aplicaciones- 
java-ee 
D. Rodrigo Zottola Pareja - Ing. en Computación
Enterprise JavaBeans 
Page  43 
Los EJB “viven” dentro del EJB container y este les provee una 
serie de servicios que llamaremos servicios de plataforma. Por 
ejemplo: 
Seguridad 
Multithreading 
Networking (objetos distribuidos) 
Transacciones 
Connection Pooling 
Para mas información un buen ejemplo es el siguiente. 
http://holamundojava.blogspot.com/2006/11/enterprise-javabeans. 
html 
D. Rodrigo Zottola Pareja - Ing. en Computación
Page  44 
Preguntas 
? 
D. Rodrigo Zottola Pareja - Ing. en Computación
Ing. D. Rodrigo Zottola Pareja - 
drzottolapareja@gmail.com 
Gracias 
Zottola Pareja Darwin Rodrigo 
Ing. en Computación 
rodrigozeta@gmail.com

Más contenido relacionado

La actualidad más candente

SISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOSSISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOSLUIS5111987
 
Enfoque estructurado y Enfoque OO - Ingenieria de software
Enfoque estructurado y Enfoque OO  - Ingenieria de softwareEnfoque estructurado y Enfoque OO  - Ingenieria de software
Enfoque estructurado y Enfoque OO - Ingenieria de softwareKola Real
 
Cuestionario uml y objetos zuli
Cuestionario uml y objetos zuliCuestionario uml y objetos zuli
Cuestionario uml y objetos zuliyuliethces
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
guest0a6e49
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
Mayra Romero
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
Yasser Muriel
 
Modelo conceptual de uml
Modelo conceptual de umlModelo conceptual de uml
Modelo conceptual de umlSergio Girado
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
Clara Patricia Avella Ibañez
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre Objetos
Emilio Aviles Avila
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesSergio Sanchez
 
Introducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no FuncionalesIntroducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no FuncionalesCarlos Zuluaga
 
ejemplos de pruebas unitarias y de integracion
ejemplos de pruebas unitarias y de integracion ejemplos de pruebas unitarias y de integracion
ejemplos de pruebas unitarias y de integracion
Leonardo Oscar Martinez Alpizar
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
Clara Patricia Avella Ibañez
 
I1M2011-T4: Definición de funciones en Haskell
I1M2011-T4: Definición de funciones en HaskellI1M2011-T4: Definición de funciones en Haskell
I1M2011-T4: Definición de funciones en Haskell
José A. Alonso
 
Requerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no FuncionalesRequerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no Funcionales
sullinsan
 
Importancia del análisis de requerimientos
Importancia del análisis de requerimientosImportancia del análisis de requerimientos
Importancia del análisis de requerimientos
almarza1
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareRoger Villegas
 
Plan de gestion de configuración de software
Plan de gestion de configuración de softwarePlan de gestion de configuración de software
Plan de gestion de configuración de softwareilianacon
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
Gabriel Mondragón
 

La actualidad más candente (20)

SISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOSSISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOS
 
Enfoque estructurado y Enfoque OO - Ingenieria de software
Enfoque estructurado y Enfoque OO  - Ingenieria de softwareEnfoque estructurado y Enfoque OO  - Ingenieria de software
Enfoque estructurado y Enfoque OO - Ingenieria de software
 
Cuestionario uml y objetos zuli
Cuestionario uml y objetos zuliCuestionario uml y objetos zuli
Cuestionario uml y objetos zuli
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Metodología Rup
Metodología RupMetodología Rup
Metodología Rup
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Modelo conceptual de uml
Modelo conceptual de umlModelo conceptual de uml
Modelo conceptual de uml
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre Objetos
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Introducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no FuncionalesIntroducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no Funcionales
 
ejemplos de pruebas unitarias y de integracion
ejemplos de pruebas unitarias y de integracion ejemplos de pruebas unitarias y de integracion
ejemplos de pruebas unitarias y de integracion
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
I1M2011-T4: Definición de funciones en Haskell
I1M2011-T4: Definición de funciones en HaskellI1M2011-T4: Definición de funciones en Haskell
I1M2011-T4: Definición de funciones en Haskell
 
Requerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no FuncionalesRequerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no Funcionales
 
Importancia del análisis de requerimientos
Importancia del análisis de requerimientosImportancia del análisis de requerimientos
Importancia del análisis de requerimientos
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de software
 
Plan de gestion de configuración de software
Plan de gestion de configuración de softwarePlan de gestion de configuración de software
Plan de gestion de configuración de software
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
 

Destacado

Introducción a Java
Introducción a JavaIntroducción a Java
Introducción a Java
César Hernández
 
Proceso MDA y Scrum
Proceso MDA y ScrumProceso MDA y Scrum
Desarrollo de aplicaciones web con Google Web Toolkit
Desarrollo de aplicaciones web con Google Web ToolkitDesarrollo de aplicaciones web con Google Web Toolkit
Desarrollo de aplicaciones web con Google Web Toolkit
Ingenieria Informatica Empresarial
 
Aplicaciones de escritorio con base de datos
Aplicaciones de escritorio con base de datosAplicaciones de escritorio con base de datos
Aplicaciones de escritorio con base de datosmariluruizramirez97
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Línea del tiempo sobre los Sistemas Gestores de Bases de Datos
Línea del tiempo sobre los Sistemas Gestores de Bases de DatosLínea del tiempo sobre los Sistemas Gestores de Bases de Datos
Línea del tiempo sobre los Sistemas Gestores de Bases de Datos
Alejandra Caballero Quintero
 
63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-javaGilberto Garcia Zavaleta
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web javaCésar Ocampo
 
Cuidado e instalación de cartuchos de tinta
Cuidado e instalación de cartuchos de tintaCuidado e instalación de cartuchos de tinta
Cuidado e instalación de cartuchos de tintaJuventud Musical
 
Manual de Netbeans
Manual de NetbeansManual de Netbeans
Manual de Netbeans
Gaby Villarreal
 
Java web Lección 04 - JSTL
Java web Lección 04 - JSTLJava web Lección 04 - JSTL
Java web Lección 04 - JSTL
Eric Gustavo Coronel Castillo
 
Java web 01 - servlets
Java web 01 - servletsJava web 01 - servlets
Java web 01 - servlets
Eric Gustavo Coronel Castillo
 
Java Web Lección 02 - JSP
Java Web Lección 02 - JSPJava Web Lección 02 - JSP
Java Web Lección 02 - JSP
Eric Gustavo Coronel Castillo
 
Java Web Lección 03 - MVC
Java Web Lección 03 - MVCJava Web Lección 03 - MVC
Java Web Lección 03 - MVC
Eric Gustavo Coronel Castillo
 
Java Web 00 - Contexto
Java Web 00 - ContextoJava Web 00 - Contexto
Java Web 00 - Contexto
Eric Gustavo Coronel Castillo
 

Destacado (18)

Introducción a Java
Introducción a JavaIntroducción a Java
Introducción a Java
 
Proceso MDA y Scrum
Proceso MDA y ScrumProceso MDA y Scrum
Proceso MDA y Scrum
 
Comenzando con GWT
Comenzando con GWTComenzando con GWT
Comenzando con GWT
 
Desarrollo de aplicaciones web con Google Web Toolkit
Desarrollo de aplicaciones web con Google Web ToolkitDesarrollo de aplicaciones web con Google Web Toolkit
Desarrollo de aplicaciones web con Google Web Toolkit
 
Aplicaciones de escritorio con base de datos
Aplicaciones de escritorio con base de datosAplicaciones de escritorio con base de datos
Aplicaciones de escritorio con base de datos
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Línea del tiempo sobre los Sistemas Gestores de Bases de Datos
Línea del tiempo sobre los Sistemas Gestores de Bases de DatosLínea del tiempo sobre los Sistemas Gestores de Bases de Datos
Línea del tiempo sobre los Sistemas Gestores de Bases de Datos
 
63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java
 
Resolucion del monitor
Resolucion del monitorResolucion del monitor
Resolucion del monitor
 
2.trabajando connavegadores
2.trabajando connavegadores2.trabajando connavegadores
2.trabajando connavegadores
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
Cuidado e instalación de cartuchos de tinta
Cuidado e instalación de cartuchos de tintaCuidado e instalación de cartuchos de tinta
Cuidado e instalación de cartuchos de tinta
 
Manual de Netbeans
Manual de NetbeansManual de Netbeans
Manual de Netbeans
 
Java web Lección 04 - JSTL
Java web Lección 04 - JSTLJava web Lección 04 - JSTL
Java web Lección 04 - JSTL
 
Java web 01 - servlets
Java web 01 - servletsJava web 01 - servlets
Java web 01 - servlets
 
Java Web Lección 02 - JSP
Java Web Lección 02 - JSPJava Web Lección 02 - JSP
Java Web Lección 02 - JSP
 
Java Web Lección 03 - MVC
Java Web Lección 03 - MVCJava Web Lección 03 - MVC
Java Web Lección 03 - MVC
 
Java Web 00 - Contexto
Java Web 00 - ContextoJava Web 00 - Contexto
Java Web 00 - Contexto
 

Similar a Introduccion Aplicaciones Web en java j2ee

Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Introdución a aplicaciones web en java
Introdución a aplicaciones web en java
Rodrigo Zottola Pareja
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
UNIV DE CIENCIAS Y ARTES
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
UNIV DE CIENCIAS Y ARTES
 
Cliente servidoryj
Cliente servidoryjCliente servidoryj
Cliente servidoryj
yoshimaryj
 
Backend middleware frontend (2)
Backend middleware frontend (2)Backend middleware frontend (2)
Backend middleware frontend (2)
VirgCSan
 
EQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILASEQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILAS
UNIV DE CIENCIAS Y ARTES
 
Unidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones webUnidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones webZacarias Marquez Cruz
 
Sistemas de información distribuidos
Sistemas de información distribuidosSistemas de información distribuidos
Sistemas de información distribuidos
Aldo Hernán Zanabria Gálvez
 
200405 - Aplicaciones Web
200405 - Aplicaciones Web200405 - Aplicaciones Web
200405 - Aplicaciones Web
Javier Gonzalez-Sanchez
 
Evidencias
EvidenciasEvidencias
Evidencias
David Zambrano
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EE
anyeni
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EEAnyeni Garay
 
Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0Pedro Gallardo
 
TEMAS RELACIONADOS WEB2
TEMAS RELACIONADOS WEB2TEMAS RELACIONADOS WEB2
TEMAS RELACIONADOS WEB2
guest33bc33
 
JBoss AS jeap - Curso JBoss JB366 Día 1
JBoss AS jeap - Curso JBoss JB366 Día 1 JBoss AS jeap - Curso JBoss JB366 Día 1
JBoss AS jeap - Curso JBoss JB366 Día 1
César Pajares
 
Unidad ii
Unidad iiUnidad ii
Unidad iiOrlys05
 
Motor de persistencia nhibernate
Motor de persistencia nhibernateMotor de persistencia nhibernate
Motor de persistencia nhibernate
Damian Palacios
 

Similar a Introduccion Aplicaciones Web en java j2ee (20)

Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Introdución a aplicaciones web en java
Introdución a aplicaciones web en java
 
Sercicios web
Sercicios webSercicios web
Sercicios web
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
Cliente servidoryj
Cliente servidoryjCliente servidoryj
Cliente servidoryj
 
Backend middleware frontend (2)
Backend middleware frontend (2)Backend middleware frontend (2)
Backend middleware frontend (2)
 
EQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILASEQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILAS
 
Unidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones webUnidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones web
 
Sistemas de información distribuidos
Sistemas de información distribuidosSistemas de información distribuidos
Sistemas de información distribuidos
 
200405 - Aplicaciones Web
200405 - Aplicaciones Web200405 - Aplicaciones Web
200405 - Aplicaciones Web
 
Evidencias
EvidenciasEvidencias
Evidencias
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EE
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EE
 
J2 ee
J2 eeJ2 ee
J2 ee
 
Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0
 
TEMAS RELACIONADOS WEB2
TEMAS RELACIONADOS WEB2TEMAS RELACIONADOS WEB2
TEMAS RELACIONADOS WEB2
 
4 Jhs J Developer Adf
4  Jhs J Developer Adf4  Jhs J Developer Adf
4 Jhs J Developer Adf
 
JBoss AS jeap - Curso JBoss JB366 Día 1
JBoss AS jeap - Curso JBoss JB366 Día 1 JBoss AS jeap - Curso JBoss JB366 Día 1
JBoss AS jeap - Curso JBoss JB366 Día 1
 
Unidad ii
Unidad iiUnidad ii
Unidad ii
 
Motor de persistencia nhibernate
Motor de persistencia nhibernateMotor de persistencia nhibernate
Motor de persistencia nhibernate
 

Último

PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 

Último (6)

PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 

Introduccion Aplicaciones Web en java j2ee

  • 1. Page  1 Introducción Basiuca a aplicaciones Web en JAVA 1ra Parte D. Rodrigo Zottola Pareja - Ing. en Computación 2014
  • 2. Objetivos Una mirada a las tecnologías Web Para JAVA. Leve introducción al desarrollo de aplicaciones empresariales con JAVA EE Base a próximos seminarios. Page  2 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 3. Aplicación web Una aplicación web es cualquier aplicación que es accedida vía web por una red como internet o una intranet. En general aquellos programas informáticos que son ejecutados en el entorno del navegador Programas codificados con algún lenguaje soportado por el navegador confiándose en el navegador web para que reproduzca (renderice) la aplicación. Page  3 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 4. Aplicaciones Empresariales Caracteristicas: Page  4 Mantenibilidad  Fiabilidad  Extensibilidad Manejabilidad  Transaccional. -Propiedades ACID: Atomicity(atomicidad), Consistency(coherencia), Isolation (aislamiento), Durability (permanencia).  Escalables.  Disponibilidad. Seguridad y confiabilidad  Integración de las aplicaciones y de los datos  Portabilidad D. Rodrigo Zottola Pareja - Ing. en Computación
  • 5. Arquitecturas  Arquitectura (80/90)cliente-servidor de dos capas (arquitectura de nivel 2): del lado del cliente se incluía tanto la lógica del negocio como la lógica de la presentación; del lado del servidor se incluían los datos alojados en bases o almacenes de datos Computador Computador  La arquitectura cliente-servidor de tres capas (arquitectura de nivel 3) separa la lógica de presentación (que permanece del lado del cliente) de la lógica del negocio (servidor de negocio), permaneciendo los datos alojados en bases de datos del servidor. Page  5 Computador SERVIDOR DE ARCHIVOS SERVIDOR DBMS Y DATOS Cl iente 1 Cl iente 2 Cl iente N Cl ientes FRONT-END, Val idación y Formateo de Datos Capa Intermedia MONITOR TP Servicios y lógica de Apl icación Pool de Conexiones a B.D SERVIDOR DBMS Y DATOS Base de Datos Sol icitud de Servicio D. Rodrigo Zottola Pareja - Ing. en Computación
  • 6. Complejidades en la n Capas Page  6  Más conocimientos de cómputo distribuido (DCOM, RMI, CORBA, etc.)  Las capas se deben integrar eficientemente  Conocimiento para midleware y servicios (transacciones, pool de conexiones, accesos a dbs, seguridad, networking, etc. ). Administrar Conexiones Costosas :  DBMS Middleware orientado a mensajes EL uso de API's del Servidor Middleware dificulta la mantenibilidad y limita la portabilidad. D. Rodrigo Zottola Pareja - Ing. en Computación
  • 7. JAVA Web - Que es J2EE? Page  7 Java EE (Java Enterprise Edition): Plataforma Java para el desarrollo de aplicaciones empresariales Java EE es un conjunto de especificaciones de APIs Java para la construcción de aplicaciones empresariales.(Clases abstracta e interfaces) Define estándares que son implementados por distintos proveedores y fabricantes, no fuerza a emplear ningún producto específico. Ofrece un framework para el desarrollo de aplicaciones distribuidas multicapa (3-tier, n-tier) basadas en Web D. Rodrigo Zottola Pareja - Ing. en Computación
  • 8. El enfoque de J2EE Page  8 JEE soporta aplicaciones distribuidas que toma ventajas de las tecnologías existentes y en desarrollo simplificando el proceso a través de un modelo de aplicaciones basados en componentes.  Las aplicaciones desplegadas con la tecnología J2EE:  Están estandarizadas  Siguen una guías de especificación estrictas  Están escritas en Java  Se pueden desplegar en cualquier servidor de aplicaciones D. Rodrigo Zottola Pareja - Ing. en Computación
  • 9. El enfoque de J2EE Page  9 Componentes  Las Aplicaciones Clientes y Applets son componentes que se ejecutan en el lado del cliente.  Java Servlet, JavaServer Pages son componentes Web que se ejecutan en el lado del servidor.  Enterprise JavaBeans (EJB ) son componentes de negocio que se ejecutan en el servidor de aplicación. JAVA EE Clients  Web Clients  Application Clients  Applets  The JavaBeans Component Architecture  Java EE Server Communications D. Rodrigo Zottola Pareja - Ing. en Computación
  • 10. Contenedores en JAVA EE Page  10  Los contenedores proveen Un entorno de ejecucion para componentes JAVA. Tambien brindan los servicios de seguridad, transacciones, administracion del ciclo de vida, caching, persistencia, comunicacion en la red ‒ Java EE server. ‒ EJB container ‒ Web container ‒ Application client container: ‒ Applet container Web Services Support ‒ XML ‒ SOAP Transport Protocol ‒ WSDL Standard Format D. Rodrigo Zottola Pareja - Ing. en Computación
  • 11. J2EE - Evolucion Page  11 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 12. J2EE - Capas Page  12 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 13. Servidores de Aplicaciones Page  13 Existen un gran número de fabricantes que venden servidores de aplicaciones certificados Java EE. Algunos ejemplos.  BEA WebLogic Server:  http://www.bea.com  IBM WebSphere ApplicationServer:  http://www.ibm.com  Sun Java System Application Server:  http://www.sun.com  Oracle Application Server:  http://www.oracle.com D. Rodrigo Zottola Pareja - Ing. en Computación
  • 14. Servidores de Aplicaciones Page  14 Tomcat (proyecto de Apache):  http://tomcat.apache.org JBoss:  http://www.jboss.com GlassFish:  https://glassfish.dev.java.net OpenEJB:  http://openejb.codehaus.org  Geronimo:  http://geronimo.apache.org Portabilidad : Si solo se utilizan Api’s estándares en general es posible instalar sobre cualquier servidor de aplicaciones según Java EE, esto hace que no exista una dependencia con el fabricante. D. Rodrigo Zottola Pareja - Ing. en Computación
  • 15. Tecnologías Page  15 IDE’S : ECLIPSE NETBEANS JDEVELOPER SERVIDORES DE APLICACIONES -Webologic(Oracle) -Tomcat -Galssfish D. Rodrigo Zottola Pareja - Ing. en Computación
  • 16. Patrones de Diseños Mas usados Page  16 FACADE: Su objetivo es proporcionar una interface simple para un subsistema complejo, o estructurar subsistemas en capas (En pocas palabras creo una clase a través de la cual el sistema cliente accederá a lo que yo quiera que acceda). SINGLETON: El patrón de diseño singleton (instancia única) está diseñado para restringir la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto. Su intención consiste en garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella.(Obligo que solo se cree una instancia de una clase.) FACTORY: En diseño de software, el patrón de diseño Factory Method consiste en utilizar una clase constructora (al estilo del Abstract Factory) abstracta con unos cuantos métodos definidos y otro(s) abstracto(s): el dedicado a la construcción de objetos de un subtipo de un tipo determinado. Service: D. Rodrigo Zottola Pareja - Ing. en Computación
  • 17. Back/Front – End Page  17 Una aplicación usualmente se puede dividir en :  Front End: Es la parte que interactua con el usuario, la parte visual , el flujo de navegación, etc Back End : Es el núcleo de la aplicación, la lógica del negocio , asi como el modelo de datos, etc La idea general es que el front-end es responsable de recoger entradas de los usuarios, y ser procesadas de tal manera que cumplan las especificaciones para que el back-end pueda usarlas. La conexión entre front-end y el back-end es un tipo de interfaz. Front-end y back-end son términos utilizados para caracterizar las interfaces y servicios del programa en relación con el usuario inicial de estas interfaces y servicios. D. Rodrigo Zottola Pareja - Ing. en Computación
  • 18. Back End - Capas Page  18 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 19. Back End - Core Page  19 Sirve indirectamente en apoyo de los servicios front-end. La aplicación back-end puede interactuar directamente con el front-end. Modelo de datos Modelos de negocios Base de Datos ORM – Hibernate Mapeos de Clase JPA hibernate Hql ANSI sql D. Rodrigo Zottola Pareja - Ing. en Computación
  • 20. Posibles componentes "Core" Page  20 Managers (Facade) DAO /JPAControllers DTO/Beans/POJO XML Mapping/ Annotations D. Rodrigo Zottola Pareja - Ing. en Computación
  • 21. Posibles componentes "Core" Page  21 Manager (Facade): Es un conjunto de funciones para un sistema cliente en particula DAO : Solo contiene las metodos referentes al acceso a datos de un DTO(ABM,count,etc) DTO : Son clases JAVA planas o Beans especificos que sirven para tranportar datos de una tabla especifica Mapping : Archivos xml para mapear tablas a clases JAVA D. Rodrigo Zottola Pareja - Ing. en Computación
  • 22. Back End Capas Page  22 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 23. Capa de Datos - Persistencia Page  23 HIBERNATE : Es una herramienta de Mapeo objeto-relacional para la plataforma Java (y disponible también para .Net con el nombre de NHibernate) que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) que permiten establecer estas relaciones. JPA HIBERNATE (JAVA Persistence API) : JPA es un framework de persistencia, que nos abstrae de las bases de datos y nos brinda un estandar para persistir los datos en java. JPA viene a solucionar el vacio que hay entre utilizar objetos y persistirlos en una DB relacional. D. Rodrigo Zottola Pareja - Ing. en Computación
  • 24. Capa de Datos - Hibernate Page  24 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 25. Hibernate - Ejemplo Page  25 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 26. Front End - Intro Page  26 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 27. Java Servlets Page  27 Los Servlets son módulos que extienden los servidores orientados a solicitud -respuesta, como los servidores web compatibles con Java. Clase usada en el servidor bajo el modelo de programación solictud-respuesta (request - response) Es la base de todos los frameworks WEb. Define clases esecificas para HTTP. D. Rodrigo Zottola Pareja - Ing. en Computación
  • 28. Java Servlets Page  28  Un Servlet es una clase Java que extiende de javax.servlet.http.HttpServlet y que sobreescribe los métodos doPost o doGet o ambos.  Un Servlet es una clase Java usada para extender la capacidad de las aplicaciones basadas en el modelo cliente servidor y ejecución petición respuesta.  Los Servlets son una potente herramienta para la generación de contenido dinámico en la Web.  El Servlet Container es el componente encargado de la creación, acceso y destrucción de los Servlets, controla su ciclo de vida. D. Rodrigo Zottola Pareja - Ing. en Computación
  • 29. Java Servlets Page  29 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 30. Que puede hacer un Servlet? Page  30 Leer los datos enviados por un usuario  Usualmente de formularios en páginas Web  Pueden venir de applets de Java o programas cliente HTTP. Buscar cualquier otra información sobre la petición que venga incluida en esta  Detalles de las capacidades del navegador, cookies, nombre del host del cliente, etc. Generar los resultados  Puede requerir consults a Base de Datos, invocar a otras aplicaciones, computar directamente la respuesta, etc. Dar formato a los resultados en un documento  Incluir la información en una página HTML Establecer los parámetros de la respuesta HTTP  Decirle al navegador el tipo de documento que se va a devolver, establecer las cookies, etc. Enviar el documento al cliente
  • 31. Ciclo de vida de un Servlet Page  31
  • 32. Java Server Pages - JSP Page  32 Un documento JSP, es una página dinámica de servidor Java. Es un archivo de texto compuesto de : 1. Cabecera con importaciones y parametros. 2. Código cliente, normalmente HTML, XML y Javascript. 3. Código servidor Java, denominado Scriptlet y escrito entre los caracteres <% y %>. 4. Tags: instrucciones en formato XML, asociadas a clases Java. • Un JSP se transforma en un Servlet en tiempo de ejecución.
  • 33. Java Server Pages - JSP Page  33
  • 34. Java Server Pages - JSP Page  34
  • 35. Modelo MVC en JAVA Page  35 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 36. Front End - MVC Page  36 View El usuario ingresa su información en la página identificacion.jsp. Esta página tiene un formulario con action=“identificarEmpleado.do” y submitea la información al servlet IdentificarEmpleadoAction.java Controller El servlet (controller) accede al facade (model) para invocarle el método identificarEmpleado(enpno,ename). Obtiene el resultado (un EmpDTO o null) y forwardea el control a la siguiente página según el resultado obtenido. Model El model está representado por el facade pero recordemos que detrás de él se encuentran los objetos de negocio (Emp y Dept) y (por último) la base de datos con las tablas EMP, DEPT y sus relaciones D. Rodrigo Zottola Pareja - Ing. en Computación
  • 37. Frameworks JAVA MVC Page  37 STRUTS Y STRUTS2 http://struts.apache.org/ SPRING MVC www.springsource.org TILES (TEMPLATE) JAVA SERVER PAGES (JSF) www.javaserverfaces.org FACELET TEMPLATES OTROS FRAMWORKS GROOVY http://groovy.codehaus.org/ D. Rodrigo Zottola Pareja - Ing. en Computación
  • 38. Spring - Modulos Page  38 D. Rodrigo Zottola Pareja - Ing. en Computación
  • 39. Frameworks and Tools JAVA Page  39 Logueo de Errores:  Log4J  http://logging.apache.org/log4j/2.x/  LogBack  http://logback.qos.ch/ Gestión de proyectos Maven  http://maven.apache.org/  Gradle  http://www.gradle.org/ Versionado SVN  Git D. Rodrigo Zottola Pareja - Ing. en Computación
  • 40. Frameworks and Tools JAVA Page  40 Templating:  Velocity  http://logging.apache.org/log4j/2.x/  Facelets XMLParsing  JDOM Springs Tools  Spring MVC Test  Spring Security Testing  JUnit  TestNG Mocking frameworks  Mockito  Jmockit D. Rodrigo Zottola Pareja - Ing. en Computación
  • 41. Libros de Referencia Page  41  Arquitectura Java Sólida - Cecilio Álvarez Caules  Java a Fondo - Pablo Sznajdleder  SCJP Sun Certified Programmer for JAVA 6 Study Guide.- Kathy Sierra/Bert Bates  Core J2EE™ Patterns: Best Practices and Design Strategies, Second Edition - Deepak Alur, John Crupi, Dan Malks  Arquitectura empresarial y software libre, J2EE - Alberto Molpeceres Touris / Martín Pérez Mariñán D. Rodrigo Zottola Pareja - Ing. en Computación
  • 42. Links de referencia Page  42 http://docs.oracle.com/javaee/7/tutorial/doc/  http://spring.io/docs http://holamundojava.blogspot.com/ http://ccia.ei.uvigo.es/docencia/SCS/1112/transparencias/Tema 5-1.pdf http://es.wikipedia.org/ http://www.alegsa.com.ar/ http://jcesarperez.blogspot.com/2009/03/por-que-maven.html http://www.fic.udc.es http://www.slideshare.net/fernando_jmt/desarrollo-de-aplicaciones- empresariales-con-java-ee http://es.slideshare.net/cptanalatriste/arquitectura-y-diseo-de-aplicaciones- java-ee D. Rodrigo Zottola Pareja - Ing. en Computación
  • 43. Enterprise JavaBeans Page  43 Los EJB “viven” dentro del EJB container y este les provee una serie de servicios que llamaremos servicios de plataforma. Por ejemplo: Seguridad Multithreading Networking (objetos distribuidos) Transacciones Connection Pooling Para mas información un buen ejemplo es el siguiente. http://holamundojava.blogspot.com/2006/11/enterprise-javabeans. html D. Rodrigo Zottola Pareja - Ing. en Computación
  • 44. Page  44 Preguntas ? D. Rodrigo Zottola Pareja - Ing. en Computación
  • 45. Ing. D. Rodrigo Zottola Pareja - drzottolapareja@gmail.com Gracias Zottola Pareja Darwin Rodrigo Ing. en Computación rodrigozeta@gmail.com