2 Java Servlets 3 JavaServer Pages 4 JMS 5 EJB 6 JavaMail 7 SOA 8 Web Services 9 UDDI 10

Texto completo

(1)

Secci´

on 8:

Server Technologies

ExamenSun Certified Java Associate

(2)

Contenido

1 Introducci´on

2 Java Servlets

3 JavaServer Pages

4 JMS

5 EJB

6 JavaMail

7 SOA

8 Web Services

9 UDDI

(3)

Objetivos

1 Describir a grandes rasgos las caracter´ısticas b´asicas de: EJB Servlets JSP JMS JNDI SMTP JAX-RPC

Web Services: SOAP, UDDI, WSDL, XML JavaMail

2 Describir a grandes rasgos las caracter´ısticas b´asicas del

(4)

Objetivos

3 Describir a grandes rasgos el uso y las caracter´ısticas b´asicas

de:

EJB Session Entity beans

Message-driven beans

4 Describir a grandes rasgos los beneficios fundamentales y las

desventajas de utilizar las tecnolog´ıas server-sideJ2EE

5 Describir a grandes rasgos y comparar las caracter´ısticas

b´asicas de:

(5)

Java Servlets

Componente Java que se ejecuta del lado del servidor

Procesa la petici´on HTTP (HTTP request)

Genera la respuesta HTTP din´amicamente (HTTP response)

(6)

Java Servlets

Proveen m´etodos basados en componentes e independientes de la plataforma para construir aplicaciones Web sin las limitaciones de la programaci´on CGI

Son intependientes del servidor y del SO utilizado, a diferencia de mecanismos de extensi´on de servidor (p.e. Netscape Server API, m´odulos Apache)

(7)

Java Servlets

Tienen acceso a toda la familia de APIs de Java (p.e. JDBC) Pueden accesar a bibliotecas espec´ıficas de llamadas HTTP con todas las bondades de Java:

Portabilidad

Desempe˜no

Reusabilidad

(8)

Java Servlets

Opci´on para generar aplicaciones Web interactivas Third-party servlet containers:

Apache Web Server Micro$oft IIS . . .

Unservlet container es usualmente un componente de un Servidor Web/Servidor de Aplicaciones:

BEA Weblogic Application Server IBM Websphere

(9)

Java Servlets

ClaseServlet: recibe la petici´on (casi siempre HTTP) y genera la salida (HTML, WML o XML):

Los servlets de una aplicaci´on Web se ejecutan dentro de un

servidor de aplicaciones (container)

Cada servlet puede ser asociado con una o m´as URLs

La claseservletse encuentra en los paquetes

javax.servletyjavax.servlet.http

Antes de que existiera la tecnolog´ıa JSP, los servlets:

Generar la Vista de una aplicaci´on Web

Recibir una petici´on HTTP asociada a una URL

Leer par´ametros

Pedir una operaci´on al Modelo

(10)

Descripci´

on

Las p´aginas JSP son traducidas en clases Java Servlets que se compilan y ejecutan como servlets dentro de unWeb container Custom tags yJSP Expression Languageproveen c´odigo reutilizable

(11)

Caracter´ısticas

Permite a desarrolladores y dise˜nadores Web desarrollar r´apidamente p´aginas Web:

F´aciles de mantener

Contenido din´amico

Information-rich

Permite el desarrollo ´agil de aplicaciones Web independientes de plataforma

Separa la interfaz de usuario de la generaci´on de contenido

(12)

Beneficios para el desarrollador

Para desarrolladores o dise˜nadores Web familizarizados con HTML:

1 Usar la tecnolog´ıa JSP sin tener que aprender el lenguaje

Java: no es necesario aprender a escribir scriptlets

2 Extender el lenguaje JSP: A trav´es de “simple tag handlers”

3 Escribir y mantener p´aginas facilmente: A trav´es deJavaServer

(13)
(14)

Caracter´ısticas

La API JMS consiste de una serie de interfaces y clases

Un proveedor de tecnolog´ıa JMS (JMS provider) es un sistema de mensajer´ıa que provee una implementaci´on de la API JMS

Para que unapplication server soporte la tecnolog´ıa JMS es necesario colocar los objetos administrados (connection factories,queue destinations,topic destinations) en el namespaceJNDI del application server

(15)
(16)

Caracter´ısticas

La tecnolog´ıa EJB es la arquitectura de componentes

server-sidepara laJava Platform, Enterprise Edition (Java EE) Permite el desarrollo r´apido y simplificado de aplicaciones basadas en Java:

Distribuidas Transaccionales Seguras Portables

(17)

Session Beans

Permiten implementar fachadas del modelo

Definen una interfaz remota para ser utilizada por cualquier tipo de clientes

Proporcionan la soluci´on m´as reutilizable de c´odigo

(18)

Entity Beans

Permiten implementar los objetos persistentes en el modelo

Representan una alternativa ideal a JDBC

(19)

Message-Driven Beans

Permite a las aplicaciones Java EE procesar mensajes de manera as´ıncrona

Los mensajes pueden ser enviados por cualquier componente Java EE:

Aplicaci´on cliente Bean empresarial Componente Web

Aplicaci´on JMS que no utiliza la tecnolog´ıa Java EE

Diferencia con respecto a Session Beans:

Los clientes no accesar a los MDB a trav´es de interfaces

(20)

Message-Driven Beans

Se ejecutan al recibir un mensaje de alg´un cliente Se invocan as´ıncronamente

Son relativamente short-lived

No representan directamente datos compartidos de una BD, pero pueden accesar y modificar estos datos

Sonstateless

Pueden ser transaction-aware

Normalmente act´uan como un JMSlistener

(21)
(22)

Caracter´ısticas

La API JavaMail provee un frameworkpara construir aplicaciones de mensajer´ıa eemail independientes de plataforma e independientes de protocolo

Simple Mail Transfer Protocol (SMTP):

Mecanismo para el env´ıo deemails

La aplicaci´onJavaMail-baseddebe comunicarse con el servidor

SMTP

Dicho servidor SMTP retransmitir´a el mensaje al servidor

SMTP del (los) recipiente(s)

Eventualmente los usuarios descargar´an el mensaje a trav´es de

POP o IMAP

No se requiere que el servidor SMTP sea unopen relay

mientras permita la autenticaci´on

(23)
(24)

Descripci´

on

Arquitectura de software donde la funcionalidad es agrupada alrededor de los procesos de de negocio y empaquetada como servicios interoperables

Describe una infraestructura de TI que permite a aplicaciones diferentes el intercambio de datos mientras participan en un proceso de negocios

El objetivo es desacoplar (loose coupling) los servicios con:

Sistemas operativos

Lenguajes de programaci´on

(25)

Descripci´

on

Separa funciones en unidades o servicios distintos, accesibles v´ıa red para ser combinadas y reutilizadas en la producci´on de aplicaciones de negocio

Estos servicios se comunican entre s´ı trasmitiendo datos de un servico a otro, o coordinando una actividad entre dos o m´as servicios

(26)

Definici´

on

Definidos por el W3C como:

Un sistema de software dise˜nado para soportar interacci´on M´aquina-M´aquina interoperable sobre una red

(27)

Funcionamiento

Clientes y servidores que se comunican utilizando mensajes XML que siguen el est´andar SOAP

En estos sistemas se encuentra una descripci´on de las operaciones ofrecidas por el servicio, escritas en el Web Services Description Language (WSDL)

Esto ´ultimo no es un requisito de SOAP, pero es un

(28)
(29)

Descripci´

on

Registro basado en XML e independiente de plataforma para que negocios a trav´es de todo el mundo se enlisten a s´ı mismos en Internet

Iniciativa abierta patrocinada por el OASIS

Permite publicar un listado de servicios, descubrir otros servicios y definir la forma en que los servicios o aplicaciones interactuan sobre Internet

Un registro de negocio UDDI consiste de:

1 White pages: direcci´on, contacto e identificadores conocidos 2 Yellow pages: categor´ıa industrial basada en taxonom´ıas

est´andar

(30)
(31)

Descripci´

on

Especificaci´on de prop´osito general para crear lenguajes de marcado personalizables

Se clasifica como lenguaje extensible ya que permite definir elementos propios

Facilita compartir datos estructurados entre diferentes sistemas de informaci´on, particularmente Internet Se utiliza tanto para codificar documentos como para serializar datos

(32)

Caracter´ısticas

Comenz´o como un subconjunto delStandard Generalized Markup Language(SGML)

Est´a dise˜nado para ser human-legible

Al a˜nadirle restricciones sem´anticas, los lenguajes de aplicaci´on pueden ser implementados en XML:

XHTML RSS MathML GraphML

Scalable Vector Graphics (SVG) MusicXML

(33)
(34)

Descripci´

on

Permite invocar desde una aplicaci´on Java a unWeb Service basado en Java con descripci´on conocida manteniendo consistencia con su descripci´on WSDL

Puede verse como Java RMI sobre Web Services

JAX-RPC 2.0 se renombr´o como JAX-WS 2.0 (Java API for XML Web Services). Funcionamiento:

1 Un programa Java invoca un m´etodo en un stub (objeto local

representando al servicio remoto)

2 El stub invoca rutinas en el JAX-RPC Runtime System (RS)

3 El RS convierte la invocaci´on del m´etodo remoto en un

(35)

Descripci´

on

(36)
(37)

Modelo de arquitectura de N-capas

Separa program´aticamente la funcionalidad de la aplicaci´on entre tres o m´as capas

Contiene componentes e infraestructura de capas especializados para una tarea en particular

Contiene interfaces program´aticas que definen los l´ımites de cada capa

+ Informaci´on:

http://www.sun.com/software/opensource/java/intro_java_tech.jsp

(38)

Resumen

���������������� ��������� ���� ���������� �������������� ������ ������������������ �������������� ���������������������������� ���������������� �������������������������� ������������������������������� ������������������������� ��������������������� �������������� ����������������������� ������������������� ����������������������� ���������������������� ���������������������� ��������������������� �������������������������� ���������������������� ������������������������ ����������������������������� �������������������������� ��������� ���� �������� ��� �������������� ����� ���������� �������� ���������� ������

(39)

¿Dudas?

http://sites.google.com/site/chavezbosquez

´

Figure

Actualización...

Related subjects :