Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA SISTEMA INTEGRAL DE OPERACIÓN Y CONTROL DEL PAGO PARA NÓMINAS DEL IFE A NIVEL NACIONAL EMPLEANDO LA ARQUITECTURA J2EE T E S I S QUE PARA OBTENER EL TÍTULO DE: INGENIERO EN COMPUTACIÓN P R E S E N T A JORGE ALBERTO RODRÍGUEZ CAMPOS DIRECTOR: ING. CARLOS ALBERTO ROMÁN ZAMITIZ CUIDAD UNIVERSITARIA, MÉXICO D.F. NOVIEMBRE 2005 Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. UNAM – Dirección General de Bibliotecas Tesis Digitales Restricciones de uso DERECHOS RESERVADOS © PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL Todo el material contenido en esta tesis esta protegido por la Ley Federal del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). El uso de imágenes, fragmentos de videos, y demás material que sea objeto de protección de los derechos de autor, será exclusivamente para fines educativos e informativos y deberá citar la fuente donde la obtuvo mencionando el autor o autores. Cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por el respectivo titular de los Derechos de Autor. DEDICATORIAS Para lo más importante en mi vida, con todo cariño, este trabajo es para ellos. A Jesús Dios Padre y a la virgen de Guadalupe, de donde obtengo la fuerza, la salud basada en una gran Fé. A mis Padres, por su inmenso e incansable esfuerzo y cariño que nos brindan día a día, por ser el motor que impulsa cada uno de mis logros y metas. A Carmen y Jorge por el apoyo, amistad y por consolidar la unión y armonía de esta familia desde hace ya 2 años. Al ser más maravilloso y pequeñito que llegó para llenar de alegría y felicidad a esta familia, para ti Lili, de tu tío. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. AGRADECIMIENTOS A mi director de tesis Ing. Carlos Román Zamitiz, por el tiempo, los consejos y el conocimiento que hicieron posible la realización del presente trabajo, Gracias Carlos. A Julieta Sánchez, por tus consejos, la ayuda y tu amistad, Gracias Ale, por compartir tus conocimientos y la confianza que has depositado en mí. A Yadira Contreras, por preocuparte, tu amistad, el apoyo y los consejos que me han sido de gran ayuda, Yac, Ahora sí, Ya terminé!! A Nancy Cortés, por tu sincera amistad, el tiempo y tus consejos, cuenta siempre conmigo!. Gracias, Nancy. Ing. Germán Santos y a los profesores de la facultad, Ing. Alberto González , Ing. Laura Sandoval, gracias por formar a tantas personas al compartir su esfuerzo y sus conocimientos. Marcela, Juan M, Juan C, César, Saul, Gerardo por la amistad y los gratos recuerdos en la DGSCA. A Mary Mañon, Eli, por su amistad, y los buenos ratos en RD, Elí, eres única, Gracias Mary, eres Genial! A Silvia, Janet, Mariano, Mildred,Hilda, Jorge G., por su confianza, amistad y las experiencias que el IFE nos dejó. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. CONTENIDO INTRODUCCIÓN ........................................................................................................................... 1 CAPÍTULO 1. LA PROBLEMÁTICA Y LOS REQUERIMIENTOS............................................................. 7 1.1 DEFINICIÓN DEL PROBLEMA ........................................................................................................... 9 1.2 SITUACIÓN ACTUAL ..................................................................................................................... 10 1.2.1 Operación y control del pago.................................................................................................... 11 1.3 ANÁLISIS DE REQUERIMIENTOS.................................................................................................... 14 1.3.1 Requerimientos no funcionales................................................................................................. 15 1.3.2 Requerimientos funcionales ..................................................................................................... 16 1.4 LAS PROPUESTAS DE SOLUCIÓN................................................................................................... 17 LE AD TO OL S e Pr int IV ev alu ati on Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Tabla de contenido II 1.5 EL ALCANCE................................................................................................................................ 17 CAPÍTULO 2. LAS ARQUITECTURAS EMPRESARIALES................................................................. 19 2.1 ARQUITECTURAS EMPRESARIALES DE DESARROLLO ....................................................................... 21 2.2 PRINCIPALES ARQUITECTURAS EMPRESARIALES............................................................................. 23 2.2.1 CORBA .................................................................................................................................. 24 2.2.2 .NET ..................................................................................................................................... 26 2.2.3 J2EE...................................................................................................................................... 26 2.3 J2EE O .NET ?? ........................................................................................................................... 27 2.3.1 Similitudes entre J2EE y .NET................................................................................................... 27 2.3.2 Ventajas de .NET sobre J2EE .................................................................................................. 28 2.3.3 Ventajas de J2EE sobre .NET .................................................................................................. 28 2.3.4 Conclusión ............................................................................................................................. 29 CAPÍTULO 3. LA HISTORIA Y LA TEORÍA: JAVA Y J2EE.............................................................. 33 3.1 LA HISTORIA DE JAVA .................................................................................................................. 31 3.2 LOS JDK/SDK DE JAVA.................................................................................................................. 32 3.2.1 Java 1.5 (5.0)......................................................................................................................... 32 3.3 CARACTERÍSTICAS DEL LENGUAJE JAVA........................................................................................ 34 3.3.1 La Maquina Virtual De Java (JVM)............................................................................................. 35 3.3.2 Arquitectura de la Maquina Virtual De Java (JVM)....................................................................... 36 3.4 JAVA 2 ENTERPRISE EDITION........................................................................................................ 42 3.4.1 Definición.............................................................................................................................. 42 3.4.2 La arquitectura J2EE ............................................................................................................... 42 3.4.2 Los componentes J2EE. ........................................................................................................... 43 3.4.4 Las Capas J2EE. ..................................................................................................................... 44 3.4.4.1 La capa del cliente ............................................................................................................ 44 3.4.4.2 La capa de presentación.................................................................................................... 45 3.4.4.3 La capa de lógica de negocios. ........................................................................................... 45 3.4.4.4 La capa de acceso a datos. ................................................................................................ 45 3.4.5 Los contenedores J2EE............................................................................................................ 45 3.4.5.1 Tipos de Contenedores...................................................................................................... 45 3.4.6 El API de J2EE....................................................................................................................... 46 3.4.6.1 Java Servlet technology..................................................................................................... 46 3.4.6.2 Java Server Pages technology ............................................................................................ 47 3.4.6.3 Tecnologías de Aplicaciones distribuidas .............................................................................. 48 3.4.6.4 Java Naming and Directory Interface (JNDI) ........................................................................ 48 3.4.6.5 Enterprise Java Beans (EJB)............................................................................................... 49 3.4.6.6 JDBC (Java Database Connectivity)..................................................................................... 51 3.4.6.7 JTA (Java Transaction API) ................................................................................................ 52 3.4.6.8 JMS (Java Message Service)............................................................................................... 53 3.4.6.9 JavaMail API..................................................................................................................... 53 3.4.6.10 XML API........................................................................................................................ 53 3.4.6.11 J2EE Connector Architecture CA........................................................................................ 53 3.4.6.12 Java Authentication and Authorization Service (JAAS).......................................................... 53 LE AD TO OL S e Pr int IV ev alu ati on Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Tabla de contenido III CAPÍTULO 4. EL ANÁLISIS Y EL DISEÑO INICIAL ......................................................................... 55 4.1 LA METODOLOGÍA DE ANÁLISIS Y DISEÑO ORIENTADA A OBJETOS................................................. 57 4.1.1 Enfoques de desarrollo de software .......................................................................................... 57 4.1.1.1 El enfoque Waterfall (cascada) ........................................................................................... 57 4.1.1.2 Proceso Unificado de Desarrollo de Software (USDP). ........................................................... 58 4.1.1.3 Rational Unified Process (RUP). ......................................................................................... 59 4.2 LENGUAJE UNIFICADO DE MODELADO (UML). .............................................................................. 61 4.2.1 Los Diagramas en UML............................................................................................................ 62 4.3 J2EE, UML Y SUS MECANISMOS DE EXTENSIÓN. ............................................................................ 62 4.3.1 Modelado de componentes J2EE con UML ................................................................................ 63 4.3.1.1 Estereotipos ..................................................................................................................... 63 4.3.1.2 Valores marcados ............................................................................................................. 64 4.3.1.3 Restricciones.................................................................................................................... 64 4.3.1.4 Comentarios..................................................................................................................... 64 4.4 MODELADO DEL NEGOCIO EN OPC ................................................................................................ 64 4.4.1 La obtención de la información................................................................................................. 65 4.4.2 Modelo de casos de uso de negocio ......................................................................................... 66 4.4.3 Trabajadores de negocio ......................................................................................................... 67 4.5 LOS REQUERIMIENTOS EN OPC.................................................................................................... 68 4.5.1 El modelo de casos de uso....................................................................................................... 68 4.5.2 Caso de uso – Control de Nóminas............................................................................................ 69 4.5.3 Caso de uso – Fórmulas y conceptos......................................................................................... 70 4.5.4 Los escenarios de casos de uso ............................................................................................... 71 4.5.4.1 Los formatos de los Escenarios........................................................................................... 71 4.5.5 Los diagramas de actividades................................................................................................... 74 4.6 EL ANÁLISIS EN OPC .................................................................................................................... 77 4.6.1 Las clases de análisis .............................................................................................................. 77 4.6.1.1 Las clases de análisis tipo entity ......................................................................................... 77 4.6.1.2 Las clases de análisis tipo boundary.................................................................................... 79 4.6.1.3 Las clases de análisis tipo control ....................................................................................... 80 4.7 EL DISEÑO EN OPC ...................................................................................................................... 80 4.7.1 El refinamiento de las clases entity en OPC................................................................................ 80 4.7.2 Relaciones entre clases ........................................................................................................... 81 4.7.2.1 Herencia..........................................................................................................................82 4.7.2.2 Polimorfismo .................................................................................................................... 83 4.7.2.3 Asociación: Agregación...................................................................................................... 85 4.7.2.4 Asociación: Composición.................................................................................................... 86 4.7.3 El diseño de la base de datos: El modelo ER de OPC.................................................................. 86 4.7.4 El diccionario de Datos ............................................................................................................ 90 4.8 UN EJEMPLO DE ANÁLISIS Y DISEÑO: LAS FÓRMULAS Y CONCEPTOS DE PAGO EN OPC ..................... 91 4.8.1 El Lenguaje de las fórmulas ..................................................................................................... 92 4.8.2 El Análisis léxico de fórmulas.................................................................................................... 93 4.8.3 El Análisis sintáctico de fórmulas ............................................................................................. 95 4.8.3.1 Las gramáticas libres del contexto ...................................................................................... 95 LE AD TO OL S e Pr int IV ev alu ati on Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Tabla de contenido IV 4.8.3.2 Análisis sintáctico por descenso recursivo. ........................................................................... 96 4.8.3.3 Los conjuntos de selección................................................................................................. 97 CAPÍTULO 5. LA ARQUITECTURA Y LOS PATRONES J2EE........................................................ 103 5.1 LA NECESIDAD DE EMPLEAR PATRONES EN J2EE ...........................................................................104 5.1.1 Definición de patrón...............................................................................................................105 5.2 EL CATALOGO DE PATRONES J2EE................................................................................................105 5.3 LA ARQUITECTURA Y LOS PATRONES DE OPC................................................................................108 5.3.1 Los mecanismos de análisis ....................................................................................................108 5.3.2 La estructura física de la arquitectura en OPC. ..........................................................................110 5.3.3 La estructura lógica de la arquitectura en OPC. .........................................................................110 5.4 TRANSFER OBJECT......................................................................................................................111 5.4.1 Transfer Object en OPC..........................................................................................................112 5.5 FRAME CONTROLLER...................................................................................................................114 5.5.1 El Frame controller de OPC .....................................................................................................115 5.6 CICLOS DE CONTROL ..................................................................................................................117 5.6.1 Los ciclos de control en OPC ...................................................................................................118 5.7 SERVICE LOCATOR......................................................................................................................121 5.7.1 Service locator en OPC ..........................................................................................................122 5.8 BUSINESS DELEGATE...................................................................................................................125 5.8.1 Business Delegate en OPC ......................................................................................................125 5.9 SESSION FACADE.......................................................................................................................128 5.9.1 Session Facade en OPC: El proceso de generación de nóminas. ..................................................129 5.10 VALUE LIST HANDLER................................................................................................................134 5.10.1 Value List Handler de OPC.....................................................................................................134 5.11 LAS ESTRATEGIAS DE PERSISTENCIA..........................................................................................138 5.11.1 El mapeo de bases de datos relacionales con objetos...............................................................139 5.11.2 El cache de datos persistentes...............................................................................................139 5.11.3 Persistencia transparente......................................................................................................139 5.11.4 Principales tecnologías en el manejo de persistencia de datos .................................................140 5.11.4.1 El manejo de recursos de persistencia ..............................................................................140 5.11.4.2 CMP Entity Beans...........................................................................................................140 5.11.4.3 JDBC ............................................................................................................................141 5.11.4.4 iBATIS SQL Maps ...........................................................................................................142 5.11.4.5 JDO..............................................................................................................................143 5.11.4.6 Hibernate......................................................................................................................144 5.11.4.7 Spring Framework..........................................................................................................144 5.12 EL MANEJO DE PERSISTENCIA EN OPC.......................................................................................145 5.13 DATA ACCESS OBJECT EN OPC ...................................................................................................147 5.13.1 La fábrica de DAOs ..............................................................................................................147 LE AD TO OL S e Pr int IV ev alu ati on Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Tabla de contenido V CAPÍTULO 6. EL DESARROLLO J2EE ....................................................................................... 155 6.1 LA ESTRUCTURA DE LA APLICACIÓN J2EE .....................................................................................157 6.1.1 El módulo Web y la tecnología Java Web Start en OPC...............................................................157 6.2 CONSTRUCCIÓN DE PANTALLAS EN OPC .......................................................................................160 6.2.1 Construcción de pantallas – Control de conceptos de pago .........................................................161 6.3 DESARROLLO DE CASO DE USO: EL CONTROL DE FÓRMULAS EN OPC............................................1656.3.1 Mnemónicos..........................................................................................................................165 6.3.2 Elementos del contexto. .........................................................................................................166 6.3.3 Construcción del analizador léxico............................................................................................168 6.3.4 Construcción del analizador sintáctico ......................................................................................171 6.3.5 Construcción del Traductor y sustitución de fórmulas................................................................174 6.3.5.1 El traductor de fórmulas: expresiones postfijas....................................................................174 6.3.6 Construcción del evaluador de fórmulas ..................................................................................177 6.4 LA SEGURIDAD EN OPC. ..............................................................................................................178 6.4.1 La autentificación de usuarios (clientes) ..................................................................................179 6.4.2 Los roles de seguridad............................................................................................................181 6.5 LAS HERRAMIENTAS DE DESARROLLO ..........................................................................................182 6.6 LA DOCUMENTACIÓN DEL SISTEMA. ............................................................................................183 CAPÍTULO 7. LAS PRUEBAS Y LOS RESULTADOS: LA GENERACIÓN DE NÓMINAS CON J2EE ........ 187 7.1 LOS PROCESOS PREVIOS A LA GENERACIÓN DE NOMINAS..............................................................189 7.1.1 El catálogo de conceptos ........................................................................................................190 7.1.1.1 Evaluación de conceptos...................................................................................................190 7.2 EL PROCESO DE GENERACIÓN DE NÓMINAS.................................................................................192 7.3 LA OBTENCIÓN DE LOS RESULTADOS ...........................................................................................199 7.3.1 Ejercicio 1.............................................................................................................................201 7.3.2 Ejercicio 2.............................................................................................................................202 7.3.3 Ejercicio 3.............................................................................................................................202 7.3.4 Ejercicio 4.............................................................................................................................203 7.3.5 Ejercicio 5.............................................................................................................................207 7.3.6 Ejercicio 6.............................................................................................................................219 7.3.7 Ejercicio 7.............................................................................................................................210 7.4 LOS RESULTADOS FINALES ..........................................................................................................211 7.5 LOS ESCENARIOS DE PRUEBAS.....................................................................................................211 7.5.1 El formato de los escenarios de prueba ...................................................................................211 7.6 UN CASO DE PRUEBAS – PROBAR FÓRMULAS ................................................................................212 CAPÍTULO 8. EL FINAL: CONCLUSIONES.................................................................................. 217 8.1 LAS CONCLUSIONES....................................................................................................................219 LE AD TO OL S e Pr int IV ev alu ati on Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Tabla de contenido VI APÉNDICE A........................................................................................................................... 225 DOCUMENTACIÓN DE REQUERIMIENTOS Y ANÁLISIS ..........................................................................225 A.1 CONTROLAR CALENDARIO ...........................................................................................................225 A.1.1 Diagrama de casos de uso.....................................................................................................225 A.1.2 Descripción de casos de uso ...................................................................................................226 A.1.3 Escenario..............................................................................................................................226 A.1.4 Diagrama de actividades ........................................................................................................228 A.2 CONTROLAR MUNICIPIOS...........................................................................................................229 A.2.1 Diagrama de casos de uso......................................................................................................229 A.2.2 Descripción de casos de uso ...................................................................................................229 A.2.3 Escenario..............................................................................................................................230 A.2.4 Diagrama de actividades ........................................................................................................232 A.3 CONTROLAR FÓRMULAS ..............................................................................................................233 A.3.1 Diagrama de casos de uso......................................................................................................233 A.3.2 Descripción de casos de uso ...................................................................................................233 A.3.3 Escenario..............................................................................................................................233 A.3.4 Diagrama de actividades ........................................................................................................236 A.4 CONTROLAR CONCEPTOS DE PAGO ..............................................................................................238 A.4.1 Diagrama de casos de uso......................................................................................................238 A.4.2 Descripción de casos de uso ...................................................................................................238 A.4.3 Escenario..............................................................................................................................238 A.4.4 Diagrama de actividades ........................................................................................................240 A.5 PROBAR FÓRMULAS Y CONCEPTOS DE PAGO.................................................................................242 A.5.1 Diagrama de casos de uso.....................................................................................................242 A.5.2 Descripción de casos de uso ...................................................................................................242 A.5.3 Escenario..............................................................................................................................242A.5.4 Diagrama de actividades ........................................................................................................247 APÉNDICE B........................................................................................................................... 249 MODELO ENTIDAD RELACIÓN............................................................................................................249 B.1 MODELO ER – ESQUEMA DE SEGURIDAD.......................................................................................249 B.2 MODELO ER – PLANTILLA ............................................................................................................250 B.3 MODELO ER – Operación y control del pago ...................................................................................250 APÉNDICE C........................................................................................................................... 253 SCRIPT SQL .....................................................................................................................................253 C.1 SCRIPT SQL EMPLEADO EN OPC PARA MySQL...............................................................................253 APÉNDICE D........................................................................................................................... 265 EJEMPLOS DE CÓDIGO – PATRONES J2EE...........................................................................................265 LE AD TO OL S e Pr int IV ev alu ati on Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Tabla de contenido VII D.1 FRAME CONTROLLER ..................................................................................................................265 D.1.1 La clase cp.pantalla.util.JuBarraMenuHash ...............................................................................265 D.1.2 La clase cp.pantalla.PnSiar .....................................................................................................266 D.1.3 La clase cp.pantalla.util.JuMenu ..............................................................................................268 D.1.4 La clase cp.cvalor. CvAdmArbolMenu .......................................................................................268 D.1.5 La clase cp.pantalla.util.JuMenuIten ........................................................................................268 D.2 LAS PANTALLAS – EJEMPLO. ........................................................................................................268 D.2.1 La clase padre de todas las pantallas: cp.pantalla.PnBaseSiar....................................................268 D.2.2 Ejemplo de pantalla, la clase cp.pantalla.PnFormula .................................................................269 D.3 CICLOS DE CONTROL..................................................................................................................272 D.3.1 La clase padre de los ciclos de control: cp.control.CnBaseSiar.....................................................272 D.3.2 El ciclo de control empleado en el control de fórmulas...............................................................272 D.4 SERVICE LOCATOR .....................................................................................................................276 D.4.1 La clase cp.conexion.ServiceLocator ........................................................................................276 D.5 BUSINESS DELEGATE ..................................................................................................................278 D.5.1 La clase cp.delegate.BpControlFormula ....................................................................................278 D.6 VALUE LIST HANDLER .................................................................................................................279 D.6.1 La clase cp.ejb.PlValueListHandler..........................................................................................279 D.7 DATA ACESS OBJECT...................................................................................................................281 D.7.1 La clase cp.dao.factory.DAOFactory........................................................................................281 D.7.2 La clase padre de los DAOS cp.dao.factory.DAOMaster .............................................................281 D.7.3 La interface cp.dao.DaoEvaluador ...........................................................................................282 D.7.4 La clase cp.dao.DaoEvaluadorMySQL.......................................................................................283 APÉNDICE E........................................................................................................................... 287 ANÁLISIS DE FÓRMULAS ...................................................................................................................287 E.1 EL SCANNER DE FÓRMULAS .........................................................................................................287 E.1.1 La clase cp.parser.ArrayListToken............................................................................................287 E.1.2 La interface cp.parser.RegularExpretions .................................................................................288 E.1.3 La clase cp.parser.ScannerFormula .........................................................................................288 E.1.4 La clase cp.parser.ParserElement............................................................................................291 E.2 EL PARSER DE FÓRMULAS...........................................................................................................291 E.2.1 La clase cp.parser.ParserFormula............................................................................................291 E.3 EL TRADUCTOR DE FÓRMULAS....................................................................................................294 E.3.1 La clase cp.parser.TraductorFormula.......................................................................................294 E.4 EL EVALUADOR DE FÓRMULAS ....................................................................................................296 E.4.1 La clase cp.parser.EvaluadorFormula ......................................................................................296 APÉNDICE F ........................................................................................................................... 301 HILOS DE EJECUCIÓN: PROCESO DE GENERACIÓN DE NÓMINAS..........................................................301 LE AD TO OL S e Pr int IV ev alu ati on Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Tabla de contenido VIII F.1 EL HILO DE EJECUCIÓN PARA EL CÁLCULO DE CONCEPTOS. .........................................................301 F.1.1 La clase cp.ejb.ThreadCalculo .................................................................................................301 F.2 EL HILO DE EJECUCIÓN EN BASE DE DATOS...............................................................................306 F.2.1 La clase cp.ejb.ThreadAfectacion.............................................................................................306 BIBLIOGRAFÍA ........................................................................................................................ 311 LE AD TO OL S e Pr int IV ev alu ati on Evaluation notes were addedto the output document. To get rid of these notes, please order your copy of ePrint IV now. CAPÍTULO 1 CAPÍTULO 8 CAPÍTULO 2 APÉNDICE A CAPÍTULO 3 APÉNDICE B CAPÍTULO 4 APÉNDICE C CAPÍTULO 5 APÉNDICE D CAPÍTULO 6 APÉNDICE E CAPÍTULO 7 APÉNDICE F INTRODUCCIÓN SISTEMA INTEGRAL DE OPERACIÓN Y CONTROL DEL PAGO PARA NÓMINAS DEL IFE A NIVEL NACIONAL EMPLEANDO LA ARQUITECTURA J2EE EL SISTEMA OPC Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. 2 INTRODUCCIÓN Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Introducción 3 En este trabajo de tesis se presenta el sistema OPC (Operación y Control del Pago), como una propuesta de diseño y desarrollo para dar solución a los problemas y requerimientos del IFE (Instituto Federal Electoral), que surgen con la necesidad de actualizar e integrar cada uno de sus módulos encargados del control y administración de sus recursos materiales, financieros y humanos. A lo largo de los 7 capítulos que componen este trabajo, se presenta el ciclo completo de desarrollo de software, partiendo del análisis de requerimientos y la situación actual, hasta la terminación del desarrollo, los resultados y la generación de pruebas. En el capítulo 1 se discute la problemática y la situación actual. Las necesidades y los problemas aquí descritos representan el punto inicial para la identificación de los requerimientos, el análisis y el diseño. Como respuesta al análisis de requerimientos planteado en el capítulo 1, el siguiente punto considerado en el capítulo 2, es una revisión de las arquitecturas empresariales como posible solución a los requerimientos del sistema. En este capítulo se presentan las principales características de estas. J2EE y .NET como las 2 opciones disponibles, así como los argumentos y la justificación del porque J2EE es la arquitectura seleccionada en OPC. Una vez que se ha determinado el uso de una arquitectura empresarial en OPC, y después de haber seleccionado a J2EE, en el capítulo 3 se realiza el estudio y la revisión teórica de los conceptos más importantes de la tecnología Java y J2EE. La finalidad principal de este capítulo es el establecimiento de los conocimientos y fundamentos teóricos que permitirán realizar la toma de decisiones para el diseño y construcción de la arquitectura del sistema, haciendo uso de las tecnologías y herramientas más adecuadas. Continuando con el ciclo de desarrollo del sistema OPC, en el capítulo 4 se realiza el análisis de los casos de uso en base al proceso de desarrollo de software seleccionado. UML como lenguaje de modelado es incorporado a cada una de las etapas del ciclo de desarrollo. En este capítulo se presentan los conceptos básicos de la teoría de UML, así como los conceptos empleados en el diseño de objetos: polimorfismo, relaciones entre objetos (herencia, agregación, composición), etc., empleando para ello los casos de uso de OPC. Se establece la metodología a seguir, iniciando con el modelado de negocio, para continuar con el análisis y diseño de entidades. El capítulo 4 finaliza con el análisis y diseño de uno de los casos de uso más importantes del sistema: El control de fórmulas. Para satisfacer los requerimientos de este proceso, se incorporan algunos conceptos de la teoría de los lenguajes formales, así como de la teoría de compiladores, empleados en la definición y construcción del analizador léxico, analizador sintáctico, traductor y evaluador, para cada uno de los 3 tipos de fórmulas, definidos a través del empleo de las gramáticas. Continuando con el diseño del sistema, el capítulo 5 hace una completa revisión del catálogo de patrones J2EE, los cuales proporcionan la identificación de los principales riesgos y problemas comunes que se presentan durante el desarrollo de una aplicación. En este capítulo se refina la arquitectura del sistema OPC haciendo uso de 8 patrones: Frame Controller, Control cycles, Service Locator, Business Delegate, Session Facade, Value List Handler, Data Access Object y Transfer Object. Para cada uno de ellos, se realiza un análisis completo así como el estudio de los principales beneficios que estos ofrecen. Para ilustrar el funcionamiento de cada patrón, se emplean los casos de uso del sistema. UML juega un papel muy importante en este capítulo para el modelado, y la representación de cada uno de los patrones implementados. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Introducción 4 El capítulo termina con el análisis de las principales tecnologías de persistencia de datos: Hibernate, JDO, iBATIS, Spring Framework, y Data Access Object. Estas tecnologías han surgido a partir de los problemas comúnmente conocidos relacionados con el manejo de la persistencia, identificadas en este capítulo. Su crecimiento y la aceptación han sido grandes, por lo que la integración de una o más de ellas es un aspecto que no puede omitirse para el caso de OPC. En el capítulo 6 se presentan los principales aspectos técnicos del desarrollo del sistema, se muestra la implementación y fragmentos del código fuente de los principales casos de uso analizados y diseñados en capítulos anteriores. En este capítulo se discute la incorporación de la tecnología Java Web Start como mecanismo de transporte para la obtención, ejecución y actualización de la aplicación cliente standalone incluida en OPC. Como complemento al ejemplo de análisis y diseño del caso de uso Controlar fórmulas estudiado en el capítulo 4, se presenta la estrategia empleada para la construcción del analizador léxico, el analizador sintáctico, traductor y evaluador de fórmulas, empleando para ello las principales herramientas que ofrece el lenguaje de programación Java como son el manejo de expresiones regulares, manejo de estructuras de datos, comparación de objetos en tiempo de ejecución, evaluación de expresiones postfijas, etc., si dejar de tomar en cuenta a UML como medio principal para la representación y modelado de cada una de las clases e interfaces que participan en este proceso. La seguridad es el siguiente punto sujeto a discusión. Se presentan los principales mecanismos empleados en OPC, aplicados en cada una de las capas que componen el sistema, se realiza una revisión del esquema de seguridad ofrecido por la arquitectura J2EE. El capítulo 6 termina con la revisión de la documentación generada en donde se hace una mención especial de la documentación del desarrollo y código del sistema haciendo uso de la herramienta JAVADOC. Finalmente el capítulo 7 presenta el análisis de resultados empleando para ello el proceso de creación y generación de nóminas. Como primer punto, se muestra la estrategia de implementación para el cálculo y afectación de conceptos. (Afectación se refiere a las operaciones necesarias para guardar los cálculos de una nómina en el correspondiente mecanismo de persistencia). Para ello se emplea el concepto de programación multihilos en Java y J2EE, tanto en la capa del cliente como en el servidor de aplicaciones. Para la obtención de resultados se realizan diversos ejercicios en donde se ejecutan varios procesos de generación y calculo de nóminas bajo distintas circunstancias. Al término de esta sección se realiza un análisis determinandoasí las capacidades de procesamiento y tiempos empleados por el sistema, justificando así los resultados y las conclusiones del desarrollo. En el capítulo 8 se presentan las conclusiones generales del presente trabajo. Como complemento al desarrollo de cada uno de los capítulos que integran este trabajo, se presentan los apéndices cuya función principal es el refuerzo del entendimiento en las distintas etapas del desarrollo del sistema. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Introducción 5 Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. LA PROBLEMÁTICA Y LOS REQUERIMIENTOS En la primer parte del capítulo, se describe el problema que habrá de abordarse en el presente trabajo de tesis. Posteriormente, se realiza una descripción general del entorno en el que se encuentra en sistema OPC (Operación y control del pago) como parte de un sistema integral. Es en este punto donde surge la necesidad de una nueva propuesta que habrá de resolver cada uno de los requerimientos identificados a lo largo de las secciones de este capítulo. Como consecuencia de la situación actual del problema, se presenta el análisis de requerimientos el cual será el punto de partida para el análisis y diseño del sistema. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. 8 CAPÍTULO Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. La problemática y los requerimientos Capítulo 1 9 SISTEMA INTEGRAL DE OPERACIÓN Y CONTROL DEL PAGO PARA NÓMINAS DEL IFE A NIVEL NACIONAL USANDO LA ARQUITECTURA J2EE 1.1 DEFINICIÓN DEL PROBLEMA El SIAR (Sistema Integrador de Administración de Recursos) nace como una propuesta del Instituto Federal Electoral (IFE) respondiendo a la necesidad de contar con una herramienta que permita la administración de sus recursos materiales, financieros y humanos. Una herramienta capaz de resolver cada uno de los problemas y requerimientos que se han generado a lo largo de los últimos años. El SIAR esta formado por 3 áreas basadas en el tipo de recurso. Cada área a su vez esta integrada por módulos que en su conjunto gestionan los recursos correspondientes a su área: Recursos Materiales o Módulo de Inventario o Módulo de Almacén o Modulo de Adquisiciones Recursos Financieros o Módulo de Presupuesto o Módulo Operación Bancaria o Módulo de Contabilidad. Recursos Humanos o Módulo Control de la Plantilla o Módulo Censo de Personal o Módulo Enteros y pagos a Terceros o Módulo control Presupuestal del capitulo 1000 o Módulo Operación y control del pago El SIAR es un sistema integral ya que permite la interacción y comunicación entre módulos de una misma ó distintas áreas. Dicha interacción es totalmente necesaria debido a la estrecha relación que existe entre los procesos que día a día realizan el IFE, desde la adquisición de algún recurso material, hasta la generación de un pago de nómina quincenal de un trabajador. En términos generales, un proceso dentro del SIAR se define como una serie de pasos a seguir partiendo de un módulo inicial y terminando en un módulo final, que pueden pertenecer a un mismo módulo, a módulos de una misma ó diferente área. Ejemplo: Fig. 1.1 Flujo general que describe los pasos de un proceso dentro del SIAR Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. La problemática y los requerimientos Capítulo 1 10 La figura 1.1 muestra la secuencia de pasos que se ejecutan dentro de un proceso, como son la adquisición de algún bien material, la licitación de algún servicio, etc. Se puede observar en el diagrama la interacción que tienen los módulos pertenecientes al área de recursos financieros. Dentro de cada módulo existe una secuencia entrada – proceso – salida en donde la salida del módulo inicial será la entrada del módulo siguiente. A nivel nacional, el IFE cuenta con 32 Juntas locales (una por cada estado de la república mexicana). Consideraremos a una Junta local como una entidad que representa al IFE en cada estado del país. La administración de los recursos a nivel nacional se realiza de la siguiente forma: Recursos Materiales y Financieros: Cada Junta Local se encarga de la administración de sus recursos y se realizan procesos de conciliación con oficinas centrales (Distrito Federal). Recursos Humanos: Todo el procesamiento es centralizado, cada junta local envía su información a Oficinas centrales en donde se realiza el procesamiento de los datos, para finalmente, enviar la información procesada a las juntas locales. Fig. 1.2 Administración de Recursos a nivel nacional. En la figura 1.2 se muestra la infraestructura del sistema empleada para la administración de recursos del IFE a nivel nacional. Cada Junta local cuenta con tecnología y recursos de cómputo los cuales pueden ser diferentes por cada Junta, e inclusive diferentes a los recursos empleados en oficinas centrales. El SIAR es un sistema que debe ser capaz de adaptarse a cada una de las necesidades tanto de oficinas centrales como de cada junta local. 1.2 SITUACIÓN ACTUAL Los siguientes puntos muestran la forma general en la que el IFE realiza la administración de sus recursos. La manera en que se han venido realizando dicha administración durante los últimos años, el surgimiento de nuevos requerimientos, y el avance constante de nuevas tecnologías entre otras cosas, hacen evidentes los problemas que llevan a la integración del SIAR como solución a la problemática que a continuación se describe: Sistemas Independientes. Actualmente cada módulo es un sistema independiente: presupuesto, adquisiciones, Op. y control del pago, etc. Las tecnologías empleadas son diversas, Visual Fox Pro, Visual Basic, C++, Hojas de calculo, bases de datos como SQL server, Clipper, Access, etc. La independencia de estos sistemas implica una nula relación entre módulos. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. La problemática y los requerimientos Capítulo 1 11 Cada módulo cuenta con una administración independiente, se cuenta con una unidad técnica o de sistemas que se encarga del mantenimiento de cada sistema. Debido a la naturaleza de los procesos, la comunicación entre módulos se lleva acabo principalmente mediante la distribución de archivos de texto y hojas de cálculo. Como consecuencia de la implementación de diferentes tecnologías, cada módulo realiza procesos adicionales de adaptación para poder interpretar de forma correcta la información que es recibida. A nivel nacional el proceso de conciliación con oficinas centrales es un proceso que requiere de la espera de la transmisión y recepción de la información que habrá de procesarse, la cual como se mencionó en el primer punto, llega en archivos de texto, hojas de calculo, o en bases de datos sin integridad. En cada junta local se dispone de recursos de cómputo limitados.1.2.1 Operación y control del pago Adicionalmente a los puntos listados anteriormente, cada área y módulo que integran el SIAR presenta una problemática específica. El presente trabajo de tesis se especializa en un módulo del SIAR: Operación y control del Pago (OPC) teniendo en cuenta el rol que desempeña dentro de este sistema integrador. Operación y control del pago es la parte medular del área de recursos humanos del SIAR, en el cual se realiza el cálculo, control y seguimiento de los pagos de cada uno de los trabajadores del IFE a nivel nacional. La principal tarea de este módulo es la generación de nóminas quincenales divididas en los diferentes tipos de plaza que define el módulo de plantilla. Así mismo OPC tiene la necesidad de interactuar con otras áreas y módulos del SIAR para poder llevar a cabo su tarea, como son: Presupuesto, control de la plantilla, enteros y pagos a terceros, etc. Actualmente OPC cuenta con 87 procesos que gestionan el control de pagos de los empleados: OPERACIÓN Y CONTROL DEL PAGO CATÁLOGOS 1. Consultar estados 2. Consultar clave programática (de presupuesto) 3. Controlar tipos de baja 4. Controlar lista de documentos para expediente 5. Controlar radicaciones 6. Controlar bancos y cuentas de cargo 7. Consultar tipos de nominas 8. Controlar municipios 9. Controlar calendario 10.Controlar subpartida FÓRMULAS Y CONCEPTOS 11. Controlar formulas 12.Controlar conceptos de pago - alta 13. Probar formulas y conceptos de pago 14.Controlar conceptos de pago - modificación y consulta 15. Recalcular conceptos TABULADORES 16. Controlar tabuladores 17.Controlar tabla de impuestos 18. Calcular valor de tabuladores 19.Modificar tabuladores con base en un tabulador calculado NOMINAS 20. Crear nomina manual 21.Cerrar nomina 22. Crear nomina automática 23.Afectar un concepto en la nómina 24. Controlar nóminas 25.Calcular nómina PRODUCTOS DE PAGO 26. Generar estimado de nómina 27.Imprimir recibos Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. La problemática y los requerimientos Capítulo 1 12 28. Generar interfaz con financieros 29.Generar archivos para bancos 30. Imprimir listado de nómina FUM 31. Captura de movimientos – alta presupuestal 32.Captura de movimientos – alta honorarios 33. Captura de movimientos – promoción presupuestal 34.Captura de movimientos – promoción honorarios 35. Captura de movimientos – despromoción presupuestal 36.Captura de movimientos – despromoción honorarios 37. Captura de movimientos – reingreso presupuestal 38.Captura de movimientos - reingreso honorarios 39. Captura de movimientos – baja presupuestal 40.Captura de movimientos – baja honorarios 41. Captura de movimientos–cambio radicación presupuestal 42.Captura de movimientos - cambio de radicación honorarios 43. Modificar fum 44.Consulta de movimientos 45. Validar movimientos 46.Autorizar movimientos 47. Cancelar autorizaciones programadas 48.Habilitar trabajador NOMINA EXTRAORDINARIA 49. Definir nómina extraordinaria - conceptos 50. Capturar nómina extraordinaria – aplicar movimiento sin fum 51. Capturar nómina extraordinaria – elaborar pago a un empleado activo 52. Capturar nómina extraordinaria – fum sin autorización en procedimiento normal QUINQUENIO 53. Capturar primer quinquenio 54.Actualizar antigüedad 55. Aplicar quinquenio 56.Consultar antigüedad CONTRATOS 57. Modificar parámetros de contratos 58.Imprimir contratos 59. Cargar plantillas de contratos CANCELADOS Y REINTEGROS 60. Capturar reintegro de cheque 61.Capturar reintegro por cuenta 62. Consultar reintegro 63.Capturar reintegro anticipado 64. Cancelar pago 65.Aplicar reintegro por cuenta 66. Registrar reintegros en presupuesto PENSIÓN ALIMENTICIA 67. Capturar pensión alimenticia 68.Calcular monto y retroactivo 69. Modificar / eliminar pensión alimenticia FINIQUITOS 70. Solicitar finiquito 71.Calcular finiquito 72. Emitir cédula de análisis e investigación UTILERÍAS 73. Capturar numero de cuenta del empleado 74.Mover conceptos entre nóminas 75. Editar conceptos de un trabajador 76.Generar clave de autorización REPORTES 77. Reporte - movimientos por autorizar 78.Reporte - constancia de no adeudo (cédula de análisis e investigación de registros) 79. Reporte - resumen contable por reintegro individual 80.Reporte - certificado de no adeudo 81. Reporte - reporte de reintegros 82.Reporte - certificado de antigüedad 83. Reporte - resumen contable de nómina 84.Reporte – pensionadas 85. Reporte - solicitud de ministración 86.Reporte - resumen contable de cancelados 87. Reporte - movimientos autorizados y/o rechazados Fig. 1.3 casos de uso del Mod. Op. Control del Pago. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. La problemática y los requerimientos Capítulo 1 13 La problemática que se ha generado a lo largo de los últimos años para la ejecución de cada uno de sus procesos, ha venido en aumento debido a múltiples razones: Como se mencionó anteriormente, el sistema debe permitir interactuar con otros módulos, actualmente esta interacción se realiza de forma manual mediante el uso de archivos y hojas de cálculo. Dicha interacción se requiere principalmente para realizar la interfaz con el módulo de presupuesto, en el que se reportan los importes calculados de todos los conceptos de pago de una nómina, y mediante los cuales, el módulo de presupuesto realiza los procesos requeridos para hacer posible la disponibilidad de los sueldos de los empleados en sus diferentes formas de pago. El uso de archivos presenta varios inconvenientes como son: o La carencia de integridad entre datos. o La susceptibilidad a errores al generar o capturar cada archivo. o La seguridad nula en cuanto a la veracidad de la información. o El tiempo requerido principalmente cuando esta interfaz se realiza con alguna dependencia del IFE dentro del país. El cálculo de los conceptos de una nómina se realiza mediante la aplicación de rutinas programadas en la que se definen las reglas o criterios de aplicación así como la fórmula que define el importe de cada concepto. Esta forma de calcular conceptos presenta varios inconvenientes, ya que frecuentemente se requiere la modificación de los criterios de aplicación e importes tales como tabuladores, tablas de impuestos, etc., debido a alguna solicitud de incremento o ajuste de sueldos entre otras cosas. Cada vez que se requiere realizar algún ajuste a las fórmulas de cálculo o criterios de aplicación, se tienen que modificar o generar nuevas rutinas lo que implica la modificación de código fuente. Se requieren procesos de prueba de las rutinas creadas o modificadas generando un mayor esfuerzo y tiempo por parte del área de sistemas de Recursos Humanos. Recalculo de conceptos. Una problemática adicional derivada del punto anterior se origina cuando se debe realizar un cambio a las fórmulas de cálculo cuando el pago ya ha sido entregado al trabajador, es decir, un recalculo. Para ello se requieren procesos que corrijan los importes ya generados y ajustarlos en pagos posteriores. Actualmente se tienen que programar y probar nuevas rutinas, proceso que en ocasiones dura varios días. Manejo de Históricos. A lo largo de 5 años, se debe mantener un histórico de toda la información generada como son afectaciones (una afectación es un importe de un concepto de un trabajador), movimientos de empleados, histórico de conceptos de pago, histórico de fórmulas, etc. Actualmente el sistema no cuenta con un histórico de fórmulas adecuado para su aplicación que verifique una fecha anterior a lafecha de la quincena en curso. El cálculo con versiones de fórmulas anteriores se tiene que hacer manual, ya que el sistema no es capaz de seleccionar una versión de fórmula adecuada dependiendo de la quincena que se este evaluando. Con frecuencia estos cálculos se requieren efectuar, sobre todo para trabajadores con pagos atrasados. Interacción con las Juntas locales. El área de recursos humanos cuenta con un sistema centralizado con respecto a las Juntas locales del país. Cada quincena de pago, el sistema genera los cálculos y la información necesaria para la entrega de los pagos a cada empleado a nivel nacional. Actualmente la información se envía por distintos medios. La carencia de un mecanismo general y centralizado que permita una rápida, confiable y segura interfaz entre el sistema central y el resto del país trae como consecuencia el retraso y la falta de seguridad entre otras cosas para poder realizar el procesamiento y finalmente la entrega de los pagos a los trabajadores. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. La problemática y los requerimientos Capítulo 1 14 Fig. 1.4 El Mod. Op. Control del Pago es un sistema centralizado. La falta de la interfaz descrita en el punto anterior, se hace notar también cuando cada Junta local envía sus movimientos de trabajadores como son altas, bajas, etc., para su procesamiento en el sistema central. Actualmente toda esta información se manda en papel mediante formatos FUM (Formato Único de Movimientos) por lo que en el sistema central se tiene que capturar toda esta información generando retrasos, y riesgo de error al capturar. Adicionalmente, cada movimiento de un trabajador pasa por un proceso de validación, la cual si no es exitosa, esta información habrá de ser corregida por parte de las Juntas locales. Debido al mecanismo empleado, las correcciones generan atrasos provocando el retraso de los pagos de los trabajadores. Generación de Nóminas. La generación de nóminas quincenales es uno de los procesos más importantes del módulo. El sistema debe ser capaz de procesar una plantilla con las siguientes características: o Procesamiento de 8750 trabajadores (aprox.). Para plazas tipo presupuestales. o Procesamiento de 7100 trabajadores (aprox.). Para plazas tipo Honorarios y hasta 80,000 (aprox.) en proceso electoral. Lo anterior implica un sistema lo suficientemente capaz de ejecutar todo el procesamiento de cálculos correspondiente en el menor tiempo posible que garantice la confiabilidad y la seguridad entre otras cosas, que requiere una nómina quincenal. Actualmente este proceso se realiza por partes con una duración de varios días. Cada parte del proceso es independiente, lo que origina riesgos como la posibilidad de que un trabajador aparezca en 2 nóminas diferentes. Cuando el proceso de generación de nóminas genera errores por alguna falla en fórmulas, etc., la corrección se tiene que hacer de forma manual, todos aquellos trabajadores que no hayan podido ser incluidos en la nómina ordinaria, se tienen que agregar en forma manual, con la finalidad de no retrasar sus pagos. 1.3 ANÁLISIS DE REQUERIMIENTOS En base a la situación actual descrita en la sección anterior, el módulo de operación y control del pago como parte del SIAR, debe ser un módulo que cumpla con los siguientes requerimientos: Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. La problemática y los requerimientos Capítulo 1 15 1.3.1 Requerimientos no funcionales El sistema debe ser centralizado. Es decir, todo el procesamiento y control de los pagos se concentra en el sistema principal ubicado en oficinas centrales que habrá de atender las necesidades de cada junta local. Cada junta local debe contar con una interfaz de acceso al sistema central la cual debe proporcionar una serie de servicios gestionados por perfiles de usuario. Los servicios que debe proporcionar para una junta local son: o Capturar, Modificar y Consultar movimientos de trabajadores, como son Altas, Bajas, etc. Al permitir a cada junta local realizar estas tareas, la información de los movimientos de sus trabajadores será capturada directamente en el sistema central, evitando de esta forma la re-captura y el envío de información por medios alternos o externos al sistema, así como los retrasos originados por el actual mecanismo, y la nula seguridad en cuanto a la integridad y privacidad de la información durante su envío a oficinas centrales. o La interfaz de cada junta local debe permitir quincenalmente, realizar consultas de los productos de pago pertenecientes a los trabajadores de cada estado del país, los cuales serán impresos y distribuidos a lo largo del estado correspondiente. Multiplataforma. Tanto en oficinas centrales como en Juntas Locales, se emplean diversas plataformas: o Oficinas Centrales. Cuentan con servidores SUN y servidores Linux (Red Hat). o Juntas Locales. Cuentan con servidores Linux (Red Hat) y Servidores Windows NT. Lo anterior implica un sistema capaz de responder satisfactoriamente a cada una de las anteriores plataformas con una interfaz en común. Empleo de diversas fuentes de Datos. Como se mencionó anteriormente el sistema en el área de Recursos Humanos es un sistema centralizado con una sola base de datos ubicada en Oficinas centrales. Sin embargo, en el área de recursos financieros, tanto Oficinas centrales como Juntas locales cuentan con bases de datos separadas: o Oficinas Centrales. Se emplea Oracle 9i y postgreSQL o Juntas Locales. Se emplea PostgreSQL y MySQL en algunos casos. Por lo anterior, el sistema debe ser capaz de operar con diversos manejadores de bases de datos, ya que un mismo proceso es ejecutado varias veces empleando diferentes plataformas y diferentes manejador de base de datos. Fig. 1.5 Requerimientos de Arquitectura. SISTEMA Oracle MySQL PostgreSQL Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. La problemática y los requerimientos Capítulo 1 16 La figura 1.5 muestra la forma general en la que un proceso puede ejecutarse. Las fuentes de datos pueden ser varias y de diferente manejador, esto ocurre principalmente cuando se realiza una operación de conciliación entre oficinas centrales y las juntas locales. De manera similar, este proceso puede ser ejecutado en cualquiera de las 3 plataformas empleadas por el IFE. Otro ejemplo ocurre con Recursos Humanos. En oficinas centrales el sistema central puede estar ejecutándose en un servidor SUN, mientras que un usuario de Juntas locales puede estar capturando ó consultando información en una PC con Windows 2000. Ambos deben poder compartir una misma interfaz. Seguridad. La seguridad es un requerimiento fundamental que debe proporcionar el SIAR a diferentes niveles: integridad de datos, privacidad, autorización, autentificación, encriptación, son algunos conceptos que deben ser implementados en cada uno de los módulos del SIAR. Cada usuario cuenta con un perfil el cual de acuerdo a su naturaleza determinará las tareas y los procesos que podrá realizar dentro del sistema. El sistema debe proporcionar una interfaz gráfica, amigable y sobre todo, común a todos los usuarios del SIAR sin importar el área, el módulo, e independiente de la plataforma. Así mismo esta interfaz debe ser lo suficientemente robusta, ya que existen procesos que requieren una gran interactividad entre el usuario y los datos presentadosen pantalla como son: calendarios, listados, reportes, tablas de datos modificables, etc. 1.3.2 Requerimientos funcionales El sistema debe proporcionar una adecuada automatización del control de los catálogos de fórmulas y conceptos de tal forma que se permita su modificación y actualización sin tener que modificar el código fuente. El sistema debe contar con un mecanismo general de manejo de históricos para todos los catálogos que tengan algún efecto en la generación de pagos, tales como conceptos de pago, fórmulas, tabuladores, tablas de impuestos, zonas económicas, etc. Automatización de recálculos. El sistema debe contar con la capacidad de generación de nóminas de recalculo, generadas como consecuencia de un ajuste a algún valor de un catálogo, concepto, o fórmula que afecte el pago de un trabajador. De esta forma se evitará la generación de rutinas adicionales cada vez que se requiera un proceso de recalculo. Mejora del proceso general de generación de nóminas. El nuevo sistema demanda una reforma absoluta en la gestión de nóminas, desde su creación hasta su cierre. El punto crítico del ciclo de vida de una nómina ocurre durante su creación, en donde se realizan los cálculos de los conceptos de pago de todos los trabajadores del IFE. La actual situación demanda un proceso de generación de nóminas que cumpla con las siguientes características: o Centralización del proceso. Se requiere que este proceso sea uno solo para todo el país, eliminando procesos independientes e aislados (generación de nóminas por partes). El sistema debe calcular TODA la plantilla del IFE como parte de una nómina ordinaria a nivel nacional. o Integración de nóminas. Actualmente se cuentan con 5 tipos de nóminas: Ordinaria, Extraordinaria, Pensión alimenticia, Retroactiva y de Recálculo, sin embargo, no existe comunicación entre ellas en forma automatizada. Dicha comunicación es importante debido a que se debe controlar en que nóminas puede aparecer un trabajador, proceso que actualmente se realiza manualmente. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. La problemática y los requerimientos Capítulo 1 17 o Reducción de tiempos. Definitivamente se requiere que el tiempo empleado para realizar el calculo de conceptos de toda la plantilla del IFE se minimice al empleado actualmente que es de varios días (1 a 2). o Minimización de los errores de cálculo al crear una nómina. o Creación de nóminas de recalculo en forma automática al detectarse una modificación de algún catálogo que impacte en los pagos de un empleado. 1.4 LAS PROPUESTAS DE SOLUCIÓN Para dar solución a los requerimientos y necesidades planteadas en la sección anterior, se han realizado diversos proyectos y esfuerzos orientados hacia la construcción de este sistema integral, tanto soluciones internas como soluciones externas. Actualmente, se cuentan con avances en el área de recursos materiales y financieros. Para el caso de recursos humanos, y en específico de OPC, el estado actual se encuentra a nivel de análisis, a partir del cual se han revisando y considerando diversas soluciones, que hasta el momento no han sido lo suficientemente adecuadas para adoptarlas tanto en desarrollo como en integración. Este análisis contempla a cada uno de los módulos del sistema, incluido OPC. Es de esta forma como surge la razón de ser del presente trabajo de tesis, como una propuesta nueva y diferente, que contempla cada uno de los requerimientos, así como cada uno de los aspectos que han hecho que anteriores intentos se hayan quedado en el camino. 1.5 EL ALCANCE El alcance de este trabajo se centra en el módulo OPC (Operación y control del pago), debido principalmente a que constituye el módulo más importante del área de recursos humanos, en especial los procesos relacionados con el proceso de creación y generación de nóminas. En este sentido, este trabajo habrá de generar, implementar y hacer uso del análisis existente para realizar el desarrollo del sistema, teniendo en cuenta el entorno de integración al que pertenece OPC y el área de recursos humanos. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. º LAS ARQUITECTURAS EMPRESARIALES En este capítulo se presentan las tecnologías empresariales como solución a las necesidades de grandes sistemas. Sistemas que requieren la integración de diversos servicios y tecnologías ganando beneficios en comparación de otras arquitecturas como lo es la arquitectura cliente servidor. Se presenta el panorama actual de las tecnologías empresariales del momento: J2EE y .NET, sus ventajas y sus desventajas. Este panorama permitirá realizar una toma de decisión en cuanto al camino que debe seguir el sistema que habrá de dar solución a los requerimientos expuestos en el capítulo anterior. Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. 20 CAPÍTULO Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now. Las arquitecturas empresariales Capítulo 2 21 2.1 ARQUITECTURAS EMPRESARIALES DE DESARROLLO Hoy en día, compañías y diversas organizaciones empresariales han estado o estarán en un futuro no muy lejano, frente a un problema que impacta en gran medida el éxito o el fracaso de los diferentes servicios computacionales que cada una de ellas ofrezca o requiera: La integración de tecnologías y arquitecturas de software, que darán solución a los requerimientos y necesidades que la actual situación demanda. En la actualidad el número de soluciones en cuanto a aplicaciones empresariales de software está creciendo a un ritmo acelerado. Ya no son únicamente los clásicos servidores web o bases de datos los principales, sino que un gran número de productos como servidores de aplicaciones, soluciones de mensajería, sistemas de servicios web, sistemas de seguridad, etc., están surgiendo con un gran impacto. Cada vez es más difícil ignorar la existencia de tales soluciones, y los responsables en la toma de decisiones están considerando, más a menudo, al mundo de las tecnologías empresariales y el software libre como una solución valida. Una arquitectura empresarial esta formada por un conjunto de componentes, APIs (Application Programming Interfaces) y protocolos, que ofrecen la posibilidad de diseñar, desarrollar y ejecutar aplicaciones distribuidas multicapa. La integración de dichos componentes en un ambiente en común, permite la abstracción y la eliminación de la constante problemática a la que se enfrenta cualquier aplicación empresarial como son: escalabilidad, rendimiento, seguridad, etc. Lo anterior permite al desarrollador enfocarse en las reglas de negocio de su aplicación. Un arquitecto empresarial debe ser capaz de estudiar un problema en concreto y de escoger una serie de componentes y tecnologías con la finalidad de generar un modelo de arquitectura que sea el más adecuado para resolver el problema en cuestión. Dichos componentes pueden ser servidores de aplicaciones, contenedores web, servidores de mensajería, etc. El arquitecto, además, debe ser capaz de establecer el modelo de trabajo
Compartir