curso 2004/05 tema 2: arquitecturas software de varios
TRANSCRIPT
![Page 1: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/1.jpg)
1
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
2
Tema 2:Arquitecturas Software de varios niveles en Java
IntroducciĂłn a los Servicios Web
INGENIERĂŤA del SOFTWARECurso 2004/05
A. Goñi. Dpto. LSI, UPV/EHU
3
ĂŤndice
• Introducción• HTTP en 5 minutos• XML en 5 minutos• SOAP• WSDL • Usar Servicios Web en JDeveloper• Otros temas
![Page 2: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/2.jpg)
2
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
4
Introducción: qué es un Servicio Web
• Definición dada por el W3C– A Web service is a software system designed to support
interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards
• Un Servicio Web es – (Parte de) Lógica de negocio
• La interfaz se define en un estándar basado en XML (WSDL)
– Accesible mediante protocolos de Internet• Habitualmente HTTP y SOAP (XML)
A. Goñi. Dpto. LSI, UPV/EHU
5
IntroducciĂłn: Ventajas de los SW
CLIENTESERVIDOR
HTTP
XML
SERVIDORCLIENTE
JRMP / IIOP
TCP/IP
RMI
CLIENTESERVIDOR
IIOP
TCP/IP
CORBA
Lenguaje JAVA
Interfaces definidas en JAVA
Varias máquinas y S.O.
Varios lenguajes: Java, C++…
Interfaces definidas en IDL
Varias máquinas y S.O.
NO HAY RESTRICCIĂ“N SOBRE LENGUAJES, PLATAFORMAS, ETC.
CLIENTE
. NET Remoting
SERVIDOR
Varios lenguajes .NET: C++, C#, VB.NET …
Interfaces definidas en .NET
Máquinas Windows (?)
(-) Sin embargo, tipos de datos en las llamadas son más simples…
(Sustituye a DCOM)
(+) Favorecen la interoperabilidad
(+) Paso a través de firewalls
![Page 3: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/3.jpg)
3
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
6
HTTP en 5 minutos
• HTTP es un protocolo Cliente/Servidor de Internet (TCP/IP) del nivel de aplicación, que proporciona servicios de transmisión de datos entre aplicaciones.
CLIENTE HTTP SERVIDOR HTTP
PeticiĂłn
Respuesta
Ejemplos de comandos en peticiones:
GET Para leer una página Web
POST: Para enviar datos a una página Web
Ejemplos de respuestas:
Estados
Datos
CĂłdigos de error
A. Goñi. Dpto. LSI, UPV/EHU
7
HTTP en 5 minutos
![Page 4: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/4.jpg)
4
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
8
HTTP en 5 minutos[85] sisf00 > telnet sipx55.si.ehu.es 8080Trying 158.227.112.155...Connected to sipx55.si.ehu.es.Escape character is '^]'.GET /iso/jsp/public_html/pagina.jsp HTTP/1.0
HTTP/1.0 200 OKContent-Type: text/html;charset=windows-1252Set-Cookie2: JSESSIONID=pjqb72fy21;Version=1;Discard;Path="/iso"Set-Cookie: JSESSIONID=pjqb72fy21;Path=/isoServlet-Engine: Tomcat Web Server/3.2.3 (JSP 1.1; Servlet 2.2; Java 1.3.1_02; Windows 2000 5.0 x86; java.vendor=Sun Microsystems Inc.)
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Prueba</title></head><body><h2> Hola null<br>Estamos a: Tue May 03 13:28:53 CEST 2005</h2></body></html>Connection closed by foreign host.[65] sisf00 >
Con telnet se puede abrir un socketinteractivo con un servidor HTTP
Con GET se solicita una página web(en este caso es un JSP)
Y el contenido de la página HTML
// Añadir lĂnea en blanco
El servidor HTTP envĂa datos (protocolo, cĂłdigo respuesta, informaciĂłn sobre el servidor,…)
A. Goñi. Dpto. LSI, UPV/EHU
9
HTTP en 5 minutos
![Page 5: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/5.jpg)
5
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
10
HTTP en 5 minutos[107] sisf00 > telnet sipx55.si.ehu.es 8080Trying 158.227.112.155...Connected to sipx55.si.ehu.es.Escape character is '^]'.POST /iso/jsp/public_html/pagina.jsp HTTP/1.0Content-type: application/x-www-form-urlencodedContent-length: 14
Nombre=AlfredoHTTP/1.0 200 OKContent-Type: text/html;charset=windows-1252Set-Cookie2: JSESSIONID=crb244gx61;Version=1;Discard;Path="/iso"Set-Cookie: JSESSIONID=crb244gx61;Path=/isoServlet-Engine: Tomcat Web Server/3.2.3 (JSP 1.1; Servlet 2.2; Java 1.3.1_02; Windows 2000 5.0 x86; java.vendor=Sun Microsystems Inc.)
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Prueba</title></head><body><h2> Hola Alfredo<br>Estamos a: Tue May 03 14:11:01 CEST 2005</h2></body></html>Connection closed by foreign host.[108] sisf00 >
Con el comando POST, se pueden enviar datos al servidor HTTP.
En este caso es el contenido de un parámetro, pero en general, puede ser cualquier fichero.
A. Goñi. Dpto. LSI, UPV/EHU
11
XML en 5 minutos
• XML (eXtensible Markup Language) es un lenguaje de marcas o etiquetas que sirve para describir datos– Definido por el W3C en 1996, a partir de
otro lenguaje: SGML, del cual deriva también HTML
– HTML es otro lenguaje de marcas diseñado para mostrar datos
• XML para almacenar, comunicar, no mostrar datos
– Es extensible: se pueden definir nuevas marcas o etiquetas (tags)
![Page 6: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/6.jpg)
6
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
12
XML en 5 minutos
ENCABEZAMIENTO XML: VERSIĂ“N Y CONJUNTO DE CARACTERES
ETIQUETAS: se deben abrir y cerrar <nombreSala> …</nombreSala>
ATRIBUTOS (siempre entre comillas, simples o dobles):
<sala imagen=“principe1.gif”>
ETIQUETAS SIN DATOS ASOCIADOS: <nombreSala/> Equivalente a: <nombreSala></nombreSala>
OBLIGATORIO UN ĂšNICO ELEMENTO RAĂŤZ: <entradasTodasSalas>
ANIDACIĂ“N DE MARCAS: toda marca que se cierra debe corresponder a la Ăşltima marca abierta y no cerrada
En las etiquetas: MAYĂšSCULAS ? minĂşsculas
A. Goñi. Dpto. LSI, UPV/EHU
13
XML en 5 minutos
En un navegador se puede ver el fichero XML; abrir y cerrar “etiquetas”
![Page 7: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/7.jpg)
7
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
14
Documentos XML bien formados vs. Documentos XML válidos
• Un documento XML está bien formado si cumple las restricciones anteriores– No hay nodo raĂz, atributos no entre comillas,
mal anidamiento, etc…• Pero es posible que no sea un documento XML
válido– Nombres de etiquetas, atributos erróneos– No aparición de alguna etiqueta obligatoria– …
• Se puede definir la estructura de un documento XML usando DTD o XML-Schema
• Qué etiquetas deben/pueden venir, qué atributos, en qué orden, etc.
A. Goñi. Dpto. LSI, UPV/EHU
15
Llamadas a servicios remotos usando XML y HTTP
CLIENTE
SERVIDOR
HTTPXML
Se usa HTTP para la transmisiĂłn de datos XML entre las aplicaciones CLIENTE y SERVIDOR
Se puede definir una estructura de documento XML que describa una llamada a un procedimiento remoto
POST /gestorBilletes HTTP/1.0Content-type: text/xmlContent-length: XX
<?xml version='1.0' encoding='windows-1252'?><llamadaRemota>
<getBillete><nombre>Pepe</nombre>
</getBillete></llamadaRemota>
Por ejemplo, para llamar al mĂ©todo getBillete(nombre), podrĂamos hacerlo asĂ:
![Page 8: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/8.jpg)
8
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
16
Se necesita un estándar para enviar el mensaje con la llamada remota
CLIENTESERVIDOR
HTTP
XML
Se usa HTTP para la transmisiĂłn de datos XML entre las aplicaciones CLIENTE y SERVIDOR
Se puede definir una estructura de documento XML que describa una llamada a un procedimiento remoto
SIN EMBARGO: el documento XML que describe llamadas a procedimientos remotos debe seguir un estándar si no se quiere construir un servidor distinto cada vez, para que extraiga los métodos y parámetros
SOAP: Simple Object Access Protocol
A. Goñi. Dpto. LSI, UPV/EHU
17
SOAP: Simple Object Access Protocol
• SOAP 1.2 es recomendación W3C desde 24/3/2004 (http://www.w3.org/TR/soap/)
• Define:– Formato de mensajes de comunicaciĂłn en XML– CĂłmo deberĂa ser transportado un mensaje vĂa
Web (HTTP) o e-mail (SMTP)– Reglas que se siguen cuando se procesa un
mensaje SOAP– Cómo se convierte una llamada RPC de un cliente
en un mensaje SOAP, cĂłmo se envĂa al servidor, cĂłmo se convierte en una llamada RPC en el servidor, cĂłmo se convierte la respuesta en un mensaje SOAP y se devuelve al cliente
![Page 9: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/9.jpg)
9
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
18
Formato de un mensaje SOAP
SOAP Envelope
SOAP header
Bloque Header
SOAP BodyBloque Body
Bloque Header
Bloque Body
El mensaje se mete en un sobre (envelope)
El mensaje se compone de una cabecera (header) OPCIONAL y de un cuerpo (Body) OBLIGATORIO
La cabecera (header) se utiliza para enviar informaciĂłn sobre identificadores de transacciones, certificados de seguridad, informaciĂłn sobre coordinaciĂłn, etc.
El cuerpo (body) contiene las llamadas a los procedimientos remotos (junto con los parámetros), o bien las respuestas de dichos procedimientos remotos, o bien información sobre el error que se haya producido.
A. Goñi. Dpto. LSI, UPV/EHU
19
Ejemplo de llamada SOAP
getNumBillete(“Pepe”)
nom
![Page 10: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/10.jpg)
10
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
20
Ejemplo de resultado en SOAP
Resultado de la llamada a getNumBillete(“Pepe”)
==> 2 (como int)
A. Goñi. Dpto. LSI, UPV/EHU
21
Se necesita un estándar que describa el Servicio Web
• ¿Cómo saber qué etiquetas XML podemos poner en el mensaje SOAP?<getNumBillete…><nom …>
• Es necesario conocer la definición del servicio Web (esto es, su interfaz)
• Los SW se describen en WSDL
WSDL: Web Services DescriptionLanguage
![Page 11: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/11.jpg)
11
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
22
WSDL: Web Services DescriptionLanguage
• WSDL 1.1 es una Nota W3C desde 15/3/2001 (http://www.w3.org/TR/wsdl/)
• Define:– Una descripción abstracta de un servicio Web
• El sistema de tipos usados para describir los mensajes (basado en XML Schema)
• Mensajes implicados en invocar una operación• Operaciones individuales compuestas de distintos patrones de
intercambio de mensajes• Una interfaz que agrupa las operaciones que forman el servicio
– Una descripción concreta del servicio Web• El enlace (binding) de la interfaz a un protocolo de transporte• Dirección o punto de acceso (endpoint) del enlace (binding)• Descripción de un servicio como una colección de todos los
enlaces (bindings ) de la misma interfaz
A. Goñi. Dpto. LSI, UPV/EHU
23
WSDL: Web Services DescriptionLanguage
Documento WSDL
DE
SCR
IPC
IĂ“N
A
BST
RA
CT
AD
EL
SE
RV
ICIO
Types
Message (REQUEST)
Message (RESPONSE)
Message (REQUEST)
Message (RESPONSE)
Operation 1 Operation 2
Interface
binding 1
endpoint 1
binding 2
endpoint 2
binding 3
endpoint 3
ServiceDE
SCR
IPC
IĂ“N
CO
NC
RE
TA
D
EL
SE
RV
ICIO
TIPOS DE DATOS USADOS (los de XML Schema)
PARA CADA OPERACIĂ“N
MENSAJES DE PETICIĂ“N Y RESPUESTA
SERVICIO ABSTRACTO (CONJUNTO DE OPERACIONES)
TODAS LAS IMPLEMENTACIONES DEL
SERVICIO
ENLACES A PROTOCOLOS DE TRANSPORTE
DIRECCIONES DE LOS ENLACES
![Page 12: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/12.jpg)
12
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
24WSDL
Types
Message (REQUEST)
Message (RESPONSE)
Message (REQUEST)
Message (RESPONSE)
Operation 1 Operation 2
Interface
binding 1
endpoint 1
binding 2
endpoint 2
binding 3
endpoint 3
Service
A. Goñi. Dpto. LSI, UPV/EHU
25
WSDL: Web Services DescriptionLanguage
types
– Una descripción abstracta de un servicio Web
• El sistema de tipos usados para describir los mensajes (basado en XML Schema)
• Mensajes implicados en invocar una operación• Operaciones individuales compuestas de distintos patrones de intercambio de mensajes• Una interfaz que agrupa las operaciones que forman el servicio
– Una descripción concreta del servicio Web• El enlace (binding) de la interfaz a un protocolo de transporte• Dirección o punto de acceso (endpoint) del enlace (binding)• Descripción de un servicio como una colección de todos los enlaces (bindings) de la misma interfaz
![Page 13: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/13.jpg)
13
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
26
WSDL: Web Services DescriptionLanguage
message
– Una descripción abstracta de un servicio Web• El sistema de tipos usados para describir los mensajes (basado en XML Schema)
• Mensajes implicados en invocar una operación
• Operaciones individuales compuestas de distintos patrones de intercambio de mensajes• Una interfaz que agrupa las operaciones que forman el servicio
– Una descripción concreta del servicio Web• El enlace (binding) de la interfaz a un protocolo de transporte• Dirección o punto de acceso (endpoint) del enlace (binding)• Descripción de un servicio como una colección de todos los enlaces (bindings) de la misma interfaz
A. Goñi. Dpto. LSI, UPV/EHU
27
WSDL: Web Services DescriptionLanguage
– Una descripción abstracta de un servicio Web• El sistema de tipos usados para describir los mensajes (basado en XML Schema)• Mensajes implicados en invocar una operación
• Operaciones individuales compuestas de distintos patrones de intercambio de mensajes
• Una interfaz que agrupa las operaciones que forman el servicio
– Una descripción concreta del servicio Web• El enlace (binding) de la interfaz a un protocolo de transporte• Dirección o punto de acceso (endpoint) del enlace (binding)• Descripción de un servicio como una colección de todos los enlaces (bindings) de la misma interfaz
portType
operation
![Page 14: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/14.jpg)
14
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
28
WSDL: Web Services DescriptionLanguage
– Una descripción abstracta de un servicio Web• El sistema de tipos usados para describir los mensajes (basado en XML Schema)• Mensajes implicados en invocar una operación• Operaciones individuales compuestas de distintos patrones de intercambio de mensajes• Una interfaz que agrupa las operaciones que forman el servicio
– Una descripción concreta del servicio Web
• El enlace (binding) de la interfaz a un protocolo de transporte
• Dirección o punto de acceso (endpoint) del enlace ( binding)• Descripción de un servicio como una colección de todos los enlaces (bindings) de la misma
interfaz
binding
A. Goñi. Dpto. LSI, UPV/EHU
29
WSDL: Web Services DescriptionLanguage
– Una descripción abstracta de un servicio Web• El sistema de tipos usados para describir los mensajes (basado en XML Schema)• Mensajes implicados en invocar una operación• Operaciones individuales compuestas de distintos patrones de intercambio de mensajes• Una interfaz que agrupa las operaciones que forman el servicio
– Una descripción concreta del servicio Web• El enlace (binding) de la interfaz a un protocolo de transporte
• Dirección o punto de acceso (endpoint) del enlace (binding)• Descripción de un servicio como una colección de todos los
enlaces (bindings ) de la misma interfaz
port
service
![Page 15: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/15.jpg)
15
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
30
Punto de acceso (endpoint) al SW
A. Goñi. Dpto. LSI, UPV/EHU
31
![Page 16: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/16.jpg)
16
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
32
RESULTADO
Mensaje SOAP con la
respuesta
A. Goñi. Dpto. LSI, UPV/EHU
33
Usar SW en JDeveloper
• Afortunadamente, los distintos entornos ofrecen herramientas y asistentes que generan los WSDL y SOAP de manera automática, a partir de clases implementadas en distintos Leng. Prog.
• Los programadores pueden seguir trabajando con sus lenguajes y plataformas habituales
• JDeveloper, en concreto, lo permite
![Page 17: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/17.jpg)
17
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
34
Crear un SW en Java
A. Goñi. Dpto. LSI, UPV/EHU
35
Se selecciona la clase Java para la que se quiere crear el SW
![Page 18: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/18.jpg)
18
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
36Seleccionar los métodos que se quieren publicar en el SW
¡Cuidado! No se pueden crear SW para métodos cuyos tipos no sean los básicos, String,
Date, Calendar,… o Array[] de ellos
A. Goñi. Dpto. LSI, UPV/EHU
37
Se indica la direcciĂłn del punto de acceso
![Page 19: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/19.jpg)
19
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
38
El WSDL se genera automáticamente
A. Goñi. Dpto. LSI, UPV/EHU
39
Punto acceso
![Page 20: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/20.jpg)
20
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
40Creamos una clase Java cliente del SW
A. Goñi. Dpto. LSI, UPV/EHU
41
![Page 21: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/21.jpg)
21
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
42
Añadimos el código con la llamada al SW (en Java)
A. Goñi. Dpto. LSI, UPV/EHU
43
Ejecutamos el SW
![Page 22: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/22.jpg)
22
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
44
Ejecutamos el cliente del SW
A. Goñi. Dpto. LSI, UPV/EHU
45
Y activamos el Monitor TCP para ver los mensajes SOAPTools => TCP Packet Monitor
![Page 23: Curso 2004/05 Tema 2: Arquitecturas Software de varios](https://reader031.vdocumento.com/reader031/viewer/2022012411/616a67d611a7b741a3522473/html5/thumbnails/23.jpg)
23
IngenierĂa del Software A. Goñi, J.R. Zubizarreta, J. IturriozDpto. LSI. Facultad de Informática. UPV/EHU
A. Goñi. Dpto. LSI, UPV/EHU
46
Mensaje SOAP con la peticiĂłn
Mensaje SOAP con la respuesta
A. Goñi. Dpto. LSI, UPV/EHU
47
Otros temas
• UDDI (Universal Description, Discovery and Integration)– Es un directorio distribuido donde las empresas pueden registrar,
eliminar y buscar servicios web.– Empresas como IBM, Microsoft, etc. mantienen nodos con esa
información.• Se pretende construir una infraestructura para construir
aplicaciones integrando servicios web entre empresas (B2B)• Herramientas para traducir de WSDL a un lenguaje (Java,
lenguaje .NET, …)– Apache AXIS proporciona compiladores Java a WSDL y de WSDL
a Java• Definición de otros estándares como WS-Coordination, WS-
Transaction, WS-Routing– ¿Qué pasa si se quiere reservar un viaje completo?
• Reservar vuelo => Usando SW• Reservar hotel => Usando SW• ¿Y si quisiéramos que fuera una transacción?