arciniegas

60 %
40 %
Information about arciniegas
Education

Published on January 10, 2008

Author: Dorotea

Source: authorstream.com

Fabio Arciniegas A. Rubby Casallas G.:  Fabio Arciniegas A. Rubby Casallas G. An XML Based Academic Test Manager Samxa Agenda:  Agenda The Problem The Solution Evolution of Samxa Contributions Future Works The Problem:  The Problem Maximize the portability of questions and tests Agenda:  Agenda The Problem The Solution Typical user steps Basic Architecture Kernel CGIHelper The Solution: Typical Steps [user]:  The Solution: Typical Steps [user] The Solution: Typical Steps [user] (2):  The Solution: Typical Steps [user] (2) The Solution: BasicArchitecture:  The Solution: BasicArchitecture SamxaServer SamxaCGIHelper Produces and storages questions and tests. This is the component capable of reading / writing objects to XML This component takes the responsibility of converting CGI answers to XML The Solution: Server Architecture:  The Solution: Server Architecture GUI Kernel Database XMLPersisters XML SamXa Server follows a layered architecture. The “XMLPersisters”, the components capable of reading/writing objects from/to XML files are embbeded, in the Kernel. The Solution: Kernel:  The Solution: Kernel The kernel is composed of several units that replicate an Object-Object Server-Object Persister architecture. The generalization of this structure is what we call the XMLable design pattern. Two reasons inspire this organization: Abundant, objects should not bear the responsiblity of saving themselves as XML. Consequences: Flyweight pattern [GoF95] can be applied leading to a much smaller memory consumption. Coupling between the rest of the solution and the XML processor is greatly diminished The need of a domain specific object hierarchy imposes the need of an object model representation of the XML other than DOM. The Solution: Kernel (2):  The Solution: Kernel (2) Samxa’s XML to DBMS is based on an intermediate object representation for both. This is similar to the XML to DBMS proposal for java by David Megginson Samxa’s XMLPersisters (in classes XMLQuestionPersister, XMLTestPersister) Follow the Builder Pattern [GoF95]. Currently XMLPersisters use a modified version of Andy Dent’s C++ Expat wrapper. XML4C2 Dom implementation is used for Object to XML document persistance The Solution: Kernel (3):  The Solution: Kernel (3) Transformations in Samxa are performed using external tools. A Transformation Manager class takes care of the calls to these tools. When a stylesheet is registered it can specify its type (DSSSL or XSL) and a recomnended external tool to use. Currently, Samxa users have a set of 10 stylesheets. 7 of them are written in DSSSL (use James Clark’s Jade) 2 more of them use XSLT 1 is a special template that inserts the XML in a page that uses the XML/XSL capabilities of IE5.0 The Solution: CGIHelper:  The Solution: CGIHelper This helper follows a pipe-filter architecture in order to convert CGI-POST based information (the answers) into XML answer documents which conform to an Answers DTD. The CGI Helper is written in Perl. It uses XML::DOM for the actual translation of the posted data to XML. It also uses XML:XSLT in order to produce the HTML statistic pages that students look at. Agenda:  Agenda The Problem The Solution Evolution of Samxa XML Relevant changes over Time Comparisions Evolution: XML Relevant changes:  Evolution: XML Relevant changes Samxa, now in its version 2.0, has undergone several changes that compomise its relation with The XML libraries/tools that it uses. These changes took place mainly in two components: XMLPersister classes in the kernel and the CGIHelper. We believe this experimentation... Better yet, wandering through parsers and tools is representative of what many developers are going thru. Evolution: XMLPersister changes:  Evolution: XMLPersister changes Ad Hoc Home made perl script Expat. Using intermediate structures in userData XML4C2 SAXParser XML4C2 DomParser Enhanced Expatpp using Run-time linking of xmlparse.dll Evolution: XMLPersister changes:  Evolution: XMLPersister changes Ad Hoc Home made perl script Expat. Using intermediate structures in userData XML4C2 SAXParser XML4C2 DomParser Enhanced Expatpp using Run-time linking of xmlparse.dll Pros: Cons Solution can be highly optimized for the problem at hand Evolution: XMLPersister changes:  Evolution: XMLPersister changes Ad Hoc Home made perl script Expat. Using intermediate structures in userData XML4C2 SAXParser XML4C2 DomParser Enhanced Expatpp using Run-time linking of xmlparse.dll Pros: Cons *Really* Fast Easy to learn Clear, concise code Totally portable Evolution: XMLPersister changes:  Evolution: XMLPersister changes Ad Hoc Home made perl script Expat. Using intermediate structures in userData XML4C2 SAXParser XML4C2 DomParser Enhanced Expatpp using Run-time linking of xmlparse.dll Pros: Cons Highly readable code Fast development Originally developed for C++ Evolution: XMLPersister changes:  Evolution: XMLPersister changes Ad Hoc Home made perl script Expat. Using intermediate structures in userData XML4C2 SAXParser XML4C2 DomParser Enhanced Expatpp using Run-time linking of xmlparse.dll Pros: Cons Highly readable code Fast development Originally developed for C++ Evolution: XMLPersister changes:  Evolution: XMLPersister changes Ad Hoc Home made perl script Expat. Using intermediate structures in userData XML4C2 SAXParser XML4C2 DomParser Enhanced Expatpp using Run-time linking of xmlparse.dll Pros (The best of both worlds): Highly readable code Fast development Presents only a C++ façade Agenda:  Agenda The Problem The Solution Evolution of Samxa Contributions The Software development process and XML related contributions Contributions:  Contributions During the development of SamXa several other tools were developed. XML Tools for various stages of the development process are now an integral part of our work. Contributions:  Contributions The tools developed have been useful on several stages of the development process. Contributions : Samples:  Contributions : Samples <REQUIREMENT ID=“1.1” CRITIC=“FALSE”> <NAME>Text context Creation</NAME>... </REQUIREMENT> Contributions : Samples:  Contributions : Samples Multiple objects whose data is to be gathered from XML documents need to be manipulated. Design and program quality imposes the need to represent the data as something more meaningful in your domain than the DOM tree. Contributions: Samples:  Contributions: Samples Munin ... <TEST ID=“t29”> <PROGRAM NAME=“/usr/local/bin/h.pl”> <INPUT VIA=“stdin”>Hello</INPUT> <EXPECTED>Hi there!</EXPECTED> </PROGRAM> <VALUE>5</VALUE> </TEST> ... HTML with the results Future Works:  Future Works Create tools for the automatic generation of classes that follow the Samxa approach for the event oriented construction of domain specific objects Create simple to use components in order to popularize parsers among developers Complete a full set of XML based tools that support the whole development cycle e.g dtds + visual tools for the definition of architectures. Conclusions:  Conclusions Samxa is an example of how an XML based solution, using XML based assistant tools can be applied to real life problems. Samxa shows useful, reusable techniques for the creation of domain specific objects from XML Samxa history shows a common struggle between tools. We hope that others can make use of our experience when facing similar problems Questions:  Questions Fabio Arciniegas A. Rubby Casallas G.:  Fabio Arciniegas A. Rubby Casallas G. An XML Based Academic Test Manager Samxa www.uniandes.edu.co/~l-arcini/TheFAActory l-arcini@uniandes.edu.co

Add a comment

Related presentations

Related pages

Germán Arciniegas – Wikipedia

Germán Arciniegas (* 6. Dezember 1900 in Bogotá; † 29. November 1999 ebenda) war ein kolumbianischer Politiker, Schriftsteller und Journalist
Read more

Arciniegas | Define Arciniegas at Dictionary.com

Arciniegas definition, Germán [her-mahn] /hɛrˈmɑn/ (Show IPA), 1900–1999, Colombian author, editor, and diplomat. See more. Dictionary.com;
Read more

arciniegas - karibische rhapsodie biographie - ZVAB

Karibische Rhapsodie : Biographie eines Meeres ;. von Arciniegas, Germán: und eine große Auswahl von ähnlichen neuen, gebrauchten und antiquarischen ...
Read more

Germán Arciniegas - Wikipedia, the free encyclopedia

Germán Arciniegas Angueyra (December 6, 1900 - November 30, 1999) was a Colombian historian, author and journalist who was known for his advocacy of ...
Read more

arciniegas german - AbeBooks

America in Europe: A History of the New World in Reverse von German Arciniegas und eine große Auswahl von ähnlichen neuen, gebrauchten und antiquarischen ...
Read more

Jair Arciniegas C - Gerente General - BEA International | XING

Promocionar los servicios médicos estéticos en Colombia; a través de un programa integral para servicios y productos: - Cirugía Plástica Corporal ...
Read more

Luis Ocanto-Arciniegas | LinkedIn

Luis Ocanto-Arciniegas’ berufliches Profil anzeigen LinkedIn ist das weltweit größte berufliche Netzwerk, das Fach- und Führungskräften wie Luis ...
Read more

Luis Ocanto-Arciniegas - Ourstudio Architektur & Gestaltung

Ourstudio, Architektur, Gestaltung, Ourstudio, Luis Ocanto, Armin Rogall, Luis Ocanto-Arciniegas, Prof. Dipl.-Ing. Arch. Armin Rogall, Fachhochschule ...
Read more

Top 24 Angela Arciniegas profiles | LinkedIn

View the profiles of professionals named Angela Arciniegas on LinkedIn. There are 24 professionals named Angela Arciniegas, who use LinkedIn to exchange ...
Read more

Ricardo Arciniegas - Docente - Colegio Mixto San Felipe ...

XING ist Deutschlands größtes berufliches Netzwerk: Mit XING finden Sie Ihren Traumjob, knüpfen wertvolle Kontakte, tauschen Wissen aus – und haben ...
Read more