1er SeminarioApe ValleyProyect - 2013INTRODUCCIÓN AAPLICACIONES WEB ENJAVADarwin Rodrigo Zottola - Ing. en Computación - 2...
 Una mirada a las tecnologías mas usadas y actuales. Leve introducción al desarrollo de aplicaciones empresarialescon JA...
 Una aplicación web es cualquier aplicación que es accedidavía web por una red como internet o una intranet. En general ...
 Acceso a bases de datos (BD). Normalmente con BD relacionales. Transaccionales. Propiedades ACID:Atomicity(atomicidad...
 „ Seguras „ No todos los usuarios pueden acceder a la mismafuncionalidad „ Integración „ De entorno de ventanas (clie...
6ARQUITECTURA DOS CAPASComputadorComputadorComputadorSERVIDORDEARCHIVOSL.presentacionL.AplicaciónAlmacenamientoL.Accesos D...
7ARQUITECTURA DE TRES CAPASDivide la aplicación entres tipos de servicios Visualización opresentacion Lógica DatosSERVI...
 Java EE (Java Enterprise Edition): Plataforma Java para eldesarrollo de aplicaciones empresariales Java EE es un conjun...
JAVA EEDarwin Rodrigo Zottola - Ing. en Computación 9
 Los Enterprise JavaBeans (EJB) son componentes Java queviven (y corren) dentro del EJB Container, en la capa deaplicació...
 Los EJB “viven” dentro del EJB container y este les provee unaserie de servicios que llamaremos servicios de plataforma....
 IDE’S : ECLIPSE NETBEANS JDEVELOPERSERVIDORES DE APLICACIONES-Webologic(Oracle)-Tomcat-GalssfishTECNOLOGÍASDarwin Rod...
 Existen un gran número de fabricantes que venden servidoresde aplicaciones certificados Java EE.ƒ Algunos ejemplos. BEA...
 ƒ Tomcat (proyecto de Apache): http://tomcat.apache.org ƒ JBoss: http://www.jboss.com ƒ GlassFish: https://glassfis...
 FACADE: Su objetivo es proporcionar una interface simple paraun subsistema complejo, o estructurar subsistemas en capas ...
 Una aplicación se puede dividir en : Front End: Es la parte que interactua con el usuario, la parte visual, el flujo de...
 Sirve indirectamente en apoyo de los servicios front-end. Laaplicación back-end puede interactuar directamente con elfro...
BACK END - CAPASDarwin Rodrigo Zottola - Ing. en Computación 18
BACK ENDManager (Facade): Es un conjunto defunciones para un sistema cliente enparticularDAO : Solo contiene las metodos r...
BACK END - CAPASDarwin Rodrigo Zottola - Ing. en Computación 20
 HIBERNATE : Es una herramienta de Mapeo objeto-relacionalpara la plataforma Java (y disponible también para .Net con eln...
BACK END - HIBERNATEDarwin Rodrigo Zottola - Ing. en Computación 22
BACK END - CAPASDarwin Rodrigo Zottola - Ing. en Computación 23
FRONT ENDDarwin Rodrigo Zottola - Ing. en Computación 24
FRONT ENDDarwin Rodrigo Zottola - Ing. en Computación 25
 ViewEl usuario ingresa su información en la página identificacion.jsp.Esta página tiene un formulario conaction=“identif...
 Los Servlets son módulos que extienden los servidoresorientados a solicitud -respuesta, como los servidores webcompatibl...
ARQUITECTURA DE CONTENEDOR WEB
QUE PUEDE HACER UN SERVLET Leer los datos enviados por un usuario Usualmente de formularios en páginas Web Pueden venir...
CICLO DE VIDA DE UN SERVLET
APLICACIÓN WEB EN JAVA(MVC- STRUT)Darwin Rodrigo Zottola - Ing. en Computación 31
TECNOLOGIASDarwin Rodrigo Zottola - Ing. en Computación 32
 Logueo de Errores: Log4J http://logging.apache.org/log4j/2.x/ Gestión de proyectos Maven http://maven.apache.org/ ...
 STRUTS Y STRUTS2 http://struts.apache.org/ SPRING MVC www.springsource.org TILES (TEMPLATE) JAVA SERVER PAGES (JSF)...
SPRINGDarwin Rodrigo Zottola - Ing. en Computación 35
 Continuara…PREGUNTASBrainiac for Sharing–APE Valley ProyectZottola Pareja Darwin RodrigoIng. en Computacióndrzottolapare...
 http://www.slideshare.net/fernando_jmt/desarrollo-de-aplicaciones-empresariales-con-java-ee http://holamundojava.blogsp...
Upcoming SlideShare
Loading in …5
×

Introdución a aplicaciones web en java

1,706 views

Published on

Leve introduccion al desarrollo de aplicacioens empresariales en JAVA

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,706
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
87
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introdución a aplicaciones web en java

  1. 1. 1er SeminarioApe ValleyProyect - 2013INTRODUCCIÓN AAPLICACIONES WEB ENJAVADarwin Rodrigo Zottola - Ing. en Computación - 2013 11ra Parte
  2. 2.  Una mirada a las tecnologías mas usadas y actuales. Leve introducción al desarrollo de aplicaciones empresarialescon JAVA EE Base a próximos seminarios.OBJETIVOSDarwin Rodrigo Zottola - Ing. en Computación 2
  3. 3.  Una aplicación web es cualquier aplicación que es accedidavía web por una red como internet o una intranet. En general aquellos programas informáticos que sonejecutados en el entorno del navegador Programas codificados con algún lenguaje soportado por elnavegador confiándose en el navegador web para quereproduzca (renderice) la aplicación.APLICACIÓN WEBDarwin Rodrigo Zottola - Ing. en Computación 3
  4. 4.  Acceso a bases de datos (BD). Normalmente con BD relacionales. Transaccionales. Propiedades ACID:Atomicity(atomicidad), Consistency(coherencia), Isolation(aislamiento), Durability (permanencia). Escalables. ƒ Deberían poder soportar más cargado trabajo sin necesidad demodificar el software (sólo añadir más máquinas). Disponibilidad. ƒ Idealmente no deben dejar de prestar servicio.APLIC. EMPRESARIALES -CARACTERÍSTICASDarwin Rodrigo Zottola - Ing. en Computación 4
  5. 5.  „ Seguras „ No todos los usuarios pueden acceder a la mismafuncionalidad „ Integración „ De entorno de ventanas (clientes standalone): normalmente sólo tiene sentido en intranets „ Web: En Internet y en intranets „ Separación clara entre la interfaz gráfica y el modelo „ Arquitecturas multi-capaAPLIC. EMPRESARIALES -CARACTERÍSTICASDarwin Rodrigo Zottola - Ing. en Computación 5
  6. 6. 6ARQUITECTURA DOS CAPASComputadorComputadorComputadorSERVIDORDEARCHIVOSL.presentacionL.AplicaciónAlmacenamientoL.Accesos DatosL.AplicaciónDarwin Rodrigo Zottola - Ing. en ComputaciónArquitectura Cliente Servidor (Tradicional).
  7. 7. 7ARQUITECTURA DE TRES CAPASDivide la aplicación entres tipos de servicios Visualización opresentacion Lógica DatosSERVIDOR DBMSYDATOSCliente 1Cliente 2Cliente NClientes FRONT-END,Validación y Formateode DatosCapa IntermediaMONITORTPServicios y lógica deAplicaciónPool de Conexiones aB.DBase de DatosSERVIDOR DBMSYDATOSSolicitud de ServicioDarwin Rodrigo Zottola - Ing. en Computación
  8. 8.  Java EE (Java Enterprise Edition): Plataforma Java para eldesarrollo de aplicaciones empresariales Java EE es un conjunto de especificaciones de APIs Java parala construcción de aplicaciones empresariales.(Clasesabstracta e interfaces) Ofrece un framework para el desarrollo de aplicacionesdistribuidas multicapa (3-tier, n-tier) basadas en Web Compuesta de maquina virtual, lenguaje java y librerías declases. Entornos multicapas y aplicaciones del lado del servidorJAVA WEB - QUE ES JAVA EE?Darwin Rodrigo Zottola - Ing. en Computación 8
  9. 9. JAVA EEDarwin Rodrigo Zottola - Ing. en Computación 9
  10. 10.  Los Enterprise JavaBeans (EJB) son componentes Java queviven (y corren) dentro del EJB Container, en la capa deaplicación o de negocio. Un "Enterprise Java Bean" agrupa funcionalidades para unaaplicación, es un "deployable component", el término"deployable component" implica que existe un ambiente deejecución , un "EJB(Enterprise Java Bean) Container" parte deun java application server .ENTERPRISE JAVABEANSDarwin Rodrigo Zottola - Ing. en Computación 10
  11. 11.  Los EJB “viven” dentro del EJB container y este les provee unaserie 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.htmlEJB – SERVICIOSDarwin Rodrigo Zottola - Ing. en Computación 11
  12. 12.  IDE’S : ECLIPSE NETBEANS JDEVELOPERSERVIDORES DE APLICACIONES-Webologic(Oracle)-Tomcat-GalssfishTECNOLOGÍASDarwin Rodrigo Zottola - Ing. en Computación 12
  13. 13.  Existen un gran número de fabricantes que venden servidoresde 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.comSERVIDORES DE APLICACIONES – JAVAEE IMPLEMENTACIÓNDarwin Rodrigo Zottola - Ing. en Computación 13
  14. 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 esposible instalar sobre cualquier servidor de aplicaciones segúnJava EE, esto hace que no exista una dependencia con elfabricante.SERVIDORES DE APLICACIONES – JAVAEE IMPLEMENTACIÓNDarwin Rodrigo Zottola - Ing. en Computación 14
  15. 15.  FACADE: Su objetivo es proporcionar una interface simple paraun subsistema complejo, o estructurar subsistemas en capas (Enpocas palabras creo una clase a través de la cual el sistemacliente 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 auna clase o el valor de un tipo a un único objeto. Su intenciónconsiste en garantizar que una clase sólo tenga una instancia yproporcionar un punto de acceso global a ella.(Obligo que solo secree una instancia de una clase.) FACTORY: En diseño de software, el patrón de diseño FactoryMethod consiste en utilizar una clase constructora (al estilo delAbstract Factory) abstracta con unos cuantos métodos definidosy otro(s) abstracto(s): el dedicado a la construcción de objetosde un subtipo de un tipo determinado.PATRONES DE DISEÑOS MAS USADOSDarwin Rodrigo Zottola - Ing. en Computación 15
  16. 16.  Una aplicación 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 , asicomo el modelo de datos, etc La idea general es que el front-end es responsable de recogerentradas de los usuarios, y ser procesadas de tal manera quecumplan las especificaciones para que el back-end puedausarlas. La conexión entre front-end y el back-end es un tipode interfaz. Front-end y back-end son términos utilizados para caracterizarlas interfaces y servicios del programa en relación con elusuario inicial de estas interfaces y servicios.BACK/FRONT – ENDDarwin Rodrigo Zottola - Ing. en Computación 16
  17. 17.  Sirve indirectamente en apoyo de los servicios front-end. Laaplicación back-end puede interactuar directamente con elfront-end. Modelo de datos Modelos de negocios Base de Datos ORM – Hibernate Mapeos de Clase JPA hibernate Hql ANSI sqlBACK END - COREDarwin Rodrigo Zottola - Ing. en Computación 17
  18. 18. BACK END - CAPASDarwin Rodrigo Zottola - Ing. en Computación 18
  19. 19. BACK ENDManager (Facade): Es un conjunto defunciones para un sistema cliente enparticularDAO : Solo contiene las metodos referentes alacceso a datos de un DTO(ABM,count,etc)DTO : Son clases JAVA planas o Beans especificos quesirven para tranportar datos de una tabla especificaMapping : Archivos xml para mapear tablas a clases JAVADarwin Rodrigo Zottola - Ing. en Computación 19
  20. 20. BACK END - CAPASDarwin Rodrigo Zottola - Ing. en Computación 20
  21. 21.  HIBERNATE : Es una herramienta de Mapeo objeto-relacionalpara la plataforma Java (y disponible también para .Net con elnombre de NHibernate) que facilita el mapeo de atributosentre una base de datos relacional tradicional y el modelo deobjetos de una aplicación, mediante archivos declarativos(XML) que permiten establecer estas relaciones. JPA HIBERNATE (JAVA Persistence API) : JPA es un frameworkde persistencia, que nos abstrae de las bases de datos y nosbrinda un estandar para persistir los datos en java.JPA viene a solucionar el vacio que hay entre utilizar objetos ypersistirlos en una DB relacional.BACK END – HIBERNATE Y JPAHIBERNATEDarwin Rodrigo Zottola - Ing. en Computación 21
  22. 22. BACK END - HIBERNATEDarwin Rodrigo Zottola - Ing. en Computación 22
  23. 23. BACK END - CAPASDarwin Rodrigo Zottola - Ing. en Computación 23
  24. 24. FRONT ENDDarwin Rodrigo Zottola - Ing. en Computación 24
  25. 25. FRONT ENDDarwin Rodrigo Zottola - Ing. en Computación 25
  26. 26.  ViewEl usuario ingresa su información en la página identificacion.jsp.Esta página tiene un formulario conaction=“identificarEmpleado.do” y submitea la información alservlet IdentificarEmpleadoAction.javaControllerEl servlet (controller) accede al facade (model) para invocarle elmétodo identificarEmpleado(enpno,ename). Obtiene el resultado(un EmpDTO o null) y forwardea el control a la siguiente páginasegún el resultado obtenido.ModelEl model está representado por el facade pero recordemos quedetrá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 susrelaciones.MVC MODELO VISTA CONTROLADORDarwin Rodrigo Zottola - Ing. en Computación 26
  27. 27.  Los Servlets son módulos que extienden los servidoresorientados a solicitud -respuesta, como los servidores webcompatibles con Java. Clase usada en el servidor bajo el modelo de programaciónsolictud-respuesta (request - response) Es la base de todos los frameworks WEb. Define clases esecificas para HTTP.SERVLETS JAVADarwin Rodrigo Zottola - Ing. en Computación 27
  28. 28. ARQUITECTURA DE CONTENEDOR WEB
  29. 29. QUE PUEDE HACER UN SERVLET 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, computardirectamente 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 lascookies, etc. Enviar el documento al cliente
  30. 30. CICLO DE VIDA DE UN SERVLET
  31. 31. APLICACIÓN WEB EN JAVA(MVC- STRUT)Darwin Rodrigo Zottola - Ing. en Computación 31
  32. 32. TECNOLOGIASDarwin Rodrigo Zottola - Ing. en Computación 32
  33. 33.  Logueo de Errores: Log4J http://logging.apache.org/log4j/2.x/ Gestión de proyectos Maven http://maven.apache.org/ Versionado SVN http://subversion.tigris.org/ http://subversion.apache.org/ CVSFRAMEWORKS PARA DESARROLLODarwin Rodrigo Zottola - Ing. en Computación 33
  34. 34.  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/FRAMEWORKS JAVA MVCDarwin Rodrigo Zottola - Ing. en Computación 34
  35. 35. SPRINGDarwin Rodrigo Zottola - Ing. en Computación 35
  36. 36.  Continuara…PREGUNTASBrainiac for Sharing–APE Valley ProyectZottola Pareja Darwin RodrigoIng. en Computacióndrzottolapareja@gmail.comDarwin Rodrigo Zottola - Ing. en Computación 36
  37. 37.  http://www.slideshare.net/fernando_jmt/desarrollo-de-aplicaciones-empresariales-con-java-ee http://holamundojava.blogspot.com/ http://ccia.ei.uvigo.es/docencia/SCS/1112/transparencias/Tema5-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.esDarwin Rodrigo Zottola - Ing. en Computación 37LINKS DE REFERENCIA

×