Capacitación Módulo 1

140
BAMNet 2.0 Servidor de pago de servicios BancaSAT

description

Capacitacion especializada para servicios de integracion

Transcript of Capacitación Módulo 1

  • BAMNet 2.0 Servidor de pago de servicios

    BancaSAT

  • BAMNet 2.0 Descripcin general

    Como funciona

    Esquema de comunicacin

    Interfaces

    Para qu son

    Para qu sirven

    Tipos de interfaces

    De base de datos

    De servicios

  • BAMNet 2.0 surge como una solucin para satisfacer la necesidad de un cambio de plataforma tecnolgica de banca por internet para los clientes de BAM.

    Esta nueva aplicacin deba integrar todas las opciones que posea actualmente BAMNet (anteriormente conocido como ViaNet) as como nuevos servicios y sobre todo que fuera escalable.

    BAMNet 2.0 busca de alguna manera implementar un bus de servicios que permita que varias plataformas BAM confluyan en un mismo servicio. Muestra de esto es la implementacin de BAMCel 2.0 y pago fcil que utilizan la plataforma web de BAMNet 2.0 para realizar estas operaciones como canales registrados dentro del servicio.

  • BAMNet 2.0 est planteado como un esquema de mltiples capas que se encuentran bien distinguidas: Capa de presentacin

    Este se refiere a todas la vistas con las que los clientes interactan con el sistema.

    Capa de administracin: Esta capa tiene como objetivo primordial guardar informacin

    sobre control de accesos, lmites y otra administracin que pueda ser aplicada tanto a los clientes como a los productos que tienen asociados.

    Capa de lgica de negocio Esta capa indica la forma en que se estar operando la

    transaccin previo a ser ejecutada ya sea en el sistema central como orquestndolo con los otros servicios adyacentes.

  • Continuacin

    Capa de datos

    Esta capa es en donde tiene lugar el registro de la transaccin y queda asentada firmemente para los clientes. Esta capa tiene varios sub servicios, tales como consulta de datos y transaccin de transferencias.

    Capa de servicios

    Esta capa es un motor adicional que funciona exclusivamente para comunicarse con proveedores de servicios desde la banca virtual. Tiene su propio esquema de procesamiento y BAMNet 2.0 es un cliente mas como cualquier otra agencia BAM.

  • El formato para intercambio de informacin dentro del sistema es por medio de XML que viajan en protocolo HTTP por medio de formatos SOAP

    Los datos binarios que se transmiten por medio del sistema se encuentran convertidos a hexadecimal de dos caracteres para que sea estndar.

    No se transmiten imagenes directamente sino que que se encuentran incluidas siempre dentro de un archivo PDF protegido con contrasea y que no permite realizar copias para mayor seguridad.

  • El servicio wsBamnet est constituido por varias clases que permite repartir la funcionalidad esperada: Datos: Esta clase implementa una tabla Hash que

    almacena informacin de la aplicacin y que est a nivel de contexto del proceso como tal.

    CasheSps: Esta clase sirve para obtener informacin acerca de los procedimientos almacenados en cualquiera de las bases de datos

  • Continuacin Central: Clase que implementa AseClient para

    interactuar con Sybase

    Mssql: Clase que implementa SqlClient para interactuar con MS SQL Server

    StartupConfigs: Esta clase es la encargada de obtener informacin para grabarla en el cache de la aplicacin, as mismo tiene una funcionalidad para refresar este cache bajo demanda

  • Continuacin Utilities: Esta clase posee funciones compartidas

    que abstraen funcionalidad que puede ser utilizada en todo el sistema.

    XMLEngine: Esta clase realiza una implementacin del namespace System.Xml y provee caractersticas tales como copiar elementos, clonarlos, copiarlos, etc. De esta clase depende mucho de la funcionalidad de wsBamnet.

  • Continuacin classCuenta: Esta clase realiza operaciones sobre

    una cuenta especfica, tales como bloqueo y desbloqueo de fondos, ejecutar SP de pago de un servicio normal o por medio de tarjeta de crdito.

    classLogger: Esta clase realiza todas las funciones de bitcora en disco duro.

    classNotifier: Esta clase realiza funciones para notificaciones configuradas al ejecutarse cierta transaccin.

  • Continuacin classOperacionesVarias: Esta clase concentra toda

    la funcionalidad de una operacin especial. Esta clase recibe el control del proceso cuando es invocada y tiene una copia de las variables globales del sistema para su ejecucin.

    classServicios: Esta clase implementa la funcionalidad para realizar llamadas al servicio de pago de servicios que est hospedado en otro servidor.

  • Continuacin Bamnet:

    Esta clase es la clase principal de este servicio, esta es la que recibe y clasifica los requerimientos entrantes.

    Realiza validaciones con base a los siguientes parmetros:

    Cdigo de transaccin.

    Estado de ejecucin.

    Posee un manejador de errores para asegurar la continuidad en el funcionamiento del sistema.

  • Estratgicamente BAM decidi dividir el desarrollo de este producto en dos, una parte por medio de Outsourcing y otra por desarrollo interno. El desarrollo Outsourcing est a cargo de la empresa Transformacin Empresarial, S.A.

    Transformacin Empresarial tiene a su cargo lo siguiente:

  • Sitio administrativo: Administracin de perfiles y permisos Administracin de usuarios Administracin de productos Administracin de servicios Contingencias de operaciones en nombre del

    usuario.

    Sitio transaccional: Diseo y creacin de pantallas Control de la sesin Doble autorizacin

  • Break 15 minutos

  • A cada mensaje configurado dentro del sistema BAMNet 2.0 se le denomina interfaces.

    Interfaz segn Wikipedia se refiere a: la conexin entre dos ordenadores o mquinas de cualquier tipo dando una comunicacin entre distintos niveles.

    Las interfaces son representaciones en tiempo de ejecucin derivado de un patrn configurado previamente en el sistema para que responda con cierto comportamiento y resuelva el resultado esperado.

  • Las interfaces sirven para que todos los involucrados en el funcionamiento del sistema hablen el mismo idioma.

    Las interfaces tambin deben poder interelacionar con otros sistemas que no hablen el mismo idioma, es decir, funciona como un traductor entre interfacesde otros sistemas.

  • Cada transaccin (interface) posee una configuracin XML de entrada y otra de salida XML.

    Cada una de estas sirve para verificar que el esquema enviado concuerde con lo que esta transaccin espera.

  • Todas las interfaces en su modelo de entrada poseen un encabezado comn que permite sean utilizadas en distintos contextos: Canal: Este identifica desde qu

    plataforma fue invocada esta interface. Actualmente existe BAMNet, BAMCel, CNL-IVR, PAGORECURREN

    Filial: Indica la empresa a la que debe contabilizar, por defecto es uno (1)

    Usuario: El usuario que est realizando el requerimiento

    RemotoIP: Ip desde donde se est iniciando la transaccin del cliente. El sistema luego calcula del equipo en donde se est conectando.

    Agencia: Lugar donde se ejecuta la transaccin.

    Rol: Con qu nivel de autorizacin se est ejecutando la transaccin

    BAMNet 867345607 1 093 127.0.0.1

  • De igual forma, todas las interfaces poseen un encabezado comn de salida: CodigoError: Indica si existi un error cuando su

    valor es diferente de cero (0)

    MensajeError: Se devuelve un texto representativo del cdigo asociado

    1

    DOLAR AMERICANO

    7.9200

    7.9400

    8.1000

    2

    EURO

    1.3300

    1.3700

    1.4700

    0

  • Break 15 minutos

  • Interfaz de base de datos Esta interfaz interacta nicamente contra alguna base de

    datos que est soportada por el sistema.

    Interfaz de servicio Esta interfaz interacta con el procesador de pagos de

    servicios por medio de una transformacin intermedia para adecuar el mensaje a lo que entiende este servidor.

    Interfaz especial Esta interfaz busca satisfacer ciertos requisitos que pueden

    involucrar uno o mas servicios de datos y servicios. Para este efecto se debe modificar la estructura del servicio para agregar mas clases auxiliares que ayuden al funcionamiento del mismo.

  • Las interfaces de base de datos tienen los siguientes atributos: Nombre SP: Nombre del procedimiento que se ejecutar

    Tipo de base de datos: Esto para utilizar el controlador

    correcto.

    Servidor: Token en donde se encuentra la configuracin del servidor destino

    Tipo de ejecucin: Si ser obtencin de datos o ejecucin para referencia

    Transpone datos de salida: Hay algunos datos que requiere realizar transformacin y transponer filas a columnas.

  • Atributo Valor

    Cdigo de transaccin

    90003

    Nombre de transaccin

    Consulta completa de las entradas de un catlogo

    Nombre SP sp_bn_consulta_catalogo

    Tipo de servidor Ase

    Servidor aseCentral

    Tipo de ejecucin QUERY

  • Atributo Valor

    Mapeo XML Entrada

    @i_catalogo=[CodigoCatalogo] @i_modo=[Operacion] @i_valor=[Valor]

    Mapeo XML Salida

    BAMNet [CODIGO] [VALOR] [ESTADO] @Return

  • XML Entrada XML Salida

    BAMNet tvallejo 1 ::1 0 16 9 T

    BAMNet 0 QUETZAL V 1 DOLAR AMERICANO V 2 EURO V 0

  • Atributo Valor

    Cdigo de transaccin 90006

    Nombre de transaccin Consulta cliente cobis

    Nombre SP cobis..sp_persona_cons

    Tipo de servidor Ase

    Servidor aseCentral

    Tipo de ejecucin QUERY

    Transpone filas a columnas

    Si

  • Atributo Valor

    Mapeo XML Entrada

    @t_trn=132 @i_operacion=Q @i_persona=[CodigoCliente]

    Mapeo XML Salida [NumeroColumna] [NombreColumna] [ValorColumna] @Return

  • XML Entrada XML Salida

    BAMNet sarodasr 16 1 1 ::1 202301

    1 Fecha de Nacimiento 02/04/1952 2 Tipo de Documento CV 3 Nmero Documento O1600030985 0

  • Las interfaces de servicios poseen los siguientes atributos: Consulta de servicio: Si la accin es para realizar consulta de

    servicio

    Pago de servicio: Si la accin es para realizar pago de servicio.

    Cada servicio posee una especificacin de transformacin hace un mensaje que sea entendible por el servidor de servicios, el cual tambin est descrito en formato XML.

    El servidor de servicios realiza las operaciones necesarias y devuelve informacin para que wsBAMNet proceda con la transformacin final que se devolver como producto de dicha solicitud.

  • Actualmente existen cinco transacciones principales que habilitan esta la consulta o pago de un servicio: 90016: Listado de servicios 91039: Consulta previa para pago de servicios 91040: Consulta configuracin de campos para pago de

    servicios. 91042: Pago de servicio 91043: Pago de cobro por cuenta ajena

    Es necesario hacer notar que existen transacciones auxiliares para el caso de cobros por cuenta ajena que posean consulta previa.

  • Entrada Salida

    BAMNet 00048096 1 192.16.1.4 0 093

    -356 Instituto Belga Guatemalteco 91069 91043 N S N 0 6 Claro Postpago 91039 91042 N N N 0 95000 Claro N S S 0 0

  • XML Entrada XML Salida

    BAMNet 9000040909 1 093 10.99.99.3 0 5

    NUMERODETELEFONO 1 Numero de telefono Numero de telefono CLARO prepago 0 S S N S S 8 8 TIEMPODEAIRE 2 Tiempo de aire a comprar Tiempo de aire a comprar 7 N N N N 10,10|25,25|50,50|100,100|200,200 0 5 Efectivo 0 0 0 5 0

  • XML de entrada XML de salida

    BAMNet 9000073077 1 127.0.0.1 0 093 NUMERODETELEFONO 1 Numero de telefono Numero de telefono CLARO prepago 0 S S N S 55111113 S 8 8 TIEMPODEAIRE 2 Tiempo de aire a comprar Tiempo de aire a comprar 7 N N N N 10,10|25,25|50,50|100,100|200,200 0 5 0 0 0 5 0

    BAMNet 9000073077 1 127.0.0.1 0 093 NUMERODETELEFONO 1 Numero de telefono Numero de telefono CLARO prepago 0 S S N S 55111113 S 8 8 TIEMPODEAIRE 2 Tiempo de aire a comprar Tiempo de aire a comprar 7 N N N N 10,10|25,25|50,50|100,100|200,200 0 5 0 0 0 5 0

  • XML de entrada XML de salida

    BAMNet 00122430 1 216.230.142.194 0 259 NUMERODETELEFONO 1 Numero de telefono 0 S S N S 59435583 S 8 8 TIEMPODEAIRE 2 Tiempo de aire a comprar 7 N N N N 10,10|11,11|25,25|27,27|50,50|100,100|200,200 0 5 4050253740 4 0 25 0.00 25 5 0

    BAMNet 00122430 1 216.230.142.194 0 259 NUMERODETELEFONO 1 Numero de telefono 0 S S N S 59435583 S 8 8 TIEMPODEAIRE 2 Tiempo de aire a comprar 7 N N N N 10,10|11,11|25,25|27,27|50,50|100,100|200,200 0 5 4050253740 4 0 25 0.00 25 5 0 11471880

  • 106

    [@NUMERODETELEFONO]

    [@NUMERODETELEFONO]

    [Montos/Efectivo]

    [Montos/Efectivo]

    0.00

    0.00

    0.00

    [Montos/Efectivo]

    0

    [Montos/Saldo]

    [var:bamnet.SecuenciaSVCwsPEL,valorpordefecto:0]

    [bamnet.ValidacionServicio]

  • Interfaces Tipos de interfaces

    Especiales

    Flujo de la transaccin Distribucin de la aplicacin

    Procesamiento local Procesamiento Sybase (COBIS) online Procesamiento ATM (COBIS) - offline

    Servidor WSBAMNet Base de datos Servicios instalados

    WSBamnet Tokens Instancias de servicios

    Por qu sirven. Que hace cada una de ellas

  • Las interfaces especiales tienen los siguientes atributos: Es operacin especial: Indica si opera como especial Operacin Especial: Token que indica qu funcin debe llamar dentro de

    la programacin. Este campo es sensible al contexto.

    La programacin involucrada se debe realizar muy cuidadosamente ya que puede llegar a corromper los datos de la aplicacin ya que el sub servicio puede manipular datos que los otros tipos de interfaces no pueden realizar.

    En el cdigo involucrado se pueden realizar las siguientes operaciones: Clculos locales, Llamadas a webservices adicionales, tal como es el caso de documentos

    PDF. Invocar a interfaces del sistema Mezclar cualquiera de las anteriores.

  • Case "ChequeDeclarado"

    Dim wstrxmlsalida As String = ""

    Try

    With idtVariablesBAMNet

    wstrxmlsalida = CuentasChqDeclarado(.LeerDato("XMLIn"))

    End With

    Catch ex As Exception

    wstrxmlsalida = " "1500"

    Throw New Exception("Error en consulta cuentas cobro recurrente: " & ex.Message & ":::" & ex.StackTrace)

    End Try

    odtDatosSalida.AgregarDato("XMLDeSalida", wstrxmlsalida)

    wblReturn = True

  • XML de entrada XML de salida

    9000090075 BAMNet 1 093 190.148.92.104 0 3030555600 3 0 3040133900 3 0

    3030555600 3 0 S C 0 3040133900 3 0 S A 0 0

  • BAMNET 2.0 interfaces - especiales

    Revisin cdigo

    10-15minutos

  • Break 15 minutos

  • BAMNET 2.0 flujo de transaccin Revisin documentacin

    20-30minutos

  • Procesamiento local En este lugar se realizan las siguientes tareas

    Verificacin de transaccin Generacin de mensajes Procesamiento de respuestas Proceso de bitcora

    Procesamiento Sybase (COBIS) Verificacin de estado del sistema (online/offline) Ejecucin de procedimientos almacenados, siempre y cuando se

    est en lnea

    Procesamiento Branch ATM (COBIS) Generacin de secuenciales Ejecucin de procedimientos almacenados tanto para

    funcionamiento en lnea como para fuera de lnea.

  • Sistema operativo Windows server 2008 R2 64 bits

    Frameworks instalados 2.0, 3.5 y 4.0

    Base de datos SQL server 2008 SP 2 64 bits

    CLR activado

    IIS Versin 7

  • La base de datos posee habilitadas tablas con tipos de datos XML que permiten realizar bsquedas dentro de sus datos utilizando Xpath.

    Existen dos bases de datos

    Bamnet: En esta se guarda la bitcora

    bamnetPreProd: En esta est la configuracin de transacciones y la bitcora del da

    Las tablas principales son las siguientes:

    bamnet_config_transaccion: En esta tabla se encuentra la configuracin de la transaccin.

    Bamnet_log: Se guarda la bitcora de la ejecucin.

    bamnet_log_servicio: Se guarda informacin adicional sobre la ejecucin de un pago/consulta de servicio.

    Bamnet_config_tran_offline: En esta tabla se encuentra la definicin alternativa para cuando una transaccin se procese fuera de lnea.

  • BAMNet 2.0 Base de datos Demo vsr-bamnet20

    15-20 minutos

  • wsBAMNet Este es el servicio web que recibe todos los

    requerimientos de transacciones, los procesa y devuelve una respuesta.

    Mtodos del servicio

  • BVCheckLogin: Este mtodo se utiliz durante la migracin de usuarios.

    El propsito del mismo era que dado un usuario y una contrasea ya cifrada, se verificara contra lo almacenado en BAMNet 1.0

    BancaSATPublicoClave: Este mtodo se utiliz durante la migracin de usuarios

    de BancaSAT pblico hacia la nueva versin. El cifrado es diferente a el algoritmo de cifrado COBIS.

    Cifrar: Este mtodo cifra con la librera inetmap.dll de cobis,

    pero tomando en cuenta nicamente una cadena de entrada.

  • CifrarRaspable: Este mtodo recibe dos parmetros de entrada, uno para

    usuario y otro con la clave, tambin es tomado de inetmap.dll.

    LimpiarMemoria: Este mtodo refresca toda la memoria del servicio

    destruyendo la copia que posee en memoria y cargando la configuracin desde la base de datos.

    XMLIn: Este mtodo es el que recibe todos los mensajes XML de

    las interfaces, es quien procesa todas las transacciones del sistema BAMNet 2.0

  • BAMNet 2.0 wsbamnet Revisin web.config

    10-15 minutos

  • Break 15 minutos

  • El servicio wsBamnet posee dos instancias en produccin, una sirve especficamente para transacciones que involucran pagos masivos, esto para separar del canal transaccional este tipo de transacciones que en algunos casos son programadas.

    La otra instancia sirve a todas las dems transacciones del sistema.

  • El filtro de transacciones que pueden ser procesadas por cada instancia se configura en el archivo web.config del servicio en la llave denominada sysTranHabilitadas, cuando este se encuentra vaco puede procesar todas las transacciones

  • BAMNet 2.0 wsbamnet Revisin instancias

    5-10 minutos

  • Tokens Este servicio es utilizado para realizar verificacin

    del token RSA ingresado por el usuario y que necesita ser enviado hacia un servidor especializado.

    El token es un mtodo de seguridad de doble factor que es utilizado en BAMNet 2.0 para algunas transacciones tales como: Ingreso al sistema, pagos masivos, ACH, transferencias a terceros.

  • Se apoya en una instalacin cliente de RSA llamada WebAgent versin 5.3 para IIS

    Este equipo es un cliente de los servidores principales que se llaman vsr-rsa1 y vsr-rsa2

  • Los servidores vsr-rsa1 y vsr-rsa2 estn configurados por el proveedor (SISAP) para que funcionen en un esquema de alta disponibilidad.

  • La responsabilidad de informtica BAM es nicamente la de monitorear el estado del servidor, el proveedor realiza todas las actualizaciones necesarias y debe proveer la solucin a cualquier problema que presente esta plataforma.

    nicamente el rea de BAMNet posee usuarios para interactuar con la interface grfica de ambos servidores.

  • BAMNet 2.0 Tokens Revisin instalacin cliente

    10-15 minutos

  • Servidor WSBamnet Servicios Instalados

    Documentos PDF

    Estados de cuenta

    Imagenes de cheques

    Servidor Branch ATM (fuera de lnea) Servicios de secuencia. Fuera de lnea

    Como funciona

    Servicio de datos

    Configuracin ambiente

    Dashboard

    Reentrada de transacciones

  • Para la creacin de documentos PDF se utiliz la librera Open Source pdfsharp, esta se encuentra disponible en este sitio: http://www.pdfsharp.com/PDFsharp/

    Esta librera permite realizar todas las operaciones necesarias para crear documentos PDF tal y como BAMNet los necesita.

    http://www.pdfsharp.com/PDFsharp/http://www.pdfsharp.com/PDFsharp/

  • Estado de cuenta de monetarios Los estados de cuenta para el producto monetarios

    se crea completamente en formato PDF el cual es serializado en datos hexadecimales para ser transmitidos al cliente por medio de wsBamnet

    El servicio puede crear estados de cuenta tanto de BAM como de Mercom Bank cada uno son su logo y mensajes predefinidos.

  • Continuacin Cada documento est protegido contra extraccin o

    manipulacin de datos por medio de una contrasea generada aleatoriamente de 128 caracteres.

    La interface de salida tambin provee el nombre que se debe de dar al archivo al momento que sea descargado o visualizado por el cliente.

  • Seguridad Para asegurarnos que este servicio fuera accesible nica

    y exclusivamente desde wsBamnet y que el requerimiento fuera nico, se utiliza como mecanismo de autorizacin una transaccin de token (no confundir con RSA) la cual genera un nmero nico y que posee un tiempo de vida de 5 minutos.

    Si el Token es enviado mas de una vez o si se enva

    despus de los 5 minutos que tiene vigencia, el sistema devolver un mensaje indicando que el token enviado no es vlido o ya fue utilizado anteriormente.

  • La transaccin para generar el token para estados de cuenta es la 91050

    Formatos de entrada y salida

    BAMNet 01090948 1 0 172.16.20.140 093

    20120913085709 0

  • La transaccin designada para obtener un estado de cuenta en formato PDF es la 91051.

    Se realizan las siguiente validaciones: Token vlido o vigente Token corresponde al cliente.

    A continuacin se muestra un ejemplo con una porcin del XML retornado

  • XML Entrada XML Salida

    BAMNet 01090948 1 093 172.16.20.140 20120913085709 0015000095 8 2012

    EC2120000197(09-2011).pdf 255044462D312E340A25D3F4CCE10...454F460A 0

  • Imgenes de cheques Las imgenes de cheques sufrieron un cambio de la

    versin 1.0 hacia la 2.0; anteriormente nicamente se mostraba una pgina html con el anverso y el reverso del cheque sin brindar mayor informacin.

    En esta nueva versin lo que se hizo fue que ambas caras del cheque se colocaron dentro de una pgina en un documento PDF.

  • Continuacin Las medidas de seguridad son las mismas que para un

    estado de cuenta de monetarios.

    El proceso para realizar este documento es el siguiente: Ingreso de nmero y cheque a una base de datos. Se busca el ndice de esa imagen. Se busca dentro de un archivo comprimido DBF Se extrae y se guarda en un directorio temporal. Se agrega a la pgina PDF Se elimina el archivo del directorio temporal.

  • Seguridad Al igual que la transaccin de estado de cuenta, se

    implement una transaccin para creacin de token.

    A continuacin se encuentra un ejemplo del XML

  • XML Entrada XML Salida

    BAMNet 00832803 1 0 172.16.20.140 093 4901168225 18201588

    20120803142023 0

  • La transaccin para obtener imgenes de cheques es la nmero 91056

    Se realizan las siguiente validaciones: Token vlido o vigente Token corresponde al cliente. Token, cuenta y nmero de cheque correspondan

    mutuamente.

    A continuacin se muestra un ejemplo con una porcin del XML retornado

  • XML Entrada XML Salida

    BAMNet 01099767 1 093 10.99.99.4 20110318223537 4901533055 85805617

    490153305585805617.pdf 255044462D312E340A25D3F4CCE10A...460A 0

  • Wsbamnet documentos pdf Revisin cdigo

    10 minutos

  • Break 20 minutos

  • El servidor Branch ATM realiza varias funciones: Da nmeros de secuencia para transacciones en BAMNet

    (ssn branch)

    Tiene informacin de cuentas durante el cierre (fuera de lnea) tanto para cajeros como para BAMNet 2.0

    Gestiona transacciones ATM o POS para tarjetas de dbito BAM

  • Secuencias de transaccin Esto se realiza a travs de un procedimiento

    almacenado en la base de datos Cobis cuyo nombre es spbn_getSsn.

    Recibe dos parmetros, uno es la tabla que generar el secuencial y el otro es una variable de salida para el siguiente nmero.

    El contador de la secuencia se encuenta en la tabla cobis..cl_seqnos

  • Fuera de lnea Este comportamiento de BAMNet se da durante el

    momento del cierre diario de COBIS.

    La intencin de la misma es brindar el servicio 24 x 7, o al menos dar esa apariencia.

    En esta modalidad, las transacciones son almacenadas localmente para luego ser reenviadas hacia el servidor central para que sean operadas inmediatamente.

  • Estado de producto Esto se verifica al ejecutar el procedimiento

    almacenado llamado cobis..bv_valida_estado_producto_ws en Sybase.

    Actualmente el fuera de lnea inicia entre 00:00 y 00:15 todos los das y se extiende en promedio 3.5 horas. Los das de fin de mes, semestre o ao se puede tardar hasta 6 7 horas.

    Se adjunta una muestra de cierres cuando se inici el trabajo de BAMNet 2.0

  • Cmo funciona Previo a realizar el cierre diario, el operador de turno realiza una

    actividad desde el kernel branch de ATM para trasladar una copia de las cuentas de ahorros y monetarios con sus saldos hacia el servidor Branch.

    Luego se coloca el estado de los productos a deshabilitados.

    Cuando ingresa una transaccin se est verificando el estado del servicio.

    Cuando el estado del servicio est habilitado, entonces la transaccin se enva directamente hacia Cobis central.

  • Continuacin Cuando est fuera de lnea, el wsBamnet

    verifica si la transaccin se puede efectuar fuera de lnea, de ser negativo, se muestra un mensaje indicando esto al cliente y le pide que intente mas tarde.

    Si la transaccin se puede realizar fuera de lnea, entonces se carga la configuracin de la transaccin para el ambiente fuera de lnea, esto se puede verificar en la tabla bamnet_config_tran_offline.

  • Continuacin La transaccin se ejecuta localmente y wsBamnet

    crea un registro de reentrada para esta operacin.

    Se muestra al cliente un comprobante de la operacin que la respalda.

    Este funcionamiento es similar al de un cajero en horario de cierre de operaciones diario.

  • Fuera de lnea registro de transaccin

    Revisin cdigo

    10 minutos

  • El dashboard nos ayuda a controlar el estado de ejecucin del sistema durante el horario hbil ya que desde las 7 AM hasta que se coloca fuera de lnea con la primera transaccin que lo detecte, el sistema opera en lnea.

    En el horario desde fuera de lnea hasta las 7 AM, el sistema est preguntando constantemente al servidor central el estado de ejecucin y la fecha de proceso que debe aplicar.

  • Las operaciones que se pueden realizar desde esta herramienta son las siguientes: Habilitar

    Deshabilitar

    Fuera de lnea/en lnea

    Rentrada

  • Deshabilitar Cuando se selecciona

    la opcin deshabilitar se puede seleccionar un motivo, estos motivo son configurables desde el web.config

  • Habilitar Cuando se selecciona

    esta opcin el Dashboard intenter habilitar nuevamente el servicio sin importar la razn que sea, as mismo, consulta nuevamente el estado de los productos para sugerir un offline

  • Offline En esta opcin se

    presenta con qu fechas estar trabajando el servicio.

    Estas fechas no se pueden modificar por ningn motivo.

  • Reentry Esta opcin es la que

    opera la rentrada de transacciones.

    Hay que tomar en cuenta que se puede procesar una rentrada de fechas anteriores.

  • Reentrada de transacciones El trmino Reentry o rentrada de transacciones

    es la operacin de obtener las transacciones que pudieron realizar durante el fuera de lnea y que es necesario asentarlo en el servidor central.

    Estas transacciones quedan con histrico de fecha original y fecha de aplicacin en el sistema wsBamnet

  • Cmo funciona Existe un Dashboard en el sitio wsBamnet, se encuentra

    en http://vsr-bamnet20/Dashboard/Dashboard.aspx, en esta pgina se puede ver informacin del estado del servicio, se puede colocar fuera de lnea momentneamente y ejecutar la operacin de rentrada.

    Se inicia con la verificacin del estado del sistema central, si no est disponible se aborta el proceso por completo.

    http://vsr-bamnet20/Dashboard/Dashboard.aspxhttp://vsr-bamnet20/Dashboard/Dashboard.aspxhttp://vsr-bamnet20/Dashboard/Dashboard.aspx

  • Continuacin Se invoca la ejecucin de un procedimiento

    almacenado que recolecta la informacin de qu transacciones son susceptibles a reentrada.

    Si no hay transacciones por rentrar se aborta el proceso.

  • Break 10 minutos

  • Continuacin Luego, por cada registro que se encuentre se realiza lo

    siguiente: Se genera un nuevo id de transaccin, el original se guarda en

    un Tag indicndolo.

    Se hace una carga del XML original para verificar la integridad del mismo cuando se recuper la transaccin.

    Se realiza una llamada al servicio wsBamnet con el XML generado.

    Se verifica la respuesta de la ejecucin.

    Se marca el registro con el resultado de la operacin tanto de la transaccin nueva como los datos de la rentrada.

  • Fuera de lnea rentrada de transacciones Revisin cdigo

    10 minutos

  • Para realizar pruebas finales y certificar es necesario realizar lo siguiente: 1. Inhabilitar el producto 18

    2. Cambiar la fecha del servidor para que sea la una de la

    maana.

    3. Realizar transacciones y verificar que queden en estado de reentrada.

    4. Verificar que el saldo del nt-bvprod haya sido rebajado.

  • Continuacin 5. Habilitar producto 18 nuevamente.

    6. Ejecutar la reentrada desde el Dashboard.

    7. Verificar los movimientos de las cuentas de las pruebas.

    8. Ejecutar procedimientos en la base de datos para verificar que no existan nuevos registros para realizar las rentradas.

    9. Informar los resultados al rea de BAMNet

  • Servidor central Sybase (COBIS) Procedimientos almacenados Parametrizacin de servicios/procesos

    Desarrollo y mantenimiento Ubicacin de fuentes Nomencladura de fuentes Esquema de distribucin de fuentes Distribucin binarios para desarrollo y produccin

    Configuracin de nuevo servidor

    Base de datos Componentes Servicios

  • Toda la comunicacin entre wsBamnet y el servidor Central Sybase ASE 15 se realiza por medio de procedimientos almacenados. Las consultas ad-hoc no estn soportadas para evitar XSS.

    Por regla los procedimientos residen en la base de datos denominada cob_bamnet, esta base de datos funciona como pivote para realizar llamadas a las otras bases de datos, pero si est permitido el uso directo de un procedimiento que resida en otra base de datos.

  • Configuracin de transacciones (causas) Las transacciones que involucran transferencias entre

    cuentas o notas de dbito/crdito involucran causas.

    Las causas indican la razn por la cual se realiz la transaccin, as como tambin el perfil contable en donde se asentar la partida.

    Las interfaces desconocen las causas de la transaccin, es decir, para el sistema nicamente es de su conocimiento que debe realizar una transferencia, pero desconoce las causas.

  • La configuracin de las causas para transacciones de transferencias o notas de dbito/crdito se almacenan en la tabla bv_causas_transferencias

    Esta tabla permite configurar para un mismo cdigo de transaccin diferentes causas dependiendo de: Canal Producto Moneda

  • Lo que se obtiene como resultado en la consulta utilizando estos filtros es lo siguiente Transaccin origen Causa origen Transaccin destino Causa destino

    Hay que tomar en cuenta que la decisin de utilizar origen o destino depende del contexto de la cuenta en la operacin.

    Transaccin 91044 Transferencia cuentas propias

    Canal BAMNet

    Producto 3 (monetario)

    Moneda 0 (quetzales)

    Transaccin origen 50

    Causa origen 160

    Transaccin destino

    48

    Causa destino 155

  • Configuracin de servicios Dentro de la implementacin de BAMNet 2.0 se tom la

    decisin de que la configuracin de los servicios no sera esttica sino que deba responder a una parametrizacin que residiera en el sistema central para mayor comodidad y acoplamiento de nuevos servicios.

    Todos los servicios, incluyendo cobros por cuenta ajena poseen una parametrizacin de campos y tipos de campos.

  • Lo primero que debemos hacer es registrar el servicio en la tabla bv_servicios con la siguiente informacin Cdigo. Nombre. Estado. Si permite pago con tarjeta de crdito Si permite pago con diferente moneda. Si permite monto libre Cul es su moneda por defecto Si es men

  • Posterior a esto procedemos a configurar los campos que tiene el servicio en la tabla bv_servicios_campos_gen: Si es para ingreso de datos

    Si es salida de datos

    Si es mandatorio

    Si es visible

  • Continuacin Si ser referencia en el estado de cuenta

    El valor del campo

    El tipo de dato que posee

    Nmero Moneda String. Combo.

    Si posee algn formato especial

  • Continuacin Descripcin del campo

    Texto de ayuda que debe mostrar Longitud mnima y mxima

    El orden del campo.

    Token para ser buscado ms fcil por la clase

    datos.

  • Canales habilitados para el servicio Se debe configurar en la tabla bv_servicios_canal el

    servicio recien configurado e indicar si realiza consulta previa, as como el estado en el que el servicio est en ese canal.

  • Causas y cuenta transitoria del servicio Cada servicio posee una cuenta transitoria en

    donde se alimentan los crditos. Esta operacin tambin tiene una causa asignada.

    Cada servicio en cada canal posee como mnimo dos registros de cuenta origen, una para monetarios y otra para ahorros. Se puede configurar tambin la causa de la transaccin cuando el producto origen es una tarjeta de crdito.

  • Configuracin para transaccin de consulta y pago Por ltimo, debemos configurar el comportamiento del

    servicio en BAMNet, esto quiere decir que el servicio posee una transaccin de consulta y otra para realizar el pago.

    Por ejemplo, claro prepago utiliza para consulta la transaccin 91039 y para el pago la 91042, mientras que Movistar utiliza para consultar la transaccin 91065 y para el pago la 91042.

  • Pago de tarjeta de crdito De igual forma, se puede parametrizar las causas

    tanto de crdito como de dbito para el pago de tarjeta de crdito.

    Esta divisin se puede realizar bajo los siguientes filtros BIN

    Producto

    Moneda

    Medio de pago

  • Pago de tarjeta de crdito La configuracin se

    guarda en la tabla bv_causas_pago_tc.

    Atributo Valor

    BIN 421837

    Medio de pago

    BAMNet

    Producto 3 (Monetarios)

    Moneda 0 (Quetzales)

    Causa dbito 211

    Causa crdito 136

  • Sybase configuracin de servicios Revisin tablas y cdigo relacionado

    15-20 minutos

  • Break 15 minutos

  • Ubicacin de los fuentes Todos los fuentes estn versionados y protegidos dentro

    del servidor de SourceSafe llamado vsr-vss

    Todo el cdigo de BAMNet 2.0 se encuentra en la carpeta $/BAMNET 2.0

    Dentro de esta carpeta se encuentran los siguientes directorios: Documentos: Directorio para colocar documentos

    importantes del proyecto.

  • Continuacin de carpetas Configuracin: Mantiene informacin acerca de la configuracin del

    producto.

    Fuentes: Este es el directorio raz del cdigo fuente, tiene tres subcarpetas BackEnd: En este directorio se almacenan todos los procedimientos

    almacenados y scripts necesarios para interactuar con la base de datos. As mismo posee otras sub carpetas Tablas: Ac se encuentran todas las tablas

    SP: Se almacenan todos los procedimientos almacenados.

    Scripts: Se tienen los scripts asociados a operaciones de BAMNet 2.0

    Todas las carpetas poseen las siguientes sub divisiones

    Central: Todo para el servidor Sybas

    Administrativo: Para la parte administrativa

    Transaccional: Todas las transacciones asociadas

    SQL: Todo para servidores SQL ya sean de BAMNet 2.0 o Branch

    Administrativo

    Transaccional

  • Nomenclatura de fuentes Se tom la decisin de que se utilizara como

    nomenclatura una estructura muy parecida a la de cobis para:

    Extensiones de archivos

    Documentacin interna

    Se agreg un encabezado de documentacin en caso el procedimiento lo requiriera y la documentacin base no fuera tan legible.

  • Manejo de errores Para el manejo de errores se coloc como estndar utilizar siempre y en todos los

    casos de retorno invlido la ejecucin del procedimiento almacenado cobis..sp_cerror

    if @@error != 0

    begin

    /* Error en creacion de transaccion de servicio */

    exec cobis..sp_cerror

    @t_debug = @t_debug,

    @t_file = @t_file,

    @t_from = @w_sp_name,

    @i_num = 203005

    return 1

    End

    ---------------------------------------------

    if( @@rowcount != 1 )--no existe el medidor

    begin

    exec cobis..sp_cerror

    @t_debug = 'N',

    @t_from = @w_name_sp,

    @i_num = 205039,

    @i_msg = 'No existe el medidor ingresado'

    return 205039

    end

  • Archivo Extensin

    Procedimiento almacenado .sp

    Prefijo de procedimientos sp_bn

    Tabla *.txt

    Script *.sc

  • /************************************************************************/

    /* Archivo: bn_solchq.sp */

    /* Stored procedure: sp_bn_solicitud_chequeras */

    /* Base de datos: cob_bamnet */

    /* Producto: BAMNet20 */

    /* Disenado por: Luis Valle Lainfiesta */

    /* Fecha de escritura: 01-Mar-2010 */

    /************************************************************************/

    /* PROPOSITO

    Solicitud de chequeras */

    /************************************************************************/

    /* MODIFICACIONES

    FECHA AUTOR RAZON */

    /************************************************************************/

    /*Documentacion

    '''Proyecto BAMNet2.0

    '''

    ''' Solicitud de Chequeras

    '''

    ''' Nmero de cuenta del cliente

    ''' Moneda del producto. dominio: [catalogo de cobis..cl_moneda]

    ''' Tipo de Chequera: {catalogo obtenido por sp_tr_crea_cheq de la tabla cob_cuentas..cc_tchequera}

    ''' Usuario Autorizante

    ''' Nmero de Cheques. dominio: {catalogo de cobis..cl_catalogo tabla cc_numcheques}

    ''' Agencia donde se entregar la chequera. Dominio: [cobis..cl_oficina]

    ''' Nmero de referencia de la transaccin devuelto por COBIS

    ''' Regresa: 0=Exitoso 0=Error

    '''

    fin documentacion*/

  • Actualizacin de cdigo interno sin nuevas referencias En la carpeta Bin de la instancia wsBamnet se debe

    crear una carpeta llamada Bkyyyymmdd y se debe colocar los 7 archivos mas recientes colocados ah.

    De la carpeta en donde se realiz la publicacin local se debe tomar los 7 archivos siguientes

  • Continuacin Por favor tomar en que el archivo que es

    incremental, es el App_Web_****.dll, este archivo lleva un correlativo de compilacin.

  • Actualizacin de cdigo interno sin nuevas referencias Se debe realizar lo mismo que el caso anterior.

    Adems se debe editar el archivo Web.config con la nueva llave ingresada.

  • Desarrollo y mantenimiento Revisin de gua y documentos de

    fuentes

    15-20 minutos

  • Break 5 minutos

  • Configuracin de un nuevo servidor Revisin de gua y documentos de

    fuentes

    45 minutos

  • Configuracin de interfaces Interfaces de base de datos

    Resultados en matriz.

    Resultados en transpuesta

    Interfaces de servicios

    EEGSA

    Cobro por cuenta ajena

    Interfaces especiales

    Consulta de servicio de cheques declarados

  • Servidor de pago de servicios WS wspagosenlinea

    Cmo se comunican.

    Cmo interpretar su informacin

    Tipos de Transaccin

    Webservices

    MQSeries

    Sockets

    DLL