lunes, 16 de mayo de 2011

Software Bancario, Parte II: Flexbranch

Un elemento importante en la solución bancaria ideada por i-Flex, es la relativa al manejo de las agencias. La empresa vende estas soluciones por separado, así que, en teoría, se podría adquirir un software para manejo de las agencias a una empresa distinta a i-Flex y hacer las conexiones pertinentes. Lo cierto es que el banco adquirió a Flexbranch como interfaz con las taquillas en las agencias.

Flexbranch es un software que también se basa en Oracle, requiere de un pequeño servidor en cada agencia el cual se sincroniza periódicamente con el servidor central. Las estaciones de trabajo acceden a este servidor mediante el Internet Explorer (que también tenía limitaciones en cuanto a la versión soportada) en un ambiente con Microsoft Windows 2000 o XP. El error que se cometió en la configuración de los PC en las agencias, fue el de darle los servicios de correo electrónico e Internet: en tecnología siempre se objetaron estas facilidades ya que le abrían las puertas a virus, malware, spyware y afines, pero nunca pudimos con las exigencias de poder consultar Internet (los ejecutivos hasta nos decían que necesitaban poder ir a consultar cualquier sitio “por si el cliente tenía esa necesidad”) y al correo electrónico. Tuvimos verdaderos problemas con las agencias con estas cuestiones (que además contaminaban al servidor) hasta que logramos cerrar el chorro limitando las páginas que podían ser accedidas y los correos.

En una estación de trabajo en un ejecutivo en una agencia, típicamente se tenía configurado Flexbranch (para consultar cosas de taquilla), Flexcube (para hacer consultas a otros sistemas relacionados), Business Objects (para los reportes) y otros sistemas colaterales para ver las tarjetas de crédito, cuestiones relacionadas con Cadivi, etc.
Al darnos cuenta de lo complejo y vulnerable que podía ser la instalación de una PC en una agencia, llegamos a efectuar unas pruebas exitosas en hacer funcionar todo mediante escritorios remotos, de esta manera nos podríamos concentrar en reforzar y hacer funcionar perfectamente la instalación en un servidor que sería accedido por varios usuarios con sus PCs, en caso de dañarse la PC, sería cuestión de únicamente darle otra genérica y configurar el acceso al servidor de Escritorios Remotos… mucho mejor! Esta solución se adoptó totalmente para el caso de poder consultar el sistema pre-reconversión monetaria: se había congelado una versión del sistema al 31/12/2007 con los Bolívares “viejos”; para poderla acceder se tenía que abrir una sesión en un servidor de escritorios remotos el cual estaba configurado para que se conectara únicamente a esa Base de Datos, este esquema funcionó perfectamente y me dejó con la inquietud de hacerlo en la Base de Datos de producción propiamente.

miércoles, 4 de mayo de 2011

Software Bancario, Parte I: Flexcube

A finales del año 2002 se presentó la necesidad de tener un nuevo Sistema Central para un Banco que prácticamente estaba siendo creado desde cero (en verdad se trataba de una ampliación de un pequeño banco llamado Eurobanco que no había tenido mayor desarrollo). La dirección de tecnología se enfocó en dos casas de software: i-Flex e Infosys, ambas empresas Indias, ya que lideraban las ventas de este tipo de Sistemas para plataforma medianas (no para Mainframes). Finalmente la decisión recayó en la empresa i-Flex y su producto estrella Flexcube.

Naturalmente Flexcube está compuesto por una constelación de sistemas satelitales que pueden adquirirse o no, para este análisis nos centraremos en los tres módulos principales: Flexcube propiamente, FC@ (la interfaz Web) y Flexbranch (para las oficinas).

Flexcube:
Este sistema es el centro del banco puesto que tiene el manejo de la contabilidad, de las cuentas de los clientes, de los préstamos, etc. La gran ventaja de Flexcube, es que se trata de un sistema parametrizable lo cual, en teoría, hace que la definición de nuevos productos sea independiente de los programadores: los directores del negocio pueden dedicarse a idear nuevos productos los cuales serían implementados por los “parametrizadores” en un ambiente controlado de pruebas, luego de lo cual los cambios podrían ser puestos en producción SIN que interviniese en el proceso programador alguno! En la práctica la programación era frecuente puesto que hacían falta nuevas interfaces, cambiar pantallas de datos, idear reportes o simplemente adecuar el software a nuevos requerimientos regulatorios tales como el IDB (Impuesto al debido Bancario) o el ITF (Impuesto a las Transacciones Financieras).
Los requerimientos técnicos de Flexcube no son muy complicados:

Servidor Central: Un servidor con Unix (la aplicación está certificada con HP-UX, Solaris y AIX y las instalaciones mundialmente están distribuidas exactamente en ese orden) en el cual está Oracle (nosotros llegamos a la versión 10g). También podría estar con Windows Server pero, para este tipo de aplicaciones pesadas, me parece mucho más “sano” tener Flexcube en Unix. En un momento dado plantee efectuar la instalación sobre Linux (aun cuando i-Flex no lo tenía certificado), para ello logré hablar por teléfono con un analista “duro” de i-Flex quién me dijo: “Dame una plataforma que sirva para Oracle y Flexcube funcionará”, con lo cual la opción de Linux era válida, pero no fui autorizado a instalarla. La primera configuración que tuvimos fue con un Sun V440 con 4GBytes de memoria RAM y 4 discos de 36GBytes (luego ampliados a 5 discos de 73GBytes adicionales) con Solaris 9 y Oracle 9i.

Servidor de Aplicaciones: Naturalmente las estaciones de trabajo no se conectarían directamente al servidor Oracle, sino a un Servidor de Aplicaciones. La compañía i-Flex nos dijo que Flexcube funcionaría con “cualquier” servidor de aplicaciones, pero nos recomendaban fuertemente que fuese el de Oracle. El Servidor de Aplicaciones sería el encargado de tener las pantallas propiamente desarrolladas mediante Oracle Forms y Oracle Reports; este servidor sería el “canalizador” principal de las peticiones a la Base de Datos Oracle de los usuarios. Nuestro servidor de aplicaciones inicial fue un Sun V240 con 2GBytes de memoria RAM y 2 discos de 36GBytes también con Solaris 9 y Oracle AS 9i. La ventaja de tener a un servidor de aplicaciones, es que los usuarios que acceden al sistema NO son usuarios de Oracle sino de Flexcube, de esta manera la seguridad la implementa Flexcube propiamente. A la Superintendencia de Bancos (Sudeban) este esquema gustó mucho puesto que un hueco de seguridad permanente en las instalaciones bancarias es que un usuario, con algunas destrezas técnicas, fácilmente podría conectarse directamente a la Base de Datos y traerse todas las tablas que tiene permiso de acceder mediante un programa simple como Microsoft Access o Excel.

Estaciones de trabajo: Las estaciones de trabajo necesitaban tener Windows XP y el Internet Explorer versión 6 (con la 7 o posterior no funcionaban ni tampoco con Firefox u otros exploradores) con ciertos parámetros de seguridad “relajados”. Con la primera conexión al Servidor de Aplicaciones, la estación de trabajo se baja el Oracle Initiator gracias al cual las pantallas pueden funcionar. Dado que los reportes de Flexcube no eran muy “vistosos”, éstos se efectuaban mediante otra herramienta comercial… en nuestro caso se seleccionó Business Objects, así que las estaciones de trabajo que necesitaría ver reportes específicos de Flexcube (como por ejemplo los Estados de Cuenta o los Balances de Contabilidad) tenían que tener instalado este software.

En próxima entregas hablaré sobre los otros sistemas de i-Flex relacionados con Flexcube.