[Jde-dev] [Jde] Opciones para archivos de configuración en JDE

David Lobato dav.lobato en gmail.com
Dom Ene 4 13:19:22 CET 2009


Buenas!
Lo primero: feliz año a todos!

En cuanto al tema, sin duda XML y JSON son las mejores opciones. Ambos están
soportados en múltiples lenguajes y nos permiten expresar toda la
información que usamos en los ficheros de configuración.

Ahora, XML es muchísimo mas rico semánticamente, hasta el punto de dejarnos
expresar casi cualquier cosa. Que sea mas costoso el parseo no es un
problema por el momento, ya que simplemente leemos los ficheros de
configuración una vez.

Quizá el único problema que veo es la complicación de describir la sintaxis
del fichero, para posteriormente poder validar el fichero. En XML tenemos 2
opciones DTD o Schema [1]. El primero es relativamente simple y permite
describir la estructura de un fichero. El segundo es muchísimo mas potente,
permitiendo definir la estrutura y los tipos de datos.

Hace tiempo hice un ejemplo de XML Schema para mi proyecto fin de carrera
[2]. Lo adjunto (jde.xsd) para que veáis la pinta que tiene. Después se
pueden escribir ficheros tipo stdschema.xml (adjunto) y verificarlos en
linea.

Para el parseo de XML usé una librería llamada tinyXML [3], muy pequeña y
simple de usar, ya que libxml es horrorosa!!

Cómo lo veis?

Un saludo.
David.


[1] http://es.wikipedia.org/wiki/XML#Validez
[2] http://jde.gsyc.es/index.php/Dlobato_jde%2B
[3] http://www.grinninglizard.com/tinyxml/
El 23 de diciembre de 2008 10:45, Roberto Calvo <rocapal en gsyc.es> escribió:

>
> En su día lo hablamos, como bien dices.
>
> JSON suele usarse en navegadores, para no tener que procesar XML (muy
> costoso). No se si tiene sentido utilizarlo en aplicación como fichero
> de configuración. Es cierto, que es más cómodo de usar un fichero en
> JSON, pero con XML te ofrece cosas como que puedes comprobar que esta
> bien formado el fichero de config.
>
> Incluso cuando se haga JDE distribuido, no se si tiene sentido utilizar
> JSON para el paso de parámetros o información entre componentes.
>
> Se escoja la opción que sea, lo que si haría es una app gráfica
> sencilla, para poder editar el fichero de config, pudiendo añadir
> drivers o esquemas con un click. Sino, puede ser un infierno el fichero
> de configuración.
>
> un saludo!
>
> El mar, 23-12-2008 a las 00:54 +0100, Darío Rodríguez escribió:
> > Buenas a todos:
> >
> > Esta tarde hablando con Jose Maria sobre un parser para XML, para
> > poder usarlo cuando pasemos archivos de configuración a los esquemas
> > de JDE, me ha comentado que anteriormente se penso en JSON para esta
> > misma tarea y que ya era hora de tomar una decisión y tener un formato
> > común para la comunicación entre esquemas cuando sea necesaria.
> >
> > He rebuscado un poco por ahí y he visto varias alternativas para estos
> > menesteres (leer y escribir archivos para intercambiar datos), os
> > comento para entrar en situación:
> >
> > 1.- Sobre XML [1] bastante usado y con muchos parsers para C, he
> > probado eXpat [2] pero sólo permite leer, una alternativa sería libxml
> > [3] que sí escribe archivos.
> >
> > 2.- JSON [4] se pensó en el anteriormente y es muy usado en mundillo
> > de la web como XML. Sobre este formato creo que puede decir más David
> > Lobato que yo.
> >
> > 3.- Como otra alternativa he encontrado YAML [5] [6] aunque su
> > libreria para C [7] pone que esta en desarrollo.
> >
> > 4.- Y por último OGDL [8] este formato es algo distinto ya que se
> > sirve de grafos para organizar el parseado del archivo, como libreria
> > tiene libogdl [9].
> >
> >
> > Bueno la cuestión es ¿cuál escogemos?. Si conoceis otras altenativas
> > comentarlas para poder realizar una buena elección.
> >
> > En mi opinión la duda esta entre XML y JSON, si pensamos en el futuro
> > y queremos integrar JDE con algún servicio web puede que JSON se use
> > más.
> >
> > ¿Qué opinais?
> >
> > Un saludo.
> >
> > Darío Rodríguez.
> >
> > [1] http://es.wikipedia.org/wiki/XML
> > [2] http://expat.sourceforge.net/
> > [3] http://xmlsoft.org/
> > [4] http://es.wikipedia.org/wiki/JSON
> > [5] http://www.yaml.org/
> > [6] http://es.wikipedia.org/wiki/YAML
> > [7] http://pyyaml.org/wiki/LibYAML
> > [8] http://ogdl.sourceforge.net/
> > [9] http://ogdl.sourceforge.net/api/c/
> > _______________________________________________
> > Jde-developers mailing list
> > Jde-developers en gsyc.es
> > http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
> --
> Roberto Calvo Palomino          | Libre Software Engineering Lab (GSyC)
> Tel: (+34) 91 488 85 23         | Universidad Rey Juan Carlos
> Tel: (+34) 91 488 81 05         | Edif. Departamental II - Despacho 116
> rocapal en gsyc.es                 | c/Tulipán s/n 28933 Móstoles (Madrid)
> http://libresoft.es/
>
> GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
>
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20090104/830da9e8/attachment.htm 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : jde.xsd
Tipo       : application/octet-stream
Tamaño     : 2488 bytes
Descripción: no disponible
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20090104/830da9e8/attachment.obj 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : stdschema.xml
Tipo       : text/xml
Tamaño     : 717 bytes
Descripción: no disponible
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20090104/830da9e8/attachment.bin 


More information about the Jde-developers mailing list