HighPerformance Predictive XML Parsing with gSOAP - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

HighPerformance Predictive XML Parsing with gSOAP

Description:

Static proxy generation with schema-specific DFA-based XML parsing ... Expat. Conclusions. Static bindings with predictive XML parsing delivers performance ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 13
Provided by: rober474
Category:

less

Transcript and Presenter's Notes

Title: HighPerformance Predictive XML Parsing with gSOAP


1
High-Performance Predictive XML Parsing with gSOAP
  • Robert van EngelenFlorida State University

2
The gSOAP Toolkit
  • Project timeline

12/2003
10/2001
12/2002
1/2002
3/2002
9/2003
1/2000
7/2002
1/2004
3/2004
9/2004
v1.2latencyhidingWSDLoutput
v2.0MT/safe
v1.1streamingXMLSOAP1.1RPC
v1.3HTTPSSSL
v2.1DIME
v2.2streaming DIME
v2.3SOAP1.2
v2.4Doc/LitWSDL1.1tools
v2.5WS-BP1.0a
v2.6
v2.7SwAWS-
gt50,000 downloads
www.genivia.com
http//gsoap2.sourceforge.net
3
Early Versus Late Bindings
EARLY BINDING
Static proxy generation with schema-specific
DFA-based XML parsing
Static proxy generation with schema-specific
PDA-based XML parsing
flexibility
performance
Static proxy generation with generic XML parsing
Dynamic proxy generation (DII) with generic XML
parsing
LATE BINDING
4
gSOAP Architecture
  • Static binding
  • WSDL tools to generate bindings
  • Stub/skeleton compiler to generate C and C code
  • Schema-specific predictive XML parsing
  • Supports in-situ serialization and deseralization
    of applications native C/C data structures in
    XML
  • Integrated stacks
  • TCP/IP - HTTP/S - DIME/MIME - SOAP/XML
  • Transport latency hiding

5
Client Application Development and Deployment
Service definitionservice.wsdl
WSDL Importer
Client Application
Bindingsservice.h
Client Proxy Object
Stub
gSOAP Compiler
Client-side code
Marshal
Demarshal
6
Server Development and Deployment
Service definitionservice.wsdl
WSDL Importer
Web Service
Bindingsservice.h
Server Object
Skeleton
gSOAP Compiler
Server-side code
Marshal
Demarshal
7
Server Development and Deployment (Alternative)
Web Service
Bindingsservice.h
Server Object
Skeleton
gSOAP Compiler
Server-side code
Marshal
Demarshal
Service definitionservice.wsdl
8
Schema-Specific Predictive XML Parsing
Bindings
WSDL Importer gSOAP Compiler
XML Schemas
PredictiveXML Parser
class ns__List stdvectorltchargt item int
in(char tag) int out(char tag)
ltcomplexType nameListgt ltcomplexContentgt
ltsequencegt ltelement nameitem
typexsdstring maxOccursunbounded/gt
lt/sequencegt lt/complexContentgtlt/complexTypegt
int ns__Listin(char tag) if
(begin_element(tag) ! OK) return
TAG_MISMATCH in_vectorOfstring(item, item)
end_element(tag)
9
Latency Hiding with Integrated Stacks
Serialization
HTTPoverTCP/IP
Deserialization
10
Latency and Speedup
Interop Round 2 Base echoVoid() latency
better
Relative average speedup for array-based SOAP
messages(10 to 80,000 ints, doubles, and strings)
better
11
DFA-Based Parsing
Expat
gSOAP
DFA
better
DFA (opt)
12
Conclusions
  • Static bindings with predictive XML parsing
    delivers performance
  • Two-stage compilation 1) bindings 2) code
  • Integrated stacks to improve performance
  • DFA-based parsing probably too limited for
    realistic applications
  • More info http//gsoap2.sourceforge.net
Write a Comment
User Comments (0)
About PowerShow.com