Escolar Documentos
Profissional Documentos
Cultura Documentos
Applications
Directory service
Web Services
Security Choreography
XML
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Figura 9.2 El servicio de agente de viaje combinado con otros servicios web
flight booking a
flight booking
Client
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
envelope header
header element header element
body
body element body element
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
env:envelope xmlns:env =namespace URI for SOAP envelopes env:body m:exchange xmlns:m = namespace URI of the service description m:arg1 Hello m:arg2 World
En esta figura y la siguiente, cada elemento XML se representa por una caja sombreada con su nombre en cursiva seguido de los atributos y su contenido
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
env:envelope
env:body
m:exchangeResponse
xmlns:m = namespace URI for the service description
m:res1
World
m:res2
Hello
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
POST /examples/stringer endpoint address Host: www.cdk4.net Content-Type: application/soap+xml Action: http://www.cdk4.net/examples/stringer#exchange <env:envelope xmlns:env= namespace URI for SOAP envelope <env:header> </env:header> <env:body> </env:body> </env:Envelope>
action
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Soap message
HTTP header
import java.rmi.*; public interface ShapeList extends Remote { int newShape(GraphicalObject g) throws RemoteException; 1 int numberOfShapes()throws RemoteException; int getVersion() throws RemoteException; int getGOVersion(int i)throws RemoteException; GraphicalObject getAllState(int i) throws RemoteException; }
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Figura 9.8 Implementacin de Java del servidor ShapeList import java.util.Vector; public class ShapeListImpl implements ShapeList { private Vector theList = new Vector(); private int version = 0; private Vector theVersions = new Vector(); public int newShape(GraphicalObject g) throws RemoteException{ version++; theList.addElement(g); theVersions.addElement(new Integer(version)); return theList.size(); } public int numberOfShapes(){} public int getVersion() {} public int getGOVersion(int i){ } public GraphicalObject getAllState(int i) {} }
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
5 6
definitions
types
message
interface
bindings
services
how
where
concrete
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Name
Messages sent by
Server Reply
Delivery
Fault message
In-Only
Robust In-Only Out-In Out-Only Robust Out-Only
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
operation name = "newShape" pattern = In-Out input message = tns:ShapeList_newShape output message ="tns:ShapeList_newShapeResponse" tns target namespace xsd XML schema definitions
The names operation, pattern, input and output are defined in the XML schema for WSDL
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
endpoint
name = "ShapeListPort"
binding = "tns:ShapeListBinding"
soap:address location = service URI
http://localhost:8080/ShapeList-jaxrpc/ShapeList
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
businessServices businessServices businessServices bindingTemplate human readable bindingTemplate information URL bindingTemplate about a family of services information about the URL serviceinterfaces interfaces service key URL key
tModel
tModel tModel service descriptions
key
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Type of algorithm
Message digest Encoding
Name of algorithm
SHA-1 base64
Required
Required Required
reference
Section 7.4.3 [Freed and Borenstein 1996]
Signature
(asymmetric) MAC signature (symmetric)
Required
Recommended Required
[NIST 1994]
Section 7.3.2 Section 7.4.2 and Krawczyk et al. [1997]
Canonicalization
Canonical XML
Required
Page 810
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Figura 9.17 Algoritmos requeridos para el cifrado (en la Figura 9.16 tambin se requieren)
Type of algorithm Block cipher Name of algorithm TRIPLEDES, AES 128 AES-256 AES-192
base64 RSA-v1.5, RSA-OAEP
Required required
optional required required required
[Freed and Borenstein 1996] Section 7.3.2 [Kaliski and Staddon 1998] [Housley 2002]
Symmetric key TRIPLEDES wrap (signature KeyWrap, by shared key) AES-128 KeyWrap, AES 256KeyWrap AES-192 KeyWrap Key agreement Diffie-Hellman
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012