Aplicación de Servicios Web SOAP/REST para funcionalidades existentes
en sistemas informáticos provinciales
CASTRO Marcelo, SÁNCHEZ RIVERO David, FARFÁN José,
CASTRO Daniel, CÁNDIDO Andrea, VARGAS Alejandro
Investigación + Desarrollo en Gobierno Electrónico / Facultad de Ingeniería /Universidad Nacional de Jujuy
Av. Italia y Av. Martiarena / S. S. de Jujuy / Provincia de Jujuy
[email protected],
[email protected],
[email protected]
[email protected],
[email protected],
[email protected]
Resumen: En el presente trabajo se desarrollará una propuesta de aplicación de Servicios Web SOAP/REST
para utilizar funcionalidades existentes en cualquier sistema informático que se encuentre instalado en el ámbito
gubernamental. Para ello se utilizará a modo de caso de estudio, una arquitectura cliente servidor típica con la
que cuenta cualquier área de sistemas de la administración pública que tenga la responsabilidad de ejecutar
aplicaciones transversales críticas como lo son los Sistemas de Administración Financiera, Liquidación de
Haberes, Expedientes y verticales como Impuestos, Catastro, Obras Públicas, Historia Clínica entre otras.
En primer lugar se desarrollará una breve introducción a los conceptos de Arquitectura Orientada a Servicios
(SOA) y particularmente a Servicios Web. Posteriormente se expondrá el diseño arquitectónico con que cuentan
los organismos informáticos gubernamentales encargados de procesar las aplicaciones mencionadas
anteriormente y con posterioridad se desarrollará una propuesta de utilización de Servicios Web SOAP/REST,
particularizada para el proceso centralizado de liquidación de haberes, por ejemplo a nivel provincial.
Es importante señalar que la arquitectura de software propuesta puede ser extendida a cualquier solución
tecnológica que se encuentre en producción en los sistemas informáticos de los distintos organismos públicos,
independientemente del nivel jurisdiccional al que pertenezca; municipal, provincial o nacional.
Palabras clave: Gobierno Electrónico (egov). Tecnologías de Información y Comunicación (TIC). Arquitectura
Orientada a Servicios (SOA). Servicios Web. SOAP. REST.
Introducción
Actualmente el concepto de sistemas distribuidos alcanzó gran notoriedad impulsado por el avance de la Web e
Internet; lo que implica, en consecuencia, el decrecimiento del uso de sistemas centralizados multiusuario. El
auge de los sistemas distribuidos tiene su origen en la aparición de redes de computadoras de alta velocidad,
en las enormes prestaciones que brindan las computadoras modernas y el desarrollo de una gran variedad de
7moSimposioArgentinoDeInformaticaEnElEstado-SIE201342JAIIO-SIE2013-ISSN:1850-2526-Page23software específico, para aplicaciones distribuidas, el que permite coordinar actividades y compartir recursos de
los sistemas involucrados.
Coulouris definió a los sistemas distribuidos como “sistemas en los que los componentes hardware y/o software
existentes en una red de computadoras, se comunican y coordinan sus acciones mediante el intercambio de
mensajes” [Coulouris et al., 2001].
La extraordinaria evolución de la Web y la gran variedad de servicios insatisfechos, como por ejemplo, los
servicios que una organización gubernamental (de cualquier orden) debiera brindar al ciudadano común –tema
que los responsables de las administraciones públicas tratan de abordar a través de diferentes procesos de
solución, siendo Gobierno Electrónico (GE) uno de ellos– hizo que se estudien e investiguen diferentes
arquitecturas como alternativas para dar respuesta al problema.
En la actualidad se está empleando SOA (Arquitecturas Orientadas a Servicios), concepto que se definirá más
adelante, como medio para implementar sistemas distribuidos.
En este sentido las primeras arquitecturas SOA se basaban en CORBA (Common Object Request Broker
Architecture). Pero también merecen mencionarse DCOM (Distributed Component Object Model) y RPC
(Remote Procedure Protocol).
Sin embargo, la implementación eficiente de estos sistemas en la Web, acarrea ciertos desafíos o necesidades
tales como el rendimiento, la experiencia de los usuarios, la reusabilidad y la compatibilidad de los servicios.
Estas necesidades dieron origen a los Servicios Web, que en definitiva brindan mecanismos estándar de
interconexión entre los usuarios y la información residente en servidores.
En resumen, estos servicios extienden las características de SOA, sobre todo en lo que respecta a
interoperabilidad y reusabilidad [Los Santos, 2009].
Arquitectura Orientada a Servicios
La Arquitectura orientada a Servicios (SOA) no es un concepto fácil de definir. Diversos autores afirman que es
un enfoque para diseñar y construir soluciones de negocios; tal que permitan, a las organizaciones, unir sus
objetivos con la infraestructura de las Tecnologías de la Información y la Comunicación (TIC).
Microsoft Corporation define SOA como: “una estrategia general de organización de los elementos de IT, de
forma que una colección abigarrada de sistemas distribuidos y aplicaciones complejas se pueda transformar en
una red de recursos integrados, simplificada y sumamente flexible”. [Microsoft, 2006].
7moSimposioArgentinoDeInformaticaEnElEstado-SIE201342JAIIO-SIE2013-ISSN:1850-2526-Page24Según Diego Marsili: “SOA no se trata de software o de un lenguaje de programación, SOA es un marco de
trabajo conceptual que permite a las organizaciones unir los objetivos de negocio con la infraestructura de TIC
integrando los datos y la lógica de negocio de sus sistemas separados” [Marsili, 2007].
Según un trabajo de investigación anterior se debe distinguir falsos supuestos y verdades sobre SOA, donde,
básicamente, se insiste que no es una tecnología ni una metodología, además no asegura una adecuada
articulación entre TIC y las necesidades del negocio, no requiere una tecnología completa y la revisión de los
procesos del negocio, debe ser gradual y construida sobre las aplicaciones actuales mediante procesos
iterativos e incrementales; y es un medio para la entrega de soluciones, no un objetivo. Se aclara también que
la manera más habitual de implementarla es a través de servicios web, que no significa que estos servicios
requieran una arquitectura SOA, y viceversa [Castro et al., 2012].
Las aplicaciones desarrolladas, para las organizaciones, siempre han sido una tarea difícil, ya sea por los
avances tecnológicos, por requerimientos de usuario poco exactos y con frecuentes modificaciones o por la alta
competitividad existente en el mercado actual.
Mauricio Naranjo, en Oracle Architect Forum, detalla las necesidades comunes de las empresas, entre las
cuales se pueden mencionar: el intercambio de información a través de distintos medios, gestión del riesgo a
través de información oportuna y consistente, controlar sus procesos de negocios, reducir costos de las
operaciones, aumentar los canales de interacción con el cliente y mejorar su experiencia y satisfacción,
desarrollar los servicios a través de la utilización efectiva de las nuevas tecnologías, entre otros [Naranjo, 2007].
El manejo ineficiente de la información es el origen principal de muchas deficiencias, debido especialmente a la
imposibilidad de poder presentar la información de manera sencilla y coherente, esto repercute principalmente
en un aspecto fundamental, para GE por ejemplo, como lo es la interoperabilidad.
Si nos referimos a organizaciones gubernamentales, este grupo de investigación mencionaba en el año 2009, la
importancia y los beneficios de la interoperabilidad entre las distintas aplicaciones: integrar la información,
obtener información en tiempo real, consolidar las operaciones transaccionales, permitir que la información sea
compartida por diversas reparticiones, obtener una única Base de Datos, eliminar las diversas interfaces que se
encuentran en las distintas unidades de organización, estandarizar y homogeneizar las distintas herramientas
de acceso a la información, facilitar los procesos de reingeniería y documentación, mejorar la gestión de los
flujos de trabajo (workflow) y finalmente aumentar la productividad disminuyendo la duplicación de los esfuerzos
de los distintos actores [Castro et al., 2009].
7moSimposioArgentinoDeInformaticaEnElEstado-SIE201342JAIIO-SIE2013-ISSN:1850-2526-Page25La arquitectura SOA permite integrar sistemas y aplicaciones heterogéneas e independientes a través de una
metodología que logre una óptima integración como así también facilidad de adaptación ante cambios
posteriores surgidos de la evolución de cualquier organización [Microsoft, 2006].
Las principales ventajas de SOA pueden resumirse en: interoperabilidad, flexibilidad, reusabilidad y rentabilidad.
Interoperabilidad: esta característica, de SOA, permite mejorar la toma de decisiones; ya que al tener las
aplicaciones integradas e intercambiando datos se dispone de información más exacta y actualizada.
Flexibilidad: esta arquitectura logra optimizar y aprovechar los sistemas existentes, y adaptarse de manera
rápida a nuevas aplicaciones que surgen por nuevas demandas.
Reusabilidad: facilita la creación de un repositorio de servicios reutilizables que se pueden combinar en
servicios de mayor nivel y aplicaciones compuestas en respuesta a nuevas necesidades
Comentarios de: Aplicación de Servicios Web SOAP/REST para funcionalidades existentes en sistemas informáticos provinciales (0)
No hay comentarios