web servicesmaterias.fi.uba.ar/sweb/2c-2005/webservicesresumen.pdf · 2005. 10. 3. · 1: sistemas...

21
WEB SERVICES EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 1 EGRIET (2005) Web Services (Profesores María Feldgen y Osvaldo Clúa) 1 Web Services Profs. María Feldgen y Osvaldo Clúa EGRIET EGRIET (2005) Web Services (Profesores María Feldgen y Osvaldo Clúa) 2 1: Sistemas Distribuidos Introducción. Sistemas Distribuidos • Middleware La Importancia de los Sistemas Distribuidos Aplicaciones Cliente-Servidor • CORBA Java RMI Microsoft DCOM Message-Oriented Middleware Dificultades de integración de los sistemas distribuidos anteriores. J2EE y XML en Sistemas Distribuidos Web Services

Upload: others

Post on 24-Aug-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 1

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

1

Web ServicesProfs. María Feldgen y Osvaldo Clúa

EGRIET

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

2

1: Sistemas Distribuidos– Introducción.– Sistemas Distribuidos

• Middleware– La Importancia de los Sistemas Distribuidos

• Aplicaciones Cliente-Servidor• CORBA• Java RMI• Microsoft DCOM• Message-Oriented Middleware

– Dificultades de integración de los sistemas distribuidosanteriores.

– J2EE y XML en Sistemas Distribuidos– Web Services

Page 2: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 2

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

3

Introducción a los Sistemas Distribuidos• Una red de computadoras es la infraestructura que sirve a un

conjunto de computadoras interconectadas por medio deenlaces de comunicaciones sobre distintas topologías y pordistintos medios físicos, que usan un conjunto de protocolosen común.

• Un sistema distribuido, en cambio, es un sistema compuestopor múltiples computadoras que se comunican por medio deuna red de computadoras y que contienen procesos que usanun conjunto común de protocolos distribuidos para asistirlosen la ejecución correcta de las actividades distribuidas.

La frase de LAMPORT de lo que NO DEBE SER un sistema distribuido:

“Un sistema distribuido es aquel que no deja que Vd. trabajepor la falla de una máquina que Vd. no sabía que existía”.

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

4

Evolución de los sistemas distribuidos

• Para compartir recursos de los sistemas de computacióncon las redes de área local.

• Para compartir archivos (file transfer) y acceso a otrasmáquinas usando sesiones remotas (remote login).

• Sistemas de archivos distribuidos• Sistemas de procesamiento distribuido.• Sistemas distribuidos modernos con un conjunto básico de

servicios, los cuales complementan los serviciosespecíficos que dependen del objetivo del sistema.

desde mediados de 1970

Page 3: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 3

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

5

Servicios Básicos

• Los servicios básicos mas relevantes son:– Servicios de directorio– Servicios de autenticación y autorización– Servicios de archivos– Servicios de red– Servicios de invocación remota– Servicios de gestión o intermediación (Brokers).– Servicios de tiempo– Servicios de administración.

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

6

Definición• Un sistema distribuido es una colección de computadoras

independientes que el usuario ve como un solo sistemacoherente.(la definición de sistemas distribuidos de A. Tanenbaum)

Page 4: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 4

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

7

Middleware• La definición tiene dos aspectos:

– Hardware: las computadoras son autónomas, heterogéneasy sobre redes diversas.

– Software: el usuario ve un solo sistema– Ambos son esenciales:

• La forma de comunicación entre las máquinas está oculta• La organización interna del sistema distribuido está oculta.• El usuario y la aplicación interactúan con el sistema

distribuido en una forma consistente y uniforme, sin importardonde y cuando tiene lugar esa interacción.

• Visión única del sistema:– una capa intermedia entre la capa de mas alto nivel y las

capas que tratan con el sistema operativo: middleware– Provee una interfase común a todas las aplicaciones y

oculta las diferencias de las redes y sistemas operativossobre los cuales se encuentra.

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

8

Modelos• Modelo Cliente-Servidor

– Sockets– RPC (Remote Procedure Call).

• Modelo simple de documentos distribuidos– WWW.

• Modelo de objetos distribuidos:– Sun Java RMI (Remote Method Invocation)– Microsoft DCOM (Distributed Component Object Model)– OMG CORBA (Common Object Request Broker

Architecture),.• Modelo de aplicaciones distribuidas:

Message-Oriented Middleware (MOM):– Web Services

Page 5: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 5

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

9

La Importancia de los SistemasDistribuidos

• Ventajas de un ambiente de procesamientodistribuido con respecto a uno tradicional deaplicaciones aisladas:– Mayor performance o rendimiento– Colaboración– Mayor confiabilidad y disponibilidad– Escalabilidad– Extensibilidad– Mayor productividad y menor ciclo de vida de desarrollo– Reuso– Reducción de costos

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

10

Aplicaciones Cliente-Servidor

RequestReply

RequestReply

Request

Reply

Aplicación Cliente Servidorcon Base de Datos en TCP/IP

Características:

• El cliente inicia la conexión (activo)• El servidor espera pasivamente por la conexión con un cliente• Cual de los dos realiza las funciones principales del proceso depende de la aplicación

Page 6: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 6

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

11

Limitaciones• Procesamiento comercial complejo del lado del cliente• La seguridad es mas compleja de implementar (los

algoritmos y la lógica residen en las máquinas delcliente)

• Requiere alto ancho de banda para acomodar lasnecesidades de múltiples llamadas al servidor(restricciones de escalabilidad)

• El mantenimiento y actualización de las aplicacionesclientes es difícil

Esta arquitectura es muy útil para aplicacionesorientadas a base datos centralizadas o sistemas con

componentes no reusables

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

12

Framework• Software Framework:

– Es una estructura de soporte bien definida paraorganizar y desarrollar otro proyecto de software.

– Ejemplos: Bibliotecas de código, lenguajes descripting, Programas de soporte

– Apache Cocoon, Cocoa, Eclipse, Microsoft .Net• Object Oriented Framework:

– Conjunto de clases cooperantes– Ejemplos: CORBA, AWT, Swing, MFC (Microsoft

Foundation Classes)

Page 7: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 7

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

13

OMG CORBA(Common Object Request Broker Architecture)

• Es una especificación de un sistema distribuido• es un estándar abierto para múltiples industrias .• Pertenece al Object Management Group (OMG), es un consorcio sin

fines de lucro responsable de la producción y mantenimiento de lasespecificaciones de este framework

• CORBA difiere del modelo tradicional cliente/servidor porque– Provee una solución orientada a objetos– No requiere protocolos propietarios especiales– Se puede usar cualquier lenguajes de programación– Corre sobre cualquier sistema operativo o plataforma de hardware

• Información en http://www.omg.org

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

14

ORB (Object Request Broker)• La arquitectura global de CORBA adhiere a un modelo de

referencia– definido por la OMG en 1997– consiste de 4 grupos de elementos estructurales o de arquitectura

conectados y es lo que se llama el Object Request Broker (ORB)

ORB (Object Request Broker)

Objetos deAplicación

Facilidades verticales(del dominio)

Facilidades Horizontales(propósito gral)

Servicios comunesde objetos

El ORB es la base de toda distribución CORBA: es la parte responsablede la comunicación entre los objetos y sus clientes, ocultando cuestionesrelacionadas con la distribución y heterogeneidad.

Page 8: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 8

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

15

Modelo de Objetos• Los objetos y los servicios se especifican en la CORBA IDL

(Interface Definition Language)– provee una sintaxis precisa para expresar métodos y parámetros.– Una interfase es una colección de métodos y los objetos especifican

que interfaces implementan.

• Está organizado como una colección de clientes yservidores de objetos:

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

16

Modelo de invocación de objetosToda comunicación tiene lugar al invocar un objeto.• Sincrónica

– El cliente invoca un objeto, le envía un pedido al servidorcorrespondiente y se bloquea hasta que recibe la respuesta

• Asincrónica (One way)– que es un método que no devuelve respuesta

• Deferred synchronous request– El cliente envía el mensaje al servidor y sigue sin esperar la

respuesta y puede luego bloquearse hasta que llegue la respuesta

• Mensajes: invocación asincrónica de métodos.– callback, un cliente provee un objeto que implementa una interfase

conteniendo el método de callback. Estos métodos pueden serllamados por el sistema de comunicaciones para pasar los resultadosde un invocación asincrónica.

– modelo de polling: En este modelo el cliente ofrece una colecciónde operaciones para polear a su ORB por resultados.

Page 9: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 9

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

17

Ventajas de CORBA sobre el modelocliente/servidor

• Independencia del sistema operativo y de loslenguajes de programación

• Integración de aplicaciones antiguas yactuales.

• Infraestructura de objetos distribuidos.• Transparencia de ubicación.• Transparencia de la red. (IIOP)• Soporte de callback remoto.• Interfase de invocación estática o dinámica.

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

18

Limitaciones• Inversión inicial grande: (inversiones en entrenamiento

e instalación de la arquitectura)• Disponibilidad de los servicios CORBA.• Escalabilidad.

Sin embargo, la comunidad Internet para el desarrollo deaplicaciones Intranet y Extranet ha adoptado CORBA conIIOP y Java como sus herramientas (por ejemplo JDK 1.4

(Java development kit) de Sun )

Page 10: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 10

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

19

Java RMI• Java RMI fue desarrollado por Sun Microsystems como

un mecanismo estándar para el desarrollo deaplicaciones basada en objetos Java distribuidos, sobreel ambiente Java.

• RMI llama a objetos Java remotos y pasándolos comoargumentos o valores de retorno.

• Usa Java object serialization• Antes de RMI, la única forma de lograr una

comunicación entre procesos en la plataforma Java era:– Usando las bibliotecas estándar de red de Java (java.net APIs)– No resuelven en el procesamiento distribuido.

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

20

Modelo de la arquitectura JAVA RMI

JRMP: Java Remote Method Protocol (Protocolo de comunicaciónentre procesos)

JRMP

ClienteJAVA

ServidorJAVA RMI

RMIStub

Capa de referenciasremotas

RMISkeleton

Capa de referenciasremotas

Page 11: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 11

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

21

Modelo de comunicaciones• Protocolo de comunicación entre procesos: Java Remote

Method Protocol (JRMP)– invocación de objetos Java viven en diferentes Java Virtual

Machines (VMs)– Invocación de los métodos del otro objeto en forma transparente– VMs en distintas computadoras– Tiene un mecanismo de recoleccion de basura– Tiene un mecanismo orientado a registro (rmiregistry) provee un

servicio de lookup simple no persistente– Actúa como el medio entre los clientes RMI y los objetos remotos– Intercepta los pedidos de los clientes y pasa los argumentos de

invocación, delega los pedidos de invocacion al RMI skeleton, yfinalmente pasa los valores de retorno de la ejecución del métodoal stub del cliente.

– Permite callbacks desde objetos servidores a aplicaciones cliente

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

22

Componentes de la arquitectura

• Cliente RMI.• Stub RMI.• Infraestructure RMI, consiste de 2 capas:

– la capa de referencias remotas (remote referencelayer)

– la capa de transporte.• RMI skeleton.• Servidor RMI.

Page 12: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 12

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

23

Ventajas sobre Java Sockets• No hay necesidad de diseñar un protocolo• Provee un ambiente orientado a objetos para

comunicación entre procesos.• No se requiere codificar y decodificar mensajes para

el intercambio de los datos.• Permite la administracion distribuida de recursos, el

uso de poder de procesamiento y carga balanceadaen un modelo de aplicación Java.

• Puede interoperar con componentes CORBA (RMI-IIOP (RMI sobre IIOP))

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

24

Limitaciones• Se puede usar solamente sobre una plataforma

Java.• No provee independencia del lenguaje en su modelo

distribuido como CORBA• Es orientado a la conexión (fuertemente acoplado):

problemas de escalabilidad• No provee un soporte específico de administración

de la sesiónA pesar de estas limitaciones, RMI y RMI-IIOP son la base

del modelo de la arquitectura J2EE dado por su granaceptacion en el paradigma de procesamiento distribudio

de Java y sus multiples facilidades.

Page 13: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 13

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

25

Microsoft DCOM• Microsoft Component Object Model (COM) provee

– una forma para que los componentes de software de Windows secomuniquen entre si

– Define un estándar binario y un estándar de red– Usa sistema operativo Windows.– Es una evolución de OLE (Object Linking and Embedding)– Es un modelo de aplicaciones distribuidas para los componentes de

ActiveX.• Microsoft Distributed Common Object Model (DCOM)

– respuesta al problema de procesamiento distribuido en unaplataforma Microsoft Windows.

– permite que aplicaciones COM se comuniquen entre si usando unmecanismo RPC

– emplea al protocolo DCOM sobre la red.

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

26

Modelo de la arquitectura Microsoft DCOM

ProtocoloDCOM

Cliente ComponenteServidor

COMRuntime

COMRuntime

RPC RPC

Page 14: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 14

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

27

Modelo de invocación de objetos• Aplica los conceptos de skeleton y stub con una

interfase definida que muestra como los métodos deun objeto COM pueden ser invocados remotamentesobre una red.

• Invocación de métodos de un objeto COM remotoigual que un objeto COM local.

• El stub es un Proxy para el cliente• El servidor registra los objetos por medio de un

registry• Los clientes descubren los objetos usando un

mecanismo de lookup.

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

28

Limitaciones

• DCOM provee soporte para procesamientodistribuido pero:– Limitado al ambiente de aplicaciones Microsoft

solamente.– Cerrado sobre una única plataforma (Windows)– Administración de estado– Problemas de Escalabilidad– Administración de sesión.

Page 15: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 15

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

29

Características comunes

• Aunque CORBA, RMI y DCOM difieren en suarquitectura básica y ambiente tienen en común:– Usan un modelo de comunicación con sincronismo

(request/response) que es fuertemente acoplado– Se basan en protocolos de comunicación binarios– Tienen una integración estricta con sus capas lógicas

Escalabilidad difícil

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

30

Message-Oriented Middleware(MOM)

• Usa un modelo de comunicación asincrónico conbajo acople

• la aplicación cliente no necesita conocer losreceptores de aplicación o los argumentos de susmétodos.

• las aplicaciones se comunican indirectamenteusando una cola de mensajes:– El cliente de la aplicación envía mensajes a la cola de

mensajes– La aplicación que recibe saca los mensajes de la cola.– La aplicación que envía los mensajes puede continuar

operando sin esperar por la respuesta de la aplicación.

Page 16: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 16

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

31

Arquitectura Básica(sistema de mensajería por colas)

• Las aplicaciones interactúan con la infraestructura de mensajespor medio de adaptadores, enviando y recibiendo mensajes.

• El despacho de mensajes es confiable y los mensajes sonpersistentes

S.O.

ClienteOrigen

S.O.

ClienteDestino

S.O.

Broker

Capa deencolado

Reglasconversión

Red

Adaptador Adaptador

Infraestructura de mensajes

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

32

Tecnologías basadas en MOM

• MOM:– SunONE Message Queue– IBM MQSeries– TIBCO– SonicMQ– Microsoft Messaging

Queue (MSMQ).

• MOM con JMS:– SunONE– TIBCO– IBM– BEA– Talarian– Sonic– Fiorano– Spiritwave

La plataforma Java provee una Java API (JMS-JavaMessage Service). Es parte de la especificación J2EE 1.3.

Page 17: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 17

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

33

JMS

• Usa modelos de mensajes punto apunto o Publish/Subscribe con lassiguientes características:– Capacidad transaccional completa– Despacho de mensajes confiable– Seguridad

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

34

Limitaciones de MOM sin JMS

• Problemas de portabilidad (APIs nativas paracomunicación con su infraestructura base)

• El mensaje MOM usa un formato de mensajepropietario sin adherir a ningún estándar

JMS permite un forma estandarizada de comunicarsecon un proveedor MOM son tener que usar una API deun producto especifico. Es un avance hacia los estándarabiertos con mayor flexibilidad para conectar diversasaplicaciones entre si.

Page 18: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 18

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

35

Dificultades de integración• Mantener de varias versiones de stubs/skeletons• La calidad del servicio ( Quality of Service (QoS))

tiene objetivos tales como Escalabilidad,Performance y Disponibilidad

• La interoperabilidad de aplicaciones sobreplataformas heterogéneas

• No son esquemas amistosos para los firewalls y noson capaces de ser accedidos desde la Internet.

• Cada comunidad de desarrolladores tiende a unaplataforma especifica.

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

36

Aplicaciones comerciales sobre Web• En el modelo de aplicaciones comerciales basado

en Internet se basa en hacer procesamientocomercial complejo con el apoyo de servidorescentralizados:– La primera generación eran servidores Web

• páginas estáticas• por medio del protocolo HTTP (HyperText Transfer Protocol)

– Agregado de tecnologías: server-side scripting (CGI, NSAPIe ISAPI.

• Aplicaciones de empresas para Internet:– modelo de negocio del tipo business-to-business (B2B) que

se llamo business-to-consumer (B2C).

B2B B2C

Page 19: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 19

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

37

J2EE(Java 2 Platform, Enterprise Edition)

• J2EE es una plataforma de programación paradesarrollar y correr aplicaciones distribuidas, basadasen componentes que corren en un servidor deaplicación.

• Es parte de la plataforma Java• Se considera informalmente como un lenguaje o

estándard porque los productos deben respetarciertos requerimientos.

• Tiene múltiples especificaciones de APIs (JDBC,client-side applets, RPC, CORBA) y define como secoordinan.

• Incluye Enterprise Java Beans, Servlets, JavaServerPages y otras del tipo Web Services.

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

38

Arquitectura J2EE

Applets yAplicaciones

Base deDatos

ClientesInternet

Capa (Tier) depresentación

Capa (Tier) deaplicación

Capa (Tier) deIntegración

HTTPIIOP

Web Container

EJB Container

SQL/JDBC Aplicacionesexistentes

J2EE Server

Page 20: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 20

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

39

Arquitectura• Tiene tres capas lógicas

– separación clara entre los componentes– define roles y responsabilidades.– la funcionalidad de cada capa o tier es:

• Capa Presentación.– Contiene componentes Web sobre HTTP– Administración de Sesiones– Despacho de contenido independiente del dispositivo– Invocación a componentes de capas de aplicación comerciales.

• Capa de Aplicación. (capa comercial o del negocio)– procesamiento de la parte central de la lógica del negocio– workflow y la automatización.

• Capa de Integración.– conexión y comunicación con grandes Sistemas de información

comerciales (Enterprise Information Systems (EIS)), aplicaciones debase de datos, aplicaciones antiguas o aplicaciones en mainframe.

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

40

XML (eXtensible Markup Language)• Lenguaje de marcado ampliable o extensible desarrollado

por el World Wide Web Consortium (W3C).• Es una versión simple de SGML.• Su objetivo principal es conseguir una página web más

semántica.• Separa la estructura del contenido• Permite el desarrollo de vocabularios modulares• Se uso como estándar para el intercambio de datos entre

diversas aplicaciones o software con lenguajes privados(SOAP)

• Al igual que el HTML, se basa en documentos de textoplano en los que se utilizan etiquetas para delimitar loselementos de un documento.

Page 21: Web Servicesmaterias.fi.uba.ar/sweb/2c-2005/WebServicesResumen.pdf · 2005. 10. 3. · 1: Sistemas Distribuidos –Introducción. –Sistemas Distribuidos •Middleware –La Importancia

WEB SERVICES

EGRIET (2005) - Profesores María Feldgen y Osvaldo Clúa 21

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

41

Extensible Markup Language (XML)• permite definir datos portables en un formato

estructurado y auto descriptivo• fue adoptado por la industria como el medio de

comunicación para intercambio electrónico de datos.• mecanismo de intercambio de datos entre

aplicaciones• promueve la interoperabilidad entre aplicaciones• aumenta la posibilidad de escalabilidad

La combinación de la plataforma J2EE con XML ofreceun framework estándar para comunicación entre

aplicaciones B2B sobre redes.

Web Services

EGRIET (2005) Web Services(Profesores María Feldgen y Osvaldo Clúa)

42

Web Services• Es una colección de protocolos y estándares que

sirve para intercambiar datos entre aplicaciones.• Intercambio de datos entre distintas aplicaciones de

software desarrolladas en lenguajes deprogramación diferentes y ejecutadas sobrecualquier plataforma sobre Internet y redes en gral.

• La interoperabilidad se consigue mediante laadopción de estándares abiertos.

• Las organizaciones OASIS y W3C son los comitésresponsables de la arquitectura y reglamentación delos servicios Web.