soap 1.2, mtom and their applications

31
© Canon Research Centre France S.A.S. 1 SOAP 1.2, MTOM and their applications Hervé Ruellan Canon Research Centre France

Upload: others

Post on 03-Feb-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.1

SOAP 1.2, MTOMand their applications

Hervé RuellanCanon Research Centre France

Page 2: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

2

Agenda

• SOAP 1.2• XOP, MTOM and Resource

Header• Canon

Page 3: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.3

SOAP 1.2

Page 4: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

4

SOAP – Background

• Web success– Easy information sharing– Built on HTML and HTTP

• Logical evolution: applications over the web– Loose coupling– Use XML and HTTP

Page 5: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

5

SOAP 1.2 Standard

• Standardization process– W3C Working Group– From September 2000 to June 2003

• Result– SOAP Version 1.2 Part 0: Primer– SOAP Version 1.2 Part 1:

Messaging Framework– SOAP Version 1.2 Part 2: Adjuncts

Page 6: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.6

SOAP 1.2

Messaging Framework

Page 7: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

7

SOAP Message

• Transferred between nodes:– From a sender– To a receiver– Through intermediarie(s)

Sender ReceiverIntermediaries

Page 8: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

8

SOAP Envelope

• XML Construct• Body

– For ultimate receiver

• Header block– For any node– Processing may

be mandatory:mustUnderstand

Header block

Envelope

Header block

Header block

Body

Page 9: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

9

SOAP Message Processing

• Main steps:– Check message can be processed

• Find header blocks targeted at the node• Look for mustUnderstand

– Process message• Process identified header blocks• Process body (ultimate receiver)

– Transmit message• Send modified message (intermediary)

Page 10: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

10

SOAP Fault

• Failure is indicated by a fault• SOAP Fault

– Contained in Envelope Body– Indicates the type of failure– May contain:

• Node where fault happened• Application related details

Page 11: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

11

SOAP Binding Framework

• SOAP has:– Message structure– Processing rules

• To transmit messages another protocol is needed

• Binding Framework– Rules for defining how a protocol is

used to transmit SOAP messages

Page 12: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

12

SOAP Extensibility

• SOAP Features– Extension of the messaging

framework• Through Processing Model

– Expressed as Header Block (SOAP Module)

– Can use mustUnderstand

• Through Binding Framework– Expressed using underlying protocol

Page 13: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.13

SOAP 1.2

Adjuncts

Page 14: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

14

SOAP RPC

• Convention for doing RPC• Invocation

– Element with function name in Body– Sub-element for each parameter

• Response– Element representing result in Body– Sub-element for each parameter

Page 15: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

15

SOAP Data ModelSOAP Encoding

• SOAP Data Model– Mapping convention from application

data to XML– Used by SOAP RPC

• SOAP Encoding– Serialization rules for Data Model– SOAP Part 2 defines an Encoding– Other Encoding can be created

Page 16: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

16

SOAP MEP(Message Exchange Pattern)

• MEP– Template for an exchange of several

SOAP messages– Provides an abstraction over the

underlying protocol• MEP defined by standard

– SOAP Request-Response– SOAP Response

Page 17: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

17

SOAP HTTP Binding

• Binding of SOAP to HTTP• Support two MEPs

– SOAP Request-Response– SOAP Response

• Support Web Method Feature– Use either GET or POST

Page 18: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.18

XOP, MTOMand Resource Header

Page 19: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

19

Binary Data in SOAP

• Problem: including binary data in a SOAP message– Need to encode data– base64 encoding: 33% size increase

• XOP: binary data in XML documents

• MTOM: application of XOP to SOAP

Page 20: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

20

XOP Introduction

• XML-binary Optimized Packaging• Goal: serialize efficiently XML

Infosets containing binary data• Uses XOP Package construct for

serialization

Page 21: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

21

XOP Package

• XML Linked to binary data– xop:Include

element• XML and

binary data enclosed in XOP Package

XOP Package

...<x:data>

<xop:Include

href="..."/></x:data>...

Binary File

XML File

Page 22: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

22

XOP Logical View

XOP Package

...

<x:data><xop:Include

href="..."/>

</x:data>...

Binary File

XML File...

<x:data>d7FeFaa7vR0i2VQqsd87REdqsqZG886DEFlkE35C

FDERdrF5RE8df5R=</x:data>...

XML File

Serialization Logical View

Page 23: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

23

XOP Advantages

• At application layer, everything is XML– Compatible with legacy applications– Efficient XOP-aware applications

• At serialization layer– XOP Package: more compact– Can be compatible with legacy XML

libraries

Page 24: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

24

MTOM

• Message Transmission Optimization Mechanism

• SOAP Feature for using XOP with SOAP

• Use MIME Multipart/Related for XOP Package

• Extension to the HTTP Binding

Page 25: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

25

Resource RepresentationHeader Block

• SOAP Feature for including representations of Web resources

• Representation carried in a Header Block– Stored in base64

• Designed to optimize when used with MTOM

Page 26: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.26

Canon

Page 27: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

27

Canon

• Net sales: 26 billions €• Employees: 115,000

Sales by products

Office imaging

Optical and other

Computer peripherals

Business information

Cameras

Page 28: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

28

Canon Research Centre France

• European R&D centre for Canon• 70 employees• Field of expertise

– Image processing– Networks– Internet technologies

Page 29: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

29

Web Services for copiers

• Provide extension mechanism– Using

functionalities from another copier

– Retrieving resource from a PC

Page 30: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.

6 March 2006

30

Web services for cameras

• Increase communication possibilities– Sharing

images over the Internet

Internet

Page 31: SOAP 1.2, MTOM and their applications

© Canon Research Centre France S.A.S.31

Thank you!

Question?