Está en la página 1de 19

¿Qué es XML?

XML, siglas en inglés de eXtensible Markup Language, traducido


como "Lenguaje de Marcado Extensible" o "Lenguaje de Marcas
Extensible", es un metalenguaje que permite definir lenguajes de
marcas desarrollado por el World Wide Web Consortium (W3C)
utilizado para almacenar datos en forma legible. Proviene del
lenguaje 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) para estructurar documentos grandes. A
diferencia de otros lenguajes, XML da soporte a bases de datos,
siendo útil cuando varias aplicaciones deben comunicarse entre sí o
integrar información.

XML es el acrónimo de Extensible Markup Language, es decir, es un lenguaje


de marcado que define un conjunto de reglas para la codificación de
documentos. ¿Te parece complicado? Entonces, vamos a simplificarlo.

El lenguaje de marcado es un conjunto de códigos que se pueden aplicar en el


análisis de datos o la lectura de textos creados por computadoras o personas. El
lenguaje XML proporciona una plataforma para definir elementos para crear un
formato y generar un lenguaje personalizado.

Un archivo XML se divide en dos partes: prolog y body. La parte prolog consiste
en metadatos administrativos, como declaración XML, instrucción de
procesamiento opcional, declaración de tipo de documento y comentarios. La
parte del body se compone de dos partes: estructural y de contenido (presente
en los textos simples).

El diseño XML se centra en la simplicidad, la generalidad y la facilidad de uso y,


por lo tanto, se utiliza para varios servicios web. Tanto es así que hay sistemas
destinados a ayudar en la definición de lenguajes basados en XML, así
como APIs que ayudan en el procesamiento de datos XML – que no deben
confundirse con HTML.

Al crear el sitio web de tu empresa, estás creando la representación de tu


negocio en medios digitales. El diseño, las imágenes, el texto y otros elementos
que lo componen forman parte de un conjunto de lectura que las máquinas
interpretan para mostrarle a tus clientes el sitio tal como es. El lenguaje XML es
parte de este conjunto.

Si quieres saber qué es, cuáles son sus funciones principales y cómo abrir este
tipo de archivo, ¡acompáñanos hasta el final de este post!
¿Qué es XML?
XML es el acrónimo de Extensible Markup Language, es decir, es un lenguaje
de marcado que define un conjunto de reglas para la codificación de
documentos. ¿Te parece complicado? Entonces, vamos a simplificarlo.

El lenguaje de marcado es un conjunto de códigos que se pueden aplicar en el


análisis de datos o la lectura de textos creados por computadoras o personas. El
lenguaje XML proporciona una plataforma para definir elementos para crear un
formato y generar un lenguaje personalizado.

Un archivo XML se divide en dos partes: prolog y body. La parte prolog consiste
en metadatos administrativos, como declaración XML, instrucción de
procesamiento opcional, declaración de tipo de documento y comentarios. La
parte del body se compone de dos partes: estructural y de contenido (presente
en los textos simples).

El diseño XML se centra en la simplicidad, la generalidad y la facilidad de uso y,


por lo tanto, se utiliza para varios servicios web. Tanto es así que hay sistemas
destinados a ayudar en la definición de lenguajes basados en XML, así
como APIs que ayudan en el procesamiento de datos XML – que no deben
confundirse con HTML.

¿Qué es HTML?
HTML (Hypertext Markup Language) es el lenguaje de marcado de
documentos para construir páginas web. Por lo tanto, los comandos de
formato utilizados en los contenidos para web se refieren a la estructura del
mismo y al diseño que se mostrará en el navegador.

Es decir, los navegadores leen el documento con el formato HTML y lo procesan


en la pantalla mediante el examen de los elementos HTML insertados en el
documento, que se considera un archivo de texto con la información que se debe
publicar.

Por eso, podemos generar un archivo HTML utilizando el Bloc de notas de


nuestra computadora, por ejemplo.

Las instrucciones incorporadas se conocen como elementos que muestran la


estructura y la presentación del documento en el navegador. Estos elementos
se componen de las tags que definen el formato de un texto. Las tags suelen
estar dos veces: tag inicial y tag final. Por ejemplo, para poner el texto en negrita,
las etiquetas <strong> se usan al principio y </ strong> al final.
¿Y cuáles son las diferencias
entre XML y HTML?
Para dejar en claro qué distingue uno del otro, aquí enumeramos las principales
diferencias entre XML y HTML:

• El XML es un lenguaje de marcado basado en texto que tiene una estructura de


auto-descripción y puede definir efectivamente otro lenguaje de marcado. Por
otro lado, el HTML es un lenguaje de mrcado predefinido y tiene una capacidad
limitada;
• El XML proporciona la estructura lógica del documento, mientras que la
estructura del HTML está predefinida, utilizando tags heads e body;
• Cuando se trata de lenguaje, el HTML es insensible a mayúsculas y minúsculas.
En cambio, el XML distingue entre mayúsculas y minúsculas;
• El HTML fue diseñado con un énfasis en las características de presentación de
los datos. En contraste, el XML es específico de datos;
• El XML no permite ningún error en el código. En contraste, en el HTML,
pequeños errores pueden ser descuidados;
• Los espacios en blanco en el XML se utilizan para un fin específico, pues
considera todos los caracteres el HTML, en cambio puede ignorar espacios en
blanco;
• las tags de XML están necesariamente cerradas, mientras que en HTML una
etiqueta abierta también puede funcionar bastante bien;
• En XML la sintaxis es de gran importancia. El HTML, por otro lado, no se
preocupa mucho por este aspecto.

¿Cuáles son las características


XML?
Ahora, veremos a continuación las principales características y ventajas del
XML:

El XML separa datos de HTML


Si necesitas mostrar datos dinámicos en tu documento HTML, tendrás que
dedicarle mucho trabajo a editarlos cada vez que los datos cambien. Con el
XML, los datos se pueden almacenar en archivos XML separados. De esa
manera, puedes usar HTML para la visualización y el diseño.

Con algunas líneas de código JavaScript, puedes leer un archivo XML externo y
actualizar el contenido de los datos de tu página web.
XML simplifica el intercambio de datos
Tanto los sistemas informáticos como las bases de datos contienen información
en formatos incompatibles.

Los datos XML se almacenan en formato de texto simple, lo que nos posibilita
una forma independiente de almacenar datos. Esto facilita mucho la creación
de datos que pueden ser compartidos por diferentes aplicaciones.

XML simplifica el intercambio de datos


Uno de los desafíos más difíciles para los desarrolladores es intercambiar datos
entre sistemas incompatibles a través de Internet. El intercambio de datos como
XML reduce en gran medida esta complejidad porque los datos pueden ser
leídos por diferentes aplicaciones incompatibles.

XML simplifica el cambio de plataforma


La actualización a nuevos sistemas (plataformas de hardware o software) lleva
mucho tiempo. Se deben convertir grandes cantidades de datos y los datos
incompatibles a menudo se pierden.

Los datos XML se almacenan en formato de texto. Esto facilita la expansión o


actualización a nuevos sistemas de información, nuevas aplicaciones o
nuevos navegadores sin pérdida de datos.

El XML aumenta la disponibilidad de datos


Diferentes aplicaciones pueden acceder a tus datos, no solo en páginas HTML,
sino también en fuentes de datos XML.

Con el XML, tus datos pueden estar disponibles para todos los tipos de
«máquinas de lectura» (computadoras de mano, máquinas de voz, feeds de
noticias, etc.) y, además, facilita la accesibilidad para personas con
capacidades diferentes, por ejemplo no videntes.
El XML se puede utilizar para crear nuevos
idiomas de Internet
Muchos idiomas nuevos en Internet son creados con XML. Aquí hay algunos
ejemplos:

• XHTML;
• WSDL;
• WAP y WML;
• RSS (utilizado en noticias);
• RDF y OWL;
• SMIL

EJEMPLO
La estructura de un archivo XML es muy similar a la estructura en HTML solo que con
la gran diferencia de que nosotros nombramos las etiquetas para asi poder almacenar
información que nos interesa para después lograr un acceso a esta, un ejemplo simple
seria como se muestra a continuación:

<?xml version=" 1.0 " encoding=" UTF-8 " standalone= " yes "?>
<ficha>
<nombre> Gabriel </nombre>
<apellido> Molina </apellido>
<direccion> Alfredo Vargas #36 </direccion>
</ficha>

Siguiendo este ejemplo de estructura básica de XML podemos generar una base de
datos en este sistema.

EJEMPLO 2.

Código:

<menu_almuerzo>

<comida>

<nombre>Waffles</nombre>

<precio>$2.00</precio>

<descripcion>Waffles baratos de McDonalds</descripcion>

<calorias>650</calorias>

</comida>

<comida>

<nombre>Hamburguesa</nombre>

<precio>$5.00</precio>
<descripcion>La hamburguesa mas comun de McDonalds</descripcion>

<calorias>1500</calorias>

</comida>

</menu_almuerzo>

Servicio web

Un servicio web

(en inglés, web service o web services) es una tecnología que utiliza un conjunto
de protocolos y estándares que sirven para intercambiar datos entre
aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de
programación diferentes, y ejecutadas sobre cualquier plataforma, pueden
utilizar los servicios web para intercambiar datos en redes de
ordenadores como Internet. La interoperabilidad se consigue mediante la
adopción de estándares abiertos. Las organizaciones OASIS y W3C son los
comités responsables de la arquitectura y reglamentación de los servicios Web.

Un servicio web es un sistema software diseñado para soportar la interacción


máquina-a-máquina, a través de una red, de forma interoperable. Cuenta con
una interfaz descrita en un formato procesable por un equipo informático
(específicamente en WSDL), a través de la que es posible interactuar con el
mismo mediante el intercambio de mensajes SOAP, típicamente transmitidos
usando serialización XML sobre HTTP conjuntamente con otros estándares
web.

Razones para crear servicios Web


La principal razón para usar servicios Web es que se pueden utilizar con HTTP sobre
Transmission Control Protocol (TCP) en el puerto de red 80. Dado que las organizaciones
protegen sus redes mediante firewalls (que filtran y bloquean gran parte del tráfico de
Internet), cierran casi todos los puertos TCP salvo el 80, que es, precisamente, el que
usan los navegadores web. Los servicios Web utilizan este puerto, por la simple razón
de que no resultan bloqueados. Es importante señalar que los servicios web se pueden
utilizar sobre cualquier protocolo, sin embargo, TCP es el más común.

Otra razón es que, antes de que existiera SOAP, no había buenas interfaces para acceder
a las funcionalidades de otras computadoras en red. Las que había eran ad hoc y poco
conocidas, tales como Electronic Data Interchange (EDI), Remote Procedure Call (RPC),
u otras API.

Una tercera razón por la que los servicios Web son muy prácticos es que pueden aportar
gran independencia entre la aplicación que usa el servicio Web y el propio servicio. De
esta forma, los cambios a lo largo del tiempo en uno no deben afectar al otro. Esta
flexibilidad será cada vez más importante, dado que la tendencia a construir grandes
aplicaciones a partir de componentes distribuidos más pequeños es cada día más
utilizada.

Se espera que para los próximos años mejoren la calidad y cantidad de servicios
ofrecidos basados en los nuevos estándares.

Arquitectura

Arquitectura de los Servicios Web SOAP

En la arquitectura de servicios web existen tres partes: proveedor de servicios web, el que
pide el servicio web y el publicador. El proveedor de servicios envía al publicador del servicio
un fichero WSDL con la definición del servicio web. El que pide el servicio contacta con el
publicador y descubre quién es el proveedor (protocolo WSDL) y contacta con el proveedor
(protocolo SOAP). El proveedor valida la petición de servicio y envía el dato estructurado en
formato XML utilizando el protocolo SOAP. El fichero XML es validado de nuevo por el que
pide el servicio utilizando un fichero XSD.
Características de un web service
Un web service está diseñado de forma que su interfaz se represente en un formato tal
que una computadora cuyas especificaciones se hayan escrito en WSL, pueda
representarlo.

Por lo general, utilizará el protocolo HTTP sin embargo, también pueden ser empleados
los siguientes protocolos:
SOAP (XML).
REST.
XML-RPC.
Además, el contenido del web service puede venir representado a través del formato
XML o del formato JSON, siendo el JSON el tipo de carga útil más común en una API.
Cómo implementar un servicio
web
Los servicios web permiten que las aplicaciones interactúen entre sí a través de la web en
un entorno independiente del idioma y de plataforma neutral. En un escenario típico de
servicios web, una aplicación empresarial envía una solicitud a un servicio en una URL
determinada mediante el protocolo HTTP. El servicio recibe la solicitud, la procesa y
devuelve una respuesta
Crear Procedimiento Almacenado en Sql Server

Ejemplo básico de un Procedimiento Almacenado


en Sql Server
Hola amigos y amigas bienvenidos a un nuevo post, el tema que trataremos ahora
sera en relación a los procedimientos almacenados en Sql Server, en verdad es
un tema importante para aprender cuando estamos trabajando con base
de datos, los procedimientos almacenados pueden escribir y devolver
información de una tabla en Sql Server. Antes que nada comparto un pequeño
concepto sobre el tema a abordar:

Un procedimiento almacenado (STORE PROCEDURE) está formado por un


conjunto de instrucciones Transact-SQL que definen un determinado proceso a
ejecutar, puede aceptar parámetros de entrada y devolver un valor o conjunto de
resultados. Este procedimiento se guarda en el servidor y puede ser ejecutado en
cualquier momento.

Los procedimientos almacenados se crean mediante la sentencia CREATE


PROCEDURE y se ejecutan con EXEC (o EXECUTE).

Para ejecutarlo también se puede utilizar el nombre del procedimiento


almacenado sólo, siempre que sea la primera palabra del lote. Para eliminar un
procedimiento almacenado utilizamos la sentencia DROP PROCEDURE.
Definitivamente la creación de procedimientos almacenados es un tema que
requiere de varios artículos, ya que estos pueden crearse para realizar diversas
tareas, dependiendo de lo que necesitemos hacer, en base a nuestro diseño de
Base de Datos. Por lo tanto se vuelve complejo lograr satisfacer la necesidad de
cada uno los visitantes de mi página Web; en tal sentido en este articulo nos
limitaremos a conocer la sintaxis para crear un procedimiento almacenado en el
gestor de Base de Datos Sql Server y desarrollaremos un ejemplo básico del tema.

Como Crear un Procedimiento Almacenado en Sql


Server
Para crear un procedimiento almacenado Sql debemos conocer inicialmente los
comandos requeridos para dicha tarea. La sintaxis para crear un procedimiento
almacenado con código sql es la siguiente:

create proc NOMBREPROCEDIMIENTO

@NOMBREPARAMETRO TIPO_DATO

as

SENTENCIAS SQL;

GO

Los parámetros se definen luego del nombre del procedimiento, comenzando el


nombre con un signo arroba (@).

Nota: Si esta serie de artículos te están pareciendo interesantes, te invitamos a


que accedas al curso completo sobre SQL SERVER. ➡️ Pincha AQUI ✔️

Los parámetros son locales al procedimiento, es decir, existen solamente dentro


del mismo. Pueden declararse varios parámetros por procedimiento, se separan
por comas.

Ejemplo de un Procedimiento almacenado en Sql Server

CREATE PROCEDURE Saludar

AS

PRINT ‘Hola, Como estas?’;

GO –- Indicamos GO para cerrar el lote que crea el procedimiento y


empezar otro lote.
EXECUTE Saludar; — De esta forma llamamos al procedimiento (se ejecuta).

En el ejemplo anterior lo que hacemos es mostrar un mensaje ‘Hola, Como


estas?‘, si te das cuenta aun no hemos usado parámetros.

Procedimiento Almacenado para Consultar


Registros
Bien, entonces vamos a ver otro ejemplo un poco mas complejo, ahora lo que
haremos sera, crear un procedimiento almacenado que me consulte una columna
en una tabla de la Base de Datos (nombre de una persona), ya he creado una
tabla en Sql Server a la cual le llame personas, acá puedes ver el diseño:

El código para crear el procedimiento almacenado propuesto sera el siguiente:

create procedure Proc_Nombre

@Nombre varchar(30)

as

Begin

select Nombre, Apellido

from Personas

where Nombre= @Nombre;

END
GO

Es un ejemplo fácil de entender, lo que realizara es una consulta del nombre y


apellido de una persona, mientras el nombre sea igual a que le especificamos en
el parámetro de entrada, es decir que seria obligatorio enviarle el parámetro, para
que pueda devolvernos resultados, hay que entender que es una búsqueda de
personas, sin embargo, a diferencia de una simple consulta, el procedimiento
almacenado lo podemos ejecutar en cualquier momento debido a que queda
guardado en el servidor.

¿QUE SON PROCEDIMIENTOS ALMACENADOS?

Un procedimiento almacenado es un conjunto de instrucciones de T-SQL que


SQL Server compila, en un único plan de ejecución, los llamados "store
procedures" se encuentran almacenados en la base de datos, los cuales pueden
ser ejecutados en cualquier momento.

Se pueden emplear cuatro métodos para crear procedimientos almacenados,


utilizando:

• El Transact-SQL (T-SQL).
• El Administrador Corporativo de SQL Server.
• El asistente para La Creación de Procedimientos Almacenados (Create
Store Procedure Wizard).
• Los objetos de Administración distribuida de SQL (SQL Distributed
Management Objects, SQL-DMO).

¿Para que se utilizan?

Los procedimientos almacenados se utilizan para agrupar las instrucciones de


T-SQL y cualquier lógica asociada necesaria para llevar a cabo una tarea.

¿Cómo se ejecutan?

Cuando un procedimiento almacenado es ejecutado por primera vez se compila,


se crea y se guarda en memoria su plan de ejecución., luego SQL utiliza ese
plan de ejecución cuando se vuelve a llamar al procedimiento sin volver a
compilarlo nuevamente.

¿Qué nos proporcionan?

Nos proporcionan a nosotros los usuarios un acceso fácil a la base de datos, se


puede tener acceso a la base de datos sin tener que conocer los detalles de la
arquitectura de tablas -simplemente se ejecutan los procedimientos
almacenados que llevan a cabo las tareas solicitadas.

Los procedimientos almacenados pueden aceptar datos de entrada, utilizar


variables locales y devolver datos.

Tipos de Procedimientos Almacenados:

• Procedimientos Almacenados del sistema, se utilizan para administrar el


SQL Server y para mostrar información sobre base de datos y sobre
usuarios.
• Procedimientos almacenados Extendidos, son bibliotecas de vínculos
dinámicos (dynamic-link libraries, DLLs) que SQL puede cargar y ejecutar
de manera dinámica.
• Procedimientos Almacenados sencillos definidos por el usuario, son los
procedimientos creados por los usuarios y están personalizados para
llevar a cabo la tarea deseada por el usuario.

Los procedimientos almacenados ofrecen ventajas importantes:

• Rendimiento: al ser ejecutados por el motor de base de datos ofrecen


un rendimiento inmejorable ya que no es necesario transportar datos a
ninguna parte. Cualquier proceso externo tiene una penalidad de tiempo
adicional dada por el transporte de datos.
• Potencia: el lenguaje para procedimientos almacenados es muy
potente. Permiten ejecutar operaciones complejas en pocos pasos ya
que poseen un conjunto de instrucciones avanzado.
• Centralización: al formar parte de la base de datos los procedimientos
almacenados están en un lugar centralizado y pueden ser ejecutados por
cualquier aplicación que tenga acceso a la misma.

Funciones Recursivas en SQL Server


Publicado el 8 junio 2010 de freddygarcia

Una función recursiva es una función que puede llamarse a sí misma, es muy útil para
efectuar búsquedas en arboles o la utilización de los resultados obtenidos en un cálculo
previo, a continuación un ejemplo:

Creamos una tabla en la cual ID_Articulo_Grupo apunta al ID_Articulo padre.

CREATE TABLE [Inventario].[Articulo](

[ID_Articulo] [int] NOT NULL,

[Desc_Articulo] [varchar](100) NULL,


[ID_Articulo_Grupo] [int] NULL

Insertamos algunos datos:

INSERT INTO Inventario.Articulo (ID_Articulo, Desc_Articulo, ID_Articulo_Grupo)

VALUES (1,‘Uno’, NULL);

INSERT INTO Inventario.Articulo (ID_Articulo, Desc_Articulo, ID_Articulo_Grupo)

VALUES (2,‘Uno.Uno’, 1);

INSERT INTO Inventario.Articulo (ID_Articulo, Desc_Articulo, ID_Articulo_Grupo)

VALUES (3,‘Uno.Uno.Uno’, 2);

Creamos la función:

CREATE FUNCTION [dbo].[Path_Articulo](@ID_Articulo int, @Path varchar(500))

RETURNS varchar(500)

AS BEGIN

DECLARE @ID_Articulo_Grupo int;

SELECT @ID_Articulo = a.ID_Articulo, @Path = a.Desc_Articulo, @ID_Articulo_Grupo = I


SNULL(a.ID_Articulo_Grupo,-1)

FROM Inventario.Articulo a WHERE a.ID_Articulo = @ID_Articulo

if (@ID_Articulo_Grupo > 0) begin


RETURN dbo.Path_Articulo(@ID_Articulo_Grupo,@Path) + ‘\’ + @Path

end

RETURN @Path

END

La función nos permite obtener el Path de cualquier registro para el tercer registro
obtendremos: “Uno\Uno.Uno\Uno.Uno.Uno”.

SELECT dbo.Path_Articulo(3,”)

Recursividad con Sql Server

Una función muy interesante de Sql Server es la de poder seleccionar


un conjunto de datos de forma recursiva de manera que podemos
obtener una serie en estructura de arbol.

Partimos de una tabla que tiene dos campos, llamados clave y padre,
el campo clave se relaciona con el padre para formar la estructura en
arbol.

El siguiente procedimiento almacenado muestra un ejemplo de como


conseguir esto:

ALTER PROCEDURE [dbo].[Usuarios_seguridad_seleccionar]


AS
BEGIN
DECLARE @minClave int
SELECT @minClave = MIN(Clave) FROM dbo.Usuarios_seguridad;

WITH UsuariosAccesos AS
(
SELECT top 1
us1.Padre,us1.Clave,us1.Variable,us1.Modulo,us1.Contenido,us1.Acceso,us1.Imagen
FROM dbo.Usuarios_seguridad us1
WHERE us1.Clave = @minClave
UNION ALL
SELECT top 100 percent
us2.Padre,us2.Clave,us2.Variable,us2.Modulo,us2.Contenido,us2.Acceso,us2.Imagen
FROM dbo.Usuarios_seguridad us2
INNER JOIN UsuariosAccesos AS us3 ON us3.Clave = us2.Padre
WHERE us2.Clave <> @minClave
)
SELECT TOP 100 PERCENT
ia.Padre,ia.Clave,ia.Variable,ia.Modulo,ia.Contenido,ia.Acceso,ia.Imagen
FROM UsuariosAccesos ia
ORDER BY padre, clave
END
GO

La clausula with debe contener un miembro delimitador, en este caso


el formado por la primera sentencia Sql que hace referencia al valor
mínimo (Primer nodo) y el segundo miembro recursivo que hace
referencia a la misma tabla definida el la clausula With.
El procedimiento almacenado calcula el valor mínimo del nodo con la
clave mas baja, posteriormente va leyendo cada nodo relacionado de
forma recursiva ya que en el inner join se relaciona con el conjunto de
datos definido en la clausula WiTH, finalmente devuelve el conjunto
de datos en un orden determinado, el resultado obtenido es el
siguiente:

La consulta retorna los datos de forma similar a la estructura de arbol


que posteriormente se carga en el tree.
Para cargar los datos en el control, podiamos haberlo hecho sin
recurrir a la recursividad en Sql Server y hacerlo directamente con el
lenguaje de programación en el cliente, pero hay veces que puede ser
mas interesante recurrir al servidor en lugar de hacerlo en el cliente,
por ejemplo para buscar un dato determinado aprovechando las
ventajas de las busquedas en el servidor y devolver su nodo, borrar
todos los nodos relacionados o simplemente por descargar la tarea
del lado del cliente.

También podría gustarte