Title: Coordination Middleware for document-centric applications
1Coordination Middleware for document-centric
applications
Paolo Ciancarini Robert Tolksdorf Franco Zambonelli
University of Bologna Technische Universität Berlin University of Modena and Reggio Emilia
ciancarini_at_cs.unibo.it tolk_at_cs.tu-berlin.de franco.zambonelli_at_unimo.it
2Motivations
- The Internet is "Document Centric"
- Document-centric computing models are needed
- A document is a communicable data structure
- Focus on two key issues
- coordination models and middleware for the
engineering of complex content management
applications - XML as "The Standard" for passive and active
documents
3Documents
- Passive document content representation
- "Formatter programs" like TeX assign rendering
behavior to mostly procedural (sometimes
declarative) markup - Passive documents have at least two facets
- The abstract view on content (eg. WYSIWYG)
- The concrete machine-level representation
4Documents
- Documents were dependent from devices
- (a solution Postscript)
- Documents were dependent from applications
- (a solution Rich Text Format)
- Documents are dependent from the underlying os
- (think about the document fonts)
- Documents are dependent from the browser
- (no WYSIWTS-what you send is what they see)
5Taxonomy and History
time
2000
1995
1990
6Active documents
- Active document content structure behavior
- The document itself "knows" how to be handled
- Possible perspectives
- Reactive documents external applications are
forced touse the internal behavior to handle
documents - Proactive documents the document/agent can
handleitself in autonomy (Agents data
behavior autonomy) - Documents virtuels personnalisables (DVP2002)
- http//iasc.enst-bretagne.fr/DVP2002
7Middleware for XML Document Agents
- Middleware that offers services for agents that
- are specified using XML and
- "run'' in an XML environment
- Agents live in a completelyXML oriented world
- Middleware is implementedoutside the XML world
- Examples Displets, JXML, Adlets
Middleware
XML
8Displets Dept. Computer Science, Univ. of
Bologna
- General-purpose framework for active documents
and for multi-document-agents applications - XML document agents ("Displets") can
- include re-active behaviors related to rendering,
printing, be searched.. - Include pro-active behaviors to produce
animation, generate new documents, search, etc - coordinate with each other
9The XML Compiler of Displets
- - XML document -gt DOM tree
- - DOM tree -gt DOM tree with XSL stylesheet
- - The DOM tree -gt tree of runnable Java objects
- The XML document has become a document agent!
10Coordinable Displets
- Displets can have associated
- their own private behavior
- when on a group the coordination behavior
enacting coordination laws - Static approach
- compiler-based
- the document agent and coordination laws
generated atcompile time - no dynamic enteringor leaving of groups
11XML Middleware for document Agents
- Coordination middleware thatexploits XML at the
middlewarelevel in itself - Coordination activities of application agents
occur and are ruled via accesses to shared XML
information spaces, in which the laws ruling
coordination reside and are enacted - Information space in itselfbecomes sort of an
active document agent - Examples XMLSpaces, MARS-X, XMIDDLE, XML
Protocol/SOAP
Middleware
XML
12XMLSpaces TU Berlin XML documents as
field-data
- lt?xml version"1.0"?gtlt!DOCTYPE address SYSTEM
"address.dtd"gtltlocationgt ltcity
name"Trento"/gt lthostgtFACOLTÀ DI
ECONOMIAlt/hostgt ltstreet name"Via Vigilio
Inama" no"5"/gtlt/locationgt - lt2001, __gt
13How to match?
- A formal is an object describing an XML document
- Can be
- Another document
in(2001, ?__) - Something elsein(2001, DOCTYPE"address.dtd")
- There is a variety of relations that identify XML
documents
lt?xml version"1.0"?gtlt!DOCTYPE address SYSTEM
"address.dtd"gtltlocationgt ltcity
name"Trento"/gt lthostgtFACOLTÀ DI
ECONOMIAlt/hostgt ltstreet name"Via Vigilio
Inama" no"5"/gtlt/locationgt
14Multiple matching relations in XMLSpaces
- Relation Meaning Tool used
- Exact equality Exact textual equality DOM
interfaces - Restricted Textual equality ignoring
- equality comments, PIs, etc. DOM interfaces
- DTD Valid towards a DTD XML4J
- DOCTYPE Uses specific Doctype name DOM
- XPath Fulfills an XPath expression Xalan-Java
- XQL Fulfills an XQL expression GMD-IPSI XQL
- AND Fulfills two matching relations
- NOT Does not fulfill matching relation
- OR Fulfills one or two matching relations
- XOR Fulfills one matching relation
15MARS-X University of Modena and Reggio Emilia
- A coordination infrastructure for mobile agents
- virtual mobility
- actual agent mobility
- physical (i.e., device) mobility
- Local XML dataspaces for mobile agent access
- shared by a node (or domain of nodes)
- Linda-like (JavaSpaces)interface to XML data
- Programmable tuplespace model
coordinationlaws can be programmed in Java
16MARS-X Tuple-based Access to the XML Documents
- XML entries as JavaSpaces tuples
-
- on match, the effect of the access on a documents
can be ruled via properly programmed reactions
class _infoN extends AbstractEntry static final
URL DTDfile new URL(http//mysite/myDTD.dtd)
public Integer f1 public String f2 public
String f3 public Integer f4 _infoN t new
_infoN() t.f1 null t.f2 foo t.f3
bl t.f4 17 myEntry result
space.read (t, null, NO_WAIT) ...
... ltinfoNgt ltf1gt3lt/f1gt
ltf2gtfoolt/f2gt ltf3gtblahlt/f3gt ltf4gt17lt/f4gt lt/info
Ngt ... ltinfoNgt ... lt/infoNgt ...
17XMIDDLE University College, London
- A Middleware (i.e., a coordination
infrastructure) for mobile and ad-hoc networks - The nodes/processes in the network share a global
XML data structure - The global data structure is an active document
- it includes protocols for handling data
reconciliation and data merging - also application specific protocols can be
defined
18XMIDDLE The Architecture
- Coordinables are active processes
- mobile AND/OR executing on a mobile device
- Coordination media as XML tree
- possibly replicated (even partially) and shared
among processes in the reach - Coordination laws rules modifications to the XML
tree
19XMIDDLE Coordination over the XML Tree
- Processes operate and coordinatewith each
otherby manipulating a shared tree - A disconnected process can continue operating
on a replica of the tree - When reconnecting, the globaldocument tree must
be re-constructed in a consistent way
Disconnection of Process A
Reconnection of Process A with re-conciliation
20Self-contained XML Middleware
- Agents are represented as someXML documents as
well as the data they operate onand the laws
ruling theircoordination activities - Examples WorkSpaces, XSL,XML Script, ADF
Middleware
XML
21Workspaces TU Berlin XML and XSL only
- Documents andworksteps asXML documents
- Workspacesengine is anextended XSLengine
Store Rating
exec("Excel")
ltRATING
ltRATING
Workspaces
PAPER"3"
PAPER"3"
engine
SCORE"4"/gt
SCORE"4"/gt
22Higher and guarded coordination in workflow graph
- AND-SPLIT, OR-SPLIT, AND-JOIN, OR-JOIN as
generative (and destructive) coordination
operation - Transitions may also have conditions
23Workspaces
- An XML/XSL based workflow system
- Workflow graph is split into single steps that
are represented as XSL documents
24Discussion
- Displets
- suitable for the definition and implementation of
document agent apps - Too static
- MARS-X
- suited for complex coordination patterns to be
dynamically defined, in manipulation of shared
XML documents by mobile agents - restricts the application to use Java agents
- XMIDDLE
- suitable for document agents, and seems very
suitable for mobility - possibility of defining coordination laws very
limited - Workspaces
- provides more uniformity
- lacks an explicit support for mobility,
- general-purpose applicability unclear
25Goal Design ideal XML middleware
- directly handling, at the application level, the
activities in XML document agents (Displets) - making coordination activities occur in terms of
manipulation of shared XML documents, (MARS-X,
XMIDDLE, XMLSpaces) - flexible to support user-defined XML grammars
(XMLSpaces) - effectively handling mobility and associated
issues (XMIDDLE) - enabling the ruling the coordination activities
between application-level document agents in a
dynamic way (MARS-X) - expressing not only document agents behavior but
also the laws ruling their coordination
activities in term of XML documents and XML rules
(WorkSpaces)
26Conclusions
- Further consider
- Mobility
- Coordination models
- Embedded systems
- Organizational structures
- Conclusion
- Taking the "coordination viewpoint" on XML based
middleware is again fruitful