miércoles, 21 de diciembre de 2011

Trabajo de Investigación de XML


         -       Introducción a XML
XML, siglas en inglés de eXtensible Markup Language ('lenguaje de marcas extensible'), es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). Es una simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades, de ahí que se le denomine metalenguaje1 . Algunos de estos lenguajes que usan XML para su definición son XHTML, SVG, MathML.

-          Características propias, etiquetas

XML es un formato basado en texto, específicamente diseñado para almacenar y transmitir datos. Un documento XML se compone de elementos XML, cada uno de los cuales consta de una etiqueta de inicio, de una etiqueta de fin y de los datos comprendidos entre ambas etiquetas. Al igual que los documentos HTML, un documento XML contiene texto anotado por etiquetas. Sin embargo, a diferencia de HTML, XML admite un conjunto ilimitado de etiquetas, no para indicar el aspecto que debe tener algo, sino lo que significa. Por ejemplo: un elemento XML puede estar etiquetado como precio, número de pedido o nombre. El autor del documento es quien decide qué tipo de datos va a utilizar y qué etiquetas son las más adecuadas.
Los documentos XML son fáciles de crear. En este ejemplo se utiliza XML para describir un parte meteorológico. Este documento se puede guardar con una extensión de XML, por ejemplo Tiempo.xml.
<reporte-clima>
<fecha>March 25, 1998</fecha>
<hora>08:00</hora>
<area>
<departamento>MVD</ departamento >
<ciudad>Montevideo</ciudad>
<pais>Uruguay</pais>
</area>
<medidas>
<cielo>parcialmente nublado </cielo>
<temperatura>16</temperatura>
<viento>
<direccion>SO</direccion>
<velocidad>16</velocidad>
</viento>
<h-indice>51</h-indice>
<humedad>87</humedad>
<visibilidad>10</visibilidad>
<uv-indice>1</uv-indice>
</medidas>
</reporte-clima>
En lugar de describir el orden y la disposición de la presentación de los datos, las etiquetas indican qué significa cada elemento de datos (si es un elemento <fecha>, un elemento <area>, etc.). Cualquier receptor de estos datos puede descodificar el documento y utilizarlo para sus propios fines.

-          Herramientas de edición

Son programas que nos facilitan la edición de documentos XML, su validación, etc.
Como los archivos XML son documentos de texto plano pueden crearse con cualquier programa de edición, por simple que sea. Con todo, es más fácil crear los documentos con editores específicos para este propósito.
El uso de editores no específicos puede tener sentido si se quiere hacer una edición rápida en un documento y, además, tienen la ventaja de que se encuentran en todos los sistemas operativos, pero tienen carencias importantes ya que no reconocen el documento XML como tal, por tanto, no nos pueden dar soporte.
Para escribir documentos XML sin errores se necesita un editor específico que nos ayudará a validar el XML contra un DTD o un esquema y forzar así estructuras XML válidas. Ahondaremos en esto más adelante. Un editor XML debe ser quien de proporcionarnos las siguientes funcionalidades:
  • Añadir etiquetas de cierre automáticamente
  • Forzar la escritura de un documento XML bien formado, es decir, haciendo cumplir las reglas de sintaxis de XML.
  • Verificar el XML contra un DTD o esquema
  • Resaltar las etiquetas y sintaxis del XML mediante colores
Algunas herramientas libres para la edición de documentos XML son las siguientes: XML Copy Editor, Quanta Plus o Bluefish.

-          Elaboración de documentos XML bien formados

Todos los documentos XML deben estar bien formado, lo que significa que se debe cumplir lo siguiente:
  • Si no se utiliza DTD, el documento debe comenzar con un Declaración de Documento Standalone
  • Todas las etiquetas deben estar balanceadas: esto es, todos los elementos que contengan datos de tipo carácter deben tener etiquetas de principio y fin
  • Todos los valores de los atributos deben ir entrecomillados (el carácter comilla simple [el apóstrofe] puede utilizarse si el valor contiene caracteres comillas dobles, y viceversa): si necesitas ambos, utiliza &apos; y &quot;
  • Cualquier elemento VACÍO (p.e. aquellos que no tienen etiqueta final como <IMG>, <HR>, y <BR> y otros de HTML) deben terminar con '/>' o debes hacerlos no VACÍOS añadiéndoles una etiqueta de fin.
  • No debe haber etiquetas aisladas (< ó &) en el texto (p.e. debe darse como &lt; y &amp;), y la secuencia ]]> debe darse como ]]&gt; si no ocurre esto como final de una sección marcada como CDATA;
  • Los elementos deben anidar dentro de sí sus propiedades (no se deben sobreponer etiquetas, como en el resto de SGML);
  • Los ficheros bien-formados sin-DTD pueden utilizar atributos en sus elementos, pero éstos deben ser todos del tipo CDATA, por defecto. El tipo CDATA (character DATA) son caracteres..
Según la especificación de XML del W3C, un documento XML está bien formado si:
  • Tomado como un todo, cumple la regla denominada "document".
  • Respeta todas las restricciones de buena formación dadas en la especificicación.
  • Cada una de las entidades analizadas que se referencia directa o indirectamente en el documento está bien formada.
Cumplir la regla "document" antes mencionada significa:
  • Que continene uno o más elementos.
  • Hay exactamente un elemento, llamado raíz, o elemento documento, del cual ninguna parte aparece en el contenido de ningún otro elemento.
  • Para el resto de elementos, si la etiqueta de comienzo está en el contenido de algún otro elemento, la etiqueta de fin está en el contenido del mismo elemento. Es decir, los elementos delimitados por etiquetas de principio y final se anidan adecuadamente mutuamente.
        -      Estructura y Sintaxis.

La información es estructurada cuando compone de partes bien definidas, y que esas partes se componen a su vez de otras partes. Entonces se tiene un árbol de trozos de información. Ejemplos son un tema musical, que se compone de compases, que están formados a su vez por notas. Estas partes se llaman elementos, y se las señala mediante etiquetas.
Una etiqueta consiste en una marca hecha en el documento, que señala una porción de éste como un elemento. Un pedazo de información con un sentido claro y definido. Las etiquetas tienen la forma <nombre>, donde nombre es el nombre del elemento que se está señalando.
A continuación se muestra un ejemplo para entender la estructura de un documento XML:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE Edit_Mensaje SYSTEM "Edit_Mensaje.dtd">

<Edit_Mensaje>
     <Mensaje>
          <Remitente>
               <Nombre>Nombre del remitente</Nombre>
               <Mail> Correo del remitente </Mail>
          </Remitente>
          <Destinatario>
               <Nombre>Nombre del destinatario</Nombre>
               <Mail>Correo del destinatario</Mail>
          </Destinatario>
          <Texto>
               <Asunto>
                    Este es mi documento con una estructura muy sencilla
                    no contiene atributos ni entidades...
               </Asunto>
               <Parrafo>
                    Este es mi documento con una estructura muy sencilla
                    no contiene atributos ni entidades...
               </Parrafo>
          </Texto>
     </Mensaje>
</Edit_Mensaje>
Aquí está el ejemplo de código del DTD del documento «Edit_Mensaje.dtd»:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Este es el DTD de Edit_Mensaje -->

<!ELEMENT Mensaje (Remitente, Destinatario, Texto)*>
<!ELEMENT Remitente (Nombre, Mail)>
<!ELEMENT Nombre (#PCDATA)>
<!ELEMENT Mail (#PCDATA)>
<!ELEMENT Destinatario (Nombre, Mail)>
<!ELEMENT Nombre (#PCDATA)>
<!ELEMENT Mail (#PCDATA)>
<!ELEMENT Texto (Asunto, Parrafo)>
<!ELEMENT Asunto (#PCDATA)>
<!ELEMENT Parrafo (#PCDATA)>

-          Utilización de espacios de nombres en XML.

Un espacio de nombres XML es una recomendación W3C para proporcionar elementos y atributos con nombre único en una instancia XML. Una instancia XML puede contener nombres de elementos o atributos procedentes de más de un vocabulario XML. Si a cada uno de estos vocabularios se le da un espacio de nombres, se resuelve la ambigüedad existente entre elementos o atributos que se llamen igual. Los nombres de elementos dentro de un espacio de nombres deben ser únicos.

Un ejemplo sería una instancia XML que contuviera referencias a un cliente y a un producto solicitado por éste. Tanto el elemento que representa el cliente como el que representa el producto pueden tener un elemento hijo llamado "numero_ID". Las referencias al elemento "numero_ID" podrían ser ambiguas, salvo que los elementos, con igual nombre pero significado distintos, se llevaran a espacios de nombres distintos que los diferenciaran.
<?xml version="1.0"?>
<cli:cliente xmlns:cli='http://es.wikipedia.org/wiki/Espacio_de_nombres_XML/cliente'
             xmlns:ped='http://es.wikipedia.org/wiki/Espacio_de_nombres_XML/pedido'>
    <cli:numero_ID>1232654</cli:numero_ID>
    <cli:nombre>Fulanito de Tal</cli:nombre>
    <cli:telefono>99999999</cli:telefono>
    <ped:pedido>
      <ped:numero_ID>6523213</ped:numero_ID>
      <ped:articulo>Caja de herramientas</ped:articulo>
      <ped:precio>187,90</ped:precio>
    </ped:pedido>
</cli:cliente>
</lang>

miércoles, 19 de octubre de 2011

REDES - Realizando cables Ethernet


Existen 2 tipos de cables de red: Cable Ethernet directo o cruzado.

¿De qué depende que se utilice uno u otro? Pues depende de los puertos que se vayan a conectar en un extremo y en el otro.
Los tipos de puertos que existen actualmente son:
-          MDI-II: Las llevan las tarjetas de red de los ordenadores. Transmiten por los pines 1 y 2 y recibe por los pines 3 y 6
-          MDI-X: Las llevan los antiguos hubs. Transmiten por los pines 3 y 6 y reciben por los pines 1 y 2.
-          AutoMDI: Las llevan los dispositivos de red modernos, como switch, las últimas tarjetas de red. Emiten y transmiten según el puerto haya en el otro extremo.

¿Cuándo se utiliza el cable directo y cuando el cable cruzado?

-          Cable directo: Se utiliza cuando los puertos son diferentes o uno de los 2 puertos es AutoMDI.
-          Cable cruzado: Se utiliza cuando los puertos son iguales o uno de los 2 puertos es AutoMDI

Estándares de cable directo y cable cruzado

Existen 2 estándares para la realización de cables de red de par trenzado: T568-B y T568-A. En este dibujo expone la combinación de colores de cada uno de los estándares.
Para realizar un cable directo, se debe poner el mismo estándar en un extremo y otro.
Para realizar un cable cruzado, se debe poner  un estándar en un extremo y otro estándar en el otro extremo.




Para realizar un cable Ethernet de par trenzado he necesitado los siguientes materiales:

-          Cable Ethernet de par Trenzado Utp-5
-          Crimpadora
-          Conectores RJ-45
-          Tester
Pasos a seguir para la realización de un cable Utp-5:

1º Saneamos el cable dándole un corte transversal.

2º Cortamos a 2,5 cm el plástico del cable que recubre a los 8 hilos

3º Separamos los hilos, que están agrupados de 2 en 2.

4º Ordenamos los hilos según el estándar (568-A o 568-B) que vayamos a utilizar.

5º Cuando los hilos esté ordenados, comprobamos que los hilos tienen todos la misma longitud, para después no tener problemas al meterlos en los conectores     RJ-45.

6º Introducimos los 8 hilos en el conector y comprobamos que todos están en su sitio y han llegado al final

7º Metemos el conector con el cable en el crimpadora y apretamos hasta doblar la lengüeta que tiene el conector RJ-45, para que no se vayan los hilos.

8º Comprobamos que están bien sujetos los cables con el conector.

9º Probamos con el téster que todos los pares funcionan perfectamente.

10º Por último lo conectamos a un ordenador comprobando que hay conexión entre 2 ordenadores haciendo ping desde uno de ellos.

Para realizar un roseta RJ-45  he necesitado los siguientes materiales:


-  Cable de Red de par trenzado UTP-5 
-  Conector hembra de RJ-45
-  Crimpadora de impacto


Los pasos a seguir son:

1º Saneamos el cable dándole un corte transversal.

2º Cortamos a 2,5 cm el plástico del cable que recubre a los 8 hilos

3º Separamos los hilos, que están agrupados de 2 en 2.

4º Introducimos los hilos en conector hembra según el estándar (568-A o 568-B) que vayamos a utilizar .

5º Comprobamos que están bien metidos los hilos en cada una de las ranuras del conector hembra.

6º Ahora crimpamos con la crimpadora cada uno de los hilos teniendo en cuenta la posición con la que crimpamos. La correcta posición de la crimpadora es teniendo la parte que corta hacia fuera.

7º Probamos este cable conectando el extremo del conector macho en la roseta de la pared. Al otro extremo (conector hembra) le conectamos un cable y el otro extremo de este cable lo conectamos al ordenador.

8º Hacemos ping a un ordenador que esté en la misma red y comprobamos que tenemos conectividad a internet.

Aqui dejo unos videos sobre como realizar cables de red:




miércoles, 12 de octubre de 2011

Organización Secuencial Indexada


Organización Secuencial Indexada
La organización secuencial indexada está formada por registros en los que se encuentran un conjunto de datos que se graban en un fichero secuencialmente, llamado área primaria. Estos datos se pueden recuperar con acceso directo gracias a la utilización de un fichero adicional, llamado áreas de índices, que contiene información de la posición de memoria que ocupa cada registro en el fichero de datos.
Además, se dispone de un área adicional, denominada área de overflow, en la que podemos añadir más datos, una vez terminada el área primaria.


Área primaria

Es la parte del fichero donde se guardan los registros ordenados por el valor del campo “clave”. Los registros se organizan por bloques. Es un área de organización secuencial donde el acceso se realiza mediante dos operaciones:
Primero, buscando en el bloque del registro, luego analiza secuencialmente ese bloque hasta localizar el registro deseado o, en caso de no hallarse, pasaría al área de overflow.

Área de índices

Los registros de esta área están formados por dos campos:
El primero contiene la clave del último registro de cada bloque.
El segundo contiene la dirección de memoria (puntero) del inicio de cada bloque del área primaria.

Área de Overflow

Tras completar el área primaria, los registros añadidos posteriormente serán enviados al área de overflow. Estos registros podrán tener claves intermedias a los registros añadidos en el área primaria.


Ventajas

  • Búsquedas más rápidas gracias a la utilización de un índice
  • Se pueden actualizar los registros en el mismo fichero, no hay que crear un fichero nuevo para el proceso de actualización. 

Inconvenientes

  • Ocupa más espacio en el disco que los ficheros secuenciales, debido al uso del área de índices.
  • Aumenta el tiempo de acceso a los registros
  • Solo se puede grabar en soportes direccionales.
  • Inversión económica mayor debido a su mantenimiento.