You are on page 1of 7

ISSN: 1692-7257 - Volumen X Nmero XX - 20XX

Revista Colombiana de
Tecnologas de Avanzada

Recibido: xx de mes de 20xx


Aceptado:

AUTOMATIZACIN DE PROCESOS DE NEGOCIO USANDO SERVICIOS


WEB SEMANTICOS
BUSINESS PROCESS AUTOMATION USING SEMANTIC WEB SERVICES
Ing. Leidy Paola Calderon Hernandez, Ing. Jorge Omar Portilla Jaimes
Universidad de Pamplona, Facultad de Ingenieras y Arquitectura, Ingeniera de Sistemas.
Ciudadela Universitaria, Pamplona, Norte de Santander, Colombia.
Tel.: 57-7-568 5303, Fax: 57-7-568 5303, Ext. 144
E-mail: lcalderon812@unab.edu.co, oportillajaimes@yahoo.es

Resumen: En este artculo, se presenta una solucin viable para la automatizacin de


procesos de negocio usando servicios web semnticos, acoplando tecnologas disponibles
tales como OWLS, DIG y SOAP.
Dicha automatizacin se fundamenta en tres procesos principales; composicin,
emparejamiento y ejecucin automtica de servicios web semnticos que satisfagan un
proceso de negocio especifico.
Palabras clave: Servicios Web Semnticos, Procesos de negocio, Orquestacin,
Coreografa, OWL-S, DIG.
Abstract: In this paper, we present a viable solution for automating business processes
using semantic web services, such as docking technologies available OWLS, DIG and
SOAP.
Keywords: Semantic Web Services, Business Processes, Orchestration, Choreography,
OWL-S, DIG.

1. INTRODUCCIN
Por otra parte, hoy da las organizaciones basan
su estrategia en los procesos de negocio. Con la
definicin explicita y el seguimiento de la
ejecucin de los procesos se busca obtener
resultados que pueden llegar a ser medidos y
mejorados de manera constante.

Los servicios web han logrado que la Web pase


de ser un simple repositorio de informacin a una
fuente de servicios accesibles desde cualquier
lugar, pero la gran cantidad de servicios
publicados y la inexistencia de informacin
procesable por las maquinas hace inviable en
tiempo y eficiencia que sea un usuario humano el
que determine los servicios necesarios para
satisfacer una necesidad, debido a esto se hace uso
de la Ingeniera Ontolgica, la cual permite
incluir informacin adicional que describe el
contenido de los documentos, para implantar los
servicios web semnticos.

Universidad de Pamplona
I. I. D. T. A.

Implementar los procesos de negocio mediante


servicios web semnticos resulta provechoso ya
que se beneficia de la descripcin de los servicios
para su bsqueda automtica y el control
centralizado de la invocacin de diferentes
servicios con cierta lgica de negocio aadida.
Calderon, L. P. (2010)
1

ISSN: 1692-7257 - Volumen X Nmero XX - 20XX

Revista Colombiana de
Tecnologas de Avanzada

Lenguaje de Modelado de Servicios Web. Este


lenguaje provee una sintaxis formal y una
semntica para el modelado de ontologas de
servicios web.

2. SERVICIOS WEB SEMANTICOS


Aunque los servicios web permiten la
comunicacin entre diferentes plataformas y
sistemas operativos, carecen de contenido
semntico. Teniendo en cuenta que las ontologas
permiten la descripcin semntica de cualquier
dominio del conocimiento, la incorporacin de
ontologas del dominio de los servicios a los
servicios web da lugar a los servicios web
semnticos. Alvez, P. (2006)

Segn WSMO, existen cuatro elementos


fundamentales que describen un Servicio Web
Garcia S., F. (2007): Ontologas (proveen la
terminologa y la semntica formal para llevar a
cabo la descripcin del servicio), Servicios web
(proveen una descripcin semntica de los
servicios web), Objetivos (describen las salidas y
efectos esperados tras la invocacin de un servicio)
y
Mediadores
(buscan
maximizar
la
interoperabilidad entre los servicios, mediante el
enlace de diferentes componentes de WSMO).

Con los servicios web semnticos se pretende


automatizar todo lo que era semiautomtico en los
servicios web tradicionales, esencialmente el
descubrimiento, composicin, invocacin e
interoperacin de servicios web.

La combinacin de SW para la implementacin de


procesos de alto nivel, requiere de diversos
estndares que permitan modelar las posibles
interacciones entre los servicios. Los trminos de
orquestacin y coreografa tratan de describir
aspectos relacionados con la creacin de procesos
de negocio que involucran varios SW.

Los servicios web pretenden transformar la web en


una infraestructura global para computacin
distribuida, integracin de aplicaciones y
automatizacin de procesos de negocio. El
problema son las tecnologas disponibles que
permiten la automatizacin.
Debido a que el conjuntos de servicios web
disponibles se amplia, se vuelve cada vez ms
importante
contar
con
herramientas
automatizadas para ayudar a identificar los
servicios que se ajusten a los requisitos de un
solicitante. Calderon, L. P. (2010)

Fig. 1. Relacin entre orquestacin y coreografa


de servicios web Martin, D. (2004)

Las ms destacadas son OWL-S y WSMO.


2.1 OWL-S

2.3 Coreografa

Es una ontologa que contiene los elementos


fundamentales que caracterizan un servicio y que
permite describir las capacidades que sustenta un
servicio, contiene tres tipos de conocimientos
fundamentales: Service Profile (describe que hace
el servicio) , Process Model (describe como se usa
el servicio) y Service Grounding (describe como
interactuar con el servicio).

Permite trazar las secuencias de mensajes que se


suceden entre todas las partes participantes del
proceso de negocio.
La coreografa permite componer servicios
definiendo la forma en la que mltiples
participantes colaboran entre pares (peer-to-peer),
como parte de una operacin o transaccin de
negocio duradera, esto se realiza mediante el
intercambio de mensajes tanto sncronos como
asncronos y requiere una descripcin formal de los
protocolos de intercambio de mensajes que deben
estar visibles para cada participante que intervenga
dentro de la coreografa.

2.2 WSMO
Es una ontologa para describir varios aspectos
acerca de los servicios web semnticos
desarrollada por el WSMO Working Group
Alvez, P. (2006).

2.4 Orquestacin

El lenguaje usado para describir los elementos es el


Web Service Modeling Language (WSML) o
Universidad de Pamplona
I. I. D. T. A.

ISSN: 1692-7257 - Volumen X Nmero XX - 20XX

Revista Colombiana de
Tecnologas de Avanzada

Permite disear procesos de negocio ejecutables


que pueden interactuar tanto con SW internos
como externos.

BPMN hace de puente entre el diseo de procesos


de negocio y la implementacin siendo una
notacin grfica para expresar procesos de
negocios en un Business Process Diagram (BPD)
capaz de representar complejos procesos.

Con la orquestacin se componen servicios para


generar un nuevo proceso de negocio, puede usarse
de dos formas: para preparar la informacin que se
intercambia en la ejecucin de una coreografa o
como la invocacin siguiendo unas determinadas
reglas a un servicio web.

3.3 WS-BPEL
Es un lenguaje estandarizado por OASIS para la
composicin de servicios web.
Est desarrollado a partir de WSFL y XLANG,
ambos lenguajes orientados a la descripcin de
servicios Web. Consiste en un lenguaje basado en
XML diseado para el control centralizado de la
invocacin de diferentes servicios Web, con cierta
lgica de negocio aadida que ayuda a la
programacin en gran escala, antes de su
estandarizacin se denominaba BPEL4WS.

3. PROCESOS DE NEGOCIO
Un proceso de negocio es un conjunto de tareas
relacionadas lgicamente llevadas a cabo para
lograr un resultado de negocio definido
Wikipedia (2010)
Cada proceso de negocio tiene entradas, funciones
y salidas. Las entradas son requisitos que deben
tenerse antes de que una funcin sea aplicada.
Cuando una funcin es aplicada a las entradas de
un mtodo, se generan ciertas salidas.

4. ARQUITECTURA DEL SISTEMA

3.1 Workflow
Workflow es un conjunto de uno o ms
procedimientos o actividades directamente ligadas,
que colectivamente realizan un objetivo del
negocio, normalmente dentro del contexto de una
estructura organizacional que define roles
funcionales y relaciones entre los mismos1.
Es el estudio de los aspectos operacionales de una
actividad de trabajo: cmo se estructuran las tareas,
cmo se realizan, cul es su orden correlativo,
cmo se sincronizan, cmo fluye la informacin
que soporta las tareas y cmo se le hace
seguimiento al cumplimiento de las tareas.

Fig. 2. Arquitectura del sistema. Autor Propio


(2010)
4.1 Aplicacin cliente

Los estndares ms destacados para la ejecucin de


procesos de negocio son BPMN y WS- BPEL.

Permite al cliente la seleccin de un dominio


especfico y un proceso de negocio a ejecutar.

3.2 BPMN

4.2 Repositorio de ontologas de dominio

Fue desarrollado por BPMI (Business Process


Management Initiative), su principal meta es
proveer una notacin estndar fcil y clara para
todos los usuarios de negocios: analistas de
negocios, desarrolladores tcnicos y personal de
negocios que administra y monitorea procesos.

Para llevar a cabo la composicin de servicios que


satisfagan un proceso de negocio es necesario crear
un repositorio donde se almacenen ontologas
correspondientes a cada dominio.

http://www.wfmc.org/referencemodel.html
Universidad de Pamplona
I. I. D. T. A.

ISSN: 1692-7257 - Volumen X Nmero XX - 20XX

Revista Colombiana de
Tecnologas de Avanzada

grounding:WsdlGrounding: Aqu se especifica la


informacin necesaria para poder acceder al
servicio.
profile:Profile: Aqu se especifican los campos
correspondientes al proceso en general; entradas,
salidas, categora, clasificacin, precondiciones,
resultados e informacin adicional.
service:Service: Aqu se crea el servicio que une al
grounding, process y profile, se establece que el
servicio es descrito por el process, presentado por
el profile y soportado por el grounding.

Fig. 3. Modelo relacional para ontologas de


dominio. Autor Propio (2010)
Estas ontologas deben tener una estructura bsica
como la visualizada en el modelo relacional.

4.4 DIG

Teniendo clara la estructura que deben tener las


ontologas, se procede a convertir las entidades en
clases, los atributos en instancias y las relaciones
en propiedades.

Para poder razonar sobre las ontologas y adquirir


el conocimiento necesario para el desarrollo del
prototipo, se utiliz la interfaz DIG.
La interface DIG fue desarrollada por The DL
Implementation Group (DIG) 3. Esta interfaz
permite tener acceso a razonadores de DL a travs
de editores de ontologas. Para ello utiliza un
protocolo basado en HTTP PUT/GET y XML, que
le permite describir los conceptos y las relaciones
en una ontologa.

4.3 Repositorio ontologas OWL-S


Para llevar a cabo el emparejamiento de los
servicios que componen un proceso de negocio es
necesario crear un repositorio donde se almacenen
ontologas correspondientes a las descripciones
semnticas de los servicios web disponibles.

El razonador utilizado fue Pellet4. Es un razonador


open source para OWL-DL construido en JAVA. El
ncleo de este razonador est basado en los
algoritmos de razonamiento Tableaux (tablas
semnticas).

WSMO tiene en cuenta ms aspectos de


descripcin que OWL-S, adems cuenta con cuatro
tipos de mediadores para solucionar problemas que
se presenten, pero OWL-S tiene una coreografa
claramente definida mediante procesos simples,
atmicos y compuestos. Permite una sola forma de
interactuar con el servicio invocndolo mediante el
WSDL, mientras que WSMO no tiene coreografa
definida ni forma de interactuar con el servicio por
s solo, necesita de otros entornos para poder
invocar servicios.

En la arquitectura de Pellet se destaca el razonador


basado en clculo de Tableaux, la flexibilidad con
la que Pellet puede ser incluido con otros sistemas
(a travs de interfaces apropiados).
Para poder razonar con Pellet hay que cargar la
ontologa, los axiomas sobre clases son colocados
en el componente TBox y las aserciones sobre los
individuos se almacenan en el componente ABox.

Por estas razones, la descripcin se llev a cabo


mediante el plugin OWL-S2 para Protg. Se puede
generar la descripcin automticamente a travs
del documento WSDL del servicio web, o
realizarla manualmente. Los aspectos que se deben
especificar son:

El objetivo de este razonador es chequear la satis


factibilidad de un Abox con respecto a un TBox
mediante mensajes declaraciones XML que
definen un modo de comunicacin tell/ask.

process:Process: Aqu se especifica el nombre del


proceso, sus entradas y sus salidas.

4.5 Composicin
Este proceso permite la orquestacin del proceso
de negocio, es decir, se encarga de buscar los

http://protege.stanford.edu/plugin
s/owl/download.html
Universidad de Pamplona
I. I. D. T. A.

3
4

http://dl.kr.org/dig/
http://www.mindswap.org/2003/pellet/

ISSN: 1692-7257 - Volumen X Nmero XX - 20XX

Revista Colombiana de
Tecnologas de Avanzada

servicios necesarios para satisfacer un proceso de


negocio especfico.

que se asigna cuando lo que el proveedor ofrece es


igual a lo que el cliente busca.

Esto se logra buscando en la ontologa de dominio


correspondiente, los servicios que componen el
proceso de negocio especificado por el cliente.

Primero se calcula el grado para las salidas y si el


valor es igual a cero, se descarta el servicio del
proveedor; de lo contrario se procede a calcular el
grado de emparejamiento y el peso para las
entradas.

El resultado de la composicin es un rbol N-Ario


de los servicios que componen el proceso de
negocio.

4.6.2 Obtencin del grado de emparejamiento para


parmetros no funcionales

4.6 Emparejamiento
Los parmetros no funcionales tambin aportan
informacin semntica al servicio web, por lo cual
deben ser tenidos en cuenta.
El parmetro a tener en cuenta es el de nombre del
servicio, el cual aportara un valor igual a 3 si el
nombre del servicio que se est emparejando es
igual al nombre del servicio ofrecido por un
proveedor.

El proceso de emparejamiento consiste en buscar


para cada servicio, resultado de la composicin, la
mejor opcin publicada en el repositorio de
ontologas OWL-S.
El algoritmo de emparejamiento usado est
basado en la propuesta realizada por Jos Javier
Samper Zapater. Samper, J. J. (2005) Calderon,
L. P. (2010)

4.6.3 Seleccin del mejor servicio emparejado

El algoritmo de emparejamiento tiene un coste


considerable ya que intenta emparejar la
descripcin del servicio con cada uno de los
proveedores disponibles, por esta razn, se incluye
un filtrado anterior al emparejamiento, cuya
finalidad es descartar proveedores que no cumplan
unas determinadas caractersticas definidas
tambin en los perfiles de la ontologa, y de este
modo reducir el tiempo de ejecucin.

A medida que se van calculando los pesos para


los diferentes tipos de parmetros, se va insertado
de manera ordenada el servicio emparejado en
una lista.
La ordenacin utilizada da ms importancia al
peso de las salidas, ya que lo ms importante es
que el cliente obtenga lo que quiere, que debe ser
lo que le proporciona el proveedor mediante las
salidas del servicio.

El filtrado est basado en la categora de servicio,


campo que se encuentra en la descripcin del
servicio obtenida de la ontologa de dominio.
Servir al sistema emparejador para obtener del
repositorio de ontologas OWL-S aquella lista de
servicios que pertenezcan a la categora que posee
el servicio a emparejar.

A continuacin se compara la suma de los pesos


obtenidos con los parmetros de tipo no funcional,
posteriormente, se compara el peso de las
entradas, ya que stos se consideran parmetros
menos importantes para poder encontrar el SW
que aporte lo que el cliente busca, son solamente
valores de entrada antes de ejecutar el servicio y
obtener de esta manera el beneficio, producto o
informacin que el cliente espera en realidad, es
decir, las salidas.

De la lista resultante, combinar todas las posibles


parejas y aplicar sobre ellas los diferentes grados
de similitud para los parmetros funcionales y
calcular los pesos relativos para parmetros
funcionales correspondientes a salidas y entradas
y parmetros no funcionales. Calderon, L. P.
(2010)

El proceso de ordenacin se inicia con la


comparacin entre la pareja recin encontrada y
la de la cabeza de la lista. Si el resultado es false,
querr decir que el peso no es mejor, por lo que no
se habr encontrado una mejor solucin, y por
tanto deber compararse con el resto de la lista e
insertarse en el lugar adecuado, mas sin embargo
el registro de esta nueva pareja servir para
realizar un sistema tolerante a fallos, ya que en el
caso de un fallo en el uso del servicio obtenido
como mejor solucin, se podr recurrir al uso de

4.6.1 Obtencin del grado de emparejamiento para


parmetros funcionales
Se calculan siete grados de emparejamiento, segn
el grado obtenido se asigna un peso que va desde 0
cuando el grado es fallo; no hay relacin entre el
servicio del proveedor y la peticin del cliente, y 6
Universidad de Pamplona
I. I. D. T. A.

ISSN: 1692-7257 - Volumen X Nmero XX - 20XX

Revista Colombiana de
Tecnologas de Avanzada

informacin provista por el elemento siguiente de


la lista. Calderon, L. P. (2010)

del grounding del servicio y los valores asignados a


las entradas, para enviarlo a travs de una conexin
tipo http, y luego obtener la respuesta de un
mensaje SOAP tipo response.

4.6.4 Ordenamiento de los servicios segn el peso


obtenido del emparejamiento

Debido a que el resultado de un servicio puede ser


entrada para otro, se reutilizan estos datos.

El proceso de emparejamiento inicia luego de


llevarse a cabo la composicin de servicios, recibe
como entrada un vector con la descripcin de los
servicios a emparejar, el cual va recorriendo y
formando parejas entre las descripciones
contenidas y las extradas del repositorio de
ontologas OWL-S.

Cada vez que se ejecuta un mtodo se comprueba


que el resultado es vlido, si no lo es, se rompe la
ejecucin y se muestra un mensaje de error.
Por ltimo, se retorna al cliente el resultado
obtenido de cada servicio web ejecutado.

Para la descripcin extrada se consulta los


valores de los parmetros a utilizar en el
emparejamiento, lo primero que se compara es la
categora, si la descripcin extrada (servicio
ofertado por un proveedor) posee la misma
categora que la descripcin del vector (peticin
del cliente), se sigue el proceso, de lo contrario, se
procede a emparejar con otra descripcin la
peticin del cliente.

5. CONCLUSIONES
OWL y las lgicas descriptivas se han convertido
en
tecnologas
fundamentales
para
la
automatizacin de procesos de negocio, pues
mediantes ellas se implementan los distintos
repositorios de ontologas necesarios para
automatizar procesos de negocios.

Luego de este filtrado, se calcula el peso para


insertar el servicio en una lista ordenada, al final
se selecciona el servicio que este en la primera
posicin de la lista (el ms ptimo). Calderon, L.
P. (2010)

Los servicios web semnticos


se estn
convirtiendo en una alternativa altamente viable
para la implementacin de Workflows, ya que
permite realizarse de forma automtica.

4.7 Ejecucin

El modelado de procesos va migrando de la


construccin de diseos grficos a diseo de
ontologas en las cuales se especifica los distintos
conceptos que componen un dominio y las
relaciones que existen entre s.

Este proceso lleva a cabo la coreografa del


proceso de negocio; consiste en tomar los servicios
ms ptimos, resultado del emparejamiento, y
ejecutarlos en el orden correcto, teniendo en cuenta
la asignacin de variables intermedias.

Este prototipo asegura la ejecucin automtica de


los servicios web, que forman parte de un proceso
de negocio, ms apropiados para satisfacer los
requerimientos de un cliente, usando el proceso de
emparejamiento.

El proceso empieza adquiriendo los datos


necesarios del grounding del servicio para la
ejecucin.
Luego determina las entradas que deben ser
solicitadas, aquellas que sean de tipo cliente en la
ontologa de dominio y las que no estn
especificadas.

La composicin automtica de procesos de


negocio se fundamenta en la utilizacin de
razonadores que infieren conocimiento a partir de
ontologas de dominio existentes en un repositorio,
para componer el proceso de negocio mediante
diversos sub procesos atmicos que lo satisfagan.

Cuando el cliente especifica las entradas


necesarias, se procede a asignar dichos valores a
todos los campos de entrada de los dems procesos
a ejecutar que los necesiten.

El proceso de emparejamiento automtico se


fundamenta en la obtencin del grado de similitud
entre los parmetros funcionales de un proceso
solicitado y un servicio web disponible, de tal
manera que se seleccione el servicio web
disponible ms apropiado.

Luego se procede a ejecutar cada servicio


emparejado, los servicios son consumidos
mediante mensajes SOAP.
Este mtodo consiste en construir un mensaje
SOAP tipo request utilizando los datos obtenidos
Universidad de Pamplona
I. I. D. T. A.

ISSN: 1692-7257 - Volumen X Nmero XX - 20XX

Revista Colombiana de
Tecnologas de Avanzada

El proceso de ejecucin automtica consiste en


consumir cada servicio web resultado del
emparejamiento, es decir, los servicios web ms
ptimos, que satisfacen un proceso de negocio
solicitado. Para esto se tiene en cuenta la
asignacin de datos intermedios, ya que una
misma entrada puede utilizarse en varios servicios,
y una salida puede convertirse en entrada.

[5]
Giraldo, J. (2008). Integracin de
procesos de negocio basados en servicios web:
coreografa y satisfaccin de restricciones. Revista
Ingenieras Universidad de Medelln, volumen 7,
No. 12, pp. 141-155 Medelln.
[6]
Martin, D. (2004). OWL-S: Semantic
Markup for Web Services. W3C Member
Submission.
http://www.w3.org/Submi
ssion/OWL-S/. (Septiembre de 2010).

No se ha logrado implementar en este prototipo


todos los constructores de control disponibles en
herramientas como BPEL, pues se hace necesario
extender la estructura bsica de las ontologas de
dominio, de forma que permita especificarlos.

[7]
Mirllan O., D. (2009). Anlisis de las
Tecnologas Existentes para la descripcin,
composicin y ejecucin automtica de Servicios
Web Semnticos. Trabajo de Grado (Ingeniera de
Sistemas).
Universidad
de
Pamplona,
Departamento de Ingeniera Electrnica, Elctrica,
Telecomunicaciones y Sistemas. Pamplona.

En los ltimos tiempos se ha venido evidenciando


el mejoramiento en el desarrollo de herramientas
para el diseo de ontologas, su estandarizacin y
seguridad.
Es importante seguir avanzando en el desarrollo
de las tecnologas existentes para que incluyan
aspectos que faciliten la automatizacin de
procesos de negocio, tales como constructores de
control, especificacin de mensajes de salida
explcitos, entre otros.

[8]
Prez, M. y Perez, J. R. (2007). Servicios
Web: Orquestacin y Coreografas. Universidad de
Oviedo.
http://www.di.uniovi.es/
~juanrp/docencia/ws/orquestacion%20y
%20coreografias.pdf. (Septiembre de 2010).
[9]
Riina, M. (2006). Web Services
Composition with WS-BPEL and OWL-S.
http://www.ioc.ee/~tarmo/tsem05/maigre0902slides.pdf. (Septiembre de 2010).

Con el trabajo desarrollado se demuestra la


viabilidad de usar servicios web semnticos en la
automatizacin de procesos de negocio. Calderon,
L. P. (2010)

[10]
Samper, J. J. (2005).
Algoritmo de
emparejamiento de perfiles en Servicios Web
Semnticos. Revista Colombiana de Computacin,
2005. Revista Colombiana de Computacin, Vol. 6
No. 1, pp78-97. UNAB Colombia.

REFERENCIAS
[1]
Alvez, P. (2006). Proyecto Batuta Generador de aplicaciones orquestadoras.
Proyecto de grado. Universidad de la Repblica,
Facultad de Ingeniera. Uruguay.

[11]
Wikipeda. (2010). Proceso de Negocio.
http://es.wikipedia.org/wiki/Proceso_de_negocio
(Septiembre de 2010).

[2]
De Brujin, J. (2005). Service Modeling
Ontology (WSMO). W3C Member Submission.
http://www.w3.org/Submission/
WS
MO.
(Septiembre de 2010).

[12]
Calderon H., L. (2010). Automatizacin
de procesos de negocio usando servicios web
semnticos. Trabajo de Grado (Ingeniera de
Sistemas).
Universidad
de
Pamplona,
Departamento de Ingeniera Electrnica, Elctrica,
Telecomunicaciones y Sistemas. Pamplona.

[3]
Garcia, I. (2005) Servicios Web. Informe
tcnico. Universidad de Castila, Departamento de
Informtica. Espaa,
[4]
Garcia S., F. (2007). Sistema basado en
tecnologas del conocimiento para entornos de
Servicios Web Semnticos. Tesis Doctoral.
Universidad de Murcia, Departamento de
Ingeniera
de
la
Informacin
y
las
Comunicaciones. Espaa,
Universidad de Pamplona
I. I. D. T. A.

You might also like