* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download XML
Survey
Document related concepts
Microsoft Access wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Serializability wikipedia , lookup
Oracle Database wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Functional Database Model wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Concurrency control wikipedia , lookup
Relational model wikipedia , lookup
ContactPoint wikipedia , lookup
Database model wikipedia , lookup
Transcript
An XML Object Database: Design Implementation and Applications Ching-Long Yeh 葉 慶 隆 Department of Computer Science and Engineering Tatung University Taipei 104, Taiwan ROC Introduction • XML improves upon HTML in – capturing the meaning of a document and – extending the tag set. • At the same time, it also reduces the complexity of SGML. • It is believed that XML will soon be the standard of data exchanges on the Web. XML Object Database and Applications 10/27/99 at NDMC 2 Introduction • Due to lack of indices in files, we are not able to make full use of the meaning (or metadata) in an XML document, if it is stored in a file. • Since an XML document can be easily viewed according to the object-oriented model, a promising solution is to employ object database technology to manage the access of XML documents. XML Object Database and Applications 10/27/99 at NDMC 3 Introduction • In this talk, I will present our research work in – the design and implementation of an XML object DB, – an extensible template-based query interface to accessing to XML object database, and – the applications implemented on the XML object database • content-based video query system, and • electronic commerce XML Object Database and Applications 10/27/99 at NDMC 4 The Remainder of the Talk • An Introduction to XML • Design and Implementation of an XML Object Database • An Extensible Template-based Interface • A Content-Based Query Interface to Video Database • XML Object Database and Electronic Commerce XML Object Database and Applications 10/27/99 at NDMC 5 An Introduction to XML HyperText Markup Language • HTML is a language used to create hyperlink text in the WWW. • The text is presented according to a set of predefined tags. • The definition of tags is based on the Document Type Definition (DTD) of SGML. • In other words, HTML is an application of SGML in the WWW. XML Object Database and Applications 10/27/99 at NDMC 7 Standard Generalized Markup Language • Central to SGML is the concept that documents have structure, content, and format. • These three ingredients combine to form a document. XML Object Database and Applications 10/27/99 at NDMC 8 Content • What is Content? – Content is the actual data within a document. – The words and illustrations that make up a bicycle assembly manual are its contents. XML Object Database and Applications 10/27/99 at NDMC 9 Format • What is Format? – Format consists of how the words, sentences, and paragraphs are visually presented and distinguished from one another within a document. – Boldface for title, italics for special terms, and blank lines between sections are examples of document formats. – People often confuse format with structure. XML Object Database and Applications 10/27/99 at NDMC 10 Structure • What is Structure? Coconut Pudding 12 ounces coconut milk 4 to 6 tablespoons sugar 4 to 6 tablespoons cornstarch Recipe Title Ingredient List Ingredient 3/4 cup water Pour coconut milk into saucepan. Combine sugar and cornstarch; stir in water and blend well. Stir sugar mixture into coconut milk; cook and stir over low heat until thickened. XML Object Database and Applications 10/27/99 at NDMC Instruction List Step 11 Document Type Definition • Defining structures in SGML – The structure of a document its type is defined by a document type definition, or DTD. – The DTD lays out the rules for a document through the use of elements, attributes, and entities. XML Object Database and Applications 10/27/99 at NDMC 12 Document Type Definition • A DTD looks like <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT recipe -- ( title, ingredientList, instructionList)> title -- (#PCDATA)> ingredientList -- (ingredient*)> instructionList -- (step*)> ingredient -- (#PCDATA) > step -- (#PCDATA)> XML Object Database and Applications 10/27/99 at NDMC 13 Document Instance <!DOCTYPE RECIPE PUBLIC ”recipe" ”recipe"> <RECIPE><TITLE>Coconut Pudding</TITLE> <INGREDIENTLIST> <INGREDIENT> 12 ounces coconut milk</INGREDIENT> <INGREDIENT> 4 to 6 tablespoons sugar </INGREDIENT> <INGREDIENT> 4 to 6 tablespoons cornstarch </INGREDIENT> <INGREDIENT> 3/4 cup water </INGREDIENT> <INGREDIENTLIST> <INSTRUCTIONLIST>` <STEP> Pour coconut milk into saucepan. </STEP> <STEP>Combine sugar and cornstarch; stir in water and blend well. </STEP> <STEP>Stir sugar mixture into coconut milk; cook and stir over low heat until thickened. </STEP> … </INSTRUCTIONLIST> </RECIPE> XML Object Database and Applications 10/27/99 at NDMC 14 HTML, SGML, XML • HTML helped establish the Internet by providing a universal way to present information. • However, HTML only addresses the presentation of data. • Using SGML, user can add structure along with the content of a document. • However, SGML has proven too heavy-weight for the Internet. XML Object Database and Applications 10/27/99 at NDMC 15 Extensible Markup Language • The XML is a simple dialect of SGML. • HTML is sufficient for sending web pages that are viewed by human beings. • XML, however, adds the tags that enable computers to understand, act on or process the information. • XML has been designed for ease of implementation and for interoperability with both SGML and HTML. XML Object Database and Applications 10/27/99 at NDMC 16 XML Application Profile • • • • • • Electronic commerce Electronic data interchange (EDI) Fine-grain content publishing Internet search engines Distributed application design etc. XML Object Database and Applications 10/27/99 at NDMC 17 Data Type Requirements of Documents • HTML – One file per page – Simple uni-directional linking • XML – – – – – Tens, hundreds or even thousands of objects per page Multiple DTDs Hierarchical structure and rich linking Query and navigation capabilities required Agents and business rules interact with the data XML Object Database and Applications 10/27/99 at NDMC 18 Data Types of Storage File System • File system – Store monolithic stuff. – Folder system on top of them – Good at storing multimedia data XML Object Database and Applications 10/27/99 at NDMC 19 Data Types of Storage Relational DB • Relational database – Tabular in nature – Good at storing rows and columns of data like spreadsheets and data from forms like invoices. XML Object Database and Applications 10/27/99 at NDMC 20 Data Types of Storage Object-Oriented DB • Object-oriented database – Good at managing structured, hierarchical rich linked information. – That’s exactly what XML is. – XML is the object representation of data. XML Object Database and Applications 10/27/99 at NDMC 21 Design and Implementation of an XML Object Database System Architecture Schema generation rules XML rules DTD DTD parser s t r u c t u r e Schema generator Schema definitions DI parser generator Object definitions DB language processor User interface produces Parser generation rules DI parser and object generator XML repository DI XML Object Database and Applications 10/27/99 at NDMC 23 DTD Parser elementdecl::= ’<!ELEMENT S Name S contentspec S? ‘>’ elementdecl(contentModel(N,C))--> elementPrefix, name(N), contentSpec(C), rightAngle. contentspec::= ‘EMPTY’| ‘ANY’| Mixed | children contentSpec(C)--> empty,{C=’EMPTY’}; any,{C={ANY’}; mixed(C); children(C). XML Object Database and Applications 10/27/99 at NDMC 24 Parsing Result <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT top (p,spec,div1)> p (#PCDATA|a|ul|b|i|em)*> spec (front,body, back?)*> div1 (head,(p|list1 |note)*, div2*)> name (#PCDATA)> a (#PCDATA)> ul (#PCDATA)> b (#PCDATA)> i (#PCDATA)> em (#PCDATA)> front (#PCDATA)> body (#PCDATA)> back (#PCDATA)> head (#PCDATA)> list1 (#PCDATA)> note (#PCDATA)> div2 (#PCDATA)> [contentModel(top,seq([p/null,spec /null,div1/null])/null), contentModel(p,mixed([pcdata,a,ul,b,i,em] )), contentModel(spec,seq([front/null,body/nu ll,back/question])/star), contentModel(div1,seq([head/null,alt([p/n ull,list1/null,note/null]) /star,div2/star])/null), contentModel(name,pcdata), contentModel(a,pcdata), contentModel(ul,pcdata), contentModel(b,pcdata), contentModel(i,pcdata), contentModel(em,pcdata), contentModel(front,pcdata), contentModel(body,pcdata), contentModel(back,pcdata), contentModel(head,pcdata), contentModel(list1,pcdata), contentModel(note,pcdata), contentModel(div2,pcdata)] XML Object Database and Applications 10/27/99 at NDMC 25 Schema Generation defineClass 'Top' super: SingleSeq { instance: 'P' 'p'; 'Spec' 'spec'; 'Div1' 'div1';}; defineClass 'P' super: Mixed { instance: List<Mixedp> mixedp;}; defineClass Mixedp super: SingleAlt { instance: String pcdata; 'A' 'a'; 'Ul' 'ul'; 'B' 'b'; 'I' 'i'; 'Em' 'em';}; defineClass 'Spec' super: MultiSeq { instance: List<Seqspec> seqspec;}; defineClass 'Seqspec' super: SingleSeq { instance: 'Front' 'front'; 'Body' 'body'; 'Back' 'back';}; defineClass 'Div1' super: SingleSeq { instance: 'Head' 'head'; List<Alt1> 'alt1'; List<Div2> 'div2';}; defineClass 'Alt1' super: SingleAlt { instance: 'P' 'p'; 'List1' 'list1'; 'Note' 'note';}; defineClass 'Name' super: Unstructured { instance: String pcdata;}; ... XML Object Database and Applications 10/27/99 at NDMC 26 DI Parser top(V) --> stg(top), p(P),spec(Spec),div1(Div1), etg(top). p(V) --> stg(p), mixedp(Mixedp),etg(p). mixedp(V) --> (pcdata(Pcdata); a(A);ul(Ul);b(B); I(I); em(Em);{false}), mixedp(_); []. spec(V) --> stg(spec), spec1(Spec), etg(spec). spec1(V) --> front(Front), body(Body), (back(Back);[ ]), spec1(_); []. div1(V) --> stg(div1), head(Head), alt1(Alt1), div21(Div21), etg(div1). alt1(V) --> (p(P); list1(List1); note(Note); {false}), alt1(_); []. div21(V) --> div2(Div2), div21(_) ; []. name(V) --> stg(name), pcdata(Pcdata), etg(name). XML Object Database and Applications 10/27/99 at NDMC 27 DI Parser Generation Rule_Head --> Start_Tag, Rule_Body, End_Tag, {Semantic Actions}. for each contentModel(ElementName,ContentStructure) do generate the rule head for ElementName; generate the start tag for ElementName; generate the rule body for ContentStructure; generate the end tag for ElementName; generate the semantic action; XML Object Database and Applications 10/27/99 at NDMC 28 Implementation • We have built a prototype of the system using LPA Win-Prolog V3.5 on personal computer. • It consists of a DTD parser, Schema generator and DI parser generator. • After creating the physical store and class family for XML documents, we can proceed to build the database schema for DTD by executing the ODQL codes generated by the DTD schema generator. XML Object Database and Applications 10/27/99 at NDMC 29 XML Object Database and Applications 10/27/99 at NDMC 30 XML Object Database and Applications 10/27/99 at NDMC 31 An Extensible Query-By-Template Interface to Accessing XML Document Database XML Object Database and Applications 10/27/99 at NDMC 32 Motivation • Vastness of search results on current WWW search engines • Textual-based query language with a simple Englishlike syntax is inconvenient for the user. • Current user interfaces primarily use form-based queries. XML Object Database and Applications 10/27/99 at NDMC 33 Goal • The goal is to design a convenient interface for user to access XML document without knowing the knowledge of the document types. • The interface will relieve user from typing complex query language. • The interface should be web-based and platformindependent. XML Object Database and Applications 10/27/99 at NDMC 34 System Architecture Visual Query Interface XML Object Database and Applications 10/27/99 at NDMC 35 Related Knowledge • XML( eXtensible Markup Language ) • • • • Jasmine Database Structured Document Database Visual Query Facility Java Language XML Object Database and Applications 10/27/99 at NDMC 36 XML • XML has the potential to be the standard of WWW document and electronic data interchange of the future. • In XML, the structure of the document is defined using a Document Type Definition (DTD). XML Object Database and Applications 10/27/99 at NDMC 37 Recipe DTD XML Object Database and Applications 10/27/99 at NDMC 38 Recipe Document XML Object Database and Applications 10/27/99 at NDMC 39 Jasmine Database • Jasmine is a multimedia object-oriented database management system(DBMS) with built-in Webconnectivity. • It provides a powerful Object Data Query language(ODQL) which is very similar to the ODMG 2.0(ODL,OML,OQL) standard. • It provides an extensive array of application development tools, which includes JADE, ActiveX, CAPI, J-API, Weblink. XML Object Database and Applications 10/27/99 at NDMC 40 Strucutured Document Database • Combine structured document with OODB technology: – VERSO project at INRIA – News-On-Demand Application – Document Database from GMD-IPSI • Other Related Document Database: – – – – Open Text DocBase The Poet XML Repository ODI’s eXcelon XML Object Database and Applications 10/27/99 at NDMC 41 Visual Query Facility • Query By Example (QBE) – The interface is composed of tabular skeletons representing tables in the database. • Query By Forms (QBF) – The interface is presented with a list of searchable fields, each with an entry area that can be used to indicate the search string. • Query By Template (QBT) – The interface is displayed a template for a representative entry of the database. User express their queries by indicating the search keywords in the appropriate regions of the template. XML Object Database and Applications 10/27/99 at NDMC 42 Document Database Schema XML Object Database and Applications 10/27/99 at NDMC 43 Building an XML Document Database XML Object Database and Applications 10/27/99 at NDMC 44 Example of Image-based QBT XML Object Database and Applications 10/27/99 at NDMC 45 Limits of Image-based QBT • The image template is divided into regions, each of which corresponds to an element in the document structure. • Associated with each regions is the query action. • Its significant drawback is the lack of flexibility in the template creation. • It is difficult to automate the task of reconfiguration of query action associate with the new template. • A single interface template for all types of document is probably not a good idea. XML Object Database and Applications 10/27/99 at NDMC 46 Concept of eXtensible QBT (XQBT) • The environment provides a template creator which consists of a DTD schema browser and a scene for presentation design. • The environment aims at providing automatic configuration of query actions associated with presentation of template. • The design of the template presentation must be tightly coupled with the arrangement of document data stored in the repository. • The component in the design of presentation must be properly associated with corresponding nodes in the object database schema. XML Object Database and Applications 10/27/99 at NDMC 47 Environment for XQBT XML Object Database and Applications 10/27/99 at NDMC 48 Template Creator • The template creator consists of a DTD schema browser a scene for template draft, and functional area. • The template creator in mainly relied on a DTD schema browser, which corresponds to the database schema. • The scene is a visual display area where the designer can organize a template draft for certain purpose. • The content of template draft is exported to a file, which contains the template presentation and additional information. XML Object Database and Applications 10/27/99 at NDMC 49 Template Creator Functional area Functional Area XML Object Database and Applications 10/27/99 at NDMC 50 Exported File • The file contains the information about the template presentation property associate with each element. • Each element is appended with the path information in the database schema, in order that the template executor, which can make use of the information to carry out query actions. XML Object Database and Applications 10/27/99 at NDMC 51 Template Executor • The template executor loads the exported file and presents the template as was originally designed in the template creator. • The path of each node in the DTD schema browser is used to carry out the query action required by the user. XML Object Database and Applications 10/27/99 at NDMC 52 Comparison between Image-based QBT and XQBT • The template is an image by taking a photograph or by scanning from existing pages. • The query action associate with each region is hand-coded. • Either planar or nested template is limited to region level that is not very deep. • The template is generated for a representative document. • The associated query action can be generated automatically for the interface program. • The designer can change the template to meet the requirement of various region level. XML Object Database and Applications 10/27/99 at NDMC 53 Implementation • Java Proxies (Jp) for Jasmine – Jp allows developer to build their application in J-API, and take advantage of Jasmine class libraries. XML Object Database and Applications 10/27/99 at NDMC 54 The interface for our XML document database ingredient Ingredient name Ingredient step XML Object Database and Applications 10/27/99 at NDMC 55 Query Formulation – Such searches are performed by simply entering the search string in the corresponding region of the template. XML Object Database and Applications 10/27/99 at NDMC 56 Query Formulation (cont.) XML Object Database and Applications 10/27/99 at NDMC 57 Query Formulation (cont.) • The multiple condition are specified in different regions which are combined using logical conjunctions(such as AND, OR, NOT). • The approach used to derive the logical expression from its graphical representation is using the default precedence. • User can insert parentheses as necessary in the condition box, which used in QBE interface. XML Object Database and Applications 10/27/99 at NDMC 58 The results of the query formulation XML Object Database and Applications 10/27/99 at NDMC 59 Template Creator XML Object Database and Applications 10/27/99 at NDMC 60 Template Executor XML Object Database and Applications 10/27/99 at NDMC 61 Future Works • A first step towards enhancement is improved the template ability in order to support more complex query facility. • An enhancement of the template creator would be to provide more sophisticated facility for manage the template, such as layout, size, color, position, etc. • We will try to include other document types to test the applicability of the XQBT. XML Object Database and Applications 10/27/99 at NDMC 62 A Video Content Query System Based on an OODB Introduction • We store the content description of video in an OODB (Jasmine[CA]) to provide the user to query video segments according to the video content. • A VDBMS needs to address the following important issues : – – – – Video data modeling Video data insertion Video data indexing Video data query and retrieval XML Object Database and Applications 10/27/99 at NDMC 64 Introduction(cont.) • Overview of System Architecture Raw Video Data Segmentation & Annotation Repository (databases) Annotator XML Object Database and Applications 10/27/99 at NDMC Query Interface User 65 Related Research • R. Jain and A. Hampapur, “Metadata in Video Databases.” – – Application of Video Query Dimensionality • M. Carrer, L. Ligresti, G. Ahanger, and T.D.C. Little, “An Annotation Engine for Supporting Video Database Population.” – – Video Segmentation A Newscast Video Data Model XML Object Database and Applications 10/27/99 at NDMC 66 Related Research • E. Hwang and V. S. Subrahuanian, “Querying Video Libraries.” – A Formal Model of Video Data Structures • R. Hjelsvold and R. Midtstraum, “Modelling and Querying Video Data.” – Structure of the Generic Video Data Model XML Object Database and Applications 10/27/99 at NDMC 67 Related Research • Dublin Core-based Video Description Scheme – Hunter proposes to extend part of Dublin Core elements, i.e., Type, Description, Format, Relation, and Coverage, to cope with video content metadata requirements. • Hunter breaks film and video documents into the following hierarchical segments: Sequence Scene Shot Frame Object/Actor/Person XML Object Database and Applications 10/27/99 at NDMC 68 Research Issues • Video Data Modeling – – – Characteristics of Video Data Video Logical Structure Content of Video Data Shot Shot Shot Scene Scene Sequence Video XML Object Database and Applications 10/27/99 at NDMC 69 Research Issues • Video data insertion – – – – Extract key information Break the given video stream into a set of basic units. Manually or semi-automatically annotate the video unit. Index and store video data into the video database XML Object Database and Applications 10/27/99 at NDMC 70 Research Issues • Video Data Indexing – – – Annotation-Based Indexing Feature-Based Indexing Domain-Specific Indexing XML Object Database and Applications 10/27/99 at NDMC 71 Research Issues • Video Data Query – – – – – Query content Query matching type Query granularity Query behavior Query specification XML Object Database and Applications 10/27/99 at NDMC 72 Research Issues • Content Description Language – – – Every video subset of a video has a set of associated objects and associated activities, which can be what we may describe. Content description language is used to describe the video content and video structure. An example is to describe video content by applying qualified Dublin Core to a hierarchical segmented video structure . XML Object Database and Applications 10/27/99 at NDMC 73 System Architecture System Architecture XML Object Database and Applications 10/27/99 at NDMC 74 Video Data Video Player Video Entity Segment Program Video Entity Segment Video Content Annotator Video Content Annotating Program XML Document Internet Video Logical Structure and Content (ODQL programs) Video Content Query Interface OODB Users System Architecture • Video Content Annotating Program – – Output in two formats: one is in XML and the other is in an object database language, the Object Data Query Language (ODQL) of Jasmine. The video content annotating program of the system employs a bottom-up approach to guide the human annotator to describe the content of video segments. XML Object Database and Applications 10/27/99 at NDMC 76 System Architecture Video Sequence Scene Shot Bottom-Up XML Object Database and Applications 10/27/99 at NDMC 77 System Architecture • Query Interface – – The matching type used in the query interface is keyword match, which is a kind of exact match. The user specifies the keyword he or she wishes to find in the value field of each attribute, the interface then looks for the content description of each SHOT in the object database in order to find the satisfied ones. XML Object Database and Applications 10/27/99 at NDMC 78 Implementation • The Jasmine Object-Oriented Database – – – We use Jasmine OODB [CA] to store the video content description. Jasmine provides the ODQL to define, manipulate, and query the data in OODB An ODQL program SHOT shot0; shot0=SHOT.new(shotnumber:=0,name:="Shot_0 ",filename:="F:\\G.ARMANI\\Shot1.MPG",star ttime:="00:00",stoptime:="00:13",comment:= comment0); XML Object Database and Applications 10/27/99 at NDMC 79 Implementation • The Content Description of Fashion Show Video <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT VIDEO (ABSTRACT?,SEQUENCE+)> SEQUENCE (DESIGNER,SCENE+)> SCENE (TOPIC,BACKGROUND,SHOT+)> SHOT (CLOTHES+,ACCESSORY*)> ABSTRACT (#PCDATA)> BACKGROUND EMPTY> CLOTHES EMPTY> ACCESSORY EMPTY> DESIGNER EMPTY> TOPIC EMPTY> XML Object Database and Applications 10/27/99 at NDMC 80 Implementation <!ATTLIST SCENE scenenumber NUMBER #REQUIRED name CDATA #IMPLIED starttime CDATA #REQUIRED endtime CDATA #REQUIRED> <! ATTLIST CLOTHES name CDATA #REQUIRED department CDATA #REQUIRED type (Men|Women|Children) “Men” color CDATA #REQUIRED season (Arbitrary|SpringSummer|FallWinter) “Arbitrary” fabric CDATA #IMPLIED narrative CDATA #IMPLIED > XML Object Database and Applications 10/27/99 at NDMC 81 Implementation • Video Content Annotation Program XML Object Database and Applications 10/27/99 at NDMC 83 Implementation XML Object Database and Applications 10/27/99 at NDMC 84 Video Content Query Interface XML Object Database and Applications 10/27/99 at NDMC 88 Conclusion • A video content-based query system • A hierarchical scheme for the content descriptions of fashion show video • The content description of video is made by using XML DTD. • The annotation of video content description based on the scheme is stored in an object database • We then build the form-based query interface on the object database. XML Object Database and Applications 10/27/99 at NDMC 89 Future Work • The problem of video transmission. • How detailed should we describe the video content? • In the future we will develop a Query-By-Template interface with key frame image, and an iterative query interface to allow user to incrementally refine their queries until the satisfying result is obtained. • The study of how to produce the query interface automatically with different kinds of video. XML Object Database and Applications 10/27/99 at NDMC 90 An Agent-Based EC System Based on an OODB Background • Software Agent • XML • KQML XML Object Database and Applications 10/27/99 at NDMC 92 Software Agent • Properties: – Autonomous, Reactive, Goal-driven, Persistent, Social, Intelligent, Mobile • Agency: – A collection of software agents that communicate and cooperate with each other is called an agency. XML Object Database and Applications 10/27/99 at NDMC 93 XML • XML(eXtensible Markup Language) is a description language for structural documents; it is a markup language, but unlike HTML it does not keep a fixed set of tags. XML Object Database and Applications 10/27/99 at NDMC 94 KQML • KQML (Knowledge Query and Manipulation Language) is a language and protocol for exchanging information and knowledge. KQML is both a message format and a messagehandling protocol to support run-time knowledge sharing among agents. • A KQML message is called a performative, in that the message is intended to perform some action by virtue of being sent. XML Object Database and Applications 10/27/99 at NDMC 95 System Architecture Agency OODB Manager 1 Rule Base Agent states & properties Reasoning KQML Interpreter agent 1 Document Handler Message Handler History Messages agent 2 Authentication Documents User Interface Resource Manager (products, services) Manager 2 XML Object Database and Applications 10/27/99 at NDMC agent 96 Agency • Agent • Facilator – – – – – – Authentication Message Handler Reasoning Document Handler Resource Manager KQML Interpreter XML Object Database and Applications 10/27/99 at NDMC 97 Analysis of System Components • Facilitator – authentication, create agents, delete agents, sleep agents, resume agents, and communicate with others. • Agent – action handling, display result, and communicate with others. • Message Handler – send message, receive message, and parse message. XML Object Database and Applications 10/27/99 at NDMC 98 Future Work • How the schema hierarchy of XML object database affects the performance of accessing the document. • Extensible template-based query interface • Applications of XML object database in electronic commerce XML Object Database and Applications 10/27/99 at NDMC 99