SlideShare una empresa de Scribd logo
Java Avanzado Emilio Avilés Ávila http://www.techmi.es
Workshop (25 horas) Workshop Java avanzado para empresas y profesionales
Temario Introducción al desarrollo Web Servlet JSP Javabeans EJB Struts Resumen y conclusiones
Tema 1 Introducción al Desarrollo Web
Objetivos Introducción al desarrollo Web Servlet JSP Javabeans EJB Struts Resumen y conclusiones  Conocer los principios del desarrollo Web Describir J2EE como estándar para desarrollo de aplicaciones empresariales y Web Elementos y Componentes J2EE Que son los contenedores Web Como se empaquetan las aplicaciones  Roles en el desarrollo Web
1 – Introducción al desarrollo Web ¿Qué es una Aplicación Web? Aplicación que es accesible a través de la Web. Idea aplicación Web Unificar acceso a recursos:  Único directorio jerárquico. URL Común:  http:// host / webAppName / bla / bla Control unificado Descriptor ( web.xml)  común que controla el comportamiento de la Web Conjunto de  componentes Web  que se coordinan y actúan entre ellos para realizar tareas concretas y  ofrecer servicios  completos al usuario.
1 – Introducción al desarrollo Web Propósito de las aplicaciones Web Organización Los archivos son agrupados en ficheros o carpetas jerárquicas de manera cohesiva. Archivos HTML, páginas JSP, servlets, beans, img, … Portabilidad Todos los servidores soportan aplicaciones Web Podemos desplegarlo moviendo un solo archivo. Cohesión Cada aplicación Web tiene sus propios: Contexto Servlet, Cargador de clases, Sesiones, cargadores de clases, prefijos de URL, Estructura de directorios, …
1 – Introducción al desarrollo Web Recursos  activos  vs  pasivos Manera de categorizar  resource  Web. Pasivo o estático:  No requiere de ningún proceso. www.myserver.com/myfile.html El servidor lo localiza ( myfile ) y lo entrega. Activo o dinámico:  Tiene sus propias capacidades de proceso. www.myserver.com/reportServlet El servidor ( myserver ) redirige la petición al recurso activo ( reportServlet ) que procesa la  request  Servlet  genera HTML y se lo da al server.
1 – Introducción al desarrollo Web Servidor Aplicaciones Web Más conocido por  Web Application Server . Lugar donde residen las aplicaciones Web. Facilita a las aplicaciones Web: Gestión de acceso a los recursos del sistema. Low-level services  Implementación protocolo  HTTP. Gestión de conexiones con Base de Datos. Contenedores de recursos: Contenedores Web (Servlets, JSP) y Contendores EJBs. Otros componentes J2EE JNDI server, JMS server. Controlado por descriptores XML.
1 – Introducción al desarrollo Web Estructura de una aplicación Web Un aplicación Web consiste en muchos recursos:  servlet, JSP, HTML, img, JAR, class Gestionar esos recursos puede ser complejo. Dependencias entre recursos, etc. La aplicación Web debe ser  portable. Solución :   Java Servlet Specification   estandariza  la manera de  ubicar  estos recursos y  empaquetarlos  para su posterior  despliegue .
1 – Introducción al desarrollo Web Estructura de una aplicación Web
1 – Introducción al desarrollo Web http://www.myserver.com/helloapp/index.html Directorio raíz del servidor donde irán todas las aplicaciones Web Un directorio por cada aplicación Web desplegada en el servidor. Recursos accesibles de manera pública. Pueden estar organizados en carpetas. Información necesaria para que el contenedor arranque la aplicación Clases organizadas en paquetes. (Servlet + Util) Librerías externas (jars, tlds, ..) Descriptor Web XML
1 – Introducción al desarrollo Web Modelo de 2 Capas Un cambio en la implementación del modelo implica un cambio en las interfaz Un Cambio drivers acceso a Datos… Acoplamiento!
1 – Introducción al desarrollo Web Modelo de 3 Capas Solución:  Modelo servidor intermedio Servidor implementa el modelo (Lógica negocio) Cliente standalone o ligeros o Browser
1 – Introducción al desarrollo Web Lenguajes de Paginas Web ASP: Active Server Pages (Microsoft) PHP: Software libre JSP: Java Server Pages Servidores Aplicaciones Web Jboss, Sun, Tomcat, Weblogic, WAS, etc. Base datos MySQL, SQL Server, Derby, PostGreSQL, .. Scripting HTML, javascript, css, XML
1 – Introducción al desarrollo Web Desarrollo Web en Java (J2EE) Plataforma estándar empresarial orientada a componentes para el diseño, desarrollo, integración y despliegue de aplicaciones. Organizada en capas. Arquitectura Multicapa.
1 – Introducción al desarrollo Web Capa Cliente J2EE Cliente Web (Thin client) No confundir  con componente Web Browser para interpretar estas páginas Web. Applet Cliente Web con un applet embebido.  Applet: Pequeña aplicación cliente java que corre en un Browser. Aplicación Cliente Aplicación java de escritorio (máquina cliente). Compuesta por interfaz GUI (AWT, Swing, etc). Acceso directo a la capa de negocio.
1 – Introducción al desarrollo Web Web Components (Server Side) Servlets :  Programas java en servidor que construyen respuestas a través de peticiones. JSP:  Documento texto con contenido estático (HTML, XML, VML) y elementos dinámicos (Tags, directivas) HTML & Applets:  No están considerados componentes Web J2EE (Elementos estáticos)
1 – Introducción al desarrollo Web Capa Negocio J2EE (Server Side) Contiene la lógica de negocio y funcionalidad de nuestra aplicación. JavaBeans y EJB. Accede a la capa de datos (persistencia) y atiende peticiones de los clientes. Comunicación con el EIS Enterprise Information System.
1 – Introducción al desarrollo Web Business Components Son elementos que se encargan de resolver necesidades concretas de negocio (procesos) En J2EE: Enterprise Java Beans Reciben datos de los componentes Web y lo envían al EIS
1 – Introducción al desarrollo Web EIS: Enterprise Information System Capa que almacena los sistemas de información de nuestra empresa. Almacenar información persistente Base de datos ERP (Enterprise Resource Planning) CRM (Customer Relationship Management) Legacy Systems
1 – Introducción al desarrollo Web Contenedores J2EE Las aplicaciones multicapa son complejas. Implican muchas líneas de código para gestionar estados y transacciones J2EE abstrae la anterior problemática Componentes reutilizables  Concentrarnos en desarrollar componentes para resolver nuestro problemas de lógica de negocio Contenedores:  Proporciona la interfaz entre los componentes y la núcleo funcional de bajo nivel (Seguridad, remoto, transacción) Se declaran en descriptores .xml
1 – Introducción al desarrollo Web Tipos de contenedores J2EE J2EE Server: Contenedores para EJB y Web EJB: Gestiona la ejecución de los EJBs  Web: Gestiona la ejecución de los JSP y Servlets Aplicación: Aplicaciones en máquina cliente Applet: Gestión Applets (Web browser + Plugin)
1 – Introducción al desarrollo Web Servicios Web (WebServices) Aplicaciones empresariales Web que usan XML para el intercambio de información con los clientes Se pasan parámetros a los métodos del WSDL Fichero .XML que describe los servicios. A través de SOAP se transporta información En J2EE a través del API JAX-RPC Abstracción del protocolo transporte Compatibilidad con clientes Web No Java
1 – Introducción al desarrollo Web Empaquetando aplicaciones Las aplicaciones J2EE se empaquetan .ear Componentes J2EE + Descriptores deploy Las aplicaciones Web .war Los EJB se empaquetan en .ear Las aplicaciones cliente se en .jar
1 – Introducción al desarrollo Web WAR: Web Archives Una aplicación Web está compuesta por  múltiples  recursos. Complejidad de  migración  entre entornos. Para  simplificar  este proceso todos los archivos (recursos) de la Web se empaquetaran en un  ‘JAR de formato Web’ Se le cambia la  extensión  para que el servidor de aplicaciones lo trate correctamente.
1 – Introducción al desarrollo Web WAR (II) Todos los  servidores J2EE  que albergan aplicaciones Web soportan War. Para crearlos : jar cvf webAppName.war *  o Comprime la carpeta de web-app con WinZip  o Usa un  IDE  (Netbeans, Eclipse, etc.) Instalación : Deposita el .war en el servidor  installDir/webapps Listo! Accede a la URL:  http://host/webAppName/...
1 – Introducción al desarrollo Web Descriptor de despliegue ( web.xml ) Describe la Aplicación Web para el  contenedor Web  (JSP + Servlets). Mecanismo para configurar el comportamiento de la aplicación en el momento del ensamble o del despliegue. Para garantizar la portabilidad entre contendores de servlet, el  web.xml  esta  estandarizado  por Sun.
1 – Introducción al desarrollo Web Propiedades ( web.xml ) TLDs requeridas por los JSPs. Tag Libraries Especificar requisitos de seguridad a la Web. Security Constrains Configurar parámetros de sesión. Session Especificar filtros de los servlets y JSPs Filters Para especificar parámetros de inicialización. Servlet Context Indica el recurso inicial a mostrar en la Web. Welcome file Asociar URLs a servlets. Servlet mappings Para declarar las propiedades de los servlets. Declaración Servlet Breve descripción Propiedad
1 – Introducción al desarrollo Web Ejemplo ( web.xml )
1 – Introducción al desarrollo Web Roles de desarrollo Web (1/2) Varios puestos dada la reutilización de componentes J2EE Product Provider Organización que comercializa nuestra aplicación Tool Provider Proporciona las herramientas para el deploy, packing EJB Developer Desarrolla las componentes EJB que iran en el .jar Web Developer Desarrolla los componentes Web que irán en el .war Application Developer Desarrolla las aplicaciones cliente que irán en el .jar
1 – Introducción al desarrollo Web Roles de desarrollo Web (2/2) Application Assembler Arquitecto que recibe los módulos de los ‘developers’ y los interconexiona. Administrator Configura y despliega los componentes Realizas actualizaciones e instalaciones de software EIS
1 – Introducción al desarrollo Web API J2EE
Conclusiones Introducción al desarrollo Web Servlet JSP Javabeans EJB Struts Resumen y conclusiones   Entender los conceptos básicos que promueven el desarrollo Web. Identificar la estructura de una aplicación Web. Conocer los distintos elementos que componen J2EE. Desplegar y configurar una aplicación J2EE. Diferenciar los distintos actores que intervienen en la construcción de una aplicación J2EE.
Referencias Overview J2EE:  http:// java.sun.com /j2ee/1.4/ docs / tutorial / doc / Overview.html#wp80172 SOAP:  http:// en.wikipedia.org / wiki /SOAP Webservice:  http:// jcp.org /en/ jsr / detail?id =181

Más contenido relacionado

PPT
Curso Java Avanzado 2 Servlets
PDF
Programacion web java
PPT
Curso Java Avanzado 3 Js Ps
PDF
Java Primeros Pasos Revista- Edición 2
PDF
2. Java Servlets (J2EE) - Curso 2005-2006
PDF
Jsp servlet- Tutorial BD Conexión
PDF
Introducción al desarrollo de aplicaciones web en Java
PPT
Servlets y jsp
Curso Java Avanzado 2 Servlets
Programacion web java
Curso Java Avanzado 3 Js Ps
Java Primeros Pasos Revista- Edición 2
2. Java Servlets (J2EE) - Curso 2005-2006
Jsp servlet- Tutorial BD Conexión
Introducción al desarrollo de aplicaciones web en Java
Servlets y jsp

La actualidad más candente (20)

PDF
Introducción a java EE 7
PPS
Aplicaciones empresariales Java EE en la nube
PPTX
Servlets exposicion
PPTX
Modulo 1 java ee platform
PPT
Curso Java Avanzado 5 Ejb
PDF
[ES] Conectividad de java a base de datos(jdbc)
PDF
Sesion 3. desarrollo de aplicaciones jee
PDF
Introducción a JEE
PDF
Breve introducción a Apache Ant
ODP
Curso Jsp
PDF
Frameworks J2EE
PPT
Plataforma de programación Java
PDF
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
PPTX
Java WebServices JaxWS - JaxRs
PDF
Tutorial - REST con java (JAX-RS 2.0)
PDF
Integración de aplicaciones Java
PPT
Curso Java Avanzado 3 4 Js Ps Con Java Beans
PPT
Curso: Programación Web con Tecnología Java
PDF
Curso Básico de JDBC
Introducción a java EE 7
Aplicaciones empresariales Java EE en la nube
Servlets exposicion
Modulo 1 java ee platform
Curso Java Avanzado 5 Ejb
[ES] Conectividad de java a base de datos(jdbc)
Sesion 3. desarrollo de aplicaciones jee
Introducción a JEE
Breve introducción a Apache Ant
Curso Jsp
Frameworks J2EE
Plataforma de programación Java
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
Java WebServices JaxWS - JaxRs
Tutorial - REST con java (JAX-RS 2.0)
Integración de aplicaciones Java
Curso Java Avanzado 3 4 Js Ps Con Java Beans
Curso: Programación Web con Tecnología Java
Curso Básico de JDBC
Publicidad

Destacado (20)

PPT
Implementación de Aplicaciones Basadas en Texto
PPT
Manejo Avanzado de Flujos de Entrada/Salida
PDF
Archivos
PDF
Java_Capitulo 10
ODP
Archivos Java
PPTX
Aplicaciones java
PDF
Java _Capitulo_9
DOCX
Trabajo sobre archivos en java.. programacion no numerica ii
PPTX
Sistemas de ficheros
PDF
Java_Capitulo_7
PPT
PERSISTENCIA BASADA EN ARCHIVOS
PPTX
File reader y filewriter
DOCX
Java Mapa mental
PPTX
Entrada y Salida de datos en Java
PDF
Manejo de archivos en JAVA
PPT
Metodos de entrada y Salida
PPSX
Java Persistence Api (Jpa)
PDF
Отзиви от курсовете ни в IMG IT Academy - Пловдив (Софтуерни курсове и графич...
PDF
12 Curso de POO en java - entrada y salida de datos
PDF
4 Curso de POO en java - instalación Eclipse
Implementación de Aplicaciones Basadas en Texto
Manejo Avanzado de Flujos de Entrada/Salida
Archivos
Java_Capitulo 10
Archivos Java
Aplicaciones java
Java _Capitulo_9
Trabajo sobre archivos en java.. programacion no numerica ii
Sistemas de ficheros
Java_Capitulo_7
PERSISTENCIA BASADA EN ARCHIVOS
File reader y filewriter
Java Mapa mental
Entrada y Salida de datos en Java
Manejo de archivos en JAVA
Metodos de entrada y Salida
Java Persistence Api (Jpa)
Отзиви от курсовете ни в IMG IT Academy - Пловдив (Софтуерни курсове и графич...
12 Curso de POO en java - entrada y salida de datos
4 Curso de POO en java - instalación Eclipse
Publicidad

Similar a Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web (20)

PDF
Clase 1 Introducción al Desarrollo Web
PPTX
J2EE - 01 Arquitectura Web
PDF
[ES] Introducción a las Aplicaciones Web con Java
PPT
J2 Ee Para Seres Humanos Slides
PPTX
Java Web - Servlet
PDF
Desarrollo web
PDF
Tema1 introduccion
PDF
Tema 4
PDF
Dale un vistazo al mundo de la internet con Java
PDF
Tutor Java Web
DOCX
Israel tecnologias para desarrollo-web
PDF
Introducción a las aplicaciones web con java
PDF
I introduccion a_las_aplicaciones_web_co
PPTX
Clase ii intro j2 ee resumen
PPTX
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
PDF
03. empaquetado de aplicaciones jee
PPT
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
PDF
1/9 Curso JEE5, Soa, Web Services, ESB y XML
PPTX
Desarrollo de aplicaciones Web fundamenteos
Clase 1 Introducción al Desarrollo Web
J2EE - 01 Arquitectura Web
[ES] Introducción a las Aplicaciones Web con Java
J2 Ee Para Seres Humanos Slides
Java Web - Servlet
Desarrollo web
Tema1 introduccion
Tema 4
Dale un vistazo al mundo de la internet con Java
Tutor Java Web
Israel tecnologias para desarrollo-web
Introducción a las aplicaciones web con java
I introduccion a_las_aplicaciones_web_co
Clase ii intro j2 ee resumen
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
03. empaquetado de aplicaciones jee
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
1/9 Curso JEE5, Soa, Web Services, ESB y XML
Desarrollo de aplicaciones Web fundamenteos

Más de Emilio Aviles Avila (20)

PPTX
Experiencias emprendedor de apps - AppCierta
PPTX
Apps Ser o Estar
PPTX
Aplicaciones móviles, experiencias de emprendedor
PPTX
Charla estrategia desarrollo aplicaciones móviles Universidad Girona
PPT
Desarrollo android - 6 - multimedia
PPT
Desarrollo android - 5 - almacenamiento de datos
PPT
Desarrollo android - 4 - arquitectura de aplicación
PPT
Desarrollo android - 3 - entorno de desarrollo
PPT
Desarrollo android - 2 - arquitectura del sistema
PPT
Desarrollo android -1 - introduccion
PPTX
El mercado de las aplicaciones moviles
PDF
Curso Taller Android Procesado Imagen
PDF
Taller Curso android WhereAmI
PDF
Curso taller android radio streaming
PDF
Como ganar dinero con las apps
PPT
Curso introducción a android
PPT
Curso Introducción a android
PPT
Curso desarrollo en android
PPTX
TeCHmi Service Portfolio
PPT
Curso Uml 3.2 Proceso Unificado
Experiencias emprendedor de apps - AppCierta
Apps Ser o Estar
Aplicaciones móviles, experiencias de emprendedor
Charla estrategia desarrollo aplicaciones móviles Universidad Girona
Desarrollo android - 6 - multimedia
Desarrollo android - 5 - almacenamiento de datos
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android - 3 - entorno de desarrollo
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android -1 - introduccion
El mercado de las aplicaciones moviles
Curso Taller Android Procesado Imagen
Taller Curso android WhereAmI
Curso taller android radio streaming
Como ganar dinero con las apps
Curso introducción a android
Curso Introducción a android
Curso desarrollo en android
TeCHmi Service Portfolio
Curso Uml 3.2 Proceso Unificado

Último (20)

PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPT
Que son las redes de computadores y sus partes
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
CyberOps Associate - Cisco Networking Academy
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
Presentación de Redes de Datos modelo osi
PDF
Estrategia de apoyo tecnología miguel angel solis
historia_web de la creacion de un navegador_presentacion.pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Zarate Quispe Alex aldayir aplicaciones de internet .docx
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Power Point Nicolás Carrasco (disertación Roblox).pptx
Que son las redes de computadores y sus partes
Propuesta BKP servidores con Acronis1.pptx
CyberOps Associate - Cisco Networking Academy
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Presentación PASANTIAS AuditorioOO..pptx
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
Estrategia de apoyo tecnología grado 9-3
Calidad desde el Docente y la mejora continua .pdf
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Presentación de Redes de Datos modelo osi
Estrategia de apoyo tecnología miguel angel solis

Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web

  • 1. Java Avanzado Emilio Avilés Ávila http://www.techmi.es
  • 2. Workshop (25 horas) Workshop Java avanzado para empresas y profesionales
  • 3. Temario Introducción al desarrollo Web Servlet JSP Javabeans EJB Struts Resumen y conclusiones
  • 4. Tema 1 Introducción al Desarrollo Web
  • 5. Objetivos Introducción al desarrollo Web Servlet JSP Javabeans EJB Struts Resumen y conclusiones Conocer los principios del desarrollo Web Describir J2EE como estándar para desarrollo de aplicaciones empresariales y Web Elementos y Componentes J2EE Que son los contenedores Web Como se empaquetan las aplicaciones Roles en el desarrollo Web
  • 6. 1 – Introducción al desarrollo Web ¿Qué es una Aplicación Web? Aplicación que es accesible a través de la Web. Idea aplicación Web Unificar acceso a recursos: Único directorio jerárquico. URL Común: http:// host / webAppName / bla / bla Control unificado Descriptor ( web.xml) común que controla el comportamiento de la Web Conjunto de componentes Web que se coordinan y actúan entre ellos para realizar tareas concretas y ofrecer servicios completos al usuario.
  • 7. 1 – Introducción al desarrollo Web Propósito de las aplicaciones Web Organización Los archivos son agrupados en ficheros o carpetas jerárquicas de manera cohesiva. Archivos HTML, páginas JSP, servlets, beans, img, … Portabilidad Todos los servidores soportan aplicaciones Web Podemos desplegarlo moviendo un solo archivo. Cohesión Cada aplicación Web tiene sus propios: Contexto Servlet, Cargador de clases, Sesiones, cargadores de clases, prefijos de URL, Estructura de directorios, …
  • 8. 1 – Introducción al desarrollo Web Recursos activos vs pasivos Manera de categorizar resource Web. Pasivo o estático: No requiere de ningún proceso. www.myserver.com/myfile.html El servidor lo localiza ( myfile ) y lo entrega. Activo o dinámico: Tiene sus propias capacidades de proceso. www.myserver.com/reportServlet El servidor ( myserver ) redirige la petición al recurso activo ( reportServlet ) que procesa la request Servlet genera HTML y se lo da al server.
  • 9. 1 – Introducción al desarrollo Web Servidor Aplicaciones Web Más conocido por Web Application Server . Lugar donde residen las aplicaciones Web. Facilita a las aplicaciones Web: Gestión de acceso a los recursos del sistema. Low-level services Implementación protocolo HTTP. Gestión de conexiones con Base de Datos. Contenedores de recursos: Contenedores Web (Servlets, JSP) y Contendores EJBs. Otros componentes J2EE JNDI server, JMS server. Controlado por descriptores XML.
  • 10. 1 – Introducción al desarrollo Web Estructura de una aplicación Web Un aplicación Web consiste en muchos recursos: servlet, JSP, HTML, img, JAR, class Gestionar esos recursos puede ser complejo. Dependencias entre recursos, etc. La aplicación Web debe ser portable. Solución : Java Servlet Specification estandariza la manera de ubicar estos recursos y empaquetarlos para su posterior despliegue .
  • 11. 1 – Introducción al desarrollo Web Estructura de una aplicación Web
  • 12. 1 – Introducción al desarrollo Web http://www.myserver.com/helloapp/index.html Directorio raíz del servidor donde irán todas las aplicaciones Web Un directorio por cada aplicación Web desplegada en el servidor. Recursos accesibles de manera pública. Pueden estar organizados en carpetas. Información necesaria para que el contenedor arranque la aplicación Clases organizadas en paquetes. (Servlet + Util) Librerías externas (jars, tlds, ..) Descriptor Web XML
  • 13. 1 – Introducción al desarrollo Web Modelo de 2 Capas Un cambio en la implementación del modelo implica un cambio en las interfaz Un Cambio drivers acceso a Datos… Acoplamiento!
  • 14. 1 – Introducción al desarrollo Web Modelo de 3 Capas Solución: Modelo servidor intermedio Servidor implementa el modelo (Lógica negocio) Cliente standalone o ligeros o Browser
  • 15. 1 – Introducción al desarrollo Web Lenguajes de Paginas Web ASP: Active Server Pages (Microsoft) PHP: Software libre JSP: Java Server Pages Servidores Aplicaciones Web Jboss, Sun, Tomcat, Weblogic, WAS, etc. Base datos MySQL, SQL Server, Derby, PostGreSQL, .. Scripting HTML, javascript, css, XML
  • 16. 1 – Introducción al desarrollo Web Desarrollo Web en Java (J2EE) Plataforma estándar empresarial orientada a componentes para el diseño, desarrollo, integración y despliegue de aplicaciones. Organizada en capas. Arquitectura Multicapa.
  • 17. 1 – Introducción al desarrollo Web Capa Cliente J2EE Cliente Web (Thin client) No confundir con componente Web Browser para interpretar estas páginas Web. Applet Cliente Web con un applet embebido. Applet: Pequeña aplicación cliente java que corre en un Browser. Aplicación Cliente Aplicación java de escritorio (máquina cliente). Compuesta por interfaz GUI (AWT, Swing, etc). Acceso directo a la capa de negocio.
  • 18. 1 – Introducción al desarrollo Web Web Components (Server Side) Servlets : Programas java en servidor que construyen respuestas a través de peticiones. JSP: Documento texto con contenido estático (HTML, XML, VML) y elementos dinámicos (Tags, directivas) HTML & Applets: No están considerados componentes Web J2EE (Elementos estáticos)
  • 19. 1 – Introducción al desarrollo Web Capa Negocio J2EE (Server Side) Contiene la lógica de negocio y funcionalidad de nuestra aplicación. JavaBeans y EJB. Accede a la capa de datos (persistencia) y atiende peticiones de los clientes. Comunicación con el EIS Enterprise Information System.
  • 20. 1 – Introducción al desarrollo Web Business Components Son elementos que se encargan de resolver necesidades concretas de negocio (procesos) En J2EE: Enterprise Java Beans Reciben datos de los componentes Web y lo envían al EIS
  • 21. 1 – Introducción al desarrollo Web EIS: Enterprise Information System Capa que almacena los sistemas de información de nuestra empresa. Almacenar información persistente Base de datos ERP (Enterprise Resource Planning) CRM (Customer Relationship Management) Legacy Systems
  • 22. 1 – Introducción al desarrollo Web Contenedores J2EE Las aplicaciones multicapa son complejas. Implican muchas líneas de código para gestionar estados y transacciones J2EE abstrae la anterior problemática Componentes reutilizables Concentrarnos en desarrollar componentes para resolver nuestro problemas de lógica de negocio Contenedores: Proporciona la interfaz entre los componentes y la núcleo funcional de bajo nivel (Seguridad, remoto, transacción) Se declaran en descriptores .xml
  • 23. 1 – Introducción al desarrollo Web Tipos de contenedores J2EE J2EE Server: Contenedores para EJB y Web EJB: Gestiona la ejecución de los EJBs Web: Gestiona la ejecución de los JSP y Servlets Aplicación: Aplicaciones en máquina cliente Applet: Gestión Applets (Web browser + Plugin)
  • 24. 1 – Introducción al desarrollo Web Servicios Web (WebServices) Aplicaciones empresariales Web que usan XML para el intercambio de información con los clientes Se pasan parámetros a los métodos del WSDL Fichero .XML que describe los servicios. A través de SOAP se transporta información En J2EE a través del API JAX-RPC Abstracción del protocolo transporte Compatibilidad con clientes Web No Java
  • 25. 1 – Introducción al desarrollo Web Empaquetando aplicaciones Las aplicaciones J2EE se empaquetan .ear Componentes J2EE + Descriptores deploy Las aplicaciones Web .war Los EJB se empaquetan en .ear Las aplicaciones cliente se en .jar
  • 26. 1 – Introducción al desarrollo Web WAR: Web Archives Una aplicación Web está compuesta por múltiples recursos. Complejidad de migración entre entornos. Para simplificar este proceso todos los archivos (recursos) de la Web se empaquetaran en un ‘JAR de formato Web’ Se le cambia la extensión para que el servidor de aplicaciones lo trate correctamente.
  • 27. 1 – Introducción al desarrollo Web WAR (II) Todos los servidores J2EE que albergan aplicaciones Web soportan War. Para crearlos : jar cvf webAppName.war * o Comprime la carpeta de web-app con WinZip o Usa un IDE (Netbeans, Eclipse, etc.) Instalación : Deposita el .war en el servidor installDir/webapps Listo! Accede a la URL: http://host/webAppName/...
  • 28. 1 – Introducción al desarrollo Web Descriptor de despliegue ( web.xml ) Describe la Aplicación Web para el contenedor Web (JSP + Servlets). Mecanismo para configurar el comportamiento de la aplicación en el momento del ensamble o del despliegue. Para garantizar la portabilidad entre contendores de servlet, el web.xml esta estandarizado por Sun.
  • 29. 1 – Introducción al desarrollo Web Propiedades ( web.xml ) TLDs requeridas por los JSPs. Tag Libraries Especificar requisitos de seguridad a la Web. Security Constrains Configurar parámetros de sesión. Session Especificar filtros de los servlets y JSPs Filters Para especificar parámetros de inicialización. Servlet Context Indica el recurso inicial a mostrar en la Web. Welcome file Asociar URLs a servlets. Servlet mappings Para declarar las propiedades de los servlets. Declaración Servlet Breve descripción Propiedad
  • 30. 1 – Introducción al desarrollo Web Ejemplo ( web.xml )
  • 31. 1 – Introducción al desarrollo Web Roles de desarrollo Web (1/2) Varios puestos dada la reutilización de componentes J2EE Product Provider Organización que comercializa nuestra aplicación Tool Provider Proporciona las herramientas para el deploy, packing EJB Developer Desarrolla las componentes EJB que iran en el .jar Web Developer Desarrolla los componentes Web que irán en el .war Application Developer Desarrolla las aplicaciones cliente que irán en el .jar
  • 32. 1 – Introducción al desarrollo Web Roles de desarrollo Web (2/2) Application Assembler Arquitecto que recibe los módulos de los ‘developers’ y los interconexiona. Administrator Configura y despliega los componentes Realizas actualizaciones e instalaciones de software EIS
  • 33. 1 – Introducción al desarrollo Web API J2EE
  • 34. Conclusiones Introducción al desarrollo Web Servlet JSP Javabeans EJB Struts Resumen y conclusiones Entender los conceptos básicos que promueven el desarrollo Web. Identificar la estructura de una aplicación Web. Conocer los distintos elementos que componen J2EE. Desplegar y configurar una aplicación J2EE. Diferenciar los distintos actores que intervienen en la construcción de una aplicación J2EE.
  • 35. Referencias Overview J2EE: http:// java.sun.com /j2ee/1.4/ docs / tutorial / doc / Overview.html#wp80172 SOAP: http:// en.wikipedia.org / wiki /SOAP Webservice: http:// jcp.org /en/ jsr / detail?id =181