Title: ActiveXML peer Anca Ghitescu R
1ActiveXML peerAnca GhitescuRD Engineer -
GEMO
19/05/2008
2Agenda
- ActiveXML peer
- ActiveXML documents
- Architecture
- Activation chain of execution
- ActiveXML materializers
- ActiveXML services
- Continuous service calls
- AXML syntax
- Software components
3ActiveXML documents
- When activated, these documents are
enriched with data coming as results of service
calls
- - XML documents with
- embedded calls to web services
- sc service call
4ActiveXML example
- Before activation
- ltexample xmlnsaxml"http//futurs.inria.fr/gemo/a
xml/"gt - ltaxmlsc axmlid"temperature"gt
- ltaxmlws-soap endpoint"http//webservices.daeh
osting.com/services/TemperatureConversions.wso"gt - ltCelciusToFahrenheitgtltnCelciusgt10lt/nCelciusgtlt
/CelciusToFahrenheitgt - lt/axmlws-soapgt
- lt/axmlscgt
- lt/examplegt
- After activation
- ltexample xmlnsaxml"http//futurs.inria.fr/gemo/a
xml/"gt - ltaxmlsc axmlid"temperature"gt
- ...
- lt/axmlscgt
- ltmCelciusToFahrenheitResult gt50lt/mCelciusToFahr
enheitResultgt - lt/examplegt
5Architecture of ActiveXML system
- Peer-to-peer network a collection of ActiveXML
peers - A peer client/server functionality
- As client
- Materializes service calls inside the document
- Processes the results
- As server axml specific web services
- Materialization Service
- Algebra Operators Send, Receive, NewNode
- Continuous Query Service
- Repository for AXML documents
6Activation Chain of execution
- Activate the document version.xml_at_peer1 and get
the data from peer2
example
Web Interface
3. use InOut Materializer
sc id"version" http//peer2/services/Version
Materializers
5. get response
2. call activate?
getVersion
4. call service
Client
Client
version.xml_at_peer1 before activation
Materialization Service
Server
Server
example
Version
1. load document
version.xml
6. append data
sc
result
peer2
peer1
get Version
version 1.3
version.xml_at_peer1 after activation
7ActiveXML services
- Generic Query Service applies a query over
(continuous) data - Streaming Service streams data from a file
stored in the database - Continuous Service calls a service continuously
- Optimax Service rewrites axml documents based on
rules - Materialization Service activates service calls
inside axml documents - Algebra Services enable distributed data
management - NewNodeOperator installs axml data on remote
peers - SendOperator sends data (continuously)?
- ReceiveOperator receives data
8ActiveXML Materializers
- Calling different services and processing the
results - They might need to be specified into axml
documents depending on called services - DefaultOutOnlyMaterializer / DefaultOutInMateriali
zer - MaterializerForContinuousQuery calls
GenericQueryService with parameters coming as
results of other service calls (streams)? - MaterializerForContinuousSC calls continuously a
web service, each time a new parameter value
arrives. - MaterializerForSC eliminates the sc declaration
from active parameters of a service call and
calls the parent web service - MaterializerForRECEIVE / MaterializerForSEND
9Continuous service calls
- A service is called with parameters coming from
a stream - A stream might represent the results of another
service call - ReceiveOperator is called to stream back the
results
example
sc GenericQueryService MaterializerForContinuous
Query
result1
result2
continuousQuery
param id"stream"
declaration
sc StreamService
data1
data2
let a ltparam id"stream"gt for r in a/
return r
10AXML example continuous query
- ltexample xmlnsaxml"http//futurs.inria.fr/gemo/a
xml/"gt - ltaxmlsc axmlid"continuousFILTER"gt
- ltaxmlreturn materializer
- "fr.inria.gemo.axml.model.sc.materialization.M
aterializerForContinuousQUERY"gt - ltaxmlappend/gt
- lt/axmlreturngt
- ltaxmlws-soap endpoint"http//localhost6
969/MyPeer/services/GenericQueryService"gt - ltqcontinuousQuery xmlnsq"http//fut
urs.inria.fr/gemo/axml/service/Query"gt - ltqdeclarationgt
- let book ltqparam name"book"/gt
- for b in book/ return
if(xsinteger(b/year) gt 2003) then b else ()? - lt/qdeclarationgt
- ltqparam name"book"gt
- ltaxmlsc axmlid"bookStreamer
"gt - ...
- lt/axmlscgt
- ltSTREAM_DATA/gt
- lt/qparamgt
- lt/qcontinuousQuerygt
11Generic Query Service
- Execute a query
- Execute a continuous query (stream parameters)?
- Apply a public query defined in another document
(as a function)?
12Optimax Service
- Optimizer for AXML documents
- Rewrites the documents with the help of Algebra
operators (Send, Receive, NewNode)? - Rewriting based on strategy and statistics
13AXML syntax
- XML schemas
- the syntax of axml documents
- the definition of axml services
- the communication headers for SOAP messages
- A sc is uniquely identified by (peerID, docID,
nodeID)? - Activation order
- default depth first
- afterActivated, afterTerminated
14Software Components
- Web server Tomcat 5.5
- Axis2 Web service engine
- Repository eXist XML database
- ActiveXML engine
- Web interface
- GWT (Google Web Toolkit)?
- XForms
- SOAP Alerter
15Miscellaneous
- www.activexml.net
- Documentation
- Regression Tests
- SVN repository http//forge.objectweb.org/project
s/activexml/
16Merci!