Introducción al Desarrollo de Aplicaciones Empresariales

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Introducción al Desarrollo de Aplicaciones Empresariales"

Transcripción

1 UNIVERSIDAD DE PAMPLONA Introducción al Desarrollo de Aplicaciones Empresariales Esp. Alexis Olvany Torres Ch.

2 Índice Arquitecturas características de las aplicaciones empresariales Tecnologías Java EE Alternativas a Java EE Patrones Arquitectónicos Model-View-Controller Layers Referencias Introducción al Desarrollo de Aplicaciones Empresariales 2

3 Características de las aplicaciones empresariales (1) Acceso a bases de datos (BD) Normalmente con BD relacionales Transaccionales Escalables Propiedades ACID (Atomicity-Consistency-Isolation-Durability) Deberían poder soportar más carga de trabajo sin necesidad de modificar el software (sólo añadir más máquinas) Disponibilidad Seguras Idealmente no deben dejar de prestar servicio No todos los usuarios pueden acceder a la misma funcionalidad Integración Es preciso integrar aplicaciones construidas con distintas tecnologías Introducción al Desarrollo de Aplicaciones Empresariales 3

4 Características de las aplicaciones empresariales (y 2) Tipo de interfaz 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 Modelo: encapsula la lógica de negocio El modelo debería ser reusable con distintas interfaces gráficas Interfaz gráfica 1 cu1 Gestor de Eventos cu2 eventos de usuario Acciones a Ejecutar... Modelo Base de Datos cun Interfaz gráfica m Arquitecturas multi-capa casos de uso Introducción al Desarrollo de Aplicaciones Empresariales 4

5 Una aplicación con clientes standalone Arquitectura en dos capas (1) Capa 1 Capa 2 Int. gráfica Modelo Intranet Base de datos Int. gráfica Modelo Int. gráfica Modelo Introducción al Desarrollo de Aplicaciones Empresariales 5

6 Problema Solución Una aplicación con clientes standalone Arquitectura en dos capas (y 2) Cambios en la implementación de la capa modelo => recompilación de toda la aplicación y reinstalación en clientes Cambios de drivers de acceso a la BD Cambios en la lógica del modelo Cambio de tipo de BD Modelo en servidor intermedio Un cambio en la implementación del modelo sólo afecta al servidor Clientes standalone Sólo disponen de la interfaz gráfica Acceden al servidor que implementa el modelo Introducción al Desarrollo de Aplicaciones Empresariales 6

7 Una aplicación con clientes standalone Arquitectura en tres capas Capa 1 Capa 2 Capa 3 Int. gráfica Modelo Serv. modelo Base de datos Int. gráfica Intranet Int. gráfica Introducción al Desarrollo de Aplicaciones Empresariales 7

8 Una aplicación web Arquitectura en tres capas Capa 1 Capa 2 Capa 3 Navegador Int. Modelo web Serv. ap. web Base de datos Navegador Internet/ Intranet Navegador Introducción al Desarrollo de Aplicaciones Empresariales 8

9 Una aplicación web Arquitectura en cuatro capas Navegador Capa 1 Capa 2 Capa 3 Capa 4 Int. web Serv. ap. web Modelo Serv. modelo Base de datos Navegador Internet/ Intranet Navegador Introducción al Desarrollo de Aplicaciones Empresariales 9

10 Comentarios Para una aplicación web, la arquitectura en tres capas es más eficiente En la arquitectura en tres capas, la comunicación entre la interfaz gráfica y el modelo es local En la arquitectura en cuatro capas, la comunicación entre la interfaz gráfica y el modelo es remota Cómo conseguir escalabilidad y disponibilidad? Replicando servidores Introducción al Desarrollo de Aplicaciones Empresariales 10

11 Qué es Java EE? Java EE es un conjunto de especificaciones de APIs Java para la construcción de aplicaciones empresariales La mayor parte de las abstracciones de las APIs corresponden a interfaces y clases abstractas Existen múltiples implementaciones de distintos fabricantes, incluso algunas OpenSource Una aplicación construida con Java EE no depende de una implementación particular Sitio central: Es necesario distinguir entre J2ME (Java 2 Platform, Micro Edition) renombrado a Java ME Conjunto de tecnologías y especificaciones destinadas a dispositivos tales como teléfonos móviles, PDA's,... J2SE (Java 2 Platform, Standard Edition) renombrado a Java SE Para aplicaciones y applets J2EE (Java 2 Platform, Enterprise Edition) renombrado a Java EE Se apoya en Java SE Con el paso del tiempo, algunas APIs de Java EE se pasaron (y quizás se sigan pasando) a Java SE pintroducción al Desarrollo de Aplicaciones Empresariales 11

12 API Java SE 5 Proporciona un entorno para el desarrollo de aplicaciones Java de Desktop y applets. Contiene un compilador, herramientas, entornos de ejecución y APIs Java que permiten escribir, probar y ejecutar applets y aplicaciones. Tiger Introducción al Desarrollo de Aplicaciones Empresariales 12

13 API Java EE 5 Define un estándar para el desarrollo de aplicaciones empresariales multicapa basadas en componentes. Se basa en Java SE y proporciona servicios, herramientas y APIs adicionales para soportar el desarrollo simplificado de aplicaciones empresariales. Introducción al Desarrollo de Aplicaciones Empresariales 13

14 Principales tecnologías proporcionadas por Java EE Cada uno de los componentes de Java EE se ejecuta en un contenedor apropiado. Un contenedor es el entorno de ejecución para un componente, que le proporciona acceso a una serie de servicios, entre los que se encuentran: Seguridad Gestión de transacciones Directorio de nombres JNDI Conectividad remota De esta forma el desarrollador de componentes se centra en la resolución de los problemas de lógica de negocio. Para que un componente pueda ser ejecutado, debe de ser previamente deployado en el contenedor correspondiente de un servidor Java EE. Introducción al Desarrollo de Aplicaciones Empresariales 14

15 Principales tecnologías proporcionadas por Java EE Características de las aplicaciones Empresariales Acceso a Bases de Datos: API JDBC (Java SE) Aplicaciones Transaccionales/Escalables/Disponibles/Seguras/Multicapa (derivadas de la arquitectura Java EE): Componentes que se ejecutan en la máquina cliente Aplicaciones Cliente Applets Browser (aplicaciones web) Componentes que se ejecutan en la máquina servidora Contenedor Web:» Componentes Web: API Servlets/JSPs/JSTL Contenedor EJB:» Componentes de lógica de negocio (modelo) Componentes EJB Integración de Aplicaciones Heterogéneas API XML (Java SE) API Servicios Web Introducción al Desarrollo de Aplicaciones Empresariales 15

16 Principales tecnologías proporcionadas por Java EE Múltiples capas... Introducción al Desarrollo de Aplicaciones Empresariales 16

17 JDBC (Java SE) Acceso a Base de Datos JDBC (1) API para acceso a bases de datos relacionales El programador puede lanzar queries (consulta, actualización, inserción y borrado), agrupar queries en transacciones, etc. Permite implementar la capa modelo Conceptos JDBC El programador siempre trabaja contra los paquetes java.sql y javax.sql. Para poder contectarse a la BD y lanzar queries, es preciso tener un driver adecuado a ella Un driver suele ser un fichero.jar que contiene una implementación de todas las interfaces de la API de JDBC Nuestro código nunca depende del driver, dado que siempre trabaja contra los paquetes java.sql y javax.sql Introducción al Desarrollo de Aplicaciones Empresariales 17

18 Drivers JDBC Acceso a Base de Datos JDBC (2) Aplicación Java java.sql javax.sql API JDBC JDBC Driver Manager API Driver JDBC Driver JDBC-ODBC Driver Java Driver JDBC-Net Driver Java Nativa Drivers ODBC API Nativa BD Servidor con API Genérica Implementaciones Driver JDBC Protocolo de acceso propietario a una base de datos Base de Datos Introducción al Desarrollo de Aplicaciones Empresariales 18

19 Acceso a Base de Datos JDBC (3) DriverM anager + m anages 0..n < < Interfac e> > Driver < <i nstanti ate> > < < Interfac e> > Connection < < ins tantiate>> < < Interfac e> > S tatem ent <<i ns tan ti ate>> << Interfac e> > ResultS et Introducción al Desarrollo de Aplicaciones Empresariales 19

20 Acceso a Base de Datos JDBC (y 4) Idealmente, si nuestra aplicación cambia de BD, no necesitamos cambiar el código; simplemente, necesitamos otro driver Sin embargo, desafortunadamente las BDs relacionales usan distintos dialectos de SQL ( a pesar de que en teoría es un estándar!) Solución Tipos de datos: varían mucho según la BD Generación de identificadores: secuencias, autonumerados, etc. Usaremos interfaces para el acceso a BD, de manera que se puedan construir adaptadores para distintas BDs, proporcionando implementaciones por defecto con SQL estándar cuando sea posible Otros conceptos relacionados DriverManager vs DataSource JNDI (Java Naming and Directory Interface) Pool de conexiones Transacciones Introducción al Desarrollo de Aplicaciones Empresariales 20

21 Aplicación web Tecnologías Web (1) Aplicación que corre en al menos un servidor y a la que el usuario accede desde un cliente de propósito general (ej.: navegador en un PC, teléfono WAP, etc.) La comunicación en la Web gira en torno al protocolo HTTP Protocolo de nivel de aplicación Funciona sobre TCP Usa el puerto 80 por defecto Modelo petición/respuesta No tiene estado Al igual que SMTP, es un protocolo ASCII, que usa MIME para transferir información no ASCII Acceso a la web desde dispositivos móviles WAP es una pila de protocolos que nada tiene que ver con TCP/IP WML es el lenguaje equivalente a HTML para móviles Es una aplicación de XML Lógicamente, tiene menos posibilidades gráficas Introducción al Desarrollo de Aplicaciones Empresariales 21

22 Objetivo que se pretende Separación de roles Tecnologías Web (2) Personas que realizan el aspecto gráfico => diseñadores gráficos o similares Conocimientos de diseño gráfico y herramientas para generación de HTML y WML Personas que implementan el controlador y el modelo => informáticos Conocimientos de diseño e implementación Se deberían poder usar directamente las herramientas de diseño de páginas web Las actualizaciones al aspecto gráfico no deben provocar un rearranque del servidor Introducción al Desarrollo de Aplicaciones Empresariales 22

23 Tecnologías web (Java EE) Tecnologías Web (3) APIs: Servlets, páginas JSP y JSTL Permiten implementar la interfaz gráfica (vista+controlador) de una aplicación web Contenedor de aplicaciones web Navegador Aplicaciones web (int. gráf. + modelo ) JDBC BD NOTA: Contenedor = servidor Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 23

24 Tecnologías Web (y 4) Un servlet es una clase Java que puede recibir peticiones (normalmente HTTP) y generar una salida (normalmente HTML, WML o XML) Los servlets que conforman una aplicación web se ejecutan en un servidor de aplicaciones web (contenedor) Cada servlet se puede asociar a uno o más URLs Paquetes javax.servlet y javax.servlet.http Una página JSP (Java Server Page) es un tipo especial de servlet (javax.servlet.jsp y javax.servlet.jsp.tagext) orientado a generar el texto de la interfaz gráfica Tiene el aspecto de una página HTML Puede incluir scriptlets (scripts) para generar HTML dinámicamente Típicamente los scriptlets se escriben en Java JSTL (JSP Standard Tag Library) es una librería estándar de tags que pueden utilizarse en páginas JSP. Introducción al Desarrollo de Aplicaciones Empresariales 24

25 Componentes EJB (Java EE) Capa Modelo Automatizan la persistencia: API de persistencia: Permite mapear clases persistentes ( llamadas entidades ) a una Base de Datos relacional Alternativa de más alto nivel que JDBC Dan soporte a la implementación de fachadas del modelo Session Beans Pueden tener interfaz local y/o remota Enfoque declarativo Se declaran las clases que son persistentes Se declaran las operaciones que son transaccionales y los aspectos de seguridad Facilidad de desarrollo Al menos con EJB Introducción al Desarrollo de Aplicaciones Empresariales 25

26 Arquitectura multi-capa (1) Arquitectura de una aplicación con clientes standalone Contenedor de componentes EJB Ap. Standalone (int. gráfica) Componentes EJB (modelo) BD Introducción al Desarrollo de Aplicaciones Empresariales 26

27 Arquitectura multi-capa (2) Arquitectura de una aplicación web con un contenedor completo Java EE (tres capas) Contenedor Java EE Navegador Aplicaciones web (int. gráf.) Componentes EJB (modelo) BD Introducción al Desarrollo de Aplicaciones Empresariales 27

28 Arquitectura multi-capa (y 3) Arquitectura de una aplicación web con un contenedor web y un contenedor de EJB (quizá de distinto fabricante) Si los dos contenedores corren en la misma máquina física, se pude considerar como una arquitectura en tres capas. En general, es mejor la alternativa anterior Contenedor de aplicaciones web Contenedor de componentes EJB Navegador Aplicaciones web (int. gráf.) Componentes EJB (modelo) BD Introducción al Desarrollo de Aplicaciones Empresariales 28

29 APIs para XML XML (1) XML - extensible Markup Language ( ) Lenguaje de tags (similar en sintaxis a HTML) Es extensible (no dispone de tags predefinidos) Permite expresar datos y no aspecto visual (a diferencia de HTML) Ejemplo <?xml version= 1.0 > <forecasts> <city name="cor"> <forecast type="sunny" <forecast type="foggy" </city> <city name="lug"> <forecast type="rainy" <forecast type="rainy" </city>... </forecasts> day="1 month= 10 year= 2001"/> day="2 month= 10 year= 2001"/> day="1 month= 10 year= 2001"/> day="2 month= 10 year= 2001"/> Introducción al Desarrollo de Aplicaciones Empresariales 29

30 APIs para XML (cont) XML (2) Campos de aplicación (... entre muchos otros...) Intercambio de datos entre aplicaciones heterogéneas Configuración de aplicaciones Generación de aspecto visual (ej.: HTML, PDF) a partir de los datos Bases de datos Parsers XML (XML SAX objetos + [validación estructura]) Simple API for XML Es un pequeño framework basado en eventos El programador proporciona uno o varios objetos callback a los que el parser llamará cada vez que ocurra un evento de interés (apertura de un tag, cierre de un tag, un error, etc.) DOM Document Object Model Construye una representación (un árbol) en memoria del documento El programador puede acceder a los datos del documento recorriendo el árbol Introducción al Desarrollo de Aplicaciones Empresariales 30

31 XML (3) SAX DOM Introducción al Desarrollo de Aplicaciones Empresariales 31

32 APIs para XML (cont) XML (4) Las APIs de SAX y DOM están estandarizadas y existen un gran número de implementaciones para distintos lenguajes Ej.: Apache Software Foundation proporciona Crimson (SAX y DOM sólo para Java), Xerces (SAX y DOM) y Xalan (XSL) En el caso de Java, familia de paquete org.xml.sax y org.w3c.dom (básicamente contienen interfaces y clases abstractas) Lo que no está estandarizado es cómo crear instancias de los parsers JAXP - Java API for XML Processing (Java SE) API Java para procesamiento de documentos XML Incluido en Java SE 1.4 Familia de paquetes java.xml.{parsers, transform} Introducción al Desarrollo de Aplicaciones Empresariales 32

33 APIs para XML (cont) JAXP XML (y 5) Define una API para trabajar con parsers SAX, DOM y transformaciones XSL Proporciona factorías para crear instancias de parsers y transformadores XSL de manera portable Existen un gran número de implementaciones que proporcionan adaptadores para JAXP Ej.: Crimson, Xerces y Xalan Sun proporciona una implementación de JAXP por defecto: Crimson y Xalan. Es posible utilizar otras implementaciones vía configuración Introducción al Desarrollo de Aplicaciones Empresariales 33

34 Servicios Web (1) Enfoque REST: peticiones directas HTTP, respuestas XML Se han estandarizado una serie de protocolos basados en XML que permiten el intercambio de información en un entorno distribuido Cuentan con el respaldo de todos los fabricantes de tecnología (Sun, Oracle, IBM, Microsoft, etc.) También existen APIs para los lenguajes de programación más usuales, que facilitan el envío y recepción de mensajes En general, las APIs no son estándares, sin embargo ello no afecta a la interoperabilidad (porque los protocolos están estandarizados) En Java, las APIs se estandarizan Un Servicio Web es un servicio ofrecido a través de la web, que usa los anteriores protocolos y APIs para recibir peticiones y enviar las correspondientes respuestas Introducción al Desarrollo de Aplicaciones Empresariales 34

35 Servicios Web (y 2) APIs para integración de aplicaciones heterogéneas Principalmente APIs para Servicios Web Tecnologías basadas en XML para la integración de aplicaciones heterogéneas Un servicio Web ofrece un conjunto de operaciones que pueden ser invocadas por clientes remotos, independientemente de la tecnología en la que estén implementados el servidor y el cliente Protocolo de comunicación: SOAP Estandarizado por W3C ( ) Utiliza XML para el intercambio de información Conceptualmente permite enviar peticiones/respuestas en XML (normalmente sobre HTTP) Definición de la interfaz del servicio: WSDL Estandarizado por W3C ( ) Existen APIs para los lenguajes más usuales Disponible para Java EE,.NET y LAMP Cliente SOAP Servicio Web Servidor Introducción al Desarrollo de Aplicaciones Empresariales 35

36 Implementaciones de Java EE (1) Existen un gran número de fabricantes que venden servidores de aplicaciones certificados Java EE Lista completa en Algunos ejemplos BEA WebLogic Server: IBM WebSphere ApplicationServer: Sun Java System Application Server: Oracle Application Server: Introducción al Desarrollo de Aplicaciones Empresariales 36

37 Implementaciones de Java EE (y 2) Implementaciones OpenSource Tomcat (proyecto de Apache): Contenedor de aplicaciones web JBoss: Contenedor Java EE GlassFish: Contenedor Java EE OpenEJB: Contenedor de EJB Geronimo: Portabilidad Contenedor Java EE Si una aplicación sólo usa las APIs estándares => es posible instalarla sobre cualquier servidor de aplicaciones conforme a Java EE No se depende de un fabricante! Introducción al Desarrollo de Aplicaciones Empresariales 37

38 .NET Alternativas a Java EE (1) Define un Common Language Runtime (CLR) y un IL (Intermediate Language) al que todos los lenguajes conformes a.net compilan Idea similar a la máquina virtual de Java y a los bytecodes generados por el compilador de Java, respectivamente Lenguajes Visual Basic.NET, Visual C++.NET, Visual C#.NET, Visual J#.NET, etc. Tecnologías ADO.NET, ASP.NET, COM+: similares en concepto a JDBC, JSP y EJB (parcialmente), respectivamente Son una mejora de sus versiones anteriores (ADO, ASP, COM, etc.) APIs para XML y servicios Web Implementaciones Principalmente la de Microsoft También Mono (Open Source): Introducción al Desarrollo de Aplicaciones Empresariales 38

39 LAMP Alternativas a Java EE (y 2) Linux + Apache + MySQL +Perl/PHP/Python Perl/PHP/Python Lenguajes tipo Script Acceso a base de datos Tecnologías web Soporte para XML y servicios Web Requiere menos conocimientos técnicos que Java EE o.net Y la calidad del software? Introducción al Desarrollo de Aplicaciones Empresariales 39

40 Patrones arquitectónicos MVC y Layers (1) Cómo se debe diseñar una aplicación empresarial para que sea mantenible y contenga partes reusables? Debería estar diseñada siguiendo la arquitectura que fijan los patrones arquitectónicos Model-View-Controller (MVC) y Layers F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern-Oriented Software Architecture: A System Of Patterns, John Wiley and Sons, Un patrón arquitectónico es un patrón de alto nivel que fija la arquitectura global de una aplicación Posteriormente, el diseño hará uso de patrones de diseño para resolver problemas específicos Introducción al Desarrollo de Aplicaciones Empresariales 40

41 Patrones arquitectónicos MVC y Layers (2) Patrón arquitectónico MVC Separación clara entre el modelo (lógica de negocio) y la vista (interfaz gráfica), gracias a un controlador que los mantiene desacoplados Ventajas: El modelo es reusable con distintas vistas (ej.: una vista web y una con interfaz de ventanas) División clara de trabajo entre los miembros de un equipo, que estará formado por personas con distintos niveles de especialización Patrón arquitectónico Layers El software está estructurado en capas Permite ocultar las tecnologías que usa nuestro software Cuando hay un cambio de versión en una de ellas (o incluso se reemplaza por otra distinta), no tiene impacto sobre las capas superiores División clara de trabajo entre los miembros de un equipo Dará soporte a la arquitectura MVC Ej.: tanto la vista como el controlador nunca conocerán las tecnologías que usa la implementación del modelo Introducción al Desarrollo de Aplicaciones Empresariales 41

42 Capas de una Aplicación Web Java EE: MVC+Layers Vista HTML + JSP + JSTL Controlador Servlets Interfaces con Casos de Uso (lógica de negocio) Modelo Plugin: Plain RMI EJB Interfaces para Acceso a Datos Plugin: JDBC XML Introducción al Desarrollo de Aplicaciones Empresariales 42

43 Libros Referencias (1) J. Crupi, D. Alur, D. Malks, Core J2EE Patterns, 2nd edition, Prentice Hall, 2003 F. Marinescu, EJB Design Patterns, John Wiley & Sons, 2002 G. Reese, Database Programming with JDBC and Java, 2nd edition, O. Reilly, 2000 E. R. Harold, W. S. Means, XML in a Nutshell: A Desktop Quick Reference, O. Reilly, 2001 B. McLaughlin, Java and XML, 2nd edition, O. Reilly, 2001 H. Bergsten, JavaServer Pages, 3rd edition, O. Reilly, 2003 Introducción al Desarrollo de Aplicaciones Empresariales 43

44 Libros (cont) Referencias (2) T. Husted, C. Dumoulin, G. Franciscus, D. Winterfeldt, Struts in Action, Manning, R Patel, G. Brose, M. Silverman, Mastering Enterprise Java Beans, 3.0, John Wiley & Sons, 2006 B. Burke, R. Monson-Haefel, Enterprise JavaBeans 3.0, 5th edition, O. Reilly, 2006 R. Andrew, D. Shafer, HTML Utopia: Designing Without Tables Using CSS, Sitepoint Pty Ltd, 2006 J. Zeldman, Designing with Web Standards, 2th edition, New Riders, 2006 J. McGovern, S. Tyagi, M. E. Stevens, S. Mathew, Java Web Services Architecture, Morgan Kaufmann, 2003 Introducción al Desarrollo de Aplicaciones Empresariales 44

45 Sitios Web Referencias (3) Introducción al Desarrollo de Aplicaciones Empresariales 45

46 Referencias (y 4) Asignaturas en la Facultad de Informática de la UDC Integración de Sistemas 5º Ingeniería Informática Se centra en el diseño e implementación de aplicaciones empresariales con Java EE y.net. Transparencias y código disponibles Análisis y Diseño Orientado a Objetos Optativa 2º ciclo, Ingeniería Informática Se centra en diseño e implementación con servicios Web con Java EE Transparencias y código disponibles Transparencias de esta charla disponibles en Introducción al Desarrollo de Aplicaciones Empresariales 46

47 UNIVERSIDAD DE PAMPLONA Introducción al Desarrollo de Aplicaciones Empresariales Esp. Alexis Olvany Torres Ch.

48 Índice Arquitecturas características de las aplicaciones empresariales Tecnologías Java EE Alternativas a Java EE Patrones Arquitectónicos Model-View-Controller Layers Referencias Introducción al Desarrollo de Aplicaciones Empresariales 2

49 Características de las aplicaciones empresariales (1) Acceso a bases de datos (BD) Normalmente con BD relacionales Transaccionales Escalables Propiedades ACID (Atomicity-Consistency-Isolation-Durability) Deberían poder soportar más carga de trabajo sin necesidad de modificar el software (sólo añadir más máquinas) Disponibilidad Seguras Idealmente no deben dejar de prestar servicio No todos los usuarios pueden acceder a la misma funcionalidad Integración Es preciso integrar aplicaciones construidas con distintas tecnologías Introducción al Desarrollo de Aplicaciones Empresariales 3

50 Características de las aplicaciones empresariales (y 2) Tipo de interfaz 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 Modelo: encapsula la lógica de negocio El modelo debería ser reusable con distintas interfaces gráficas Interfaz gráfica 1 cu1 Gestor de Eventos cu2 eventos de usuario Acciones a Ejecutar... Modelo Base de Datos cun Interfaz gráfica m Arquitecturas multi-capa casos de uso Introducción al Desarrollo de Aplicaciones Empresariales 4

51 Una aplicación con clientes standalone Arquitectura en dos capas (1) Capa 1 Capa 2 Int. Modelo gráfica Intranet Base de datos Int. Modelo gráfica Int. Modelo gráfica Introducción al Desarrollo de Aplicaciones Empresariales 5

52 Problema Solución Una aplicación con clientes standalone Arquitectura en dos capas (y 2) Cambios en la implementación de la capa modelo => recompilación de toda la aplicación y reinstalación en clientes Cambios de drivers de acceso a la BD Cambios en la lógica del modelo Cambio de tipo de BD Modelo en servidor intermedio Un cambio en la implementación del modelo sólo afecta al servidor Clientes standalone Sólo disponen de la interfaz gráfica Acceden al servidor que implementa el modelo Introducción al Desarrollo de Aplicaciones Empresariales 6

53 Una aplicación con clientes standalone Arquitectura en tres capas Capa 1 Capa 2 Capa 3 Int. gráfica Modelo Serv. modelo Base de datos Int. gráfica Intranet Int. gráfica Introducción al Desarrollo de Aplicaciones Empresariales 7

54 Una aplicación web Arquitectura en tres capas Capa 1 Capa 2 Capa 3 Navegador Int. Modelo web Serv. ap. web Base de datos Navegador Internet/ Intranet Navegador Introducción al Desarrollo de Aplicaciones Empresariales 8

55 Una aplicación web Arquitectura en cuatro capas Navegador Capa 1 Capa 2 Capa 3 Capa 4 Int. web Serv. ap. web Modelo Serv. modelo Base de datos Navegador Internet/ Intranet Navegador Introducción al Desarrollo de Aplicaciones Empresariales 9

56 Comentarios Para una aplicación web, la arquitectura en tres capas es más eficiente En la arquitectura en tres capas, la comunicación entre la interfaz gráfica y el modelo es local En la arquitectura en cuatro capas, la comunicación entre la interfaz gráfica y el modelo es remota Cómo conseguir escalabilidad y disponibilidad? Replicando servidores Introducción al Desarrollo de Aplicaciones Empresariales 10

57 Qué es Java EE? Java EE es un conjunto de especificaciones de APIs Java para la construcción de aplicaciones empresariales La mayor parte de las abstracciones de las APIs corresponden a interfaces y clases abstractas Existen múltiples implementaciones de distintos fabricantes, incluso algunas OpenSource Una aplicación construida con Java EE no depende de una implementación particular Sitio central: Es necesario distinguir entre J2ME (Java 2 Platform, Micro Edition) renombrado a Java ME Conjunto de tecnologías y especificaciones destinadas a dispositivos tales como teléfonos móviles, PDA's,... J2SE (Java 2 Platform, Standard Edition) renombrado a Java SE Para aplicaciones y applets J2EE (Java 2 Platform, Enterprise Edition) renombrado a Java EE Se apoya en Java SE Con el paso del tiempo, algunas APIs de Java EE se pasaron (y quizás se sigan pasando) a Java SE pintroducción al Desarrollo de Aplicaciones Empresariales 11

58 API Java SE 5 Proporciona un entorno para el desarrollo de aplicaciones Java de Desktop y applets. Contiene un compilador, herramientas, entornos de ejecución y APIs Java que permiten escribir, probar y ejecutar applets y aplicaciones. Tiger Introducción al Desarrollo de Aplicaciones Empresariales 12

59 API Java EE 5 Define un estándar para el desarrollo de aplicaciones empresariales multicapa basadas en componentes. Se basa en Java SE y proporciona servicios, herramientas y APIs adicionales para soportar el desarrollo simplificado de aplicaciones empresariales. Introducción al Desarrollo de Aplicaciones Empresariales 13

60 Principales tecnologías proporcionadas por Java EE Cada uno de los componentes de Java EE se ejecuta en un contenedor apropiado. Un contenedor es el entorno de ejecución para un componente, que le proporciona acceso a una serie de servicios, entre los que se encuentran: Seguridad Gestión de transacciones Directorio de nombres JNDI Conectividad remota De esta forma el desarrollador de componentes se centra en la resolución de los problemas de lógica de negocio. Para que un componente pueda ser ejecutado, debe de ser previamente deployado en el contenedor correspondiente de un servidor Java EE. Introducción al Desarrollo de Aplicaciones Empresariales 14

61 Principales tecnologías proporcionadas por Java EE Características de las aplicaciones Empresariales Acceso a Bases de Datos: API JDBC (Java SE) Aplicaciones Transaccionales/Escalables/Disponibles/Seguras/Multicapa (derivadas de la arquitectura Java EE): Componentes que se ejecutan en la máquina cliente Aplicaciones Cliente Applets Browser (aplicaciones web) Componentes que se ejecutan en la máquina servidora Contenedor Web:» Componentes Web: API Servlets/JSPs/JSTL Contenedor EJB:» Componentes de lógica de negocio (modelo) Componentes EJB Integración de Aplicaciones Heterogéneas API XML (Java SE) API Servicios Web Introducción al Desarrollo de Aplicaciones Empresariales 15

62 Principales tecnologías proporcionadas por Java EE Múltiples capas... Introducción al Desarrollo de Aplicaciones Empresariales 16

63 JDBC (Java SE) Acceso a Base de Datos JDBC (1) API para acceso a bases de datos relacionales El programador puede lanzar queries (consulta, actualización, inserción y borrado), agrupar queries en transacciones, etc. Permite implementar la capa modelo Conceptos JDBC El programador siempre trabaja contra los paquetes java.sql y javax.sql. Para poder contectarse a la BD y lanzar queries, es preciso tener un driver adecuado a ella Un driver suele ser un fichero.jar que contiene una implementación de todas las interfaces de la API de JDBC Nuestro código nunca depende del driver, dado que siempre trabaja contra los paquetes java.sql y javax.sql Introducción al Desarrollo de Aplicaciones Empresariales 17

64 Drivers JDBC Acceso a Base de Datos JDBC (2) Aplicación Java java.sql javax.sql API JDBC JDBC Driver Manager API Driver JDBC Driver JDBC-ODBC Driver Java Driver JDBC-Net Driver Java Nativa Drivers ODBC API Nativa BD Servidor con API Genérica Implementaciones Driver JDBC Protocolo de acceso propietario a una base de datos Base de Datos Introducción al Desarrollo de Aplicaciones Empresariales 18

65 Acceso a Base de Datos JDBC (3) DriverM anager + m anages 0..n < < Interfac e> > Driver < <i nstanti ate> > < < Interfac e> > Connection < < ins tantiate>> < < Interfac e> > S tatem ent <<i ns tan ti ate>> << Interfac e> > ResultS et Introducción al Desarrollo de Aplicaciones Empresariales 19

66 Acceso a Base de Datos JDBC (y 4) Idealmente, si nuestra aplicación cambia de BD, no necesitamos cambiar el código; simplemente, necesitamos otro driver Sin embargo, desafortunadamente las BDs relacionales usan distintos dialectos de SQL ( a pesar de que en teoría es un estándar!) Solución Tipos de datos: varían mucho según la BD Generación de identificadores: secuencias, autonumerados, etc. Usaremos interfaces para el acceso a BD, de manera que se puedan construir adaptadores para distintas BDs, proporcionando implementaciones por defecto con SQL estándar cuando sea posible Otros conceptos relacionados DriverManager vs DataSource JNDI (Java Naming and Directory Interface) Pool de conexiones Transacciones Introducción al Desarrollo de Aplicaciones Empresariales 20

67 Aplicación web Tecnologías Web (1) Aplicación que corre en al menos un servidor y a la que el usuario accede desde un cliente de propósito general (ej.: navegador en un PC, teléfono WAP, etc.) La comunicación en la Web gira en torno al protocolo HTTP Protocolo de nivel de aplicación Funciona sobre TCP Usa el puerto 80 por defecto Modelo petición/respuesta No tiene estado Al igual que SMTP, es un protocolo ASCII, que usa MIME para transferir información no ASCII Acceso a la web desde dispositivos móviles WAP es una pila de protocolos que nada tiene que ver con TCP/IP WML es el lenguaje equivalente a HTML para móviles Es una aplicación de XML Lógicamente, tiene menos posibilidades gráficas Introducción al Desarrollo de Aplicaciones Empresariales 21

68 Objetivo que se pretende Separación de roles Tecnologías Web (2) Personas que realizan el aspecto gráfico => diseñadores gráficos o similares Conocimientos de diseño gráfico y herramientas para generación de HTML y WML Personas que implementan el controlador y el modelo => informáticos Conocimientos de diseño e implementación Se deberían poder usar directamente las herramientas de diseño de páginas web Las actualizaciones al aspecto gráfico no deben provocar un rearranque del servidor Introducción al Desarrollo de Aplicaciones Empresariales 22

69 Tecnologías web (Java EE) Tecnologías Web (3) APIs: Servlets, páginas JSP y JSTL Permiten implementar la interfaz gráfica (vista+controlador) de una aplicación web Contenedor de aplicaciones web Navegador Aplicaciones web (int. gráf. + modelo ) JDBC BD NOTA: Contenedor = servidor Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 23

70 Tecnologías Web (y 4) Un servlet es una clase Java que puede recibir peticiones (normalmente HTTP) y generar una salida (normalmente HTML, WML o XML) Los servlets que conforman una aplicación web se ejecutan en un servidor de aplicaciones web (contenedor) Cada servlet se puede asociar a uno o más URLs Paquetes javax.servlet y javax.servlet.http Una página JSP (Java Server Page) es un tipo especial de servlet (javax.servlet.jsp y javax.servlet.jsp.tagext) orientado a generar el texto de la interfaz gráfica Tiene el aspecto de una página HTML Puede incluir scriptlets (scripts) para generar HTML dinámicamente Típicamente los scriptlets se escriben en Java JSTL (JSP Standard Tag Library) es una librería estándar de tags que pueden utilizarse en páginas JSP. Introducción al Desarrollo de Aplicaciones Empresariales 24

71 Componentes EJB (Java EE) Capa Modelo Automatizan la persistencia: API de persistencia: Permite mapear clases persistentes ( llamadas entidades ) a una Base de Datos relacional Alternativa de más alto nivel que JDBC Dan soporte a la implementación de fachadas del modelo Session Beans Pueden tener interfaz local y/o remota Enfoque declarativo Se declaran las clases que son persistentes Se declaran las operaciones que son transaccionales y los aspectos de seguridad Facilidad de desarrollo Al menos con EJB Introducción al Desarrollo de Aplicaciones Empresariales 25

72 Arquitectura multi-capa (1) Arquitectura de una aplicación con clientes standalone Contenedor de componentes EJB Ap. Standalone (int. gráfica) Componentes EJB (modelo) BD Introducción al Desarrollo de Aplicaciones Empresariales 26

73 Arquitectura multi-capa (2) Arquitectura de una aplicación web con un contenedor completo Java EE (tres capas) Contenedor Java EE Navegador Aplicaciones web (int. gráf.) Componentes EJB (modelo) BD Introducción al Desarrollo de Aplicaciones Empresariales 27

74 Arquitectura multi-capa (y 3) Arquitectura de una aplicación web con un contenedor web y un contenedor de EJB (quizá de distinto fabricante) Si los dos contenedores corren en la misma máquina física, se pude considerar como una arquitectura en tres capas. En general, es mejor la alternativa anterior Contenedor de aplicaciones web Contenedor de componentes EJB Navegador Aplicaciones web (int. gráf.) Componentes EJB (modelo) BD Introducción al Desarrollo de Aplicaciones Empresariales 28

75 APIs para XML XML (1) XML - extensible Markup Language ( ) Lenguaje de tags (similar en sintaxis a HTML) Es extensible (no dispone de tags predefinidos) Permite expresar datos y no aspecto visual (a diferencia de HTML) Ejemplo <?xml version= 1.0 > <forecasts> <city name="cor"> <forecast type="sunny" <forecast type="foggy" </city> <city name="lug"> <forecast type="rainy" <forecast type="rainy" </city>... </forecasts> day="1 month= 10 year= 2001"/> day="2 month= 10 year= 2001"/> day="1 month= 10 year= 2001"/> day="2 month= 10 year= 2001"/> Introducción al Desarrollo de Aplicaciones Empresariales 29

76 APIs para XML (cont) XML (2) Campos de aplicación (... entre muchos otros...) Intercambio de datos entre aplicaciones heterogéneas Configuración de aplicaciones Generación de aspecto visual (ej.: HTML, PDF) a partir de los datos Bases de datos Parsers XML (XML SAX objetos + [validación estructura]) Simple API for XML Es un pequeño framework basado en eventos El programador proporciona uno o varios objetos callback a los que el parser llamará cada vez que ocurra un evento de interés (apertura de un tag, cierre de un tag, un error, etc.) DOM Document Object Model Construye una representación (un árbol) en memoria del documento El programador puede acceder a los datos del documento recorriendo el árbol Introducción al Desarrollo de Aplicaciones Empresariales 30

77 XML (3) SAX DOM Introducción al Desarrollo de Aplicaciones Empresariales 31

78 APIs para XML (cont) XML (4) Las APIs de SAX y DOM están estandarizadas y existen un gran número de implementaciones para distintos lenguajes Ej.: Apache Software Foundation proporciona Crimson (SAX y DOM sólo para Java), Xerces (SAX y DOM) y Xalan (XSL) En el caso de Java, familia de paquete org.xml.sax y org.w3c.dom (básicamente contienen interfaces y clases abstractas) Lo que no está estandarizado es cómo crear instancias de los parsers JAXP - Java API for XML Processing (Java SE) API Java para procesamiento de documentos XML Incluido en Java SE 1.4 Familia de paquetes java.xml.{parsers, transform} Introducción al Desarrollo de Aplicaciones Empresariales 32

79 APIs para XML (cont) JAXP XML (y 5) Define una API para trabajar con parsers SAX, DOM y transformaciones XSL Proporciona factorías para crear instancias de parsers y transformadores XSL de manera portable Existen un gran número de implementaciones que proporcionan adaptadores para JAXP Ej.: Crimson, Xerces y Xalan Sun proporciona una implementación de JAXP por defecto: Crimson y Xalan. Es posible utilizar otras implementaciones vía configuración Introducción al Desarrollo de Aplicaciones Empresariales 33

80 Servicios Web (1) Enfoque REST: peticiones directas HTTP, respuestas XML Se han estandarizado una serie de protocolos basados en XML que permiten el intercambio de información en un entorno distribuido Cuentan con el respaldo de todos los fabricantes de tecnología (Sun, Oracle, IBM, Microsoft, etc.) También existen APIs para los lenguajes de programación más usuales, que facilitan el envío y recepción de mensajes En general, las APIs no son estándares, sin embargo ello no afecta a la interoperabilidad (porque los protocolos están estandarizados) En Java, las APIs se estandarizan Un Servicio Web es un servicio ofrecido a través de la web, que usa los anteriores protocolos y APIs para recibir peticiones y enviar las correspondientes respuestas Introducción al Desarrollo de Aplicaciones Empresariales 34

81 Servicios Web (y 2) APIs para integración de aplicaciones heterogéneas Principalmente APIs para Servicios Web Tecnologías basadas en XML para la integración de aplicaciones heterogéneas Un servicio Web ofrece un conjunto de operaciones que pueden ser invocadas por clientes remotos, independientemente de la tecnología en la que estén implementados el servidor y el cliente Protocolo de comunicación: SOAP Estandarizado por W3C ( ) Utiliza XML para el intercambio de información Conceptualmente permite enviar peticiones/respuestas en XML (normalmente sobre HTTP) Definición de la interfaz del servicio: WSDL Estandarizado por W3C ( ) Existen APIs para los lenguajes más usuales Disponible para Java EE,.NET y LAMP Cliente SOAP Servicio Web Servidor Introducción al Desarrollo de Aplicaciones Empresariales 35

82 Implementaciones de Java EE (1) Existen un gran número de fabricantes que venden servidores de aplicaciones certificados Java EE Lista completa en Algunos ejemplos BEA WebLogic Server: IBM WebSphere ApplicationServer: Sun Java System Application Server: Oracle Application Server: Introducción al Desarrollo de Aplicaciones Empresariales 36

83 Implementaciones de Java EE (y 2) Implementaciones OpenSource Tomcat (proyecto de Apache): Contenedor de aplicaciones web JBoss: Contenedor Java EE GlassFish: Contenedor Java EE OpenEJB: Contenedor de EJB Geronimo: Portabilidad Contenedor Java EE Si una aplicación sólo usa las APIs estándares => es posible instalarla sobre cualquier servidor de aplicaciones conforme a Java EE No se depende de un fabricante! Introducción al Desarrollo de Aplicaciones Empresariales 37

84 .NET Alternativas a Java EE (1) Define un Common Language Runtime (CLR) y un IL (Intermediate Language) al que todos los lenguajes conformes a.net compilan Idea similar a la máquina virtual de Java y a los bytecodes generados por el compilador de Java, respectivamente Lenguajes Visual Basic.NET, Visual C++.NET, Visual C#.NET, Visual J#.NET, etc. Tecnologías ADO.NET, ASP.NET, COM+: similares en concepto a JDBC, JSP y EJB (parcialmente), respectivamente Son una mejora de sus versiones anteriores (ADO, ASP, COM, etc.) APIs para XML y servicios Web Implementaciones Principalmente la de Microsoft También Mono (Open Source): Introducción al Desarrollo de Aplicaciones Empresariales 38

85 LAMP Alternativas a Java EE (y 2) Linux + Apache + MySQL +Perl/PHP/Python Perl/PHP/Python Lenguajes tipo Script Acceso a base de datos Tecnologías web Soporte para XML y servicios Web Requiere menos conocimientos técnicos que Java EE o.net Y la calidad del software? Introducción al Desarrollo de Aplicaciones Empresariales 39

86 Patrones arquitectónicos MVC y Layers (1) Cómo se debe diseñar una aplicación empresarial para que sea mantenible y contenga partes reusables? Debería estar diseñada siguiendo la arquitectura que fijan los patrones arquitectónicos Model-View-Controller (MVC) y Layers F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern-Oriented Software Architecture: A System Of Patterns, John Wiley and Sons, Un patrón arquitectónico es un patrón de alto nivel que fija la arquitectura global de una aplicación Posteriormente, el diseño hará uso de patrones de diseño para resolver problemas específicos Introducción al Desarrollo de Aplicaciones Empresariales 40

87 Patrones arquitectónicos MVC y Layers (2) Patrón arquitectónico MVC Separación clara entre el modelo (lógica de negocio) y la vista (interfaz gráfica), gracias a un controlador que los mantiene desacoplados Ventajas: El modelo es reusable con distintas vistas (ej.: una vista web y una con interfaz de ventanas) División clara de trabajo entre los miembros de un equipo, que estará formado por personas con distintos niveles de especialización Patrón arquitectónico Layers El software está estructurado en capas Permite ocultar las tecnologías que usa nuestro software Cuando hay un cambio de versión en una de ellas (o incluso se reemplaza por otra distinta), no tiene impacto sobre las capas superiores División clara de trabajo entre los miembros de un equipo Dará soporte a la arquitectura MVC Ej.: tanto la vista como el controlador nunca conocerán las tecnologías que usa la implementación del modelo Introducción al Desarrollo de Aplicaciones Empresariales 41

88 Capas de una Aplicación Web Java EE: MVC+Layers Vista HTML + JSP + JSTL Controlador Servlets Interfaces con Casos de Uso (lógica de negocio) Modelo Plugin: Plain RMI EJB Interfaces para Acceso a Datos Plugin: JDBC XML Introducción al Desarrollo de Aplicaciones Empresariales 42

89 Libros Referencias (1) J. Crupi, D. Alur, D. Malks, Core J2EE Patterns, 2nd edition, Prentice Hall, 2003 F. Marinescu, EJB Design Patterns, John Wiley & Sons, 2002 G. Reese, Database Programming with JDBC and Java, 2nd edition, O. Reilly, 2000 E. R. Harold, W. S. Means, XML in a Nutshell: A Desktop Quick Reference, O. Reilly, 2001 B. McLaughlin, Java and XML, 2nd edition, O. Reilly, 2001 H. Bergsten, JavaServer Pages, 3rd edition, O. Reilly, 2003 Introducción al Desarrollo de Aplicaciones Empresariales 43

90 Libros (cont) Referencias (2) T. Husted, C. Dumoulin, G. Franciscus, D. Winterfeldt, Struts in Action, Manning, R Patel, G. Brose, M. Silverman, Mastering Enterprise Java Beans, 3.0, John Wiley & Sons, 2006 B. Burke, R. Monson-Haefel, Enterprise JavaBeans 3.0, 5th edition, O. Reilly, 2006 R. Andrew, D. Shafer, HTML Utopia: Designing Without Tables Using CSS, Sitepoint Pty Ltd, 2006 J. Zeldman, Designing with Web Standards, 2th edition, New Riders, 2006 J. McGovern, S. Tyagi, M. E. Stevens, S. Mathew, Java Web Services Architecture, Morgan Kaufmann, 2003 Introducción al Desarrollo de Aplicaciones Empresariales 44

91 Sitios Web Referencias (3) Introducción al Desarrollo de Aplicaciones Empresariales 45

92 Referencias (y 4) Asignaturas en la Facultad de Informática de la UDC Integración de Sistemas 5º Ingeniería Informática Se centra en el diseño e implementación de aplicaciones empresariales con Java EE y.net. Transparencias y código disponibles Análisis y Diseño Orientado a Objetos Optativa 2º ciclo, Ingeniería Informática Se centra en diseño e implementación con servicios Web con Java EE Transparencias y código disponibles Transparencias de esta charla disponibles en Introducción al Desarrollo de Aplicaciones Empresariales 46

Tema 1: Introducción a J2EE

Tema 1: Introducción a J2EE Tema 1: Introducción a J2EE Índice Arquitecturas características de las aplicaciones empresariales Tecnologías J2EE Alternativas a J2EE Tecnologías de integración de aplicaciones Patrones arquitectónicos

Más detalles

Introducción al Desarrollo de Aplicaciones Empresariales

Introducción al Desarrollo de Aplicaciones Empresariales Introducción al Desarrollo de Aplicaciones Empresariales Fernando Bellas Permuy Departamento de Tecnologías de la Información y las Comunicaciones (TIC) Universidad de A Coruña http://www.tic.udc.es/~fbellas

Más detalles

Introducción al Desarrollo de Aplicaciones Empresariales

Introducción al Desarrollo de Aplicaciones Empresariales UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións (TIC) Introducción al Desarrollo de Aplicaciones Empresariales Alberto Pan Bermúdez apan@udc.es Diciembre 2008 [Basado

Más detalles

Tema 1: Introducción a Java EE

Tema 1: Introducción a Java EE Tema 1: Introducción a Java EE Índice Arquitecturas características de las aplicaciones empresariales Tecnologías J2EE Alternativas a J2EE Patrones arquitectónicos Model-View-Controller y Layers Recursos

Más detalles

JAVA 2 ENTERPRISE EDITION

JAVA 2 ENTERPRISE EDITION JAVA 2 ENTERPRISE EDITION Jon Castro Jonathan Escolano Índice Arquitecturas características de las aplicaciones empresariales Tecnologías J2EE Alternativas a J2EE Tecnologías de integración de aplicaciones

Más detalles

Tema 1: Introducción a J2EE

Tema 1: Introducción a J2EE Tema 1: Introducción a J2EE Índice 1.1 Características de las aplicaciones empresariales 1.2 Visión general de la plataforma J2EE 1.3 Patrones arquitectónicos Model-View-Controller y Layers Características

Más detalles

Tema 1: Introducción a las Tecnologías Java

Tema 1: Introducción a las Tecnologías Java Tema 1: Introducción a las Tecnologías Java Índice Características de las aplicaciones empresariales Tecnologías Java Alternativas a las tecnologías Java XML Material de clase Características de las aplicaciones

Más detalles

Tema 1: Introducción

Tema 1: Introducción Tema 1: Introducción Índice Características de las aplicaciones empresariales Diseño por Capas Arquitectura basada en Capas Típica Distribución de las capas Tecnologías Estándar JAVA Tecnologías JAVA por

Más detalles

3.3 Casos de estudio

3.3 Casos de estudio 3.3 Casos de estudio Introducción Objetivo Estudiar casos de estudio que ilustren escenarios típicos de aplicación de XML Indicar las APIs apropiadas en cada caso Casos de estudio Configuración de aplicaciones

Más detalles

Sistemas de Información 12/13 Introducción

Sistemas de Información 12/13 Introducción 12/13 Introducción Departamento Informática e Ingeniería de Sistemas Universidad de Zaragoza (raqueltl@unizar.es) " Guión Aplicaciones Empresariales Características Arquitecturas Tecnologías de desarrollo

Más detalles

TEMA 54 La arquitectura JEE

TEMA 54 La arquitectura JEE TEMA 54 La arquitectura JEE Índice 1 Introducción... 2 1.1 Tecnología JAVA 3 1.2 Las plataformas Java 3 2 La plataforma JEE... 4 2.1 Modelo distribuido multicapa 4 2.2 Gestión de componentes basada en

Más detalles

Oracle 10g: Creación de Aplicaciones J2EE

Oracle 10g: Creación de Aplicaciones J2EE Oracle University Contacte con nosotros: 902 302 302 Oracle 10g: Creación de Aplicaciones J2EE Duración: 5 Días Lo que aprenderá Este curso enseña a los desarrolladores a crear aplicaciones J2EE mediante

Más detalles

Tema 1. Introducción a Java EE

Tema 1. Introducción a Java EE Objetivos del tema Propiedades de las aplicaciones empresariales El Modelo Cliente/Servidor Presentar la Plataforma Java Presentar Java EE y otras tecnologías horizontales Tema 1. Introducción a Java EE

Más detalles

Tema 5. Plataforma Java EE

Tema 5. Plataforma Java EE Tema 5. Plataforma Java EE SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs enero 2009 FJRP, FMBR 2008/09 ccia SCS 5.1 Introducción a Java EE Java EE (Java Enterprise

Más detalles

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1) TECNOLOGÍAS (1/2) (L1) EJB ( Enterprise Java Beans ) JSP ( Java Server Pages ) JNDI ( Java Naming and Directory Interface ) JDBC ( Java Data Base Connectivity ) Java Mail JSF ( Java Server Faces ) TECNOLOGÍAS

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Tema 4: Tecnologías Web Java

Tema 4: Tecnologías Web Java Tema 4: Tecnologías Web Java Introducción Aplicación web Aplicación que corre en al menos un servidor y a la que el usuario accede desde un cliente de propósito general (ej.: navegador en un PC, teléfono

Más detalles

Tema 5. Plataforma Java EE

Tema 5. Plataforma Java EE Tema 5. Plataforma Java EE SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs septiembre 2011 FJRP, FMBR 2008-2011 ccia SCS 5.1 Introducción a Java EE Java EE (Java Enterprise

Más detalles

Presentación del Curso Presencial. Programación Web con Java J2EE

Presentación del Curso Presencial. Programación Web con Java J2EE Presentación del Curso Presencial Programación Web con Java J2EE Tabla de contenido Presentación del curso... 3 Objetivos de aprendizaje... 4 Contenidos del curso... 5 Competencias previas... 6 Recursos...

Más detalles

APLICACIONES DE INTERNET: SOAP

APLICACIONES DE INTERNET: SOAP Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas Desarrollo de Aplicaciones Distribuidas AUTORES: Alejandro Calderón Mateos Javier García Blas David Expósito Singh Laura Prada Camacho Departamento

Más detalles

Estudiaremos desde los fundamentos hasta conceptos más avanzados de la tecnología JSF.

Estudiaremos desde los fundamentos hasta conceptos más avanzados de la tecnología JSF. Este curso está dirigido a gente interesada en el desarrollo de aplicaciones JEE con JSF. Este framework permite agilizar y simplificar en gran medida el desarrollo de aplicaciones Web Java. Estudiaremos

Más detalles

TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos

TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos III. Otros entornos de objetos distribuidos 1. Problemas de CORBA 2. Java Enterprise Edition 1. EJB 2. Servidor de aplicaciones

Más detalles

Plataforma desarrollo Java

Plataforma desarrollo Java JAVA00e Plataforma desarrollo Java Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java Formación: elearning Horas: 480 Introducción Java es un lenguaje de programación con el que podemos realizar

Más detalles

Aplicaciones web construidas a base de componentes:

Aplicaciones web construidas a base de componentes: Java EE Aplicaciones Web/Sistemas Web Juan Pavón Mestras Dep. Ingeniería del Software e Inteligencia Artificial Facultad de Informática Universidad Complutense Madrid Material bajo licencia Creative Commons

Más detalles

Tema 3.1: Introducción a Servicios Web

Tema 3.1: Introducción a Servicios Web Tema 3.1: Introducción a Servicios Web Servicios Web (1) La Web proporciona un mecanismo de transporte universal, eficiente, robusto, escalable y probado tanto en aplicaciones inter-organización como intraorganización.

Más detalles

<HTML> <IMG src= logo.gif > </HTML> Lógica de negocio. Dsfg dsfg sdfg. Sdfgdfg dfg Dsf gsdfg sdfg. Dfg. Sdfgdfg dfg. Dfg. Dsf gsdfg sdfg.

<HTML> <IMG src= logo.gif > </HTML> Lógica de negocio. Dsfg dsfg sdfg. Sdfgdfg dfg Dsf gsdfg sdfg. Dfg. Sdfgdfg dfg. Dfg. Dsf gsdfg sdfg. Sdfgdfg dfg Dsf gsdfg sdfg Dsfg dsfg sdfg Sdfgdfg dfg Dfg Dsf gsdfg sdfg Dsfg dsfg sdfg Sdfgdfg dfg Dfg Dfg Índice Programación web Copyright 2001-2003 Víctor ROBLES FORCADA vrobles@fi.upm.es http://laurel.datsi.fi.upm.es/~ssoo/dsw/

Más detalles

DIPLOMADO EN JAVA JSE Y JEE

DIPLOMADO EN JAVA JSE Y JEE PIENSA EN TU FUTURO DIPLOMADO EN JAVA JSE Y JEE PREPARATE PARA SER ARQUITECTO DE SOFTWARE Presentación En la actualidad los diversos cambios a nivel de comercialización y desarrollo de software han tenido

Más detalles

JavaEE. www.javasoft.com

JavaEE. www.javasoft.com JavaEE Java Enterprise Edition www.javasoft.com Por qué Java en el servidor? Ventajas Independencia de la plataforma portabilidad Gran conjunto de APIs Reusabilidad y modularidad Seguro en la ejecución

Más detalles

Presentación J2EE. Sesión 1: Introducción a las tecnologías J2EE. Especialista en Aplicaciones y Servicios Web con Java Enterprise.

Presentación J2EE. Sesión 1: Introducción a las tecnologías J2EE. Especialista en Aplicaciones y Servicios Web con Java Enterprise. Especialista en Aplicaciones y Servicios Web con Java Enterprise Presentación J2EE Sesión 1: Introducción a las tecnologías J2EE Presentación J2EE 2003-2004 Depto. Ciencia Computación e IA Introducción

Más detalles

DESARROLLO CLIENTE SERVIDOR : JDEVELOPER SÍLABO

DESARROLLO CLIENTE SERVIDOR : JDEVELOPER SÍLABO DESARROLLO CLIENTE SERVIDOR : JDEVELOPER SÍLABO I. DATOS GENERALES CARRERA PROFESIONAL : INGENIERÍA DE SISTEMAS E CÓDIGO DE LA CARRERA : 02 NOMBRE DE LA ASIGNATURA : DESARROLLO CLIENTE SERVIDOR: JDEVELOPER

Más detalles

Curso JAVA EE 7 2016

Curso JAVA EE 7 2016 Curso JAVA EE 7 2016 Curso de Java EE 7 PC CARRIER 29 de marzo de 2016 Autor: Marc Revenga Esquinas Curso JAVA EE 7 2016 Curso de Java EE 7 Clase 1. Aplicaciones web Java EE. Configuración del servidor

Más detalles

APLICACIONES DISTRIBUIDAS. Código de asignatura: 3871 Grado en Ingeniero en Informática Curso: 2011/2012

APLICACIONES DISTRIBUIDAS. Código de asignatura: 3871 Grado en Ingeniero en Informática Curso: 2011/2012 APLICACIONES DISTRIBUIDAS Código de asignatura: 3871 Grado en Ingeniero en Informática Curso: 2011/2012 1 Datos asignatura Profesor (Teo/Pra): Francisco Javier Bermúdez Ruiz Seminario: Miércoles 15:15h

Más detalles

5.4 Elaboración de programas de estudio Desarrollo de Aplicaciones empresariales

5.4 Elaboración de programas de estudio Desarrollo de Aplicaciones empresariales 5.4 Elaboración de programas de estudio 5.4.1 Desarrollo de Aplicaciones empresariales 1. Datos Generales de la asignatura Nombre de la asignatura: Clave de la asignatura: SATCA: Carrera: Desarrollo de

Más detalles

ESPECIALISTA EN TECNOLOGIAS JAVA

ESPECIALISTA EN TECNOLOGIAS JAVA ESPECIALISTA EN TECNOLOGIAS JAVA Java Standard Edition Java Enterprise Edition Java Server Face Framework JSF MATERIAS Java - Framework Spring Java Framework Hibernate Java Enlace framework Progr. para

Más detalles

Laboratorio de Programación III

Laboratorio de Programación III Laboratorio de Programación III Profesor René Sandoval Ingeniero (E) Informática rene2160@gmail.com Qué es JDBC? JDBC es el acrónimo de Java DataBase Conectivity Es una especificación de un conjunto de

Más detalles

Este capitulo contiene una análisis de los posibles soluciones que se pueden presentar en el momento de desarrollar aplicaciones con J2EE

Este capitulo contiene una análisis de los posibles soluciones que se pueden presentar en el momento de desarrollar aplicaciones con J2EE III J2EE proporciona diferentes tipos de arquitecturas para el desarrollo de aplicaciones, cada una de estas muy funcionales dependiente al tipo de aplicación que se este construyendo o al criterio del

Más detalles

Centro de Capacitación en Tecnologías de la Información. Desarrollo de. aplicaciones web con

Centro de Capacitación en Tecnologías de la Información. Desarrollo de. aplicaciones web con Centro de Capacitación en Tecnologías de la Información Objetivo El objetivo del curso es brindar a los asistentes los conceptos y el uso de la tecnología de componentes J2EE. Se presentan las técnicas

Más detalles

Bases de Datos en Internet Agenda

Bases de Datos en Internet Agenda Bases de Datos en Internet Agenda Motivación Sistemas de BD en Internet. Arquitecturas de Sistemas de BD en la Web Motivación La Internet y la Web hacen que sea fácil y atractivo poner toda la información

Más detalles

CURSO SUPERIOR DESARROLLO DE COMPONENTES WEB JAVA J2EE

CURSO SUPERIOR DESARROLLO DE COMPONENTES WEB JAVA J2EE CURSO SUPERIOR DESARROLLO DE COMPONENTES WEB JAVA J2EE Java es toda una tecnología orientada a la programación de software con el cual podemos realizar cualquier tipo de programas. Hoy en día, la tecnología

Más detalles

Programador de Aplicaciones Web

Programador de Aplicaciones Web Programador de Aplicaciones Web Información del examen: Número de examen: 1Z0-899. Certificación Asociada: Oracle Certified Expert, Java Platform, EE 6 Web Component Developer. Versión del producto: Java

Más detalles

Caso J2EE. Necesidades del negocio. Arquitectura Luther

Caso J2EE. Necesidades del negocio. Arquitectura Luther Caso J2EE Grupo de Construcción de Software Facultad de Ingeniería Universidad de los Andes Necesidades del negocio Describa el objetivo funcional del sistema que desea Inmedius Enumere los RNF que debe

Más detalles

Cambios en Ingeniería de Software

Cambios en Ingeniería de Software Cambios en Ingeniería de Software Material tomado del artículo de Casallas Rubby, Villalobos, Jorge. El actual ingeniero de Software. Revista ACIS. Edición Nº 93 Julio - Septiembre de 2005. Preparado por

Más detalles

DIPLOMATURA DESARROLLO DE APLICACIONES JAVA

DIPLOMATURA DESARROLLO DE APLICACIONES JAVA DIPLOMATURA DESARROLLO DE APLICACIONES JAVA Contenidos MÓDULO UNO: Características del Lenguaje. OOP Reconocer las características del lenguaje Java y sus componentes. Distinguir la similitudes y diferencias

Más detalles

CURSO DE H.T.M.L. Parte 4/4

CURSO DE H.T.M.L. Parte 4/4 CURSO DE H.T.M.L. Parte 4/4 Autor Luis Marco Giménez Agencia Tributaria Dpto. Informática Tributaria de de Madrid Colaboradores Javier Álvarez Eloy García Instituto de de Salud Carlos III III de de Madrid

Más detalles

Programa Regular. Vázquez Alejandro. Jefe de TP simple.

Programa Regular. Vázquez Alejandro. Jefe de TP simple. Programa Regular Asignatura: Aplicación Java sobre Web. Carrera/s: Ingeniería en Informática. Ciclo Lectivo: 2017. Docente/s: Morales, Martín. Coordinador. Vázquez Alejandro. Jefe de TP simple. Carga horaria

Más detalles

Introducción a las Aplicaciones Web

Introducción a las Aplicaciones Web 09/02/2014 aplicación? 5. Servicios Introducción a las Aplicaciones Web Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla febrero

Más detalles

Tecnología para la. Web (MVC)

Tecnología para la. Web (MVC) Tecnología para la Construcción de Aplicaciones Web (MVC) Dr. Víctor J. Sosa vjsosa@tamps.cinvestav.mx Información sintetizada del curso: Introducción a los servicios y servidores de información en Internet

Más detalles

IMPLEMENTACIÓN DE INTEGRACIÓN DE SISTEMAS HEREDADOS UTILIZANDO WEB SERVICES

IMPLEMENTACIÓN DE INTEGRACIÓN DE SISTEMAS HEREDADOS UTILIZANDO WEB SERVICES CAPÍTULO 5 IMPLEMENTACIÓN DE INTEGRACIÓN DE SISTEMAS HEREDADOS UTILIZANDO WEB SERVICES 5.1 Introducción En el capítulo anterior, se dio a conocer la arquitectura propuesta para la implementación de la

Más detalles

Tema 3. Plataforma Java EE

Tema 3. Plataforma Java EE Tema 3. Plataforma Java EE DAGSS Diseño de Arquitecturas de Grandes Sistemas Software 4 o Grado Ing. Informática http://ccia.ei.uvigo.es/docencia/dagss noviembre 2014 FJRP 2014 DAGS 3.1 Introducción a

Más detalles

Programación Web Tema 1: Arquitectura C / S

Programación Web Tema 1: Arquitectura C / S Programación Web Tema 1: Arquitectura C / S Miguel Ángel Manso Emerson Castañeda ETSI en Topografía, Geodesia y Cartografía - UPM Basado en la presentación de: Patricio Martínez Barco y Armando Suárez

Más detalles

Desarrollador de Aplicaciones Web con Java

Desarrollador de Aplicaciones Web con Java Desarrollador de Aplicaciones Web con Java El presente programa integral tiene como finalidad el uso de la tecnología Java para el desarrollo de aplicaciones Web empresariales. En los tres módulos se utilizan

Más detalles

Oracle Fusion Middleware 11g: Creación de Aplicaciones con ADF I

Oracle Fusion Middleware 11g: Creación de Aplicaciones con ADF I Oracle University Contact Us: +34916267792 Oracle Fusion Middleware 11g: Creación de Aplicaciones con ADF I Duration: 5 Days What you will learn Java EE es una plataforma estándar, sólida, escalable y

Más detalles

Yei. Servicios de desarrollo. Systems

Yei. Servicios de desarrollo. Systems + Yei Systems + Servicios de desarrollo El desarrollo de servicios de software no solamente involucra el dominio de la tecnología, sino también de la creatividad y el compromiso para ver el trasfondo de

Más detalles

Notas técnicas de JAVA Nro. 7 Tip Breve

Notas técnicas de JAVA Nro. 7 Tip Breve Notas técnicas de JAVA Nro. 7 Tip Breve (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) Tema: JAVA Basics: Diferencias conceptuales entre JavaBeans y Enterprise JavaBeans (EJB)

Más detalles

Desarrollo y servicios web Sesión 18

Desarrollo y servicios web Sesión 18 Desarrollo y servicios web Sesión 18 Luisa Fernanda Rincón Pérez 2014-2 Qué son los patrones arquitectónicos? Definen la estructura de la solución al mas alto nivel. Por esto es lo primero que se tiene

Más detalles

Cursos PROGRAMACIÓN DE APLICACIONES CON JAVA

Cursos PROGRAMACIÓN DE APLICACIONES CON JAVA Cursos CIÓN DE APLICACIONES CON JAVA OBJETIVOS Los cursos ofrecen al alumno fundamentos muy sólidos en la Plataformas de desarrollo Java, no solo en aspectos concretos (lenguaje java, paquetes disponibles,

Más detalles

[CASI v.0109] Pág. 1

[CASI v.0109] Pág. 1 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Quinto Requisitos Duración Horas Semana : 08 horas Versión : v.0109 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software : Lenguaje

Más detalles

Experto en Desarrollo de Componentes Web con Tecnología Servlet y JSP

Experto en Desarrollo de Componentes Web con Tecnología Servlet y JSP Experto en Desarrollo de Componentes Web con Tecnología Servlet y JSP Titulación acredidatada por la Comisión Internacional de Formación de la UNESCO Experto en Desarrollo de Componentes Web con Tecnología

Más detalles

Arquitectura Java Web. Ing. Juan Zevallos Valle

Arquitectura Java Web. Ing. Juan Zevallos Valle Arquitectura Java Web Ing. Juan Zevallos Valle 1 Objetivos Al final de la sesión usted debe ser capaz de: Conocer el modelo MVC utilizado en JAVA. Crear la vista usando paginas JSP Crear Servlets para

Más detalles

J2EE: APLICACIONES AVANZADAS DE JAVA PARA ENTORNOS PROFESIONALES

J2EE: APLICACIONES AVANZADAS DE JAVA PARA ENTORNOS PROFESIONALES ASIGNATURA DE MÁSTER: J2EE: APLICACIONES AVANZADAS DE JAVA PARA ENTORNOS PROFESIONALES Curso 2015/2016 (Código:31102083) 1.PRESENTACIÓN Esta guía presenta las orientaciones básicas que requiere el alumno

Más detalles

UNIVERSIDAD DE PIURA

UNIVERSIDAD DE PIURA ESPECIALIZACIÓN EN DESARROLLO DE APLICACIONES EMPRESARIALES CON JAVA EE Ofrecer al alumno los conocimientos necesarios para la construcción de sistemas informáticos bajo una arquitectura cliente servidor

Más detalles

Alternativa a Spring

Alternativa a Spring Universidad de San Carlos de Guatemala Facultad de Ingeniería Análisis y Diseño de Sistemas 2 Ing. Pedro Pablo Hernández Aux. Víctor Orozco Alternativa a Spring Henry Giovanni Barrientos García 200413044

Más detalles

UNIVERSIDAD AUTONOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

UNIVERSIDAD AUTONOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES UNIVERSIDAD AUTONOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Elección libre Unidad académica: Desarrollo de Sistemas de Información basado en Web I Ubicación: Octavo Semestre.

Más detalles

J2EE UNIVERSIDAD CATOLICA NUESTRA SEÑORA DE LA ASUNCIÓN. Facultad de Ciencias y Tecnología. Trabajo Practico TAI 2

J2EE UNIVERSIDAD CATOLICA NUESTRA SEÑORA DE LA ASUNCIÓN. Facultad de Ciencias y Tecnología. Trabajo Practico TAI 2 UNIVERSIDAD CATOLICA NUESTRA SEÑORA DE LA ASUNCIÓN Facultad de Ciencias y Tecnología Trabajo Practico TAI 2 J2EE Integrantes: Daniel Cricco Julio Rey Profesor: Juan de Urraza Año 2004 El desafió del desarrollo

Más detalles

Java Web J2EE con JSP

Java Web J2EE con JSP Java Web J2EE con JSP Programa de Estudio Java Web J2EE con JSP Aprende a manejar la tecnología web de Java para el desarrollo de aplicaciones empresariales utilizada principalmente para comercio electrónico

Más detalles

Java Web J2EE con JSP

Java Web J2EE con JSP Java Web J2EE con JSP Programa de Estudio Java Web J2EE con JSP Aprende a manejar la tecnología web de Java para el desarrollo de aplicaciones empresariales utilizada principalmente para comercio electrónico

Más detalles

Java Web J2EE con JSP

Java Web J2EE con JSP Java Web J2EE con JSP Programa de Estudio Java Web J2EE con JSP Aprende a manejar la tecnología web de Java para el desarrollo de aplicaciones empresariales utilizada principalmente para comercio electrónico

Más detalles

Tema 3: Diseño de la capa de presentación

Tema 3: Diseño de la capa de presentación escuela técnica superior de ingeniería informática Tema 3: Diseño de la capa de presentación Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software de Gestión III Índice Introducción

Más detalles

Programa de Capacitación en. Aplicaciones Visual Studio.NET 2013

Programa de Capacitación en. Aplicaciones Visual Studio.NET 2013 Programa de Capacitación en Aplicaciones Visual Studio.NET 2013 Actualización 2015-2016 FLUJO DE CAPACITACIÓN Programana de Capacitación : Experto Programador en Aplicaciones.NET 2013 * Fundamentos Programación

Más detalles

Lenguajes de Cuarta Generación

Lenguajes de Cuarta Generación Lenguajes de Cuarta Generación Diana Marcela SánchezS http://www.csi.map.es/csi/metrica3/index.html www.csi.map.es/csi/metrica3/ /metrica3/index.htmlindex.html Que es un programa? La unión de una secuencia

Más detalles

Guía Docente ESCUELA POLITÉCNICA SUPERIOR

Guía Docente ESCUELA POLITÉCNICA SUPERIOR Guía Docente SISTEMAS WEB I CUARTO CURSO PRIMER SEMESTRE GRADO EN INGENIERÍA DE SISTEMAS DE INFORMACIÓN MODALIDAD: PRESENCIAL CURSO 2016-2017 ESCUELA POLITÉCNICA SUPERIOR 1. IDENTIFICACIÓN DE LA ASIGNATURA

Más detalles

Diseño e implementación de un framework de presentación

Diseño e implementación de un framework de presentación Diseño e implementación de un framework de presentación Para aplicaciones Web Thin Client en Java EE PFC Ingeniería Informática 2º Ciclo Alumno: Alejandro Marmelo Insua Consultor: Óscar Escudero Sánchez

Más detalles

Introducción al Desarrollo de Aplicaciones Empresariales

Introducción al Desarrollo de Aplicaciones Empresariales Introducción al Desarrollo de Aplicaciones Empresariales Definición Java 2 Enterprise Edition: plataforma de desarrollo de aplicaciones para empresas, basado en EJBs. EJB (Enterprise Java Beans): especificación

Más detalles

Desarrollo de aplicaciones para dispositivos móviles utilizando J2ME

Desarrollo de aplicaciones para dispositivos móviles utilizando J2ME 09.09.05 Desarrollo de aplicaciones para dispositivos móviles utilizando J2ME Instituto Tecnológico de San Juan del Río, Querétaro Omar Salvador Gómez Gómez ogomez@ieee.org Agenda Dispositivos Móviles

Más detalles

Aplicaciones Web. Aplicaciones Distribuidas

Aplicaciones Web. Aplicaciones Distribuidas Aplicaciones Web Aplicaciones Distribuidas Contenido La Web. Sitios Web vs. Aplicaciones Web. HTTP. HTML. Sesiones. Tecnologías facilitadoras. HTML Dinámico. JavaScript. 2 La Web Petición http://www.um.es/index.html

Más detalles

Desarrollo y servicios web

Desarrollo y servicios web Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2016-1 Qué haremos hoy? 1. Qué son los servicios RESTful? 2. Cuál es la diferencia entre un servicio RESTful y un servicio SOAP? 3. Cómo exponer un

Más detalles

COMPONENTES Y CONTENEDORES. Ingeniería de Software II

COMPONENTES Y CONTENEDORES. Ingeniería de Software II COMPONENTES Y CONTENEDORES Ingeniería de Software II Motivación Los componentes son paquetes de software o módulos que encapsulan un conjunto de funciones similares. Estos componentes viven dentro de un

Más detalles

Arquitectura y diseño de sistemas web modernos

Arquitectura y diseño de sistemas web modernos Arquitectura y diseño de sistemas web modernos por Juan Salvador Castejón Garrido. Secretario del CIIRM. Las aplicaciones web se han convertido en pocos años en complejos sistemas con interfaces de usuario

Más detalles

Programa Formativo. Código: Curso: Programación con JAVA 8 SE Standard Edition Modalidad: ONLINE Duración: 120h.

Programa Formativo. Código: Curso: Programación con JAVA 8 SE Standard Edition Modalidad: ONLINE Duración: 120h. Código: 16630 Curso: Programación con JAVA 8 SE Standard Edition Modalidad: ONLINE Duración: 120h. Objetivos Java es un lenguaje de programación con el que podemos realizar cualquier tipo de desarrollo.

Más detalles

Desarrollo de Aplicaciones Web con Eclipse

Desarrollo de Aplicaciones Web con Eclipse Desarrollo de Aplicaciones Web con Eclipse Oscar Gosdinski Software Services Representative Java Es un lenguaje de programación y una plataforma de desarrollo. 2 Lenguaje de alto nivel que puede ser caracterizado

Más detalles

Creación de un framework de presentación para aplicaciones JEE

Creación de un framework de presentación para aplicaciones JEE PROYECTO FIN DE CARRERA Creación de un framework de presentación para aplicaciones JEE Autor: Alberto Díaz Martínez Consultor: Oscar Escudero Sánchez Agenda 1.ESTUDIO JEE. 1.1.El estándar JEE. 1.2.Patrones

Más detalles

CentralTECH JAVA EE 7 Desarrollo

CentralTECH JAVA EE 7 Desarrollo CT-2776: de Aplicaciones Sobre este curso El curso está dirigido a profesionales y estudiantes IT que deseen adquirir los conceptos y tecnologías necesarias para implementar aplicaciones Web empresariales

Más detalles

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Vivimos en un mundo globalizado, donde la eficiencia y productividad de las empresas es un factor crucial para

Más detalles

PROYECTO MOFM Presentación Pedro A. Leal Martínez Consultor: Óscar Escudero Sánchez

PROYECTO MOFM Presentación Pedro A. Leal Martínez Consultor: Óscar Escudero Sánchez PROYECTO MOFM Presentación Pedro A. Leal Martínez Consultor: Óscar Escudero Sánchez INTRODUCCIÓN. Objetivos. - En la realización de este Trabajo Final de Carrera se pretende realizar una aplicación web

Más detalles

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura Desarrollo de Proyectos en en el Gobierno de Extremadura Página 1 de 10 Control de versiones Núm Fecha Descripción Autores 1.0 01/09/2012 Estandar para el desarrollo de portales con el gestor de contenidos

Más detalles

Proyecto Help Desk en plataforma SOA Glosario Versión 1.3. Historia de revisiones

Proyecto Help Desk en plataforma SOA Glosario Versión 1.3. Historia de revisiones Proyecto Help Desk en plataforma SOA Glosario Versión 1.3 Historia de revisiones Fecha Versión Descripción Autor 18/08/2005 1.0 Terminología a utilizar en este proyecto. 22/08/2005 1.1 Se agregaron los

Más detalles

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET OBJETIVOS: Conocer de las bondades del paradigma de orientación a objetos en.net y su lenguaje

Más detalles

Programación Docente: Ingeniería de Protocolos de Comunicaciones.

Programación Docente: Ingeniería de Protocolos de Comunicaciones. Programación Docente: Ingeniería de Protocolos de Comunicaciones http://pegaso.ls.fi.upm.es/~lmengual/inicio_ip.html Ingeniería de Protocolos de Comunicaciones Curso: 5º (2º cuatrimestre) Optativa Créditos:

Más detalles

Postgrado en Servicios Java. Experto Desarrollador de Componentes de Negocio

Postgrado en Servicios Java. Experto Desarrollador de Componentes de Negocio Postgrado en Servicios Java. Experto Desarrollador de Componentes de Negocio Modalidad: Online y Titulación acredidatada por la Comisión Internacional de Formación de la UNESCO Postgrado en Servicios Java.

Más detalles

Temario máster Java. Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas

Temario máster Java. Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas Temario máster Java Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas En este módulo se explicarán las características del lenguaje programación Java. Unidad 1 Entendiendo la tecnología

Más detalles

Desarrollo.NET con Sharepoint

Desarrollo.NET con Sharepoint BECANET1 Desarrollo.NET con Sharepoint Fabricante: Indra Grupo: Bases de Datos Subgrupo: Visual Studio 2010 Formación: Indra Horas: 196 Personal de INDRA Dirigido a Contenidos Módulo 1 Arquitectura Net

Más detalles

Desarrollo de Aplicaciones web con JPA, EJB, JSF y PrimeFaces

Desarrollo de Aplicaciones web con JPA, EJB, JSF y PrimeFaces Desarrollo de Aplicaciones web con JPA, EJB, JSF y PrimeFaces Fernando Pech-May 1, Mario A. Gomez-Rodriguez 1, Luis A. de la Cruz-Diaz 1, Salvador U. Lara-Jeronimo 1 1 Instituto Tecnológico Superior de

Más detalles

Ingeniería de Aplicaciones Web

Ingeniería de Aplicaciones Web Ingeniería de Aplicaciones Web Diego C. Martínez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Frameworks Framework Unused Library Classes Framework library Framework

Más detalles

Concepto de Arquitectura en Desarrollo Software. Arquitectura física Distribución de nodos en la red. Concepto de Arquitectura software Moderno

Concepto de Arquitectura en Desarrollo Software. Arquitectura física Distribución de nodos en la red. Concepto de Arquitectura software Moderno Arquitectura Web Introducción Concepto de Arquitectura en Desarrollo Software Concepción desde RUP Arquitectura física Distribución de nodos en la red Mapeo componente software nodo computacional Concepto

Más detalles

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010 Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010 OBJETIVOS: Conocer de las bondades del paradigma de orientación a objetos en.net y su

Más detalles

Maestría en Ingeniería

Maestría en Ingeniería Maestría en Ingeniería Curso de Arquitectura de Software Sesión 6 Fernando Barraza A. fbarraza@javerianacali.edu.co Sesión 6 Objetivo: Exponer las técnicas y los sistemas dominantes más utilizadas en la

Más detalles

Diplomado Programming Java (JSE, Servlets & JSP) with Oracle 10g, Eclipse (o NetBeans) & JBoss

Diplomado Programming Java (JSE, Servlets & JSP) with Oracle 10g, Eclipse (o NetBeans) & JBoss Diplomado Programming Java (JSE, Servlets & JSP) with Oracle 10g, Eclipse (o NetBeans) & JBoss Descripción: Aprender Java hoy en día implica aprender no sólo JSE sino muchas otras tecnologías, hoy en día

Más detalles

5.1 Introducción a Servicios Web

5.1 Introducción a Servicios Web 5.1 Introducción a Servicios Web Introducción Continuando con el ejemplo de intercambio de información de películas... => Actualmente ya no es necesario implementar la solución sugerida a mano Se han estandarizado

Más detalles

Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O

Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O Fundamentos de las aplicaciones Web Página Web Sitio Web Servidor Web Aplicación Web HTTP y HTML Página Web Una página web

Más detalles

Ficha Técnica. Categoría. Contenido del Pack. Sinopsis. Programación. - 2 Manual Teórico - 1 Cuaderno de Ejercicios - 1 CDROM

Ficha Técnica. Categoría. Contenido del Pack. Sinopsis. Programación. - 2 Manual Teórico - 1 Cuaderno de Ejercicios - 1 CDROM Ficha Técnica Categoría Programación Contenido del Pack - 2 Manual Teórico - 1 Cuaderno de Ejercicios - 1 CDROM Sinopsis Java fue desarrollado por la compañía Sun Microsystems como una tecnología capaz

Más detalles