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

Jan 09, 2016

Download

Documents

Nico

Coordination Middleware for document-centric applications. April 2002. Motivations. The Internet is "Document Centric" Document-centric computing models are needed A document is a communicable data structure Focus on two key issues: - PowerPoint PPT Presentation
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
  • Coordination Middleware for document-centric applications

    April 2002

    Paolo CiancariniRobert TolksdorfFranco ZambonelliUniversity of BolognaTechnische Universitt BerlinUniversity of Modena and Reggio [email protected]@[email protected]

    [*]

    MotivationsThe Internet is "Document Centric"Document-centric computing models are neededA document is a communicable data structure

    Focus on two key issues:coordination models and middleware for the engineering of complex content management applicationsXML as "The Standard" for passive and active documents

    [*]

    DocumentsPassive 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

    [*]

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

    [*]

    Taxonomy and History time200019951990

    [*]

    Active documentsActive document = content + structure + behaviorThe document itself "knows" how to be handled

    Possible perspectives:Reactive documents: external applications are forced to use the internal behavior to handle documentsProactive documents: the document/agent can handle itself in autonomy (Agents = data + behavior + autonomy)Documents virtuels personnalisables (DVP2002) http://iasc.enst-bretagne.fr/DVP2002

    [*]

    Middleware for XML Document AgentsMiddleware that offers services for agents that are specified using XML and "run'' in an XML environmentAgents live in a completely XML oriented worldMiddleware is implemented outside the XML world

    Examples: Displets, JXML, Adlets

    [*]

    Displets [Dept. Computer Science, Univ. of Bologna]General-purpose framework for active documents and for multi-document-agents applicationsXML 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, etccoordinate with each other

    [*]

    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!

    [*]

    Coordinable DispletsDisplets can have associatedtheir own private behaviorwhen on a group the coordination behavior enacting coordination lawsStatic approachcompiler-basedthe document agent and coordination laws generated at compile timeno dynamic entering or leaving of groups

    XML

    Agent

    XML

    Agent

    Virtual Coordination

    Medium

    (communication channels)

    Coordination Laws in XSL

    Coordination Laws in XSL

    Coordination Laws in XSL

    App. Specific

    XSL behavior

    App. Specific

    XSL behavior

    XML

    Agent

    XML

    Agent

    Coordination Laws in XSL

    [*]

    XML Middleware for document AgentsCoordination middleware that exploits XML at the middleware level in itselfCoordination activities of application agents occur and are ruled via accesses to shared XML information spaces, in which the laws ruling coordination reside and are enactedInformation space in itself becomes sort of an active document agent

    Examples: XMLSpaces, MARS-X, XMIDDLE, XML Protocol/SOAP

    [*]

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

    [*]

    How to match?A formal is an object describing an XML documentCan be:Another document: in(2001, ?__)

    Something else in(2001, DOCTYPE="address.dtd")

    There is a variety of relations that identify XML documents FACOLT DI ECONOMIA

    [*]

    Multiple matching relations in XMLSpacesRelationMeaning 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 relationsXOR Fulfills one matching relation

    [*]

    MARS-X [University of Modena and Reggio Emilia]A coordination infrastructure for mobile agentsvirtual mobility actual agent mobilityphysical (i.e., device) mobilityLocal XML dataspaces for mobile agent accessshared by a node (or domain of nodes)Linda-like (JavaSpaces) interface to XML dataProgrammable tuple space model: coordination laws can be programmed in Java

    [*]

    MARS-X: Tuple-based Access to the XML DocumentsXML entries as JavaSpaces tuples

    on match, the effect of the access on a documents can be ruled via properly programmed reactions...

    3 foo blah17

    ...

    ...

    ...

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

    [*]

    XMIDDLE [University College, London]A Middleware (i.e., a coordination infrastructure) for mobile and ad-hoc networksThe nodes/processes in the network share a global XML data structureThe global data structure is an active documentit includes protocols for handling data reconciliation and data mergingalso application specific protocols can be defined

    [*]

    XMIDDLE: The ArchitectureCoordinables are active processesmobile AND/OR executing on a mobile deviceCoordination media as XML treepossibly replicated (even partially) and shared among processes in the reachCoordination laws rules modifications to the XML tree

    [*]

    XMIDDLE: Coordination over the XML TreeProcesses operate and coordinate with each other by manipulating a shared tree A disconnected process can continue operating on a replica of the treeWhen reconnecting, the global document tree must be re-constructed in a consistent wayDisconnection of Process AReconnection ofProcess A with re-conciliation

    [*]

    Self-contained XML MiddlewareAgents are represented as some XML documents as well as the data they operate on and the laws ruling their coordination activities

    Examples: WorkSpaces, XSL, XML Script, ADF

    [*]

    Workspaces [TU Berlin]: XML and XSL onlyDocuments and worksteps as XML documents

    Workspaces engine is an extended XSL engine Workspacesengine

    Store Ratingexec("Excel")

    [*]

    Higher and guarded coordination in workflow graph

    AND-SPLIT, OR-SPLIT, AND-JOIN, OR-JOIN as generative (and destructive) coordination operationTransitions may also have conditions

    [*]

    WorkspacesAn XML/XSL based workflow systemWorkflow graph is split into single steps that are represented as XSL documents

    [*]

    DiscussionDispletssuitable for the definition and implementation of document agent appsToo staticMARS-Xsuited for complex coordination patterns to be dynamically defined, in manipulation of shared XML documents by mobile agentsrestricts the application to use Java agentsXMIDDLEsuitable for document agents, and seems very suitable for mobilitypossibility of defining coordination laws very limitedWorkspacesprovides more uniformitylacks an explicit support for mobility, general-purpose applicability unclear

    [*]

    Goal: Design ideal XML middlewaredirectly 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)

    [*]

    ConclusionsFurther considerMobilityCoordination modelsEmbedded systemsOrganizational structures

    Conclusion:Taking the "coordination viewpoint" on XML based middleware is again fruitful