Professional Documents
Culture Documents
Hipertexto
Web interactivo
Objetos en la Web
Servicios Web
Estndares de Propsito General Infraestructura Comn Estndares bsicos (SOAP, WSDL, UDDI, etc.)
F Funcin n
1994
1995
Tiempo
1996
1997
2002
theserverside.com
http://www.theserverside.com/cartoons/TalesFromTheServerSide.tss
Curso 5007437 Conceptos y estndares de arquitecturas orientadas a servicios Web
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
Antes d A del lW Web, b dos d de d los l primeros i estndares d para intercambiar i bi informacin en Internet (protocolos capa aplicacin).
El protocolo telnet y el protocolo de correo electrnico Simple Mail Transfer Protocol (SMTP). (SMTP) SMTP se extendi con Multi-purpose Internet Mail Extensions (MIME) para soportar intercambio de ficheros de datos ms ricos (audio, video, imgenes) En 1973 se publica File Transfer Protocol (FTP) que soporta la transferencia de ficheros. FTP soport el primer sistemas de informacin distribuida tipo Web y Goopher supuso el primer protocolo de aplicacin que permita un sencillo sistema cliente servidor y un GUI sencillo.
Curso 5007437 Conceptos y estndares de arquitecturas orientadas a servicios Web
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
Cdigo usuario
Cdigo de SO
Hardware
La Web:HTTP
El ncleo l de d las l tecnologas t l Web W b hoy h en da d son HTTP, HTML, servidores Web y navegadores Web HTTP: Hyper yp Text Transport p Protocol Protocolo genrico, sin estado que gobierna la transferencia de ficheros por la red. Desarrollado en el Laboratorio de fsica de partculas europeo (CERN) por Tim Berners Lee1 Este equipo le pone nombre (World Wide Net) L desarrollos Los d ll posteriores t i los l realiza li el l W3C2 HTTP se desarroll para soportar hipertextos En p particular soporta p HTML ( (Hyper yp Text Markup p Language)
1 Tim Berners Lee: Un visionario. Vase artculo sobre el Semantic Web (http://www.w3.org/2001/sw/) 2 W3C World Wide Web Consortium (http://www.w3.org/) es una iniciativa creada en 1994, en la que participan 400 organizaciones.
Curso 5007437 Conceptos y estndares de arquitecturas orientadas a servicios Web
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
10
La Web:HTTP
La informacin se intercambia en HTTP en forma de documentos identificados por URIs (Uniform Resource Identifier).
Los documentos pueden ser estticos (se devuelve el documento) o dinmicos (el contenido del documento se genera en el momento del acceso)
Cada recurso accesible en Internet, tiene un URL (Uniform Resource Locator) que describe como acceder a l
Un URL da el nombre del protocolo, su direccin, direccin La descripcin jerrquica del recurso sobre la mquina (path)
11
Intermediarios en la Web
Proxy, gateway y tunnel son conceptos que permiten abordar temas de Proxy integracin como firewalls, balance de carga, movimiento de datos, etc.
proxy: Un programa intermediario que acta como cliente y servidor con el propsito de hacer peticiones en nombre de otro cliente (acta en nombre de un cliente) gateway: Un servidor que acta como un intermediario de otro servidor en una peticin (actan en nombre de un servidor) Tunnel programa intermediario que acta como un relevo entre dos conexiones (simplemente conecta dos redes).
tunnel HTTP
firewall
Cliente HTTP
proxy HTTP
firewall
gateway HTTP
Servidor HTTP
12
Limitaciones de HTTP
HTTP no encripta i t los l datos d t antes t de d enviarlos i l Netscape desarroll el Secure Sockets Layer (SSL), un protocolo que utiliza una clave de encriptacin pblica para datos transferidos sobre b TCP/IP / HTTPS = HTTP sobre SSL. Requiere que el servidor y el browser se ejecuten sobre SSL
cliente HTTPS servidor HTTPS capa p aplicacin p capa red
13
Limitaciones de HTTP
HTTP no tiene ti estado, t d es decir, d i el l protocolo t l no soporta t ninguna i forma f de d almacenamiento de informacin en las transacciones HTTP. Si el mismo cliente manda dos peticiones seguidas, no hay i di i de indicacin d la l relacin l i entre las l dos d peticiones i i El responsable de mantener y gestionar la informacin del estado es el desarrollador de la aplicacin. Para mantener el estado sobre una mquina cliente se pueden utilizar cookies
p q pequeas estructuras de datos que q el servidor p pide al cliente HTTP q que almacene en la maquina local La localizacin real del almacenamiento de las cookies depende del navegador
14
15
16
middleware
17
Applets
Los navegadores L d estn t pensados d para presentar t documentos d t HTML estticos Solucin: Applets, cdigo Java embebido en el documento HTML y ejecutados j d por la l MVJ del d l navegador d El cliente se tiene que descargar cada vez que se usa, pero para clientes ligeros es una solucin comn.
Carga Almacn de Applets
Descarga
Recibe
Peticin
Servidor HTTP
18
servidor Web
middleware
ALTERNATIVA
Usar un cliente especializado no basado en navegador que contenga el cdigo para interactuar a travs de HTTP (cliente/servidor clsico) orientadas a servicios Web 19
20
Programas CGI
servidor Web
co ortafuegos
navegador
Los parmetros necesarios para el programa se envan como parmetros del URL U El servidor Web inicia el programa como un proceso separado. Fast-CGI, reducen la sobrecarga asociada con la creacin de nuevos procesos permitiendo llamadas a procesos que se estn ejecutando ya. Estos programas pueden interaccionar con el Middleware.
middleware
21
22
S l t Servlets
cortafuego c os
Servidor S r or W Web Java server process Hilo Java cliente
navegador g
Posibilidades Servlets
Se pueden guardar resultados de peticiones idnticas que han hecho diferentes clientes para no tener que volver a ejecutar realmente la peticin Se puede hacer seguimiento de la sesin, compartir conexiones a la bases de datos
middleware
Tecnologas relacionadas con CGIs y Servlets que embeben cdigo en pginas HTML que ser interpretado en el servidor
Active Server Pages g (ASP) ( ) Java Server Pages (JSP)
ASP.NET
23
S l t Servlets
invocacin HTTP + XML
http://artieda.cps.unizar.es/wfsGazetteerGns/servlets/GNS? REQUEST=GETFEATURE &PROPERTYNAME=*&TYPENAME=gns& FILTER=<Filter> <PropertyIsLike> <PropertyName>name</PropertyName> <Literal>Zaragoza</Literal> </PropertyIsLike> </Filter> &OUTPUTFORMAT=GML2
GML result
View
Servlet Se v et
Controller
SQL sentence
Oracle Utilities
View
M d l Model
XML result Curso 5007437 Conceptos y estndares de arquitecturas orientadas a servicios Web
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
24
theserverside.com
http://www.theserverside.com/cartoons/TalesFromTheServerSide.tss
Curso 5007437 Conceptos y estndares de arquitecturas orientadas a servicios Web
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
25
26
27
28
cortafu uegos
HTTP
capa presentacin
29
30
Java transaction API (JTA) Java Naming and Directory Interface (JNDI)
31
theserverside.com
http://www.theserverside.com/cartoons/TalesFromTheServerSide.tss
Curso 5007437 Conceptos y estndares de arquitecturas orientadas a servicios Web
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
32
33
34
35
theserverside.com
http://www.theserverside.com/cartoons/TalesFromTheServerSide.tss
Curso 5007437 Conceptos y estndares de arquitecturas orientadas a servicios Web
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
36
Message-driven g bean: se encargan g de las interacciones asncronas con el cliente, ,a diferencia de los session bean y los entity bean que interaccionan al estilo RPC. Las interacciones se hacen a travs del JMS
37
theserverside.com
http://www.theserverside.com/cartoons/TalesFromTheServerSide.tss
Curso 5007437 Conceptos y estndares de arquitecturas orientadas a servicios Web
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
38
Ms all de J2EE, los servidores de aplicaciones ofrecen herramientas de administracin, gestin, etc. Se encuentran caractersticas similares en plataformas de objetos distribuidos (CORBA COM+) (CORBA,
Curso 5007437 Conceptos y estndares de arquitecturas orientadas a servicios Web
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
39
Soporte de los SA a la capa de aplicacin y conexin cone in con la capa gestin recursos rec rsos
capa presentacin
Curso 5007437 Conceptos y estndares de arquitecturas orientadassistema a servicios Web aplicaciones sistema
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
GBdD
empresa 1
empresa 2
sistema empresa n
40
41
multidevice content delivery Servlets JSPs XML support Web services support
personalization logic
42
43
middleware
middleware
Curso 5007437
44
45
ORB 2
Visibroker
OrbixWeb
2 Protocolos IIOP! Orbix
CORBA 2.0 COMPLIANT
GIOP
GIOP
IIOP
IIOP
Internet (TCP/IP)
Java Applet
Java App
C++ Java
Orbix Web
IIOP
Visibroker
Todos los productos que cumplan con el estndar CORBA 2.0 pueden i t interoperar a travs t del d l protocolo t l IIOP (Internet (I t t Inter I t ORB protocol) t l)
Curso 5007437 Conceptos y estndares de arquitecturas orientadas a servicios Web
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
46
middleware
protocolo l middleware-remoto protocolo comunicacin red area global
middleware
protocolo middleware-remoto protocolo comunicacin red area global
47
48
49
B2B a nivel de middleware mediante Solucin de facto para el problema t tunneling li de cruzar cortafuegos
GIOP/IIOP sobre HTTP
Tnel HTTP
cliente
Servidor Web
Servidor Web
cliente
middleware
protocolo l middleware remoto protocolo comunicacin red de rea global
middleware
protocolo middleware remoto protocolo comunicacin red de rea global
50
Representacin de datos
La utilizacin de FTP, FTP SMTP y HTTP para intercambio de mensajes implica:
Identificar una sintaxis y semntica comn para los datos intercambiados
En los middlewares convencionales, el problema de la representacin de datos se oculta tras los IDL (Language Description Interface)
El IDL define el interfaz La implementacin del IDL utiliza una representacin de datos intermedia que especifica como se representa cada tipo de datos utilizado de forma independiente de la mquina.
En sistemas basados en mensaje o intercambio de ficheros el formato y semntica se determina por el estndar EDIFACT (Electronic Data Interchange For Administration Administration, Commerce and Transport)
EDIFACT define plantillas para las diferentes partes de un mensaje y su contenido.
51
EDIFACT
EDIFACT define d fi una coleccin l i exhaustiva h ti de d tipos ti de d mensajes, j p.e.: Calidad de datos Respuesta p de orden de compra p Solicita Estado de la orden de compra Factura Instrucciones de pago, pago descripcin producto, producto moneda, moneda etc. etc La utilizacin de estndares universales lleva a estndares complejos y tipos de mensajes excesivamente complejos e innecesarios En muchos casos solo se utiliza una parte del estndar, aunque la maquinaria necesaria para procesar estos mensajes se realizan para el caso general. EDIFACT slo aborda transacciones comerciales. Los tipos de informacin a intercambiar en el Web son infinitos.
52
XML
En los E l servicios i i Web, W b la l alternativa lt ti a EDIFACT es eXtensible Xt ibl Markup M k Language L (XML) Se focaliza en la sintaxis no en la semntica U estructura Una t t definida d fi id ayuda d al los usuarios i a deducir d d i la l semntica ti Facilita el desarrollo de herramientas que procesan (parser) los documentos Se especifican las restricciones sobre la estructura de documentos mediante D Document t Type T D Definitios fi iti (DTDs) (DTD ) o schemas h XML XML. EDIFACT define una representacin universal de p.e. una factura XML no define la representacin de una factura. Una aplicacin necesita el XML q que e la representa representa, y el DTD para e extraer traer la informacin Las aplicaciones pueden utilizar distintos documentos XML, y debern conocer la semntica. Diferentes consorcios pueden definir DTDs con la semntica bien definida P.e. el consorcio RosettaNet define tipos de documentos en XML para B2B.
Curso 5007437 Conceptos y estndares de arquitecturas orientadas a servicios Web
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
53