1 / 26

Coordination Middleware for document-centric applications

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:

nico
Download Presentation

Coordination Middleware for document-centric applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Coordination Middleware for document-centric applications April 2002

  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

  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

  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)

  5. Taxonomy and History time 1990 1995 2000

  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

  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 XML

  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

  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!

  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

  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 XML

  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, __>

  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>

  14. Multiple 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 –

  15. Node / Local Domain of Nodes Locally Executing Agents i Linda-like (JavaSpace) interface XML Dataspace Reactions: meta-level tuple space 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 tuplespace model: coordinationlaws can be programmed in Java

  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 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); ... ... <infoN> <f1>3</f1> <f2>foo</f2> <f3>blah</f3> <f4>17</f4> </infoN> ... <infoN> ... </infoN> ...

  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

  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

  19. Process B Process B Process A Process A 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 Reconnection of Process A with re-conciliation

  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 XML

  21. Workspaces [TU Berlin]: XML and XSL only • Documents andworksteps asXML documents • Workspacesengine is anextended XSLengine Store Rating exec("Excel") <RATING <RATING Workspaces PAPER="3" PAPER="3" engine SCORE="4"/> SCORE="4"/>

  22. Higher and guarded coordination in workflowgraph • AND-SPLIT, OR-SPLIT, AND-JOIN, OR-JOIN as generative (and destructive) coordination operation • Transitions may also have conditions

  23. Workspaces • An XML/XSL based workflow system • Workflow graph is split into single steps that are represented as XSL documents

  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

  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)

  26. Conclusions • Further consider • Mobility • Coordination models • Embedded systems • Organizational structures • Conclusion: • Taking the "coordination viewpoint" on XML based middleware is again fruitful

More Related