Parte I: Introducción al Java 2 Enterprise Edition

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

Download "Parte I: Introducción al Java 2 Enterprise Edition"

Transcripción

1 Parte I: Introducción al Java 2 Enterprise Edition Ignacio Ramos Zapata Departamento de Ingeniería Telemática Universidad Carlos III de Madrid

2 Introducción Contenido Evolución de las aplicaciones Web Arquitecturas cliente-servidor y multi-tier Integración de aplicaciones corporativas: la plataforma Java 2, Enterprise Edition (J2EE) Diagramas de clases en UML 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 2

3 Requisitos de las aplicaciones empresariales Almacenamiento y acceso de datos (Back-end integration): empleo de sistemas de bases de datos (DBMS), conexión a la base de datos, representación de los datos en la base de datos Mapping de datos y persistencia: representación de los datos en los programas (clases) y correspondencia (mapping) con su representación en la base de datos, actualización de la base de datos tras cambios por el programa Consistencia de datos: control de acceso concurrente a los datos, monitores de transacción Interacción con el usuario: autentificación, control de acceso, coordinación de accesos concurrentes Acceso a datos comunes: aislamiento de los distintos accesos, cache de datos 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 3

4 Requisitos de las aplicaciones empresariales Performance: tiempo de respuesta, interacción eficiente entre los distintos componentes Escalabilidad: posibilidad de incorporar nuevos servidores, distribución de carga Disponibilidad: seguridad frente a caídas de la aplicación (ideal disponibilidad 24 x 7), sistemas de tolerancia a fallos, clustering de servidores y datos Diseño software: mantenibilidad y portabilidad? modularidad, diseño en niveles, reducción de dependencias externas (por ejemplo, en la base de datos) 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 4

5 Evolución de las aplicaciones Web - Contenido estático Las organizaciones pretenden ofrecer información a tantos clientes como sea posible Gracias a la web, se puede mostrar información en páginas HTML estáticas almacenadas en el File System 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 5

6 Evolución de las aplicaciones Web - CGIs Extensiones (plug-ins) a los servidores Web que invocan aplicaciones de servidor Scripts CGI-BIN: No proporcionan encapsulación estructurada de los procesos y entidades de negocio Difíciles de desarrollar, mantener y gestionar Mezclan la lógica de negocio con la lógica de presentación Difícil mantenimiento de las reglas de negocio (distribuidas por varios cgi-bins en varios servidores) 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 6

7 Evolución de las aplicaciones Web - Applets Usando páginas HTML estáticas, los usuarios ven páginas pasivas que no cambian Usando Applets Java u otros programas en el lado cliente se pueden producir contenidos dinámicos 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 7

8 Evolución de las aplicaciones Web - Servlets Los applets no pueden acceder directamente a la información de los back-end systems El Web Container puede proporcionar componentes en el servidor (p.e. Servlets) para generar contenidos dinámicos 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 8

9 Evolución de las aplicaciones Web - JSPs Pobre separación entre lógica de negocio y lógica de presentación Esta separación se mejora con las JSPs y los JavaBeans 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 9

10 Evolución de las aplicaciones Web - EJBs EJBs: Se puede acceder a ellos remotamente a través de la red Encapsulan reglas de negocio, lógica específica de aplicación y acceso a datos Pueden ser usados por diferentes aplicaciones de manera concurrente Representan un repositorio central de lógica de negocio 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 10

11 Evolución de las aplicaciones Web - Escalabilidad Las aplicaciones empresariales suelen requerir alta disponibilidad Incremento en el rendimiento a medida que crece el negocio Estos dos requerimientos se pueden alcanzar incrementando el nº de servidores: Para proporcionar redundancia en el sistema Compartiendo la carga para aumentar el rendimiento 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 11

12 El patrón MVC: Model-View-Controller Es un patrón para el diseño de aplicaciones Ampliamente extendido como un concepto clave en el desarrollo de aplicaciones J2EE Aporta grandes beneficios (veremos más adelante) Facilita la reutilización de código Reduce el tiempo de desarrollo The Model Representa los datos y la lógica de negocio No contiene información acerca de la interfaz de usuario The View La interfaz de usuario - aquello que ve el usuario y a lo que puede responder Representa una ventana dentro del modelo The Controller Conecta el modelo y la vista Se usa como comunicación entre el modelo y la vista En ocasiones aparece una cuarta capa de persistencia - que se añade al patrón 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 12

13 MVC Aplicación J2EE 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 13

14 Model-View-Controller (MVC) 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 14

15 MVC - Beneficios Promueve la reutilización de código El propósito del modelo es el de proporcionar la lógica de negocio y de acceso a la información desde un único lugar Esta lógica puede ser reusada por múltiples aplicaciones al mismo tiempo sin necesidad de ningún código adicional Reduce el tiempo de desarrollo El Model, el View y el Controller de pueden desarrollar en paralelo Facilita el mantenimiento El View puede cambiar sin afectar al Model En una página web se puede poner un gráfico en lugar de una tabla sin que afecte al Model El Model puede cambiar sin afectar al View La forma de calcular la prima de un seguro podría cambiar manteniendo la interfaz en la lógica de negocio Los datos pueden cambiar sin afectar al View o al Model 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 15

16 Arquitecturas para aplicaciones empresariales Las aplicaciones complejas basadas en componentes se subdividen en niveles lógicos Cada nivel cubre un área de tareas y puede estar compuesto de una o varias partes La división en niveles es una abstracción lógica 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 16

17 Arquitecturas cliente/servidor Reparto funcional y físico de la aplicación en dos niveles 1. Parte del cliente, en el ordenador del usuario: Elementos de un programa clásico: lógica de ejecución, preparación y presentación de información, interacción con el usuario 2. Parte del servidor: Datos de negocio (en una base de datos o, en general, en el Enterprise Information System (EIS) ) Cliente y servidor están débilmente acoplados y se comunican solamente mediante mensajes La solicitud de servicio (iniciación de la comunicación) proviene siempre del cliente. El servidor reacciona mediante una respuesta Gran parte de la aplicación corre en el lado del cliente ( Fat Client )? modelo descentralizado 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 17

18 Arquitecturas cliente/servidor Nivel Cliente Nivel Servidor Cliente Servidor Fat client Lógica de negocio Datos 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 18

19 Inconvenientes arquitectura cliente/servidor En general, falta de escalabilidad Problemas de integridad en la base de datos Alta carga en la red: Gran número de pasos de comunicación necesarios Cantidad de resultados devueltos por la base de datos mayor de lo necesario Costosa distribución y actualización del software (cientos o miles de clientes) El diseñador de la aplicación precisa un conocimiento profundo de muchas áreas críticas Control de transacciones Modelo de seguridad Acceso a datos eficiente 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 19

20 Arquitecturas multi-tier (multi-nivel) En las arquitecturas multi-tier, se añaden niveles (tiers) software adicionales que se encargan de realizar ciertas tareas críticas Los Fat client se convierten en Thin client Los niveles intermedios extienden la responsabilidad del lado del servidor Aunque pueden estar situados en ordenadores o sistemas independientes Cada nivel comunica sólo con los niveles contiguos a través de interfaces claramente definidas 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 20

21 Ejemplo de distribución básica multi-nivel Nivel cliente (Client tier): Interfaz de usuario e interacción con el usuario (aplicaciones o applets Java, o páginas Web) Nivel medio (Middle tier): Servidor de aplicaciones: parte principal de la aplicación (lógica de la aplicación y de negocio, preparación de la información para el usuario) Procesado de datos basado en transacciones Acceso seguro Middleware: software especializado para la realización de determinadas tareas: Monitores, sistemas de nombres, sistemas de colas de mensajes, etc. Procesado de la presentación, por ejemplo Web-servers Nivel de datos (Back-end tier): Bases de datos o Enterprise Information Systems Responsable de la administración, acceso rápido y persistencia de los datos 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 21

22 Arquitecturas multi-nivel (multi-tier) Nivel Cliente Nivel Medio Nivel EIS Thin client Cliente Lógica de negocio Servidor Servicios Datos 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 22

23 Arquitectura tradicional en tres niveles Nivel Cliente Nivel Medio Nivel EIS Servidor Lógica de presentación Lógica de negocio Datos 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 23

24 Arquitectura tradicional en tres niveles El mivel medio aumenta la escalabilidad reutilizando recursos mejora rendimiento Mejora la seguridad y gestión de aplicación Problemas: Complejidad (distribución, multithreading, seguridad) Falta de portabilidad (distintas APIs) Soporte limitado (distintos protocolos, herramientas, vendedores) Incompatibilidad con la Web 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 24

25 Ejemplo: arquitectura multi-nivel Nivel Cliente Thin client Windows Macintosh Unix Java Browser Nivel Medio Presentación Lógica de negocio Componente banco Componente cuenta cliente Componente movimiento Driver base de datos Conector Nivel Datos Back End SAP/R3 server DBMS server Sevicio transacciones Servidor Web Servidor Aplicación 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 25

26 Ventajas de las arquitecturas multi-nivel Las partes críticas de la aplicación se encuentran en el nivel medio, más cercanos a nivel de datos? acceso más eficiente Sólo los datos necesarios son transferidos al cliente? menor carga de red Problema: al aumentar el número de niveles aumenta el número de comunicaciones, aumentando el tiempo de respuesta Mayor flexibilidad y escalabilidad. Además: Menores costes de instalación Facilidad en el cambio de la base de datos Aislamiento frente a cambios Seguridad Administración central de recursos Localización de fallos 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 26

27 Java 2 Platform, Enterprise Edition (J2EE) Colección de especificaciones y directivas de programación para facilitar el desarrollo de aplicaciones de servidor distribuidas multi-nivel, alineada fuertemente con Internet Un poco de historia 1996: Java Development Kit (JDK) 1.02: colección ordenada de bibliotecas de clases y paquetes 1999: JDK 1.2? Java 2 Platform: adicional al JDK, paquetes opcionales para mensajes, generación dinámica de páginas Web o programas de en Java. Dividida en 3 ediciones: Java 2 Platform, Standard Edition (J2SE): contiene el JDK actual y las APIs estándar. Desarrollo de aplicaciones de Desktop y applets Java 2 Platform, Enterprise Edition (J2EE): basada en J2SE, extiende el lado del servidor. Version 1.3, 3er Trimestre Java 2 Platform, Micro Edition (J2ME): especial para móviles, pagers, palmtops (embedded systems) 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 27

28 Elementos de la especificación J2EE J2EE Platform: estándar representado por un conjunto de APIs y directivas, soportadas por un servidor de aplicación (java.sun.com/j2ee/download.html) J2EE Blueprints: consejos para el desarrollo de aplicaciones J2EE, patrones de diseño y un ejemplo de aplicación (java.sun.com/blueprints/) J2EE Server: implementación de referencia de un servidor de aplicaciones para J2EE, incluido en J2EE SDK (java.sun.com/j2ee/download.html) J2EE Testsuite: J2EE Compatibility Testsuite (CTS), tests de compatibilidad (java.sun.com/j2ee/compatibility.html) 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 28

29 Componentes J2EE J2EE define cuatro tipos de componentes Tienen que estar soportados por cualquier producto J2EE El despliegue puede ser gestionado usando "deployment descriptors" (excepto applets) Aplicaciones cliente Programas Java que se ejecuten en una máquina cliente desde los que se puede acceder a otros componentes J2EE Applets Componentes gráficos que se ejecutan tipicamente en un browser Pueden proporcionar una avanzada interfaz de usuario para otros componentes J2EE Componentes Web Servlets y JSPs Enterprise Java Beans Componenetes distribuidos y transaccionales que comtienen lógica de negocio y de acceso a datos 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 29

30 Containers (contenedores) Ofrecen el entorno de ejecución para todos los componentes de aplicación Proporcionan una vista uniforme de los servicios solicitados en la especificación Herramientas adicionales (Deployment Tools) para la instalación y configuración de componentes (también en tiempo de ejecución) Las tareas principales de los componentes del lado del servidor son la gestión de recursos y del ciclo de vida Applet Container Applets Applic. Client Container (J2SE) Servlet/JSP Container JSP Tools ServletEngine JSP: JSP: JSP: Servicios EJB Container Enterprise JavaBeans Gestión recursos Servicios 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 30

31 Arquitectura J2EE 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 31

32 Servidor de aplicaciones Es un sistema de soporte para componentes de servidor Proporciona un entorno de desarrollo para los componentes, que a su vez proporcionan la lógica de negocio Los componentes de servidor utilizan los servicios del servidor de aplicaciones Los elementos constitutivos del servidor de aplicaciones se denominan también componentes y pueden instalarse y administrase de forma independiente Tareas de infraestructura: Instanciación de componentes Comunicación Sincronización de acceso concurrentes Preparación de un entorno seguro Disponibilidad Seguridad de transacciones 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 32

33 Enterprise JavaBeans Enterprise JavaBeans (EJB) es una completa especificación de arquitectura para componentes de servicio Permite el desarrollo en Java de aplicaciones multi-nivel, basadas en componentes y orientadas a transacciones, que se apoyan en servidores de aplicación y otros productos middleware Objetivos de la arquitectura de componentes EJB: Facilitar el desarrollo de aplicaciones, concentrándose en la lógica de negocio: desarrollo, aplicación y aspectos de tiempo de ejecución Independencia del proveedor de componentes mediante la especificación de interfaces Independencia de la plataforma gracias al principio: Write Once Run Anywhere (WORA) y a su realización en Java Compatibilidad con Java-APIs existentes, con sistemas de servidor de terceros y con protocolos CORBA 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 33

34 J2EE Muti-Tier Model 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 34

35 Servicios J2EE Los servicios J2EE estándard incluyen lo siguiente: HTTP (Hipertext Transfer Protocol) RMI-IIOP (Remote Method Invocation over the Internet Inter- ORB Protocol) Java IDL (Java Interface Definition Language) JTA (Java Transaction API) JDBC JMS (Java Message Service) JavaMail JAF (JavaBeans Activation Framework) JNDI (Java Naming and Directory Interface) JAXP (Java API for XMl Parsing) JCA (J2EE Connector Architecture) JAAS (Java Authentication and Authoritation Service) 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 35

36 Servicios J2EE Servicio de nombres: acceso a componentes y recursos mediante nombres lógicos portabilidad y mantenibilidad Java Naming and Directory Interface (JNDI) Servicio de transacciones: ejecución de una serie de pasos de forma atómica y aislada concepto declarativo de límite de transacción mediante descriptores posibilidad de control de transacción programada mediante un interfaz de programación Java Transaction Service (JTS) Servicio de seguridad: directivas de seguridad para recursos protegidos control de acceso en J2EE en dos pasos: autentificación y autorización realización declarativa o programada Java Athentication & Authorization Service (JAAS) 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 36

37 Servicios J2EE Persistencia: almacenamiento persistente de objetos y estados de objetos, normalmente realizado en bases de datos relacionales JDBC Comunicación: distintas técnicas de comunicación, proporcionadas por el proveedor de servicio de aplicación o de containers Comunicaciones Web: TCP/IP, UDP/IP, HTTP 1.0 y HTTPS (con SSL adicionalmente) Procesado de objetos distribuidos: RMI (Remote Method Invocation), basado en Java Remote Method Protocol (JRMP). Extensión a RMI que soporta además el protocolo CORBA-IIOP para interoperabilidad entre J2EE y sistemas CORBA. Servicios de configuración y administración: empaquetamiento, instalación y configuración flexible de componentes y la administración de aplicaciones descripción mediante esquemas XML de las características de servidores, containers, aplicaciones, componentes y servicios Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 37

38 Convención gráfica UML 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 38

39 Clases en UML nombre Ventana atributos origen dimensión abre() cierra() mueve() operaciones 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 39

40 Nombres de clase Toda clase tiene un nombre que la distingue del resto de clases en el ámbito del modelo Nombre de clase = [paquete::]nombre-simple Ejemplos: Negocio::Cliente,SensorTemperatura El nombre de la clase es una cadena de cualquier longitud que contiene letras y números y signos de puntuación (salvo ::) Habitualmente los nombres de clases son sustantivos o frases con esa función gramatical Cliente SensorTemperatura Display Java::awt:applet Contrato Libro Fichero 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 40

41 Atributos de clase Un atributo representa una propiedad característica compartida por todos los objetos de la clase. Una clase puede tener cualquier número de atributos: Atributo = nombre[:tipo][=valorpordefecto] Ejemplos: fechanacimiento, estatura : float El nombre de un atributo es una cadena de cualquier longitud que contiene letras y números Habitualmente los nombres de atributo son sustantivos o frases con esa función gramatical Rectángulo altura: Float base: Float relleno: Boolean = false 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 41

42 Operaciones Una operación es un servicio básico ofrecido por los objetos de una clase: Operación = nombre([arg:tipo],...)[:tiporetorno] Ejemplo = new(), new(origen:punto) La implementación concreta que una clase hace de una operación se llama método Con frecuencia la invocación de una operación provoca un cambio de estado en el objeto Habitualmente los nombres de operación son verbos o frases con esa función gramatical Rectángulo new() mueve(destino: Punto) calculaarea(): Float 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 42

43 Responsabilidades Una responsabilidad es un contrato u obligación de una clase en el contexto de un modelo Atributos y operaciones son las características de la clase a través de las cuales las responsabilidades se llevan a cabo Expresión informal de la semántica mediante texto libre La responsabilidad global del modelo debe repartirse de forma equilibrada entre sus clases Algunos métodos ayudan a determinar las responsabilidades de las clases: e.g. CRC Rectángulo Responsabilidades -Representación gráfica de rectángulo a partir de su origen y dimensiones -Cálculo de valores geométricos como área, perímetro,... Comportamiento extra (adorno). También pueden utilizarse notas de comentario 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 43

44 Relaciones Los sistemas OO se estructuran en forma de abstracciones (clases) interrelacionadas. En UML hay tres tipos de interrelaciones básicas: Dependencia: Expresa una relación de uso entre clases Generalización: Relaciona clases generales con clases especializadas a partir de ellas o, viceversa, clases generalizadas a partir de características comunes de clases más concretas (herencia) Asociación: Relaciones estructurales genéricas entre clases. Entidades Dependencia Generalización Asociación Realización 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 44

45 Dependencia Relación de dependencia entre dos elementos estructurales de UML que establece que un cambio en uno de ellos (el independiente) puede afectar al otro (el dependiente) puede afectar al otro (el dependiente). La relación suele ser unidireccional. La interpretación más frecuente es la de relación de uso entre clases: una clase utiliza a otra como argumento en la signatura de una operación. UML distingue otros tipos de dependencia: Derivación Instanciación Refinamiento, etc. Applet MiApplet paint(g:graphics) Dependencia (uso) Graphics 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 45

46 Generalización Relación entre una abstracción general (superclase) y una abstracción más concreta del mismo tipo (subclase). Taxonomía ejemplo: empleado, secretario, informático, directivo,... Una clase puede tener cero, una (herencia simple) o más superclases (herencia múltiple) Una clase sin superclases es una clase raíz Una clase sin subclases es una clase hoja Figura paint(g:graphics) Línea extremos Elipse semiejes area() perímetro() Polígono vértices mueve() perímetro() 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 46

47 Asociación Relación estructural entre abstracciones que implica interconexión o enlace entre los objetos representados por las abstracciones: Una biblioteca almacena libros Es una relación, por lo general, simétrica Las asociaciones más comunes son las binarias, pero las hay n- arias La representación básica es una línea enlazando las clases, pero puede incluir otros adornos: nombre, roles, multiplicidad y agregación Biblioteca Nombre almacena > Dirección de nombre Libro 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 47

48 Asociación Nombre. Describe la asociación. Normalmente un verbo. Puede incluir dirección de lectura Rol. Describe el papel específico que una clase juega en una asociación. Una clase puede jugar distintos roles en diferentes asociaciones Multiplicidad. Especifica por cada clase de la asociación el número de objetos de la clase opuesta que se relacionan con un solo objeto de dicha clase a través de la asociación: Uno (1), cero o uno (0..1), tres (3), muchos (*), al menos uno (1..*), dos, cuatro o cinco (2,4,5),... Multiplicidad Persona 1..* Trabaja para > * empleado empleador Empresa Roles 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 48

49 Agregación Tipo especial de asociación que representa la relación es parte de. Es decir, una de las clases es una abstracción compuesta de otras que son sus diferentes partes (componentes) Si la relación de agregación es fuerte, de tal forma que los componentes no pueden existir independientemente, se denomina composición La agregación no implica diferencia semántica respecto de una asociación genérica. La composición liga la existencia de los componentes a la de la clase compuesta Clase agregada Cadena 1 agregación Clase compuesta Proceso 1 composición Clase componente 2..* Eslabón Clase componente * Hilo 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 49

50 Diagramas de clases Son los diagramas más frecuentes en el modelado OO. Constan de clases, interfaces y colaboraciones y sus relaciones En sistemas complejos los elementos lógicamente relacionados del diagrama se agrupan en paquetes Representan la visión estática del modelo o diseño de un sistema, dando soporte a la formalización de requisitos funcionales Se utilizan para el diseño de esquemas lógicos de BD (superconjunto de los diagramas E-R) 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 50

51 Ejemplo de diagramas de clases Escuela Departamento 0..1 nombre: Nombre tiene nombre: Nombre nuevoestudiante() buscaestudiante() listadepartamentos() 1..* 1 1..* nuevoprofesor() elimprofesor() listaprofesores() 1..* organiza 0..1 asignado a {subset} * matriculado en 1..* 1..* 0..1 director Estudiante Curso Profesor nombre: Nombre matrícula: Numero asiste * * nombre: Nombre código: Numero imparte * 1..* nombre: Nombre regper: NRP 2005 Software de Comunicaciones (c) UC3M Natividad Martínez, Ignacio Ramos Zapata 51

Panorámica de la asignatura

Panorámica de la asignatura Arquitecturas típicas. Mario Muñoz Organero Departamento de Ingeniería Telemática http://www.it.uc3m.es/mario Panorámica de la asignatura RED Comunicaciones Servidores información Intercambio de datos

Más detalles

Introducción a las arquitecturas de componentes y a Java EE

Introducción a las arquitecturas de componentes y a Java EE Introducción a las arquitecturas de componentes y a Java EE Autores: Dirección: Versión: 1.0 Simon Pickin Natividad Martínez Madrid Pablo Basanta Val Departamento de Ingeniería Telemática Universidad Carlos

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

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

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

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 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

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

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

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

[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

Facultad de Sistemas e Informática

Facultad de Sistemas e Informática Escuela Politécnica del Ejército Sede Latacunga Facultad de Sistemas e Informática Galarza Maira Tapia Cevallos Paulina DESARROLLO DE APLICACIONES DISTRIBUIDAS UTILIZANDO PATRONES DE DISEÑO MODELO/VISTA

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

5 Aplicaciones empresariales con tecnología java EE.

5 Aplicaciones empresariales con tecnología java EE. 5 Aplicaciones empresariales con tecnología java EE. Esta tesis aborda la creación de una aplicación empresarial, pero, a qué se refiere el término de aplicación empresarial? En esencia, las aplicaciones

Más detalles

Programación Java. M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California jorgeeie@uabc.mx

Programación Java. M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California jorgeeie@uabc.mx Programación Java M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California jorgeeie@uabc.mx Febrero de 2006 Objetivos Conocer las características de la Tecnología Java Comprender las características

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

Aplicación TESTS. Diseño de aplicaciones utilizando la plataforma J2EE TM. Ing. Javier Alfredo Voos

Aplicación TESTS. Diseño de aplicaciones utilizando la plataforma J2EE TM. Ing. Javier Alfredo Voos Aplicación TESTS Diseño de aplicaciones utilizando la plataforma J2EE TM Ing. Javier Alfredo Voos Enviar comentarios técnicos a: jvoos@scdt.frc.utn.edu.ar U.T.N. Facultad Regional Córdoba Grupo Ingeniería

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

Tema 1. Arquitectura Cliente/Servidor

Tema 1. Arquitectura Cliente/Servidor Tema 1. Arquitectura Cliente/Servidor SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs 27 de septiembre de 2009 FJRP, FMBR [sistemas cliente-servidor] CCIA 1.1 Sistemas

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Técnico Superior en Programación con Java SE Standard Edition

Técnico Superior en Programación con Java SE Standard Edition Código: M087_04 Técnico Superior en Programación con Java SE Standard Edition Modalidad: Distancia Duración: 120 horas Objetivos: Este pack de materiales formativos proporcionará al alumnado la base que

Más detalles

Curso: Programación con JAVA SE Estándar Edition.

Curso: Programación con JAVA SE Estándar Edition. Curso: Programación con JAVA SE Estándar Edition. Código: 1062 Familia Profesional: Programación. Acreditación: Formación reconocida a través de vías no formales Modalidad: Distancia Duración: 150 horas

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

5. Modelos de Sistemas Distribuidos

5. Modelos de Sistemas Distribuidos Sistemas Distribuidos 5. Modelos de Sistemas Distribuidos Prof. María Feldgen Curso 2006 Índice Modelos Modelo Cliente-Servidor Framework CORBA Java RMI Microsoft DCOM Message-Oriented Middleware Dificultades

Más detalles

Seminario de Java. Contenido

Seminario de Java. Contenido Seminario de Java Programación Orientada a Objetos Curso 2006/2007 Contenido 1. Introducción 2. Primeros pasos con Java. El entorno Eclipse 3. La sintaxis del lenguaje Java 4. Clases y objetos 5. Cadenas

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

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1 Gerardo Lecaros Felipe Díaz Problemática Petición de salas de forma tradicional Solución J2EE Java 2 Platform, Enterprise Edition

Más detalles

UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN

UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN INVESTIGACIÓN DE LA PLATAFORMA J2EE Y SU APLICACIÓN PRÁCTICA JUAN MANUEL BARRIOS NÚÑEZ http://www.dcc.uchile.cl/~jbarrios/

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

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

Curso de Java EE Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 1 Los Enterprise Java Beans (EJB) es código Java del lado del Servidor. Normalmente tienen la lógica de negocio de nuestra aplicación, y por lo tanto cubren el rol de la capa de servicio de nuestras aplicaciones

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

Capítulo III. Análisis y diseño.

Capítulo III. Análisis y diseño. Capítulo III. Análisis y diseño. 3.1 Análisis. El análisis es el intermediario entre los requisitos del sistema y el diseño, esta sección definiremos el análisis con una serie de modelos técnicos del sistema,

Más detalles

Arquitectura de Software

Arquitectura de Software Arquitectura de Software (Estilos Arquitectónicos) Universidad de los Andes Demián Gutierrez Mayo 2011 1 Diseño Arquitectónico Diseño Arquitectónico Arquitectura del Software Estilos Arquitectónicos Frameworks

Más detalles

CAPÍTULO 1 EL DESARROLLO DE APLICACIONES EMPRESARIALES

CAPÍTULO 1 EL DESARROLLO DE APLICACIONES EMPRESARIALES CAPÍTULO 1 1.1 Antecedentes Las primeras aplicaciones que utilizaron motores de base de datos fueron conocidas como Aplicaciones Cliente Servidor, este tipo de aplicaciones consisten en un cliente en donde

Más detalles

INTRODUCCIÓN A JAVA EE

INTRODUCCIÓN A JAVA EE Unidad de Aprendizaje 1 INTRODUCCIÓN A JAVA EE ÍNDICE 1.1 Introducción...3 1.1.1 Java Card... 3 1.1.2 Java Micro Edition (Java ME)... 4 1.1.3 Java Standard Edition (Java SE)... 4 1.1.4 Java Enterprise

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Enterprise JavaBeans

Enterprise JavaBeans Enterprise Java Beans y JBoss Enterprise JavaBeans Es una de las API que forman parte del estándar de construcción de aplicaciones empresariales J2EE (ahora JEE 5.0) de Oracle Corporation (inicialmente

Más detalles

'HVDUUROORGH$SOLFDFLRQHV

'HVDUUROORGH$SOLFDFLRQHV 'HVDUUROORGH$SOLFDFLRQHV FRQ-(( $SOLFDFLRQHV'LVWULEXLGDV0XOWLFDSD &RQWHQLGR Plataforma J2EE Aplicaciones Distribuidas multicapa Arquitectura Multicapa Componentes J2EE Componentes de Clientes: aplicaciones

Más detalles

Java y Eclipse. Lenguajes y Entornos de Programación Libre

Java y Eclipse. Lenguajes y Entornos de Programación Libre Java y Eclipse Lenguajes y Entornos de Programación Libre El lenguaje Java Un poco de historia: 1990: James Gosling, responsable de una empresa filial creada por Sun Microsystems, empieza a diseñar Java

Más detalles

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

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web Arquitectura 1.- Aplicaciones Web Definición Contenidos 1.- Aplicaciones Web 2.- Arquitectura de aplicaciones Web Lo que distingue una aplicación Web de una mero sitio Web reside en la posibilidad que

Más detalles

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms Patrones Patrones Es una solución reusable de problemas comunes. Los patrones solucionan problemas que existen en muchos niveles de abstracción. desde el análisis hasta el diseño y desde la arquitectura

Más detalles

Tecnología de objetos distribuidos y arquitectura de componentes. Índice. Bibliografía. Introducción. Tema V

Tecnología de objetos distribuidos y arquitectura de componentes. Índice. Bibliografía. Introducción. Tema V Bibliografía Tema V Tecnología de objetos distribuidos y arquitectura de componentes. Szyperski, C. 1998. Component Software. Addison-Wesley. Ruiz Cortés, 1998. A. CORBA: Una visión general. http://www.lsi.us.es/~aruiz

Más detalles

II Curso Online JAVA-J2EE

II Curso Online JAVA-J2EE II Curso Online JAVA-J2EE TEMA 3 Introducción a J2EE Autor: PCYTA / Centro de Excelencia de Software Libre de Castilla-La Mancha Versión: 1.0 Fecha: Revisado 13-02-2008 23:56 Licencia: CC-by-sa 2.5 0 Licencia

Más detalles

INTRODUCCIÓN A JAVA. Índice

INTRODUCCIÓN A JAVA. Índice INTRODUCCIÓN A JAVA Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía 2 1 Qué es Java? La tecnología Java

Más detalles

El Framework de desarrollo del Consejo

El Framework de desarrollo del Consejo El Framework de desarrollo del Consejo Superior de Investigaciones Científicas Director de la OPCSIC Centro Técnico de Informática (CSIC) Directora Centro Técnico de Informática (CSIC) Palabras clave Framework,

Más detalles

Tema 4: Diseño de flujos interaplicación

Tema 4: Diseño de flujos interaplicación Tema 4: Diseño de flujos interaplicación 4.1 Introducción a los Sistemas EAI Modelo de referencia (1) INTEGRACIÓN B2B INTEGRACIÓN DE APLICACIONES Y PROCESOS INTEGRACIÓN DE DATOS INTEGRACIÓN DE PLATAFORMA

Más detalles

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios Diplomado Java Descripción El lenguaje de programación Java es uno de los más utilizados hoy en día. Su potencia, simplicidad, funcionalidad y capacidad hacen que este lenguaje sea una de las herramientas

Más detalles

Anexo 4 Documento de Arquitectura

Anexo 4 Documento de Arquitectura Anexo 4 Documento de Arquitectura 1. Introducción El anexo se describe el propósito y alcance referentes al proyecto correspondiente al documento de arquitectura. 2. Propósito El propósito del anexo de

Más detalles

PROGRAMACIÓN DE SISTEMAS INFORMÁTI- COS

PROGRAMACIÓN DE SISTEMAS INFORMÁTI- COS IFCT0609: PROGRAMACIÓN DE SISTEMAS INFORMÁTI- COS CÓDIGO ESPECIALIDAD C.P. PRESEN- CIALES TELEFORMA- CIÓN TOTALES TIPO DE FORMACIÓN IFCT0609 PROGRAMACIÓN DE SISTE- MAS INFORMÁTICOS SI 210 210 420 SEMIPRESENCIAL

Más detalles

2.1 Compuertas para Bases de Datos

2.1 Compuertas para Bases de Datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Uno de los aspectos mas importantes en un sistema multibase de datos es la forma en como llevar a cabo la comunicación

Más detalles

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados

Más detalles

Armando un kit de desarrollo basado en software libre. Gloria Cortés B. Ubiquando Ltda -1

Armando un kit de desarrollo basado en software libre. Gloria Cortés B. Ubiquando Ltda -1 XXIV SALÓN DE INFORMÁTICA Armando un kit de desarrollo basado en software libre Gloria Cortés B. Ubiquando Ltda gcortes@ubiquando.com.co Encontrando el camino hacia el Software Libre Gloria Cortés B. Ubiquando

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

Revista Digital Universitaria. 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079

Revista Digital Universitaria. 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079 Revista Digital Universitaria 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079 JAVA o L.I. Anabell Comas Becaria de la Coordinación de Publicaciones Digitales anabell@alethia.dgsca.unam.mx o http://www.revista.unam.mx/vol.7/num12/art104/art104.htm

Más detalles

Cómo puede ayudarle JBuilder en sus Desarrollos Java?

Cómo puede ayudarle JBuilder en sus Desarrollos Java? Artículos técnicos Grupo Danysoft: Cómo puede ayudarle JBuilder en sus Desarrollos Java? Oscar Cristóbal Ruiz Departamento Java Equipo Grupo Danysoft Enero 2003 - (902) 123146 www.danysoft.com Cómo puede

Más detalles

Sistemas de Información Introducción a los Sistemas de Información: El Modelo Cliente/Servidor

Sistemas de Información Introducción a los Sistemas de Información: El Modelo Cliente/Servidor Sistemas de Información Introducción a los Sistemas de Información: El Modelo Cliente/Servidor Agradecimientos: por su contribución a la realización de estas transparencias: Jesus Villamor Lugo y Simon

Más detalles

Arquitectura cliente/servidor

Arquitectura cliente/servidor Departamento de Lenguajes y Sistemas Informáticos Arquitectura cliente/servidor Programación en Internet Curso 2007-2008 Índice Introducción Tipos de servidores Ventajas Desventajas Arquitectura de una

Más detalles

Bases de Datos Distribuidas: Arquitectura Cliente/Servidor

Bases de Datos Distribuidas: Arquitectura Cliente/Servidor Bases de Datos Distribuidas: Arquitectura Cliente/Servidor Instituto Tecnológico Superior de los Ríos Ing. en Sistemas Computacionales 30 de enero de 2012 Bases de Datos Distribuidas:Arquitectura Cliente/Servidor

Más detalles

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA Instituto de Formación Profesional CBTech Estudie desde su hogar y obtenga un certificado universitario Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA 1 Introducción al Lenguaje JAVA Integrado

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

MIDDLEWARE: Arquitectura para Aplicaciones Distribuidas Dr. Víctor J. Sosa Sosa vjsosa@tamps.cinvestav.mx

MIDDLEWARE: Arquitectura para Aplicaciones Distribuidas Dr. Víctor J. Sosa Sosa vjsosa@tamps.cinvestav.mx MIDDLEWARE: Arquitectura para Aplicaciones Distribuidas Dr. Víctor J. Sosa Sosa vjsosa@tamps.cinvestav.mx Contenido Middleware: Introducción Definición Genealogía Aplicaciones actuales: Servicios Web Computación

Más detalles

Instalación de Servidor de Aplicaciones - JBoss. Por: Carlos Carreño V. ccarreno@jbossperu.org

Instalación de Servidor de Aplicaciones - JBoss. Por: Carlos Carreño V. ccarreno@jbossperu.org Instalación de Servidor de Aplicaciones - JBoss Por: Carlos Carreño V. ccarreno@jbossperu.org Introducción JBoss AS es un contenedor de aplicaciones J2EE EJB 2.1/3.0 y componentes Web Soporte de Clustering

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 de Software con

Desarrollo de Software con Desarrollo de Software con Antonio J. Vélez Q. Universidad del Valle Sede Palmira Contenido Modelo de Aplicaciones Java EE Arquitectura de las aplicaciones JEE Comunicación entre componentes Contenedores

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

Componentes y Middleware. Arquitectura de Software Componentes y Middleware [1] Stakeholders. Sobre el informe. Calidad según los stakeholders

Componentes y Middleware. Arquitectura de Software Componentes y Middleware [1] Stakeholders. Sobre el informe. Calidad según los stakeholders sistema Componentes y Middleware Arquitectura de Software Componentes y Middleware [1] Componentes Middleware Políticas y mecanismos Ejemplo de notación ad-hoc Hernán Astudillo Departamento de Informática

Más detalles

Proyecto BDP / PAD BASE DE DATOS DE PERSONAS PERSONALIDAD ADMINISTRATIVA DIGITAL

Proyecto BDP / PAD BASE DE DATOS DE PERSONAS PERSONALIDAD ADMINISTRATIVA DIGITAL Proyecto BDP / PAD BASE DE DATOS DE PERSONAS PERSONALIDAD ADMINISTRATIVA DIGITAL Mecanismo de integración entre aplicaciones e información a la ciudadanía Principios - Portal del ciudadano El ciudadano,

Más detalles

Arquitectura de Software Componentes y Middleware [1] Componentes y Middleware. Sobre el informe

Arquitectura de Software Componentes y Middleware [1] Componentes y Middleware. Sobre el informe Arquitectura de Software Componentes y Middleware [1] Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María Componentes y Middleware Componentes Middleware

Más detalles

FUJITSU Java Development Framework

FUJITSU Java Development Framework FUJITSU Java Development Framework DOCUMENT DETAILS Created: 10.12.2005 Version: 2.0 Author: FUJITSU ESPAÑA SERVICES S.A. 1. INTRODUCCIÓN 1.1 Arquitectura conceptos básicos La arquitectura planteada por

Más detalles

PROGRAMACIÓN VISUAL ANALISTA PROGRAMADOR UNIVERSITARIO FAC DE INGENIERIA - PLAN 2008 AÑO 2010

PROGRAMACIÓN VISUAL ANALISTA PROGRAMADOR UNIVERSITARIO FAC DE INGENIERIA - PLAN 2008 AÑO 2010 ARQUITECTURA J2EE Principios de Funcionamiento de Aplicaciones WEB El HypertText Markup Language (HTML) se concibió como una herramienta fundamental de Internet para la creación de páginas WEB. El concepto

Más detalles

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE PRÓLOGO... 13 APECTOS BÁSICOS DE JAVA... 15 1.1. LA MÁQUINA VIRTUAL JAVA... 15 1.2. EDICIONES JAVA... 16 1.3. ESTRUCTURA DE UN PROGRAMA JAVA... 16 1.4. EL MÉTODO

Más detalles

Características de OpenCms

Características de OpenCms Características de OpenCms Se basa en Java y Xml OpenCms está totalmente desarrollado en java bajo el estándar servlet. Por lo tanto, se puede integrar fácilmente en entornos hardware y software existentes,

Más detalles

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA 3.1. Características La tendencia hacia el futuro es el de lograr la integración total de componentes realizados por terceras partes, para lo cual es necesario

Más detalles

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. . TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. Índice 1 INTRODUCCIÓN 2 2 CARACTERÍSTICAS 2 2.1 Características del cliente...2 2.2 Características

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

Tema 3. 3.3 Tecnologías de Desarrollo

Tema 3. 3.3 Tecnologías de Desarrollo Tema 3 3.3 Tecnologías de Desarrollo HTML pronto pasa a ser insuficiente para todas las posibilidades de la Red No se puede interactuar con el servidor Aparecen los primeros scripts para propocionar dichar

Más detalles

Centro de Capacitación en Tecnologías de la Información. Desarrollo de. diplomado

Centro de Capacitación en Tecnologías de la Información. Desarrollo de. diplomado Centro de Capacitación en Tecnologías de la Información Desarrollo de Objetivo Dotar al alumno de la metodología y los fundamentos de la programación en Java usando la plataforma J2SE (Java 2 Standard

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

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

Curso formativo Plataforma de formación J2EE

Curso formativo Plataforma de formación J2EE Curso formativo Plataforma de formación J2EE CIFP de Valliniello Dpto. desarrollo, SATEC Introducción a Java y J2EE 1 Introducción a JAVA Es una evolución simplificada del C++ Está concebido para desarrollo

Más detalles

BASES DE DATOS. Ivon Tarazona Oriana Gomez

BASES DE DATOS. Ivon Tarazona Oriana Gomez BASES DE DATOS Ivon Tarazona Oriana Gomez Introducción Introducción Ventajas e (Unified Modeling Language) Es un lenguaje usado para especificar, visualizar y documentar los diferentes aspectos relativos

Más detalles

Analista Programador Java: Business Apps Expert

Analista Programador Java: Business Apps Expert Analista Programador Java: Business Apps Expert TITULACIÓN DE FORMACIÓN CONTINUA BONIFICADA EXPEDIDA POR EL INSTITUTO EUROPEO DE ESTUDIOS EMPRESARIALES Analista Programador Java: Business Apps Expert Duración:

Más detalles

D E S C R I P C I Ó N

D E S C R I P C I Ó N ADAPTOR pertenece a la nueva generación en herramientas de Integración de Sistemas (EAI) fuertemente inspirada en el paradigma SOA y capaz de funcionar en un bus de servicios (ESB), es la forma más eficiente

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

Introducción a los EJBs

Introducción a los EJBs Introducción a los EJBs Mario Muñoz Organero Departamento de Ingeniería Telemática http://www.it.uc3m.es/mario Panorámica de un Servidor de Información El modelo de aplicaciones J2EE se basa en una arquitectura

Más detalles

Apéndice 1. SOAP 2 2. CORBA 4 3. JMS 6 4. RMI 8

Apéndice 1. SOAP 2 2. CORBA 4 3. JMS 6 4. RMI 8 Apéndice A Conectividad 1. OAP 2 2. CORBA 4 3. JM 6 4. RMI 8 OAP OAP (imple Object Access Protocol) es un protocolo basado en XML que permite comunicar componentes y aplicaciones mediante HTTP. Es como

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

J2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de:

J2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de: J2ME Esta versión de Java está enfocada a la aplicación de la tecnología Java en dispositivos electrónicos con capacidades computacionales y gráficas muy reducidas, tales como teléfonos móviles, PDAs o

Más detalles

Generador GeneXus JAVA

Generador GeneXus JAVA Generador GeneXus JAVA Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento

Más detalles

Arquitectura de aplicaciones

Arquitectura de aplicaciones Arquitectura de aplicaciones Arquitectura en capas API API dic-08 alb@uniovi.es 2 Layers y Tiers Layer: capa arquitectónica de la aplicación software Presentación, lógica, persistencia Tier: capa física

Más detalles

El Internet tuvo origen en los Estados Unidos de Norte América cuando en un proyecto

El Internet tuvo origen en los Estados Unidos de Norte América cuando en un proyecto 2 Marco teórico 2.1 Internet 2.1.1 Breve historia El Internet tuvo origen en los Estados Unidos de Norte América cuando en un proyecto realizado por la Agencia de Investigación Avanzados de Defensa (DARPA)

Más detalles

Fundamentos de Ingeniería del Software. Capítulo 11. Reutilización del software

Fundamentos de Ingeniería del Software. Capítulo 11. Reutilización del software Fundamentos de Ingeniería del Software Capítulo 11. Reutilización del software Reutilización del software. Estructura 1. Reutilización del software 2. Beneficios de la reutilización 3. Dificultades para

Más detalles

Desarrollo de Aplicaciones con Tecnologías Web

Desarrollo de Aplicaciones con Tecnologías Web Desarrollo de Aplicaciones con Tecnologías Web Código: Modalidad: Distancia Duración: 100 Horas. Objetivos: La presente formación se ajusta al itinerario formativo del Certificado de Profesionalidad IFCD0210

Más detalles

Desarrollo de una arquitectura orientada a servicios para un prototipo de una línea de productos de software

Desarrollo de una arquitectura orientada a servicios para un prototipo de una línea de productos de software Desarrollo de una arquitectura orientada a servicios para un prototipo de una línea de productos de software Ramón Gómez-Romero, Karen Cortés Verdin, Juan Carlos Pérez Arriaga, Ángeles Arenas Valdés Universidad

Más detalles

Certificaciones: Diploma de Aprobación en Desarrollo Web con Java.

Certificaciones: Diploma de Aprobación en Desarrollo Web con Java. DIPLOMATURA EN DESAR ROLLO DE APLICACIONE S WEB CON JAVA PARTE I: OBJETIVOS ESPECÍFICOS La Diplomatura en Desarrollo de Aplicaciones Web con Java tiene los siguientes objetivos específicos: Adquirir habilidad

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