Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe



Documentos relacionados
La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

BackflipSD Modelo de Diseño

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

Capítulo 2. Marco Teórico

ArquitecturaTécnica de TRAVEL OPEN APPS. Breve definición técnica de la plataforma Travel Open Apps

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

INFORME FINAL DE PASANTIA

SalesPlus.es SugarCRM - Manual del Usuario 1

Anexo 4 Documento de Arquitectura

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Análisis y diseño del sistema CAPÍTULO 3

Programa en Microsoft Visual Basic 6.0 para el análisis de riesgos eléctricos en oficinas y centros de cómputo. López Rosales, Juan Carlo.

Como incrementar su productividad con controles contínuos. Cr. Emilio Nicola, PMP

Durante la determinación del problema dentro de los procesos de mercadeo de R & S Training se pudo notar notables deficiencias en las relaciones con

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

BOLETÍN DE NOVEDADES Barcelona, enero de 2007

ANÁLISIS DE RIESGOS EN LA GESTIÓN DE PROYECTOS. Los riesgos son eventos o condiciones inciertas que, si se producen, tienen un

Código del programa: PEMDE. Programa Experto en MANEJO DE DATOS CON EXCEL. Modalidad: Virtual. Descripción del programa

PERFIL TÉCNICO ANALISTA-PROGRAMADOR

PLAN DIRECTOR DE SISTEMAS DE INFORMACIÓN DEL MINISTERIO DE TRABAJO Y ASUNTOS SOCIALES: ALGUNAS CONSIDERACIONES

Capítulo II. Arquitectura del Software

Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción.

CAPÍTULO 1. INTRODUCCIÓN

Tecnologías para una Educación de Calidad Cierre de Brecha Digital Estándar de Coordinación Informática Ámbito de Mantenimiento.

Capítulo III. Análisis y diseño.

ADT CONSULTING S.L. PROYECTO DE DIFUSIÓN DE BUENAS PRÁCTICAS

INFORME Nº1 PROPUESTA METODOLÓGICA Y PLAN DE TRABAJO DESARROLLO DE UN SISTEMA INTEGRADO DE GESTIÓN PARA EL GOBIERNO REGIONAL DE ATACAMA


Análisis y Diseño de Aplicaciones

INGENIERÍA DEL SOFTWARE

REGISTRO TELEMÁTICO DE INTERDICCIONES DE ACCESO AL JUEGO

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Ingeniería Web. Pablo Sevilla Jarquín

Sistema de Mensajería Empresarial para generación Masiva de DTE

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO

ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Resumen

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008

Infraestructura Tecnológica. Sesión 12: Niveles de confiabilidad

Botón de Pago Instapago versión 1.1 TECNOLOGÍA INSTAPAGO C.A.

POSICIONAMIENTO EN LA WEB (SEM Y SEO)

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Ambiente Virtual de Comercio Electrónico B2B para la Comunidad Virtual de Negocios del departamento del Cauca

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Capitulo III. Diseño del Sistema.

El Proceso Unificado de Desarrollo de Software

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

TFC J2EE. Aplicación Web para la gestión de facturación de una empresa de cerrajería. Sara Gutiérrez Melero ITIG Junio de 2012

5/09/ Agregar cambios en las alertas Matias Herrera

Gestión de la Configuración

DISEÑO DE FUNCIONES (TRATAMIENTOS)

Gestión de Incidencias

Solución GeoSAS. Otros módulos

Introducción a Google Calendar Breve guía sobre algunas de sus funcionalidades destacables.

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Gestión y Desarrollo de Requisitos en Proyectos Software

POTENCIANDO NEGOCIOS EN TIEMPO REAL. Especificaciones Técnicas

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Unidad 1. Fundamentos en Gestión de Riesgos

Capítulo I. Marco Teórico

ARQUITECTURAS DE PROCESOS DE NEGOCIOS INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Planificación en Team Foundation Server 2010

Capítulo 5. Análisis del software del simulador del sistema de seguridad

MACROPROCESO GESTIÓN TECNOLÓGICA

CONTENIDO. ACERCA DE SWAT IT Quiénes somos y para qué trabajamos

PROGRAMACIÓN PÁGINAS WEB CON PHP

Reporte inicial. Metodología

Gastos Reales Web Manual de Usuario

CARACTERISTICAS DEL SISTEMA

Plan de Administración del Proyecto

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

Guía Metodológica para el diseño de procesos de negocio

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

PLAN DE MEJORAS. Herramienta de trabajo. Agencia Nacional de Evaluación de la Calidad y Acreditación

Capitulo 3. Desarrollo del Software

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO...

MANUAL ENVÌA ON LINE

UNIVERSIDAD TECNOLOGICA DE HERMOSILLO SCRUM SPRINT #1. Ingenieria de Software I MAESTRO: BERNARDO PRADO DIAZ INTEGRANTES. Jorge Valdano.

4.1.1_Reunión de Planificación de Sprint (Sprint Planning Meeting) 4.1.2_Objetivo del Sprint (Sprint Goal) 4.1.4_Revisión de Sprint (Sprint Review)

OBLIGACIONES DE HACER INSTITUCIONES PÚBLICAS (INSTITUCIONES EDUCATIVAS, HOSPITALES Y CENTROS DE SALUD) DECRETO 2044 DE 2013

CAPITULO IV 4 ANALISIS E INTERPRETACIÓN DE LOS RESULTADOS 100%

Curso de HTML5 y CSS3

E-learning: E-learning:

Lista de nuestras Soluciones Web Web Básica 87,50. Web Básica Móvil 110. Web Presencia 350

Lección 1 Introducción a Struts. uacosta@globalmentoring.com.mx

GUÍA PARA LAS FAMILIAS

FICHA DETALLADA DEL PROYECTO

Claves técnicas y estratégicas en marketing

RECOMENDACIONES PARA EL DESARROLLO DE UNA PROCEMIENTO PARA LA GESTIÓN DE PROYECTOS

SIGAN 1.0 SISTEMA DE INFORMACIÓN DE GESTIÓN ADMINISTRATIVA DE NÓMINA

INFORME TECNICO ESTANDARIZACION DEL SERVICIO DE SOPORTE DE LA PLATAFORMA TRANSACCIONAL TRANSLINK TRANSACTION SERVICES OCTUBRE

RESULTADOS CONSULTA CIUDADANA VIRTUAL. Consulta Laboral en Línea

Soluciones para Lotería Móvil.

1 Índice Introducción Propósito Alcance Modelo Arquitectónico Inicial... 3

Transcripción:

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe

Índice de contenido 1. Introducción...3 2. El modelo de negocio...3 2.1 Antecedentes...3 2.2 Planteamiento del problema actual...3 2.3 Solución de negocio al problema...3 3. Arquitectura de la Solución...4 3.1 Capa Cliente...4 3.2 Capa de Presentación...4 3.3 Capa de Negocios...4 3.4 Capa de Integración...4 3.5 Capa de Recursos...5 4. Diseño de la Solución...5 4.1 Modelo de Dominio...5 5. Servicios ofrecidos...5 5.1 Servicios Web...5 5.2 Servicios de Mensajería Móvil...6 6. Aspectos gerenciales del proyecto...6 6.1 Metodología utilizada...6 6.2 Visión del proyecto y ROAD MAP...6 6.3 Planificación inicial vs Planificación ejecutada...7 6.4 Horas hombre planificadas vs Horas hombres reales...7 6.5 Gerencia de la procura para consumo de Web Service de Ubet...8 6.6 Conclusión y consideraciones especiales...8 7. Conclusiones y recomendaciones a futuro...8

1. Introducción El presente documento pretende plasmar los conocimientos de diseño y arquitectura implementados para el proyecto IBET. El objetivo, es describir de manera clara y concisa las decisiones de implementación, diseño, arquitectura y gestión que fueron tomadas por el equipo de desarrollo para la construcción de un sistema que dará soporte a un modelo de negocios integrado para realizar apuestas en la red. 2. El modelo de negocio 2.1 Antecedentes El modelo de negocios para apuestas no es algo novedoso. Se viene realizando desde hace mucho tiempo en la historia universal. Las necesidades actuales han llevado a convertir este modelo en un modelo basado en web 2.0, en donde no existan límites geográficos, barreras de pago y tiempo. Iniciativas como las de Bwin (https://www.bwin.com/es/default.aspx), BetFair(https://pro.betfair.com/ promotions/es-generic/) y Bet365(http://www.bet365.com/) han revolucionado la manera de hacer negocios de apuesta en el mundo contemporáneo. 2.2 Planteamiento del problema actual El presente proyecto tiene como finalidad la implementación de un sistema de apuestas on-line, a través del cual las personas registradas podrán efectuar apuestas en cualquier evento deportivo o de otra índole que sea avalado por la casa de apuestas. Adicionalmente, el sistema será capaz de generar reportes acerca de las jugadas, usuarios con mayor cantidad de aciertos entro otros. 2.3 Solución de negocio al problema La solución de negocio que determino el grupo de desarrollo para la implantación del sistema esta regida en primer lugar por el registro de usuarios para permitir realizar el proceso de apuestas, de manera que estas estén identificadas y validadas legalmente a nombre de quien apostó. Durante el proceso de apuestas se utilizarán servicios de terceros para implementar los procesos de pagos y confirmaciones de dichas apuestas, para la cual se permitirá la gestión de estos métodos de pago. De igual manera una vez procesada la apuesta se tomarán todas las medidas legales necesarias para la validación y el debido proceso legal de las mismas, a través del envió de facturas vía correo electrónico y la confirmación de apuesta vía SMS. En cuanto al manejo de eventos, las proporciones serán fijadas de manera flexible mediante estrategias seleccionadas por las casas de apuestas, a fin de considerar cambios a futuro que pudieran afectar al negocio. Por otro lado se utilizará servicios externos para publicar los resultados de los eventos, así como envío de correos para informar a los ganadores. Los eventos serán expuestos en servicios para que otras casas de apuestas tengan conocimiento de estos y sus proporciones, así como también el sistema consumirá servicios con las casas de apuestas a las que se lleguen a acuerdos para obtener información relevante de los eventos, tales como su proporción de apuesta.

3. Arquitectura de la Solución Modelo de Arquitectura sistema Ibet 3.1 Capa Cliente En la capa de cliente se observan dos nodos. El primero es el despliegue de un explorador Web mediante el cual se invoca una petición mediante el protocolo HTTP al servidor contenedor, en este caso Tomcat, el cual retorna la petición. El segundo, es la implementación del cliente del servicio web ofrecido por la casa de apuestas de IBET, el cual se comunicará con la aplicación mediante el protocolo SOAP(Simple Object Access Protocol) especificado. 3.2 Capa de Presentación En esta capa, se utilizó tecnología JSP con apoyo de JQUERY para la presentación de los html resultantes. Por otro lado, la gestión de las presentaciones y procesamiento de formulario se realizó con el apoyo de SPRING MVC y haciendo uso de el filtro de seguridad de SPRING SECURITY. 3.3 Capa de Negocios En esta capa se encuentra las clases de dominio y la lógica de negocio; parte de ella es expuesta como servicio web mediante el framework JAX-WS, por medio del cual ademas existe un cliente para obtener servicios web de otras casas que forman parte de algunos de los flujos de este sistema. 3.4 Capa de Integración Esta capa tiene como finalidad la integración entre la capa de recursos (datos) y la capa de

negocios (información). En ella se han utilizado para el desarrollo de este sistema SPRING para la inyección de dependencias, HIBERNATE para el mapeo ORM entre la base de datos y las clases de dominio y JASPER REPORTS para la generación de reportes entre la base de datos y la aplicación haciendo uso de HIBERNATE. 3.5 Capa de Recursos En esta capa se encuentra el manejador de base de datos (MYSQL por defecto) mediante el cual se almacenan en tablas los datos necesario para el procesamiento de la lógica de la aplicación. 4. Diseño de la Solución 4.1 Modelo de Dominio Diagrama de clases de dominio 5. Servicios ofrecidos 5.1 Servicios Web Los servicios web que se exponen en el sistema son:

Consulta de la información de las proporciones de un determinado evento. Registro de apuestas para un evento en particular por un usuario en particular. Consulta de resultados de un evento. Consulta de ganancias obtenidas por un usuario. 5.2 Servicios de Mensajería Móvil Posterior a la confirmación de la apuesta, el sistema se comunica vía HTTP con un servicio externo que provee el envío de mensajes SMS hacia cualquier plataforma mundial. Este servicio se utilizó en el sistema mediante un cliente HTTP que es invocado durante el flujo de negocio de la realización de una apuesta. 6. Aspectos gerenciales del proyecto 6.1 Metodología utilizada La metodología seleccionada para el desarrollo de este proyecto fue SCRUM, debido a su naturaleza iterativa en incremental que prestó apoyo durante la implementación del proyecto, sirviendo además como canalizador de las reuniones del equipo. Para mayor información sobre esta metodología visite: http://www.controlchaos.com/ 6.2 Visión del proyecto y ROAD MAP Primera Entrega 27/11/09 Funcionalidad Básica de la Aplicación Segunda Entrega 09/01/2010 Servicios externos Integración con las otras casas de apuestas Tercera Entrega 27/01/2010 Servicios Web El desarrollo del sistema se planificó en base a tres incrementos divididos cada uno en tres iteraciones progresivas donde con cada una de ellas se consiguió software que funcionaba y con altos estándares de calidad, basados en pruebas unitarias y pruebas funcionales.

6.3 Planificación inicial vs Planificación ejecutada 6.4 Horas hombre planificadas vs Horas hombres reales

6.5 Gerencia de la procura para consumo de Web Service de Ubet Fecha Inicio Fecha Fin Actividad 07/12/09 07/12/09 Reunión después de la clase de desarrollo para negociar acuerdo. 08/12/09 12/12/09 Desarrollo del servicio web, cada equipo por su lado. 13/12/09 16/12/09 Reunión de ambos equipos para realizar las pruebas. 14/12/09 06/01/10 Arreglo de posibles errores. 06/01/10 07/01/10 Prueba Final antes de entrega. 6.6 Conclusión y consideraciones especiales Mediante la observación de las gráficas anteriores se puede concluir que la tendencia para la planificación de este sistema, fue guiada por los frameworks. En las primeras semanas se estuvo muy por debajo de los planificado con respecto a la curva, mientras que en las últimas, por el contrario se estuvo muy por encima, una vez que se cumplió con las respectivas curvas de aprendizaje. Esta observación nos lleva a concluir que en el desarrollo de aplicaciones empresariales, cuando no se esta familiarizado con alguna herramienta o framework en particular, se tiende a sobre estimar las actividades (cosa que se puede observar en las últimas semanas) lo que pudiera tornarse en importantes errores de planificación de tiempos y por ende de costos que afectan de manera global al desarrollo e implementación de la solución. 7. Conclusiones y recomendaciones a futuro Mediante este trabajo se han puesto en práctica diversas herramientas y tecnologías para la implementación de un sistema de apuestas basado en la alternativa 2.0. Muchos de los reveses de las primeras semanas para aprender estas herramientas, se vieron compensados al final, cuando una vez familiarizados con los frameworks se obtuvieron mejores resultados y ventajas que son visibles. El uso de servicios externos como Twitter, y la exposición y consumo de servicios web han sido fundamentales en el proceso de aprendizaje y en la compresión de un nuevo enfoque para la manera de hacer negocios que esta cambiando al mundo y que no tardará en expandirse a todos los rincones. Hemos concluido además que La Web 2.0 no solamente consiste en construir aplicaciones web amigables al usuario (user-friendly) haciendo uso de AJAX (Asynchronous JavaScript And XML), el concepto va mas allá y todas estas gratas consecuencias no son más que el nuevo paso que toda aplicación o sistema de información debe dar, exponerse al resto del mundo como un servicio y ofrecerle las potencialidades bajo las cuales está elaborado.