Top Banner
Coordination Middleware for document-centric applications April 2002 Paolo Ciancarini Robert Tolksdorf Franco Zambonelli University of Bologna Technische Universität Berlin University of Modena and Reggio Emilia [email protected] ibo.it [email protected] berlin.de franco.zambonelli@unim o.it
26

Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

Coordination Middleware for document-centric applications

April 2002

Paolo Ciancarini

Robert Tolksdorf

Franco Zambonelli

University of Bologna

Technische Universität Berlin

University of Modena and Reggio Emilia

[email protected]

[email protected] [email protected]

Page 2: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[2]

Motivations

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

Page 3: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[3]

Documents

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

Page 4: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[4]

Documents

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)

Page 5: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[5]

Taxonomy and History

CORBA

.net

others

Object centered

OpenDoc

OLE

others

Binary, closed

Middleware for XML Agents

XML Middleware for Agents

XML Middleware for XML Agents

Text, open, XML

Document centric others

Middleware

time

200019951990

Page 6: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[6]

Active 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

Page 7: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[7]

Middleware 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 for XML Agents

XML Middleware for Agents

XML Middleware for XML Agents

Text, open, XML

Page 8: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[8]

Displets [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

Page 9: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[9]

The XML Compiler of Displets

- XML document -> DOM tree - DOM tree -> DOM tree with XSL stylesheet - The DOM tree -> tree of runnable Java

objects

The XML document has become a document agent!

Page 10: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[10

]

Coordinable 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

Page 11: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[11

]

XML 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 for XML Agents

XML Middleware for Agents

XML Middleware for XML Agents

Text, open, XML

Page 12: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[12

]

XMLSpaces [TU Berlin]: XML documents as field-data

<?xml version="1.0"?><!DOCTYPE address SYSTEM "address.dtd"><location> <city name="Trento"/> <host>FACOLTÀ DI ECONOMIA</host> <street name="Via Vigilio Inama" no="5"/></location>

<2001, __>

Page 13: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[13

]

How 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

<?xml version="1.0"?><!DOCTYPE address SYSTEM "address.dtd"><location> <city name="Trento"/> <host>FACOLTÀ DI ECONOMIA</host> <street name="Via Vigilio Inama" no="5"/></location>

Page 14: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[14

]

Multiple matching relations in XMLSpaces

Relation Meaning Tool usedExact equality Exact textual equality DOM

interfacesRestricted Textual equality ignoringequality comments, PIs, etc. DOM interfaces

DTD Valid towards a DTD XML4JDOCTYPE Uses specific Doctype name DOM

XPath Fulfills an XPath expression Xalan-JavaXQL 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 –

Page 15: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[15

]

MARS-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 tuple

space model: coordinationlaws can be programmed in Java

i

Linda-like (JavaSpace) interface

XML Dataspace

LocallyExecutingAgents

Reactions: meta-level tuple space

Node / Local Domain of Nodes

Page 16: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[16

]

MARS-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

...<infoN> <f1>3</f1>

<f2>foo</f2> <f3>blah</f3>

<f4>17</f4></infoN>...<infoN>...</infoN>...

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);

...

Page 17: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[17

]

XMIDDLE [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

Page 18: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[18

]

XMIDDLE: 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

Page 19: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[19

]

XMIDDLE: 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

Process A

Process B

Process A

Process B

Reconnection ofProcess A with re-conciliation

Page 20: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[20

]

Self-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 for XML Agents

XML Middleware for Agents

XML Middleware for XML Agents

Text, open, XML

Page 21: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[21

]

Workspaces [TU Berlin]: XML and XSL only

Documents andworksteps asXML documents

Workspacesengine is anextended XSLengine

Workspacesengine

<RATING PAPER="3" SCORE="4"/>

Store Ratingexec("Excel")

<RATING PAPER="3" SCORE="4"/>

Document WorkspacesEngine

Document

Activitydescription

Page 22: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[22

]

Higher 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

<DECISION NO="3"> accept?</DECISION>

Handoutcopies of

papers

Distribute

<DECISION NO="3"> accept?</DECISION>

Think and lookup

<DECISION NO="3"> accept?</DECISION>

Think

Answerquestions

<DECISION NO="3"> reject</DECISION>

<DECISION NO="3"> accept?</DECISION>

Think and lookup

<DECISION NO="3"> accept?</DECISION>

Think

Answerquestions

<DECISION NO="3"> accept</DECISION>

Collect

Collectreviews

<DECISION>...</DECISION><DECISION>...</DECISION>

Page 23: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[23

]

Workspaces

An XML/XSL based workflow system Workflow graph is split into single steps that

are represented as XSL documents

<DECISION NO="3"> accept?</DECISION>

Handoutcopies of

papers

Distribute

<DECISION NO="3"> accept?</DECISION>

Think and lookup

<DECISION NO="3"> accept?</DECISION>

Think

Answerquestions

<DECISION NO="3"> reject</DECISION>

<DECISION NO="3"> accept?</DECISION>

Think and lookup

<DECISION NO="3"> accept?</DECISION>

Think

Answerquestions

<DECISION NO="3"> accept</DECISION>

Collect

Collectreviews

<DECISION>...</DECISION><DECISION>...</DECISION>

stepdescription

XMLdocument

XMLdocument

stepdescription

XMLdocument

XMLdocument

stepdescription

XMLdocument

Page 24: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[24

]

Discussion

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

Page 25: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[25

]

Goal: 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)

Page 26: Coordination Middleware for document-centric applications April 2002 Paolo CiancariniRobert TolksdorfFranco Zambonelli University of Bologna Technische.

[26

]

Conclusions

Further consider Mobility Coordination models Embedded systems Organizational structures

Conclusion: Taking the "coordination viewpoint" on XML based

middleware is again fruitful