JavaEE. www.javasoft.com



Documentos relacionados
JAVA EE 5. Arquitectura, conceptos y ejemplos.

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

Aplicaciones web construidas a base de componentes:

Tema 1. Introducción a Java EE

Panorámica de la asignatura

5.1 Introducción a Servicios Web

Tema 5. Plataforma Java EE

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

Tema 5. Plataforma Java EE

Introducción al Desarrollo de Aplicaciones Empresariales

[CASI v.0109] Pág. 1

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Tema 6: Comparativa CORBA/Servicios Web

Servicios Web con Java EE

Servicios Web con Java EE

MARCANDO LA DIFERENCIA

Curso SOA and Java Web Services with JAX-WS

Service Oriented Architecture

5 Aplicaciones empresariales con tecnología java EE.

Notas técnicas de JAVA Nro. 7 Tip Breve

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

CentralTECH JAVA EE 7 Desarrollo

Desarrollo de Software con

SISTEMAS DE INFORMACIÓN III TEORÍA

Introducción a SOA (II) Huibert Aalbers Senior Certified Software IT Architect

Capacitación Efectiva SOA y Web Services con Java

INTRODUCCIÓN A JAVA EE

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

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

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

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

Caso J2EE. Necesidades del negocio. Arquitectura Luther

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

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

Desarrollo y servicios web

Desarrollo y servicios web Sesión 18

Tema 3. Plataforma Java EE

Web Services en Java. Taller de Programación. Instituto de Computación Facultad de Ingeniería Universidad de la República

Aplicaciones J2EE. Repasamos. Tres tipos de aplicaciones. Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

DIPLOMATURA DESARROLLO DE APLICACIONES JAVA

Cómo puede ayudarle JBuilder en sus Desarrollos Java?

Para el desarrollo de aplicaciones Web se han generado múltiples tecnologías entre ellas se encuentran:

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

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho

Taller de Sistemas de Información 2. Web Services en Java y Java EE

Plataforma de expediente

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

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

Cursos PROGRAMACIÓN DE APLICACIONES CON JAVA

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

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

Facultad de Sistemas e Informática

Enterprise JavaBeans

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

Servicios Web Ubicuos Activados por Voz

CONCLUISIONES Y RECOMENDACIONES

Generador GeneXus JAVA

PROGRAMA FORMATIVO Desarrollo de aplicaciones empresariales Java J2EE 7 (ORACLE)


Arquitectura cliente/servidor

Java XML Web Services.

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java

Comunicación entre procesos

TEMA 5. Otras arquitecturas distribuidas IV. Web Services

1 Índice Introducción Propósito Alcance Modelo Arquitectónico Inicial... 3

TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA

Sistemas Operativos Distribuidos. Introducción a los Servicios Web (Web Services)

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

Descripción de Arquitectura Repositorio de metadatos de componentes de software

Glosario Acoplamiento. API. Archivos de recursos. ASCII. Balanceo de carga. Bases de datos federadas. BBDD. Clientes. Constructores.

Sustitución de certificados administrativos en soporte papel por medios telemáticos

Estandar FIPA Foundation for Intelligent Physical Agents

CURSO SUPERIOR DESARROLLO DE COMPONENTES WEB JAVA J2EE

Tema 1. Introducción a JAVA

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

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

Facultad de Ingeniería Escuela de Ciencias y Sistemas Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces

Parte I: Introducción al Java 2 Enterprise Edition

Service Oriented Architecture: Con Biztalk?

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

Curso de Spring Framework

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

2524 Developing XML Web Services Using Microsoft ASP.NET

Servicios web. Jorge Iván Meza Martínez

Curso de Jboss Administración

Sesión 17. Servicios web RESTful

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

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

Capítulo 7: Introducción a la dinámica de servicios Web

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

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

PROGRAMA FORMATIVO Desarrollo de aplicaciones Web Java: WebServices con J2EE

Técnicas Avanzadas para Gestión de Sistemas de Información. Tarea obligatoria sobre: Tecnologías para Sistemas de Información

Transcripción:

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 de código móvil Gratis

Por qué Java en el servidor? Inconvenientes Curva de aprendizaje pronunciada En el caso de sistemas Web, inadecuado para proyectos pequeños que puedan construirse con una solución simple y rápida.

Qué es JEE? Internet y WWW representan el fundamento sobre los cuales se esta construyendo la economía de la información. La meta de JEE es definir un estándar que ayude a suplir los retos tecnológicos en esta nueva era. JEE soporta aplicaciones distribuidas que toma ventajas de las tecnologías existentes y en desarrollo simplificando el proceso a través de un modelo de aplicaciones basados en componentes. JEE soporta aplicaciones desde las C/S corporativas hasta e-commerce con Web en Internet. Defines estándares que son implementados por distintos proveedores y fabricantes, no fuerza a emplear ningún producto específico. Máxima interoperabilidad (Web services, IIOP, RMI, etc.).

Plataforma JEE Conjunto de especificaciones y prácticas coordinadas que juntas permiten soluciones para el desarrollo, despliegue y gestión de aplicaciones multicapa centradas en servidor. Provee soporte tanto para el lado del servidor como para el lado del cliente para aplicaciones corporativas multi-nivel (multi-tier) Client-tier: interface de usuario Middle-tier (1 o más): servicios al cliente y la lógica del negocio para la aplicación. Backend-tier: gestión de datos

APIs y Especificaciones JavaEE 5 Web Services Technologies Implementing Enterprise Web Services (JSR 109) Java API for XML-Based Web Services (JAX-WS) 2.0 (JSR 224) Java API for XML-Based RPC (JAX-RPC) 1.1 (JSR 101) Java Architecture for XML Binding (JAXB) 2.0 (JSR 222) SOAP with Attachments API for Java (SAAJ) (JSR 67) Streaming API for XML (JSR 173) Web Service Metadata for the Java Platform (JSR 181) Web Application Technologies Java Servlet 2.5 (JSR 154) JavaServer Faces 1.2 (JSR 252) JavaServer Pages 2.1 (JSR 245) JavaServer Pages Standard Tag Library (JSR 52) Enterprise Application Technologies Enterprise JavaBeans 3.0 (JSR 220) JEE Connector Architecture 1.5 (JSR 112) Common Annotations for the Java Platform (JSR 250) Java Message Service API (JSR 914) Java Persistence API (JSR 220) Java Transaction API (JTA) (JSR 907) JavaBeans Activation Framework (JAF) 1.1 (JSR 925) JavaMail (JSR 919) Management and Security Technologies JEE Application Deployment (JSR 88) JEE Management (JSR 77) Java Authorization Contract for Containers (JSR 115) En continua revisión y expansión

Entorno JEE

Gestión de componentes basado en contenedores De la mano de un modelo basado en componentes esta la noción de contenedor. Un contenedor provee un ambiente estandarizado de ejecución que provee servicios específicos a componentes. Por ejemplo todos los contenedores Web proveen soporte para requerimientos de clientes, realizar un procesamiento y retornar los resultados. Ej.: Todos los contenedores EJB proveen soporte para gestión de transacciones, ciclo de vida, localización y otros servicios. Los contenedores también poseen acceso a sistemas de información empresarial (RDBMS, JDBC, etc.)

Tecnologías de la plataforma JEE.Clasificación Tres categorías: componentes servicios comunicaciones Componentes: utilizados por desarrolladores para crear partes esenciales de una aplicación empresarial Utilizados en la interfaz de usuario y lógica del negocio

Tecnologías de componentes Componente: unidad de software de nivel aplicación Ej: Javabeans, applets, componentes web, etc. Los componentes JEE se ejecutan dentro de su correspondiente contenedor. El contenedor proporciona los servicios necesarios a los componentes en tiempo de ejecución Permite declarar en lugar de programar determinados aspectos de comportamiento de los componentes

Contenedores JEE Cuatro aspectos: Contrato de componentes API de servicio del contenedor Servicios Declarativos Otros servicios de contenedores

Contrato de componentes Los componentes son gestionados por el contenedor. Para eso, deben cumplir el contrato del contenedor para el tipo de componentes en concreto: conjunto de métodos a implementar por el componente y que permiten al contenedor interactuar con él. Los contratos son interfaces java.

API del servicio del contenedor El contenedor aporta una implementación para las APIs de extensión de java. Ejemplo: Implementa el servicio de JMS ofreciendo al desarrollador un driver que cumple la especificación Gestores de colas y apartados

Servicios Declarativos Algunos de los servicios ofrecidos por el contenedor a los componentes se declaran en lugar de programarse. La declaración (por ejemplo, especificar que un método tiene que estar inmerso en una transacción) se realiza mediante descriptores de despliegue. Descriptor de despliegue: Contrato entre el contenedor y el componente.

Otros Servicios Gestión del ciclo de vida del componente Reserva de recursos Publicación de componentes y otros recursos en espacio JNDI Clustering. Etc.

Componentes Web Entidades que sirven respuestas a peticiones http Normalmente generan interfaces de usuario basadas en Web Servlets: Extienden la funcionalidad de un servidor Web Portables Se ejecutan en un contenedor de servlets.

Componentes Web JSP: Respuesta de Sun a las ASP de Microsoft Cuando se compilan, generan un servlet. Son páginas html con código java incrustado.

Componentes Web Se ejecutan en un contenedor Web: Contenedor web = contenedor JSPs + contenedor servlets Proporciona los servicios necesarios para la ejecución de servlets y jsps, y controla su ciclo de vida. Escucha, decodifica y responde peticiones http/https.

Componentes Enterprise JavaBeans EJB: Tecnología de servidor para el desarrollo y despliegue de componentes que contienen la lógica de negocio de una aplicación empresarial Lo EJBs son escalables, transaccionales y seguros en utilización multiusuario.

Componentes Enterprise JavaBeans Tres tipos: De sesión, con estado y sin estado De entidad. Dirigidos por mensajes. Contenedores EJB: Proporcionan los servicios de transacciones y persistencia y accede a las APIS de servicios y comunicaciones de JEE.

Arquitectura JEE

Servicios plataforma JEE Simplifican el desarrollo de aplicaciones poniendo recursos a su disposición Servicios de nombrado: Proporcionan a las aplicaciones cliente, EJBs y componentes WEB el acceso al entorno de nombrado JNDI. Permite personalizar un componente sin necesidad de acceder o cambiar su código. Servicios de despliegue: Permiten personalizar los componentes y aplicaciones en el momento del empaquetamiento de despliegue. Aplicación JEE = conjunto de unidades o módulos. Módulo = uno o más componentes JEE para el mismo tipo de contenedor En cada módulo, un descriptor de despliegue.

Módulos JEE Empaquetan componentes o aplicaciones JEE. Tres tipos: Archivos JAR (Java ARchive) Archivos WAR (Web Application ARchive) Archivos EAR (Enterprise Application ARchive)

Archivos JAR (Java ARchive) Permite agrupar distintos archivos java en uno solo. Sigue el formato ZIP Incorporado en la versión 1.1 del JDK Contienen: Clases java Recursos que emplean las clases Es el empleado para empaquetar componentes EJBs, respetando una estructura de directorios

Archivos WAR (Web Application ARchive) Permiten empaquetar en una sola unidad aplicaciones web java completas. Servlets y JSPs Contenido estático Html Imágenes etc.) Otros recursos web

Archivos EAR (Enterprise Application ARchive) Archivos desplegables en servidores de aplicaciones JEE Contienen Archivos WAR EJBs (Empaquetados dentro de ficheros JAR)

Servicios plataforma JEE Servicio de transacciones Operaciones atómicas Un sistema transaccional garantiza que cada unidad o transacción se termina completamente sin interferencia de otros procesos. Commit Rollbak

Servicios plataforma JEE Servicio de seguridad Garantiza que los recursos son accedidos por los usuarios autorizados. Distinguimos: Autentificación Autorización Técnicas Declarativa Programática

Tecnologías de servicios API JDBC Proporciona conectividad independiente de la base de datos entre la plataforma JEE y un amplio rango de orígenes de datos JAXP Soporta el procesamiento de documentos XML mediante DOM y SAX, y transformaciones XSLT.

Tecnologías de servicios JNDI Proporciona acceso a servicio de nombrado y directorio Independiente de implementaciones específicas (LDAP, NIS, etc.). JCA API estándar para la conexión de la plataforma JEE a otros sistemas de información, ej: SAP.

Tecnologías de servicios JTA (Java Transaction API) API estándar para el acceso a los monitores transaccionales con independencia de implementaciones específicas. JTS (Java Transaction Service). Especificación para la implementación de un gestor de transacciones que soporte JCA. Impone como debe comunicarse un monitor transaccional con sus clientes.

Tecnologías de comunicaciones Mecanismos de comunicación, implementaciones de protocolos. Protocolos de Internet TCP/IP, http, SSL Protocolos de invocación remota Protocolos OMG Java IDL RMI-IIOP

Tecnologías de comunicaciones Tecnologías de mensajería. JMS JavaMail. Conjunto de clases e interfaces para el acceso a servidores de email. Ej, POP3, SMTP, IMAP4.

Servicios WEB Son aplicaciones modulares autodescriptivas que se pueden publicar, ubicar e invocar desde cualquier punto de la Web o desde el interior de una red local basada en estándares abiertos de Internet Multiplataforma multilenguaje, tanto para el proveedor del servicio como para el usuario del mismo El acceso a servicios web se realiza a través de protocolos de Internet como HTTP o SMTP basados en XML

Servicios WEB

Arquitectura Servicios WEB Localización UDDI (Universal Description Discovery and integration): Medio para la publicación de servicios web en los registros de servicios web. Las empresas publican en los registros los servicios que ofrecen y la información técnica para acceder a ellos. XML, http, DNS, SOAP.

Arquitectura Servicios WEB Descripción WSDL (Web Services Definition Languge) Define y describe los servicios web SOAP, XML. Invocación SOAP (Simple Object Acceso Protocol) XML Formatos de mensajes para encapsula invocaciones a objetos en XML Puede emplear distintos protocolos de Internet para el transporte (SMTP, http, etc.