Sistema Integrador para la Comunicación Financiera para el Banco

Anuncio
Sistema Integrador para la Comunicación Financiera
para el Banco Nacional de Cuba
Adolfo Miguel Iglesias Chaviano, Yadira Calimano Meneses
Resumen. Desde hace muchos años, en el mundo empresarial, se
intercambia información de todo tipo y con varias finalidades.
El sector bancario no ha estado fuera de dicha tendencia, de
hecho es uno de los que más transfiere información. En 1973 se
creó la Sociedad de Telecomunicaciones Financieras
Interbancarias Mundiales, a través de la cual el sector
financiero lleva a cabo sus operaciones de negocios de forma
rápida, segura y fiable. Más de 9000 entidades bancarias,
instituciones de valores y clientes corporativos confían en ella y
diariamente intercambian millones de mensajes financieros
estandarizados. El presente trabajo describe las características
de un sistema integrador para la comunicación financiera entre
el Banco Nacional de Cuba con otros bancos teniendo en cuenta
los mensajes estandarizados que propone la Sociedad de
Telecomunicaciones anteriormente mencionada. Para llevar a
cabo la construcción de la solución informática, se utilizó el
Proceso Unificado de Rational como metodología de desarrollo
de software, Java como lenguaje de programación y Eclipse
como entorno de desarrollo. Los principales marcos de trabajos
utilizados fueron Spring, Hibernate y Dojo Toolkit. Con la
implementación de dicho sistema se garantizó el principio
contable de registrar el hecho económico en el momento que
ocurre, se redujo el esfuerzo de los operadores bancarios y el
riego de cometer errores en el proceso de conformación de los
mensajes. Todo ello gracias a la automatización de la creación y
el procesamiento de los mismos. Por otra parte, se puede decir
que la aplicación es flexible ante los cambios que sufre
anualmente el formato estandarizado de los mensajes,
característica que no se lograba con el sistema informático
utilizado anteriormente. El sistema desarrollado podría ser un
componente reutilizable por otros desarrolladores que trabajen
en el mismo lenguaje y necesiten construir aplicaciones con el
mismo objetivo.
Palabras Claves. Comunicación financiera, mensajes financieros
estandarizados, Sistema Integrador para la Comunicación
Financiera.
I. INTRODUCCIÓN
En el mundo empresarial se intercambia información de
todo tipo y con varias finalidades. Las instituciones bancarias
y financieras no están ajenas a este proceso. Inicialmente
cada entidad generaba la información a su manera, lo cual
entorpecía la comunicación y entendimiento entre ellas.
Posteriormente se unen esfuerzos para crear mecanismos de
comunicación, de ahí surgen los más de 100 estándares que
actualmente pueden ser utilizados con este objetivo.
El eXtensible Business Reporting Language (XBRL), el
Financial Information eXchange (FIX), la Society for
Worldwide Interbank Financial Telecommunication (SWIFT)
son algunas de los estándares desarrollados para facilitar la
comunicación financiera.
XBRL es un estándar abierto que soporta el modelado de
información. Utiliza la sintaxis XML1 y tecnologías
relacionadas con XML, para articular el significado
semántico de su expresión. Un uso de XBRL es definir e
intercambiar información, como una ficha financiera. Es un
estándar para comunicar información financiera y de negocio.
Estas comunicaciones son definidas por un conjunto de
metadatos que nacen de taxonomías [1].
FIX es una especificación abierta y libre para intercambiar
información electrónica relacionada con el comercio.
Pertenece a una industria orientada a la estandarización de
mensajes para el sector financiero.
El mensaje está
compuesto por un encabezado, cuerpo del mensaje y un
tráiler. La especificación FIX se encuentra por la versión 5.0
y tiene una gran aceptación a nivel mundial ya que más de
100 compañías e instituciones la utilizan. Sin embargo pocas
de estas instituciones utilizan la última versión de FIX.
SWIFT surge como institución en 1973 y su primer paso
fue el establecimiento de un lenguaje de mensajes sobre los
pagos de clientes, transferencias financieras y reportes [2]. En
los años 80, creó la primera norma ISO 7775. Luego se creó
la norma ISO 15022 como una evolución de la norma
anterior. La innovación fundamental de la ISO 15022 fue el
enfoque orientado a negocio que le proporcionaron a los
mensajes (ISO15022, 2008). La ISO 20022, la cual se está
adoptando internacionalmente, cambia radicalmente
la
1
XML: Extensible Markup Lenguage, es un metalenguaje extensible de
etiquetas desarrollado por el World Wide Web Consortium (W3C).
CCIA’2010
estructura de los mensajes, pues las primeras normas se basan
en mensajes de texto plano y ésta en el formato XML.
SWIFT es únicamente un transmisor de mensajes. No posee
fondos ni gestiona cuentas en nombre de los clientes, ni
tampoco almacena información financiera de forma
permanente. Al actuar como transmisor, sirve de vehículo
para los mensajes transmitidos entre dos instituciones
financieras. Esta actividad implica el intercambio seguro de
datos privados, al tiempo que se garantiza su confidencialidad
e integridad [3].
En los bancos cubanos el intercambio de información
financiera se basa principalmente en la norma ISO 15022 del
estándar SWIFT.
El Sistema Bancario Cubano (SBC) está compuesto por el
Banco Central de Cuba (BCC), 9 bancos comerciales, 16
instituciones financieras no bancarias, 13 oficinas en
representación de bancos extranjeros en Cuba y 4 oficinas en
representación de instituciones financieras no bancarias.
El Banco Nacional de Cuba (BNC) es uno de los bancos
pertenecientes al SBC. Su misión fundamental lo convierte en
un banco muy peculiar, pues es la institución la que tramita
las operaciones que el Estado Cubano asume centralmente,
como son: los alimentos, el combustible, los insumos para la
zafra, las medicinas y la educación. Es la que recibe los
créditos gubernamentales y bancarios para canalizar fondos a
la Caja Central y emite las garantías que respaldan las
operaciones comerciales [4]. Dicha institución utiliza la
norma ISO 15022 del estándar de mensajes SWIFT para
establecer el mecanismo de comunicación financiera con los
bancos radicados dentro y fuera del país. Para ello usa como
mediador al BCC.
Los sistemas informáticos que respaldan la ejecución de los
procesos de negocio del BNC son:
• SABIC: Sistema Automatizado para Banca Internacional
de Comercio, en su versión MS-DOS
• SLBTR: Sistema de Liquidación Bruta en Tiempo Real,
en su versión MS-DOS.
• SISCOM: Sistema de Comunicación de mensajería
SWIFT.
El SABIC es el sistema encargado de la gestión de cuentas,
clientes, letras de cambios, transferencias, créditos, préstamo,
negociaciones, conciliaciones, entre otros procesos contables.
El SLBTR es una aplicación desarrollada por los
especialistas e informáticos del BCC, teniendo en cuenta la
ISO 15022; pero realizándole algunas modificaciones a la
estructura de los mensajes propuesta por el estándar, creando
así un nuevo estándar de comunicación: el SLBTR. El
objetivo principal de este sistema nos es más que garantizar
la automatización de las transacciones realizadas por el BNC
y otros bancos del país, así como asegurar la irrevocabilidad y
precisión de los movimientos de fondos interbancarios.
El SISCOM es un producto para el procesamiento y
enrutamiento de mensajería SWIFT a través de la red SWIFT
FIN. El sistema utiliza como interfaz, los servicios de un
servidor SWIFT en conjunto con el Alliance Access (AA)
instalado [5]. El AA es la interfaz de mensajería principal de
SWIFT que permite conectar las aplicaciones a los servicios
2
de mensajería de SWIFT mediante su amplia gama de
adaptadores disponibles [6]. La red SWIFT FIN no es más
que el medio de comunicación de los mensajes de texto,
utilizando el servicio FIN que brinda SWIFT. El servicio de
mensajería FIN permite el intercambio de mensajes de texto
plano (compatibles con la norma ISO 15022). Este estándar
abarca una amplia variedad de sectores comerciales, y es
utilizado y aceptado ampliamente por toda la comunidad
financiera. FIN funciona en modo store-and-forward
(almacenamiento y reenvío) y ofrece amplias funcionalidades
de valor añadido [7].
A partir del análisis realizado al SISCOM, la observación
de los procesos de negocio del BNC, el análisis de los
documentos oficiales y las entrevistas realizadas a los
especialistas de la propia entidad, se detectaron
irregularidades en el proceso de transmisión y recepción de
información financiera con otros bancos:
• Teniendo en cuenta la existencia de un sistema de
gestión de los procesos contables (SABIC) sin puntos de
integración con el sistema utilizado para enviar y recibir los
mensajes SWIFT (SISCOM), los operadores del banco deben
introducir los mismos datos tanto en un sistema como en el
otro; necesitando así un tiempo considerable y el doble de
esfuerzo para realizar las operaciones bancarias que llevan
consigo la generación y recepción de mensajes.
• El SISCOM no se puede integrar con el nuevo sistema
de gestión bancaria desarrollado para el BNC, por lo que
ocurre el mismo problema presentado con el SABIC.
• Producto a los cambios que ocurren anualmente en la
norma ISO 15022 del estándar SWIFT, se requieren varios
días de trabajo para actualizar dichos cambios en el SISCOM,
así como especialistas bien capacitados.
• Al BNC le urge eliminar estos problemas porque se está
viendo afectada la operatividad diaria del banco y sus
trabajadores están haciendo un sobreesfuerzo por cumplir con
las responsabilidades del mismo.
El objetivo del presente trabajo es desarrollar un sistema
integrador para la comunicación financiera (SICOF) que
facilite la creación y procesamiento de mensajes SWIFT bajo
la norma ISO 15022 en el BNC y a su vez que sea flexible
ante los cambios de dicha norma.
II. MATERIALES Y MÉTODOS
Durante el proceso de investigación se estudió la
documentación oficial del BNC y se realizaron visitas a dicha
institución para observar y entender los procesos de negocio
que allí se llevaban a cabo, en particular el proceso de
comunicación entre bancos. También se entrevistaron
especialistas funcionales, tanto del BNC como del BCC y se
analizaron las características de los sistemas informáticos
utilizados en el BNC y algunas de las aplicaciones propuestas
por SWIFT. Todo ello posibilitó conocer y entender las
necesidades de la institución y así tenerlas en cuanta a la hora
de definir el alcance del nuevo sistema.
En la actualidad para llevar a cabo el desarrollo de un
sistema informático se hace necesario la utilización de
CCIA’2010
procesos de desarrollo de software, herramientas y marcos de
trabajos. A continuación se mencionan las utilizadas:
Se utilizó como metodología de desarrollo de software, el
Proceso Unificado de Rational (RUP, por sus siglas en inglés)
y como lenguaje de modelado UML.
RUP
es un marco de trabajo genérico que puede
especializarse para una gran variedad de sistemas de
software, para diferentes áreas de aplicación, diferentes tipos
de organizaciones, diferentes niveles de aptitud y diferentes
tamaños del proyecto [8].
Se siguieron las etapas de desarrollo, los flujos de trabajos y
algunos de los artefactos que propone RUP. Los principales
artefactos generados fueron: las descripciones de caso de uso,
los diagramas de caso de uso, de actividades, de estados, de
clases del diseño, de componente y los casos de prueba como
base para realizar las pruebas de caja negra.
Para el modelado del sistema se utilizó Visual Paradigm en
su versión 6.1 y para la implementación del mismo, se utilizó
Java como lenguaje de programación, el Eclipse IDE 3.5 y sus
extensiones como herramienta de desarrollo, el Subversion
5.0 para gestionar las versiones y facilitar el desarrollo en
equipo y SQL server 2005 como gestor de base de datos.
El Eclipse IDE es una plataforma de código abierto (open
source), multiplataforma y muy utilizada en el desarrollo de
software. Unas de las principales características que brinda es
la posibilidad de incorporarle extensiones que faciliten la
implementación del software. Las extensiones utilizadas en
el desarrollo del sistema fueron WTP, Aptana, Spring IDE e
Hibernate Tools.
El SubVersion es un software para compartir información.
Su funcionamiento se basa en un repositorio donde se guarda
la información, la cual es accedida y modifica por un número
de usuarios.
SQL server 2005 SQL Server 2005 es una plataforma
global de base de datos que ofrece administración de datos
empresariales con herramientas integradas de inteligencia
empresarial (BI). El motor de la base de datos SQL Server
2005 ofrece almacenamiento más seguro y confiable tanto
para datos relacionales como estructurados, lo que le permite
crear y administrar aplicaciones de datos altamente
disponibles y con mayor rendimiento para utilizar en su
negocio [9].
Los principales marcos de trabajo (framework) utilizados
fueron: Spring Framework, Hibernate, Dojo Toolkit. Spring
Framework fue utilizado como componente base para la
arquitectura del sistema, Hibernate para acceder a los datos
guardados en el gestor de base de datos y Dojo Toolkit para
confeccionar e incorporarle comportamiento a las interfaces
gráficas de las páginas web.
III. RESULTADOS Y DISCUSIONES
A. Condiciones para el desarrollo del sistema
Antes de desarrollar cualquier sistema informático, se
deben valorar un grupo de condiciones que afectan el alcance
y la arquitectura del mismo. Para el desarrollo del sistema se
3
tuvo en cuenta que:
• Se desarrolla un sistema de gestión bancaria, SAGEB,
que utiliza el lenguaje Java, la especificación Java Estándar
Edition (JSE) y Java Enterprise Edition (JEE). Se utilizará en
el despliegue una arquitectura cliente-servidor sobre un
ambiente web.
• La comunicación del BNC con otros bancos, se realiza
bajo norma ISO 15022 del estándar SWIFT y el estándar
SLBTR.
• La comunicación con otros bancos bajo el estándar
cubano SLBTR se realizará a través de un sistema que provee
el BCC.
• El SISCOM se utilizará como canal de comunicación
para transmitir y recibir los mensajes SWIFT.
• Para la guardar la información referentes a los mensajes
SWIFT se debe utilizar el gestor de base de datos SQL Server
2005.
B. Arquitectura del sistema
El SICOF está dividido en tres partes fundamentales:
1. Núcleo del sistema.
2. Componentes para la interacción con el usuario.
3. Componente para la integración con el SAGEB.
El núcleo del sistema, como su nombre lo indica, posee las
funcionalidades básicas y más importantes del mismo. Con el
objetivo de lograr una mayor cohesión en la estructura del
núcleo se dividió en componentes, de los cuales se presentan
los tres principales:
• Componente SWIFT: Permite la configuración y
validación de los formatos de los mensajes SWIFT y las
reglas semánticas. También brinda las funcionalidades
necesarias para la persistencia de mensajes enviados y
recibidos.
• Componente Transformación: Permite la creación
automática de mensajes SWIFT utilizando los datos que se
gestionan en las operaciones de negocio ejecutadas desde el
SAGEB a partir de ficheros de transformación XSLT 2.
Igualmente es capaz de recuperar los datos necesarios para
ejecutar las operaciones de negocio del SAGEB, una vez que
se reciban mensajes SWIFT.
• Componente de Comunicación: Permite la transmisión y
recepción de mensajes SWIFT utilizando como canal de
comunicación la base de datos del sistema SISCOM.
Los componentes dedicados a la interacción con el usuario
permiten crear mensajes SWIFT, revisarlos y conformar
plantillas para agilizar su creación. Se pueden consultar los
mensajes recibidos e indicar su procesamiento. Otra de las
funcionalidades disponibles, es el monitoreo de mensajes;
pues se pueden observar los estados por donde transitan.
El tercer componente contiene las interfaces necesarias
para la integración con los módulos de negocio del SAGEB.
Esta integración se realiza mediante la invocación directa
entre clases Java; ya que el SAGEB está desarrollado sobre
este lenguaje.
A continuación se muestra gráficamente como se
2
XSLT: Extensible Stylesheet Language Transformations, está diseñado para
transformar los datos XML a otro formato.
CCIA’2010
encuentran organizados los componentes del sistema.
Figura 1. Componentes del SICOF.
C. Mecanismo de comunicación con la red SWIFT
A través del componente de comunicación se realiza la
transmisión y recepción de mensajes SWIFT.
El mecanismo de envío desarrollado hasta el momento,
consiste en transmitir los mensajes, interactuando con la base
de datos del SISCOM. La interacción se realiza a través de
procedimientos almacenados y la ejecución de consultas
SQL. Una vez enviados los mensajes a la base de datos del
SISCOM se valida el contenido de estos. Posteriormente los
mensajes pasan en forma de lotes al servidor AA del BCC y
finalmente este servidor se encarga de incorporarlos a la red
SWIFT.
En el proceso de recepción, los mensajes SWIFT enviados
al BNC son detectados por el servidor AA en el BCC y
colocados en la base de datos del SISCOM del BNC. Una vez
detectada la llegada de mensajes SWIFT por el SICOF, se
extraen de la base de datos y se procesa su contenido.
En
la Fig.2 se muestra el mecanismo descrito
anteriormente.
4
D. Despliegue del sistema
El sistema es utilizado como un subsistema del SAGEB,
por lo que se desplegará en una Arquitectura cliente-servidor
sobre un entorno Web. Las peticiones serán por el protocolo
HTTPs.
Las computadoras clientes deben ser Pentium IV con una
memoria RAM de 256 Mb y 80 Gb de disco duro. El sistema
operativo puede ser Linux o Windows aunque este último es
el requerido por el BNC. El navegador Web debe ser el
Mozilla Firefoz 3.5 o superior.
El servidor donde estará ejecutándose la aplicación debe
contar con un procesador Core duo, una memoria RAM de 4
Gb como mínimo y 120 Gb de disco duro. El sistema
operativo puede ser Linux o Windows server. La máquina
virtual que debe instalarse es la JRE 6.0 y el servidor web
debe ser Apache Tomcat 6.0. También es necesario tener
instalado los módulos del SISCOM que permiten la
transmisión de mensajes SWIFT.
El servidor de base de datos debe tener un procesador Core
duo con una memoria RAM de 4 Gb como mínimo. La
capacidad del disco duro debe ser mayor de 250 Gb. El
sistema operativo debe ser Windows Server 2003 y el SQL
Server 2005 como gestor de base de datos.
La Fig.3 ilustra el modelo de despliegue anteriormente
descrito.
Figura 3. Modelo de despliegue.
Figura 2. Mecanismo de comunicación con la red SWIFT.
E. Discusión
Unos de los logros alcanzados con el sistema desarrollado
es que no se viola el principio contable, pues se registra el
hecho económico en el momento que ocurre. También se
logra una disminución del esfuerzo y riesgo de cometer
errores por parte de los operadores del sistema cuando
ejecutan operaciones de negocio que llevan consigo la
creación de mensajes. Todo esto es posible gracias al
mecanismo de creación automática de los mensajes.
El SICOF es flexible ante las modificaciones que sufre la
ISO 15022 del estándar SWIFT ya que se pueden actualizar
CCIA’2010
los formatos de los mensajes SWIFT y las definiciones de las
reglas semánticas.
Otra de las ventajas del sistema es que seguiría
funcionando la creación automática de los mensajes a pesar
de cambios que puedan ocurrir en los procesos de negocio,
pues éstos cambios serían transparentes con solo actualizar
los ficheros de transformación.
Cualquier otro sistema de comunicación entre bancos, que
utilice Java como lenguaje de programación y sea
desarrollado bajo el estándar de mensajería anteriormente
mencionado, podría hacer uso del núcleo del sistema, por lo
que se convierte en un componente reutilizable.
Además, el SICOF podría se integrado con otros sistemas
de gestión bancaria pues cuenta con la estructura de clases
para ello, solamente sería necesario crear mecanismos de
integración distintos al implementado actualmente.
RECONOCIMIENTOS
Se reconoce el trabajo realizado por el equipo de desarrollo
del proyecto SAGEB, en particular a las personas que
trabajaron en la implementación del SICOF.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
XBRL. 2008. [En línea] 2008. [Citado el: 15 de 12 de 2009.]
http://xbrl.squarespace.com/storage/WhatIsXBRL-2008-05-17.pdf.
ISO15022. ISO15022. [En línea] 2008. [Citado el: 10 de noviembre de
2009.]
http://www.iso15022.org/ISO15022XML/General/MessageStandardsEvol
ution.pdf.
SWIFT. 2009. SWIFT. [En línea] 2009. [Citado el: 12 de 1 de 2010.]
BNC. MANUAL DE INSTRUCCIONES Y PROCEDIMIENTOS. La
Habana : s.n., 2007.
SIBANC. Manual de Usuario del SISCOM. La Habana : s.n., 2006.
Solutions. Solutions. [En línea] 2008. [Citado el: 10 de noviembre de
2009.]
http://www.swift.com/solutions/connectivity/connectivity_products/allianc
e_access/detailed_features.page?lang=es.
SWIFT. Servicios de mensajería de SWIFT. 2008.
Ivar Jacobson, Grady Booch, James Rumbaugh. El Proceso Unificado de
Desarrollo de Software. Madrid : Addison Wesley, 2000.
Corporation, Microsoft. Microsoft SQL Server. Microsoft SQL Server. [En
línea] Microsoft Corporation, 2010. [Citado el: 20 de julio de 2010.]
http://www.microsoft.com/spain/sql/productinfo/overview/what-is-sqlserver.mspx.
Adolfo Miguel Iglesias Chaviano (27 de
marzo 1983, Cienfuegos). Es graduado
como Ingeniero en Ciencias Informáticas en
Ciudad de La Habana en el año 2007. Se le
otorgó el premio Julio Antonio Mella por ser
uno de los mejores graduados de la
Universidad. Actualmente es profesor
universitario, teniendo como categoría
docente: Instructor. También se desempeña
como Arquitecto de Software en el proyecto
productivo, Sistema Automatizado para la
Gestión Bancaria, en la Universidad de la
Ciencias Informáticas (UCI). Se le otorgó un reconocimiento por el excelente
desempeño en el proyecto, Sistema Automatizado para la
Gestión
Penitenciaria en Venezuela. Ha impartido las asignaturas de pregrado para
Ingeniero en Ciencias Informáticas: Gestión de Software y Patrones de
Diseño. Ha tutorado cinco tesis de diploma dentro de las cuales se encuentra:
Integración con sistemas internos y externos en aplicaciones empresariales,
Procesamiento por lotes para el Sistema Bancario Cubano y Análisis y
Modelado de los procesos de Novedades y Contingencias, Requisas y
Decomisos y Control de armamentos para el Sistema Penitenciario
Venezolano.
Ha culminado los cursos de postgrados siguientes:
5
Programación paralela y distribuida, Arquitectura de redes y computadoras,
Nociones de contabilidad, Diseño de experimento, Estadísticas, Gestión del
conocimiento, Gestión de proyectos. Culminó el Diplomado Formación de
investigadores. Se centra en las siguientes líneas de investigación:
Arquitectura de software en sistemas empresariales sobre la plataforma Java
Enterprise Edition (JEE), Desarrollo de aplicaciones para la banca y
Desarrollo de sistemas para la Comunicación financiera entre sistemas
bancarios.
Yadira Calimano Meneses (21 de diciembre
de 1985, Villa Clara) Es graduado como
Ingeniera en Ciencias Informáticas en Ciudad
de La Habana en el año 2008. Actualmente es
profesora universitaria, teniendo como
categoría docente: Instructor. También se
desempeña como Analista de Software en el
proyecto productivo, Sistema Automatizado
para la Gestión Bancaria, en la Universidad
de las Ciencias Informáticas (UCI). Se le
otorgó un reconocimiento por el excelente
desempeño en el proyecto, Sistema
Automatizado para la Gestión Penitenciaria
en Venezuela. Ha impartido las asignaturas de pregrado para Ingeniero en
Ciencias Informáticas: Ingeniería de Software I y II e Historia de la
Informática. Ha tutorado tres tesis de diploma dentro de las cuales se
encuentra: Propuesta de modelo para la Gestión de Recursos Humanos en la
implantación del Sistema Integral de Gestión Cedrux, Análisis y Diseño del
subsistema Cuentas de Clientes del proyecto Modernización del Sistema
Bancario Cubano y Propuesta de un procedimiento para evaluar la
factibilidad de las posibles alternativas de desarrollo de software en proyectos
de la UCI. Ha culminado los cursos de postgrados siguientes: Modelación con
BPMN, Gestión de Proyecto, Bases de Datos Avanzada, Negociación y
Gestión de la Contratación, Sistemas Informáticos Inteligentes. Se centra en
las líneas de investigación siguientes: Ingeniería de Requisitos, Análisis de
factibilidad técnica, Desarrollo de aplicaciones para la banca y Desarrollo de
sistemas para la Comunicación financiera entre sistemas bancarios.
Descargar