Software as a Service

Instituto Politécnico Nacional Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas Proyecto Term

Views 515 Downloads 5 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

  • Author / Uploaded
  • Cloud
Citation preview

Instituto Politécnico Nacional Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas Proyecto Terminal II: “Sistema de Gestión de Nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).” Presentan. Ingenieros en Telemática Martínez Robles Marco Antonio Vilchis Vieyra César

Asesores: M. en C. Miguel Alejandro Martinez Rosales. M. en C. Paola Nayeli Cortez Herrera. M. en C. Cyntia Eugenia Enriquez Ortiz.

México D.F.

AGRADECIMIENTOS Generales Agradecemos a nuestra casa de estudios el Instituto Politécnico Nacional

(I.P.N.) y nuestra

grandiosa escuela Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas (UPIITA) así como a todos nuestros maestros que nos impartieron clase en el transcurso de nuestra carrera y a nuestros asesores en el proyecto terminal: M. en C. Miguel Alejandro Martínez Rosales, M. en C. Paola Nayeli Cortez Herrera y M. en C. Cyntia Eugenia Enríquez Ortiz, finalmente agradecemos a LabMóvil por el apoyo brindado. A todos ustedes ¡MUCHAS GRACIAS! Martínez Robles Marco Antonio: A toda mi familia que creyó en mí, a mis asesores que me brindaron su apoyo y su tiempo así como también a mi compañero de tesis por su colaboración y participación constante durante la realización de la misma, a todos ellos gracias.

Vilchis Vieyra César: Agradezco a la vida y a Dios por esta grandiosa oportunidad de vida, así como también un agradecimiento sumamente especial a mis abuelitos maternos por todo su enorme apoyo, un súper agradecimiento mi mamá por su apoyo incondicional durante toda mi vida, un agradecimiento muy especial a mi novia T.M.E.M. por su comprensión y apoyo por ser un gran ser humano muy especial en mi vida entera, MUCHAS GRACIAS así con mayúsculas a todos ustedes aunque pienso y siento que un gracias no es suficiente por todo su enorme apoyo que me han brindado. También estoy muy agradecido con mis 3 asesores, ya que en todo momento nos apoyaron y nos brindaban lo mejor de sí, muchas gracias. No me puede faltar mi agradecimiento a mi compañero del proyecto por confiar en mí y trabajar juntos para este proyecto, muchas Gracias Marco. Finalmente, quiero agradecer a esta institución (Instituto Politécnico Nacional) y a mi escuela (Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas) por dejarme aprender a superarme a mí mismo. Gracias a todos ustedes porque si uno de ustedes me hubiera faltado yo no habría llegado hasta este momento. MUCHISIMAS GRACIAS.

SOY POLITÉCNICO Porque aspiro a ser todo un hombre. SOY POLITÉCNICO Porque exijo mis deberes antes que mis derechos. SOY POLITÉCNICO Por convicción y no por circunstancia. SOY POLITÉCNICO Para alcanzar las conquistas universales y ofrecerlas a mí pueblo. SOY POLITÉCNICO Porque me duele la Patria en mis entrañas y aspiro a calmar sus dolencias. SOY POLITÉCNICO Porque ardo en deseos de despertar al hermano dormido. SOY POLITÉCNICO Para prender una antorcha en el altar de la Patria. SOY POLITÉCNICO Porque me dignifico y siento el deber de dignificar a mi institución. SOY POLITÉCNICO Porque mi respetada libertad de joven y estudiante me impone la razón de respetar este recinto. SOY POLITÉCNICO Porque traduzco la tricromía de mi bandera como trabajo, deber y honor.

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Contenido Resumen........................................................................................................................................ IX Abstract .......................................................................................................................................... X Objetivo General ........................................................................................................................... XI Objetivos Específicos.................................................................................................................... XI CAPÍTULO I.

INTRODUCCIÓN ............................................................................................. 1

1.1 Planteamiento del problema ................................................................................................. 3 1.2 Actualidad del problema....................................................................................................... 3 1.3 Justificación .......................................................................................................................... 3 1.4 Solución propuesta ............................................................................................................... 4 1.5 Alcances y limitaciones ........................................................................................................ 5 CAPITULO II.

MARCOTEÓRICO........................................................................................... 7

2.1 Cómputo en la nube .............................................................................................................. 8 2.2 Características del cómputo en la nube ................................................................................ 9 2.3 Capas del cómputo en la nube ............................................................................................ 10 2.4 Modelos de implementación............................................................................................... 11 2.5 Seguridad en la nube .......................................................................................................... 13 2.6 Proveedores de servicio en la nube..................................................................................... 15 2.7 Framework y lenguajes de programación en la nube ......................................................... 18 CAPÍTULO III.

ESTADO DEL ARTE ................................................................................. 21

3.1 Trabajos de investigación relacionados .............................................................................. 22 3.2 Versiones comerciales en la nube....................................................................................... 24 3.2 Tesis o trabajos similares o relacionados ........................................................................... 25 CAPÍTULO IV.

ANÁLISIS Y DISEÑO .................................................................................. 29

4.1Metodología de trabajo ........................................................................................................ 30 4.2 Análisis de requerimientos ................................................................................................. 30 4.3 Módulos del sistema ........................................................................................................... 33 I

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

4.4 Usuarios .............................................................................................................................. 34 4.5 Diseño general del sistema ................................................................................................. 35 4.6 Toma de decisiones ............................................................................................................ 35 CAPITULO V.

DESARROLLO E IMPLEMENTACIÓN ................................................... 43

5.1. Ejecución de pruebas de escritorio independientes ........................................................... 44 5.2. Programa Hola mundo en la nube ..................................................................................... 45 5.3. Primer acercamiento para almacenar datos en la nube. ..................................................... 47 5.4. Programa con la primera conexión con la base de datos SQL Cloud. ............................... 49 5.5. Programa que hace uso de formularios en la nube ............................................................ 51 5.6. Programa que hace uso de servicios del usuario Gmail en la nube ................................... 52 5.7. Programa que hace uso de plantillas.................................................................................. 54 5.8. Programa que hace uso de archivos estáticos. .................................................................. 56 5.9. Implementación de la sección de comentarios .................................................................. 57 5.10. Desarrollar el formato de nómina, implementar operaciones de la nómina y validación de formularios ............................................................................................................................... 60 5.11. Desarrollar sesiones de usuario ...................................................................................... 63 CAPÍTULO VI.

PRUEBAS Y RESULTADOS ........................................................................ 67

6.1 Pruebas de desempeño ....................................................................................................... 68 6.2 Esquema de validación ...................................................................................................... 73 6.3. Resultados finales .............................................................................................................. 78 6.4. Sesión de Recursos Humanos ............................................................................................ 79 6.5. Sesión de Empleado ......................................................................................................... 97 CONCLUSIONES ......................................................................................................................... 102 Trabajo a futuro ...................................................................................................................... 103 Aportaciones ........................................................................................................................... 104 Áreas de oportunidad.............................................................................................................. 104 Referencias ..................................................................................................................................... 106

II

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Glosario .......................................................................................................................................... 108 Anexos Digitales ............................................................................................................................ 109 Anexo Digital. Diagramado. ....................................................................................................... 109 Anexo Digital. Código fuente. .................................................................................................... 109 Anexo Digital. Manual de Usuario. ............................................................................................ 109 Anexo Digital. Manual Técnico. ................................................................................................. 109 Anexo Digital. Ley Federal del Trabajo. .................................................................................... 109

III

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Índice de Figuras Figura 1. Diagrama general del sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME). ........................................................................................................ 5 Figura 2. Modelos de despliegue, servicio y características esenciales del cómputo en la nube. ..... 12 Figura 3. Diagrama de bloques del funcionamiento general del sistema. ......................................... 34 Figura 4. Proceso para realizar el deploy de una aplicación en Google Cloud. ................................ 46 Figura 5. Resultado de un Deployment exitoso. ................................................................................ 47 Figura 6. Resultado Final del primer hola mundo en la nube. .......................................................... 47 Figura 7. Ejemplo de libro de visitas que almacena en data store en el espacio de Gmail. ............. 47 Figura 8. Se puede observar la diferencia entre escribir un comentario iniciando sesión pues aparece el nombre de la persona que lo escribió ...................................................................... 49 Figura 9. Se observa el proceso de acceso a la base de datos en la nube. ......................................... 50 Figura 10. Resultado de la creación de la base de datos en la nube visto desde la consola. ............. 50 Figura 11. Resultado de la primera conexión con la base de datos en la nube. ................................ 51 Figura 12. Primera prueba usando HTML dentro del framework. .................................................... 52 Figura 13. Resultado del libro de visitas. .......................................................................................... 52 Figura 14. Uso de servicios de Google cloud a través de Gmail....................................................... 53 Figura 15. Muestra el inicio de sesión ocupando la cuenta Gmail. ................................................... 53 Figura 16. Se puede observar cómo se puede acceder a este formulario y cualquier persona puede escribir lo que quiera. ............................................................................................................... 55 Figura 17. Se puede apreciar la diferencia entre un mensaje anónimo y un mensaje iniciando sesión de usuario.................................................................................................................................. 56 Figura 18. Se puede observar que se añadió estilo CSS al ejercicio anterior. .................................. 57 Figura 19. Se puede apreciar la ventana principal de la sección de comentarios. ............................. 58 Figura 20. Sección de comentarios. .................................................................................................. 59 Figura 21. El dueño puede publicar el anuncio deseado con su respectivo título y contenido. ........ 59 Figura 22. Pantalla general del administrador con sus comentarios realizados. ............................... 59 Figura 23. Sección de comentarios de los empleados. ...................................................................... 60 Figura 24. Plantilla de nómina básica. .............................................................................................. 61 Figura 25. Validación de campos no vacíos en el cálculo de la nómina. .......................................... 63 IV

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 26. Panel de SQL Cloud para dar de alta una dirección IP. ................................................... 64 Figura 27. Conexión con la base de datos en la nube........................................................................ 64 Figura 28. Se ingresan los datos en el sistema para iniciar sesión. ................................................... 65 Figura 29. Inicio de sesión correcto. ................................................................................................. 65 Figura 30. Registro de un nuevo usuario en la base de datos. ........................................................... 65 Figura 31. Imagen en consola de las actuales de la base de datos..................................................... 66 Figura 32. Grafica que brinda Google cloud sobre la cantidad de solicitudes que se reciben. ........ 69 Figura 33. Almacenamiento utilizado en SQL cloud. ....................................................................... 69 Figura 34. Grafica de errores por código de estado. ......................................................................... 70 Figura 35. Grafica de operaciones de lectura o escritura que ha tenido el sistema. .......................... 70 Figura 36. Cargos del mes correspondientes al uso de la base de datos. .......................................... 71 Figura 37. Información técnica de la instancia en la cual está corriendo la aplicación en la nube. .. 71 Figura 38. Resumen de las propiedades del proyecto actual. ........................................................... 72 Figura 39. Se le puede agregar memoria RAM al sistema fácilmente y su cobro es por uso de horas o por día. ................................................................................................................................... 72 Figura 40. Se puede elegir el horario de la copia de seguridad de la base de datos, así como su política de activación y replica de sistemas de archivos........................................................... 73 Figura 41. Mensaje de validación de correo electrónico. .................................................................. 74 Figura 42. Validación numérica en el sistema. ................................................................................. 74 Figura 43. Mensaje de error al no cumplir con el formato del CURP............................................... 75 Figura 44. Mensaje de error al no cumplir con el formato de RFC................................................... 75 Figura 45. Mensaje mostrado al ingresar un número mayor al número de horas laborales por día. . 75 Figura 46. Mensaje mostrado al no cumplir con la cantidad de dígitos para el registro patronal para el seguro del trabajador. ........................................................................................................... 76 Figura 47. El código postal solo acepta como máximo 5 dígitos. ..................................................... 76 Figura 48. Validación del número telefónico con su respectiva lada y extensión, así como el número de celular y fax. ........................................................................................................................ 77 Figura 49. Vista principal del Sistema de Gestión de Nóminas en la nube para PyMEs. ................. 79 Figura 50. Menú principal para el registro de un nuevo propietario de una PyME. ......................... 79 Figura 51. Formulario para el registro de un nuevo propietario........................................................ 80 V

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 52. E-mail recibido después de su registro exitoso. ............................................................... 80 Figura 53. Menú principal de la sesión de Recursos Humanos. ........................................................ 81 Figura 54. Dar de alta un empleado. ................................................................................................. 82 Figura 55. En la opción de administrar asistencia esta la opción de tomar asistencia. ..................... 82 Figura 56. Pantalla para poder tomar asistencia. ............................................................................... 83 Figura 57. Dentro de la opción consultar Asistencia se puede editar. .............................................. 83 Figura 58. Editar Asistencia .............................................................................................................. 84 Figura 59. Datos básicos para procesar la nómina. ........................................................................... 84 Figura 60. Bonos (percepciones) que incluye el concepto de nómina. ............................................. 85 Figura 61. Total de percepciones por concepto de nómina. .............................................................. 85 Figura 62. Deducciones de la Nómina. ............................................................................................. 86 Figura 63. Calculo de sueldo antes de impuestos y sueldo neto. ...................................................... 86 Figura 64. Dentro de la opción gestionar empleado se pueden obtener los reportes de nómina y asistencia................................................................................................................................... 87 Figura 65. Gestión de reportes para generar el reporte en PDF. ...................................................... 87 Figura 66. Reporte de nómina en formato PDF. ............................................................................... 88 Figura 67. Reporte de asistencia mostrado en formato PDF. ............................................................ 89 Figura 68. Anuncio que emitió el propietario a su departamento de Recursos Humanos. ............... 89 Figura 69. Mensaje que emite Recursos humanos a sus empleados. ................................................ 90 Figura 70. Primera parte del formulario para calcular los procesos anuales. .................................... 90 Figura 71. Estos son los conceptos con los cuales se hacen los procesos anuales. ........................... 91 Figura 72. Calculo de procesos anuales y total de percepciones. ...................................................... 91 Figura 73. Deducciones y total a recibir por el proceso anual. ......................................................... 92 Figura 74. Reporte generado en formato PDF correspondiente a procesos anuales. ........................ 92 Figura 75. Calculo del finiquito, primera parte del formulario. ........................................................ 93 Figura 76. Calculo Final correspondiente al finiquito. ...................................................................... 93 Figura 77. Mensaje correspondiente a que se ha guardado exitosamente el cálculo del finiquito. ... 94 Figura 78. Consultar reporte del finiquito antes de guardarlo en PDF.............................................. 94

VI

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 79. Reporte del Finiquito en formato PDF............................................................................. 94 Figura 80. Primera parte del formulario para calcular la liquidación................................................ 95 Figura 81. Calculo de la liquidación. ................................................................................................ 95 Figura 82. Calculo guardado satisfactoriamente. .............................................................................. 96 Figura 83. Total de liquidación antes de guardarlo en formato PDF. ............................................... 96 Figura 84. Reporte de liquidación en formato PDF. ......................................................................... 97 Figura 85. Menú principal de la sesión de Empleado. ...................................................................... 97 Figura 86. Reporte del finiquito antes de guardarlo en formato PDF. .............................................. 98 Figura 87. Reporte en formato PDF que el empleado puede descargar, guardar o imprimir. ........... 98 Figura 88. Editar información básica del empleado. ......................................................................... 99 Figura 89. El empleado puede cambiar su contraseña inicial. .......................................................... 99 Figura 90. Anuncios emitidos por Recursos humanos hacia sus empleados. ................................. 100

VII

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Índice de Tablas Tabla 1. Comparación Aspel (SAE, NOI, COI) vs Sistema de Gestión de Nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME)……………………………………………... 23 Tabla 2 Comparativa entre el sistema de gestión de nómina Vs software en la nube comercial….. 25 Tabla 3 Comparativa con los trabajos terminales en UPIITA………………………………………26 Tabla 4 Usuarios del sistema con sus respectivas funciones………………………………………..34 Tabla 5 Comparación entre proveedores del servicio……………………………………………… 35 Tabla 6 Metodologías de software contempladas…………………………………………………...36 Tabla 7 . Comparativa de proveedores que ofrecen certificados SSL y plataforma cloud………….37 Tabla 8 . Se muestran los dos tipos de servicios SSL que ofrece Google App Engine……………..38 Tabla 9 . Framework y lenguajes para Google App Engine……………………………………….. 39

VIII

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Resumen El cómputo en la nube (Cloud Computing) está revolucionando el uso del software tradicional instalado en las computadoras personales o laptops, satisfaciendo las nuevas tendencias y necesidades de estar al día, contando con información disponible en todo momento con sólo disponer de acceso a Internet. En el presente trabajo se presenta la fase de análisis, diseño e implementación de un sistema en la nube, que realiza la gestión de nóminas del recurso humano, orientado a “PyME” (Pequeña y Mediana Empresa). Dicho sistema toma como base la nueva ley federal del trabajo. La finalidad es hacer una gestión de la información de una manera confiable, disponible en todo momento y ofreciendo las bondades que provee el cómputo en la nube; haciendo uso de una nueva tendencia en el software, como lo es el Software as a Service (SaaS). Palabras clave Cómputo en la nube, Cloud Computing, gestión de nóminas, SaaS, PyME.

IX

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Abstract The Cloud Computing is revolutionizing the use of the traditional software installed in the personal computers or laptops, satisfying the new trends and needs current, available information at all-time only with having access to Internet. In the present work one presents the phase of analysis, design and implementation of a system in the cloud, performs calculating payroll and attendance, orientated to "SME" (Small and Medium Company). The above mentioned system takes as a base the new federal law of the work of Mexico. The purpose is to do a management of the information of a reliable, available way at all moment and offering the kindness of the cloud computing ; using a new trend in the software, as the Software as Service (SaaS). Key words: Cloud Computing, Payroll, SaaS, SME.

X

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Objetivo General Desarrollar un sistema enfocado a las PyMEs para llevar la gestión de nóminas sobre sus empleados, basado en cómputo en la nube.

Objetivos Específicos 

Analizar la nueva ley federal del trabajo respecto a las nóminas.



Investigar y seleccionar proveedor de cómputo en la nube.



Investigar y seleccionar modelo de servicio.



Investigar y seleccionar seguridad de la información del sistema.



Analizar y diseñar el sistema (Diagramas UML).



Analizar y seleccionar herramientas de desarrollo.



Analizar y seleccionar framework de desarrollo y lenguaje.



Diseñar y seleccionar manejador de base de datos.

XI

CAPÍTULO I. INTRODUCCIÓN

“Todos somos ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas” Albert Einstein

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

El ritmo de vida actual nos exige estar al día para poder satisfacer las nuevas necesidades de este mundo globalizado con más competencia día con día, por lo cual se realizó una investigación sobre la importancia en las pequeñas y medianas empresas en México obteniendo los siguientes resultados: “… actualmente (Septiembre 2013) las PyMEs representan el 52% del PIB nacional y el 81% del empleo en México…”. [1]. Posteriormente se realizó una investigación sobre como gestionaban las PyMEs sus nóminas y los resultados obtenidos fueron los siguientes: “…En México se obtuvieron las siguientes cifras para poder llevar el control de la nómina, el 60.8 % de las PyMEs ocupan software instalado en cada computadora pagando una licencia por cada una, el porcentaje restante aún ocupa hojas de cálculo, contadores,…” [2]. Analizando esta información se tiene que las PyMEs son muy importantes para el desarrollo del país, además las únicas que ocupan software para manipular sus nóminas lo tienen previamente instalado en cada una de sus computadoras, por lo cual en la mayoría de las ocasiones pagan costosas licencias por cada máquina para poder ocuparlo cada determinado tiempo o realizan los cálculos repetitivos de nómina de forma manual, haciendo que los trámites se vuelvan tardados y que se tenga poca o nula actualización de los datos. Esto da como resultado mayores costos en paquetería de software, hardware y empleados, así como información desactualizada que no les permite ser competitivos ante las grandes corporaciones por no poder dar respuesta a necesidades de la sociedad actual de manera ágil. De acuerdo con la información presentada en este punto, se observa una necesidad de tener el control de la nómina de los empleados de una pequeña y mediana empresa (PyME) con los beneficios que la nube conlleva, esto permitirá a las PyMEs ser competitivas ante las grandes empresas, además no está orientado a un cliente sino a toda un área de servicio, cuantos más usuarios utilicen el sistema más barato es contratarlo, lo cual es característico del cómputo en la nube.

2

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

1.1 Planteamiento del problema En la actualidad el mundo globalizado tiene nuevas necesidades, por ello la tecnología evoluciona para dar solución a éstas. Todas las empresas necesitan realizar la nómina respectiva de cada uno de sus empleados, entre más grande sea la empresa se necesitan gestionar más nóminas y más empleados que hagan estos cálculos repetitivos. El cómputo en la nube ofrece soluciones a los requerimientos de la vida moderna (accesible, seguro, económico…), en México el mercado que tienen las PyMEs es muy importante pues aportan el 52% del PIB nacional, de aquí nace la necesidad de poder brindar una solución de gestión de nóminas del personal de manera práctica pues no es necesario tener trabajando al departamento de tecnologías de la información

y

contadores con tareas repetitivas que bien se pueden automatizar, razón por lo cual se plantea apoyarse de nuevas tendencias de cómputo y con ello agilizar los procesos de nómina y asistencia, para contar con más tiempo en nuevos proyectos o negocios.

1.2 Actualidad del problema Como se menciona en [1] y en [2] el 60.8% de las PyMEs ocupan software instalado en cada computadora pagando licencia en cada una y el 39.2 % hace sus cálculos apoyándose de diversas soluciones, la mayoría de las empresas no conocen la nueva tendencia de la nube por lo que es un mercado totalmente nuevo para los emprendedores, a su vez “...Grandes empresas como Google bajan sus costos para poderle dar más impulso a esta nueva tecnología...”[3] por lo que hoy en día este proyecto es una gran oportunidad de poder automatizar la gestión de la nómina apoyado en una nueva tendencia del cómputo, como lo es el cómputo en la nube, brindando una nueva posibilidad a las PyMEs de ser competitivas en este mundo globalizado.

1.3 Justificación Como ya se mencionó las PyMEs en México son de suma importancia, razón por

la cual se

propone una nueva solución ante la gestión de sus nóminas apoyándose en las nuevas tecnologías de cómputo para que les permita mantener su competitividad en este mercado globalizado ante las grandes corporaciones. La implementación del proyecto es la oportunidad para aquellas PyMEs que no cuentan con la paquetería, el software o tecnología necesaria para su actualización en el proceso de llevar a cabo la gestión de sus datos de nómina y que lo puedan hacer sin tener que pagar costosas licencias por el software instalado ya que el sistema de gestión trabajará sobre la nube, 3

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

obteniendo ahorros en software y hardware, teniendo un control de la nómina con acceso en cualquier lugar a cualquier hora desde una computadora o un dispositivo móvil (Tablet) con acceso a Internet con los beneficios de la nube. Cuando se habla de cómputo en la nube en el sistema de nómina se hace referencia a la ejecución de las aplicaciones en un centro de datos compartido, ninguna PyME necesitará de (servidores, equipo técnico, actualizaciones) solo será necesario iniciar sesión, y empezar a ocupar la aplicación. El sistema propuesto es en realidad un proyecto para el campo laboral ya que gestiona las nóminas cubriendo las normas mexicanas vigentes.

1.4 Solución propuesta El sistema en la nube de gestión de nóminas realiza todos los cálculos correspondientes a la nómina conforme los requerimientos de la ley mexicana, se encuentra alojado en la nube y está orientado para la Micro, Pequeña y Mediana Empresa (PyMEs). Asimismo, está diseñado únicamente para PyMEs, accediendo al sistema por sesiones a diferentes tipos de usuarios, recopilando la información necesaria desde cualquier computadora (reportes de asistencia), en donde cada usuario tendrá funcionalidades diferentes, esto con la finalidad de preservar la integridad de la información. Se contempla el escenario en donde la empresa cuente con una o varias sucursales ubicadas en diversas áreas del país. La información de nómina proveerá un mecanismo de protección a la información con el uso de certificados SSL (Secure Sockets Layer) proporcionados por el proveedor de servicio, cuenta con acceso por sesiones, siendo una propuesta económicamente viable a las empresas pues reducen su costo de licencias de software, equipo y empleados haciendo cálculos repetitivos, haciendo uso de las bondades del cómputo en la nube: (Sólo es necesario estar conectado a internet, los datos se encuentran protegidos y en redundancia, disponible en cualquier lugar en cualquier momento, se puede acceder desde cualquier dispositivo fijo o móvil de cualquier marca y sistema operativo, funciona con cualquier explorador de internet moderno y actualizado,

siempre al día,

actualizaciones constantes para cumplir con los requisitos de las autoridades ) Es económico ya que el pago es independiente del número de computadoras en las cuales se quiera tener acceso al servicio, es decir de licencias, además elimina el soporte y mantenimiento al hardware; no requiere instalación (más software y menos hardware), tiene sistemas de respaldo y

4

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

recuperación de la información, no requiere presencia física (soporte técnico) y estará disponible cualquier día a cualquier hora. Finalmente, el diagrama general del sistema se muestra en la figura 1.

Figura 1. Diagrama general del sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

1.5 Alcances y limitaciones El resultado esperado es el sistema enfocado a las PyMEs para llevar un control de nómina sobre sus empleados, gestionando dicha información apoyados del cómputo en la nube. Se contempla realizar los siguientes escenarios de prueba (simulaciones con dos PyMEs): hacer la gestión de nómina, contar con certificado de seguridad SSL, comprobar el correcto funcionamiento de todas las sesiones para las cuales haya sido diseñado, así como su compatibilidad únicamente con los dispositivos móviles (Tablet). Las limitaciones del sistema propuesto son: 

Capacidad para no más de 500 empleados y/o 20 sucursales por PyME.



Diseñado únicamente para las leyes que rigen a México.

5

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

6

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

CAPITULO II. MARCOTEÓRICO

“Cada día sabemos más y entendemos menos” Albert Einstein.

7

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

A continuación se presentan los conceptos fundamentales para la gestión nómina sobre sus empleados, basado en cómputo en la nube: sus características, capas, modelos de implementación, proveedores framework y seguridad en la nube.

2.1 Cómputo en la nube “Cloud Computing es la evolución de un conjunto de tecnologías que afectan al enfoque de las organizaciones y empresas en la construcción de sus infraestructuras de Tecnologías de la Información. Al igual que ha sucedido con la evolución de la Web, con la Web 2.0, el cómputo en la nube no incorpora nuevas tecnologías. Se han unido tecnologías potentes e innovadoras, para construir este nuevo modelo y arquitectura de la Web. Se plantea que, si bien Internet es un fundamento necesario, la nube es algo más que Internet. Es aquel lugar donde utilizar tecnología cuando se necesita, mientras se necesite. No se instala nada en su escritorio, ni se paga por la tecnología cuando no se utiliza. La nube puede ser infraestructura o software, es decir, puede ser una aplicación con la que se accede a través del escritorio y se ejecuta inmediatamente tras su descarga, o bien un servidor al que se invoca cuando se necesita. En la práctica, el cómputo en la nube proporciona un servicio de software o hardware. No existe una definición aceptada universalmente; sin embargo, existen organismos internacionales cuyos objetivos son la estandarización de Tecnologías de la Información y, en particular, de Cloud Computing. Una de las definiciones más extendidas y populares sobre Cloud Computing es la que ofrece el National Institute of Standards and Technology (NIST), de Estados Unidos, según la cual “Cloud computing es un modelo para permitir el acceso de la red en servicio bajo demanda, a un conjunto de recursos (que incluyen las redes, servidores, almacenamiento, aplicaciones y servicios) que pueden ser rápida y dinámicamente aprovisionados y liberados con mínima interacción humana. La nube es un conjunto de hardware y software, almacenamiento, servicios e interfaces que facilitan la entrada de la información como un servicio. El mundo de la nube tiene un gran número de actores o participantes. Los grupos de intereses del mundo del cómputo en la nube son: los vendedores o proveedores que proporcionan las aplicaciones y facilitan las tecnologías, infraestructura, plataformas y la información correspondiente; los socios de los proveedores que 8

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

crean servicios para la nube, ofreciendo servicios a los clientes; los líderes de negocios que evalúan los servicios de la nube para implantarlos en sus organizaciones y empresas; los usuarios finales utilizan los servicios de la nube, gratuitamente o con una tarifa. Los servicios de la nube deben ser distribuidos; es decir, empresas diferentes comparten los mismos recursos fundamentales. Por esta razón, las empresas comienzan a encontrar nuevos valores, facilitando la eliminación de las complejas restricciones que supone el entorno informático tradicional; incluyendo espacio, tiempo, energía y costes.” [4]

2.2 Características del cómputo en la nube “El modelo de la nube, según NIST, se compone de cinco características esenciales, tres modelos de servicio y cuatro modelos de despliegue. Las características fundamentales se describen en las siguientes subsecciones.

2.2.1 Autoservicio bajo demanda Un consumidor puede proveerse de tiempo de servidor y almacenamiento en red, a medida que lo necesite; sin requerir interacción humana con el proveedor del servicio.

2.2.2 Distribución de recursos independientes de la posición Los recursos de computación del proveedor son agrupados para servir a múltiples consumidores utilizando un modelo multi-distribuido (“multitenant”) con diferentes recursos físicos y virtuales asignados y reasignados dinámicamente conforme a la demanda del consumidor. Existe una sensación de independencia de la posición, de modo que el cliente, normalmente, no tiene control ni conocimiento sobre la posición exacta de los recursos proporcionados. Pero podría especificarla a un nivel más alto de abstracción (país, región geográfica o centro de datos). Ejemplos de recursos incluyen almacenamiento, procesamiento, memoria, ancho de banda de la red y máquinas virtuales.

2.2.3 Elasticidad rápida Las funcionalidades se pueden proporcionar de modo rápido y elástico, en algunos casos automáticamente. Sus características de aprovisionamiento dan la sensación de ser ilimitadas y pueden adquirirse en cualquier cantidad o momento.

9

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

2.2.4 Servicio medido Los sistemas de cómputo en la nube controlan y optimizan automáticamente el uso de recursos, potenciando la capacidad de medición en un nivel de abstracción apropiado al tipo de servicio (almacenamiento, procesamiento, ancho de banda y cuentas activas de usuario). El uso de recursos puede ser monitorizado, controlado e informado, proporcionando transparencia para el proveedor y para el consumidor. ” [5]

2.3 Capas del cómputo en la nube El cómputo en la nube se compone de tres capas las cuales se describen a continuación:

2.3.1 Software como un servicio (SaaS) “La capacidad proporcionada al consumidor es utilizar aplicaciones del proveedor de servicios de nube que se ejecutan en una infraestructura cloud. El software como servicio (software as a Service, SaaS) se encuentra en la capa más alta y caracteriza una aplicación completa ofrecida como un servicio, en-demanda, —que significa una sola instancia del software que corre en la infraestructura del proveedor y sirve a múltiples organizaciones de clientes. Un ejemplo es la plataforma Office como servicio SaaS con su denominación de Microsoft Office 365, que incluye versiones online de la mayoría de las aplicaciones de esta suite ofimática de Microsoft.

2.3.2 Plataforma como Servicio (PaaS) La capacidad proporcionada al consumidor es implementar en la infraestructura de la nube creada por él, de aplicaciones creadas o adquiridas, usando lenguajes de programación, bibliotecas, servicios y herramientas soportadas por el proveedor. La capa del medio, que es la plataforma como servicio (en inglés Platform as a Service, PaaS), es la encapsulación de una abstracción de un ambiente de desarrollo y el empaquetamiento de una serie de módulos o complementos que proporcionan, normalmente, una funcionalidad horizontal (persistencia de datos, autenticación, mensajería, etc.). De esta forma, este modelo de plataforma como servicio podría consistir en un entorno conteniendo una pila básica de sistemas, componentes o API pre configurado y listo para integrarse sobre una tecnología concreta de desarrollo. Las ofertas de PaaS pueden dar servicio a todas las fases del ciclo de desarrollo y pruebas del software, 10

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

o pueden estar especializadas en cualquier área en particular, tal como la administración del contenido. Los ejemplos comerciales incluyen Google App Engine, que sirve aplicaciones de la infraestructura Google, y también Windows Azure, de Microsoft, una plataforma en la nube que permite el desarrollo y ejecución de aplicaciones codificadas en varios lenguajes y tecnologías como .NET, Java y PHP. Servicios PaaS tales como éstos permiten gran flexibilidad, pero puede ser restringida por las capacidades que están disponibles a través del proveedor.

2.3.3 Infraestructura como Servicio (IaaS) La capacidad proporcionada al consumidor es la provisión de proceso, almacenamiento, redes y otros recursos de computación fundamentales de procesamiento donde el consumidor es capaz de implementar y ejecutar software arbitrario, que puede incluir sistemas operativos y aplicaciones. La infraestructura como servicio (Infrastructure as a Service, IaaS) -también llamado en algunos casos hardware as a service, HaaS) se encuentra en la capa inferior y es un medio de entregar almacenamiento básico y capacidades de cómputo como servicios estandarizados en la red. Servidores, sistemas de almacenamiento, conexiones, enrutadores, y otros sistemas se concentran (por ejemplo a través de la tecnología de virtualización) para manejar tipos específicos de cargas de trabajo desde procesamiento en lotes (“batch”) hasta aumento de servidor/almacenamiento durante las cargas pico.”[6]

2.4 Modelos de implementación. A continuación se describen los modelos de implementación en Cloud computing.

2.4.1 Nube privada La infraestructura de la nube se provee para uso exclusivo de una sola organización que comprende varios consumidores.

2.4.2 Nube de la comunidad La infraestructura de la nube se provee para uso exclusivo de una comunidad específica de los consumidores de las organizaciones que han compartido preocupaciones por ejemplo, misión, requisitos de seguridad, política y cumplimiento consideraciones. 11

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

2.4.3 Nube pública La infraestructura de la nube se provee para uso abierto por el público en general. Podría pertenecer, ser administrada y operada por una organización de negocios, académicos o gobierno, o alguna combinación de ambos.

2.4.4 Nube híbrida La infraestructura de nube es una composición de dos o más infraestructuras de cloud distintas privada, comunidad o público que siguen siendo entidades únicas, pero están enlazadas por tecnología estandarizada o propietaria que permite la portabilidad de datos y aplicaciones. Es importante señalar que no existe ninguna alineación específica entre los modelos de servicio y entrega de nube. Cualquier modelo de servicio puede crear instancias utilizando cualquiera de los modelos de entrega En la figura 2 se presentan los modelos de despliegue, modelos de servicio y características esenciales del cómputo en la nube.

Figura 2. Modelos de despliegue, servicio y características esenciales del cómputo en la nube.

12

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

2.5 Seguridad en la nube 2.5.1 Protección de datos “La nube, es un modelo de computación que ofrece el uso de una serie de servicios, aplicaciones, datos, plataformas, infraestructuras, compuestas a su vez por recursos de computación, redes, servidores, almacenamiento, etc. La empresa o el usuario de la nube no sabe con exactitud dónde está la información guardada, mientras que en la computación tradicional las empresas y los usuarios conocen perfectamente donde está su información almacenada localmente. Naturalmente, llevar toda la información a la nube significa confiar en terceros la seguridad El responsable de los datos es el cliente (personal o empresa). IBM llama a este tipo de seguridad “Secure by design”, o dicho de otro modo seguridad personalizada”. El concepto pretende que el entorno sea el resultado de la interacción entre proveedor y empresa receptora de servicios. La seguridad tiene que partir del cliente. Cuando una empresa quiere llevar sus datos a la nube, debe indicar cuáles son sus preferencias. Conociendo sus necesidades el proveedor diseña un servicio específico para la empresa. El cómputo en la nube tiene características específicas que requieren evaluación de los riesgos en áreas tales como integridad, recuperación y privacidad de los datos, así como en asuntos legales en áreas como normativa de regulación y auditoría de los sistemas de seguridad de la información.

2.5.2 Seguridad de los servicios de la nube La evaluación de riesgos y la revisión de la seguridad en la nube deben considerar en primer lugar las opciones de despliegue de la nube (pública, privada e hibrida) y modelos de entrega de servicios (SaaS, PaaS, IaaS). Estrechamente relacionada con los modelos anteriores estarán los procesos relacionados con la virtualización, los cuales también consideraremos. Evidentemente, como sucede en el Plan General de Seguridad de la Información (PGSI), ninguna lista de controles de seguridad podrá cubrir todas las circunstancias, pero se deberá adoptar un enfoque basado en riesgos para moverse o migrar a la nube y seleccionar las opciones de seguridad. Los activos de despliegue en la nube se agrupan en dos grandes bloques: los datos y las aplicaciones.

13

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

2.5.3 Riesgos y tipos de seguridad Los centros de datos en la nube afrontan la resolución de los planes de recuperación de desastres como en un centro de datos tradicional, ya que en los primeros las copias de seguridad estarán normalmente replicadas, por lo que será posible mover fácilmente toda la infraestructura de un centro a otro de la nube ya que, con toda seguridad, estarán sincronizados y sus funcionamiento será muy similar. Otra gran ventaja de la nube será relativa al costo económico considerablemente más bajo en la nube, puesto que no necesitará realizar inversión inmediata en infraestructuras, pues el plan de mantenimiento ordinario siempre contemplará las posibilidades de desastre y la replicación o alternativa de otros centros de datos de la nube. Un ejemplo muy eficaz de recuperación de desastres lo ofrece S3 de Amazon, que mediante centros de datos completamente redundantes es capaz de funcionar prácticamente sin interrupciones con el modelo temporal 24 x 7 (24 horas los 7 días de la semana).” [7]

2.5.4 Modelo de software tradicional Las aplicaciones de software tradicionales están basadas en un modelo de costes de licencias, soporte, mantenimiento y actualización por periodos de tiempo anuales, bianuales, trianuales, etc. Los costes de las licencias se basan en métricas que por lo general no están alineadas con el uso de las aplicaciones, sino con el coste del desarrollo del software, normalmente alto, y el periodo de despliegue entre sus clientes. Las renovaciones de las licencias suelen hipotecar tanto el proveedor como al cliente. Por otra parte, un paquete típico de software empresarial requiere un despliegue de equipos de hardware, servidores, red de aprovisionamiento para el número de usuarios internos y externos a la organización, procesos de despliegue de la aplicación, periodos de formación, etc., los cuales ofrecen la ventaja de que las aplicaciones de software tradicionales son muy personalizables, lo que, por otra parte, aumenta los costes. Una diferencia importante entre el modelo de software tradicional y el modelo de software como servicio, reside en el número de usuarios que soportan la aplicación. El modelo de software tradicional es un modelo aislado, de un único cliente (la organización o empresa), lo que significa que el cliente compra la aplicación de software y la instala en un servidor. El servidor ejecuta la aplicación para el grupo de usuarios del cliente. 14

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Por el contrario, el modelo SaaS es un modelo multicliente (multi-inquilino) donde la infraestructura hardware que soporta la aplicación es compartida por muchos clientes diferentes, aunque lógicamente es única para cada cliente. La arquitectura multicliente está diseñada para la compartición de recursos entre los clientes, aunque es capaz de poder diferenciar con seguridad total los datos que pertenecen a cada cliente o inquilino de la plataforma. Esta característica significa que una empresa cliente puede utilizar sus datos con total independencia y seguridad, a la vez que otras compañías pueden estar utilizando en condiciones similares y también con total independencia y seguridad sus datos. En las normas de gobierno de seguridad de una organización se deben implementar controles ajustados a los riesgos previsibles. Estos controles se implementan según la Cloud Security Alliance en una o más capas que irán en el rango de las facilidades (seguridad física) a la infraestructura de redes (seguridad en las redes), a los sistemas de Tecnologías de la Información (seguridad de sistemas) y a toda la gestión de la información y las aplicaciones (seguridad de las aplicaciones). Las responsabilidades de seguridad se repartirán entre el proveedor y el consumidor de la nube y se diferirá según sea el modelo de servicio de la nube.

2.6 Proveedores de servicio en la nube Proveedores de software como servicio más populares son: Microsoft, Google (Google Apps), Amazon. Proveedores de plataforma como servicio muy reconocidos son: Microsoft Windows Azure, Google App Engine, Force.com de Salesforce, GigaSpaces. En infraestructura como servicio, proveedores también muy reconocidos son: Amazon, Rackspace. IBM, VMware, Citrix, Cisco, HP, CA Technologies. A continuación se describen algunos de los proveedores mencionados anteriormente.

2.6.1 Amazon “AWS (Amazon Web Services, aws.amazon.zom) es la espina dorsal de los servicios en la nube. Se basa en estándares SOA, incluyendo HTTP y protocolos de transferencia SOAP, código abierto y sistemas operativos comerciales, servidores de aplicaciones y acceso basado en navegador. Ofrece nubes privadas conectadas a través de redes privadas virtuales con una alta seguridad y controlada 15

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

por el administrador del sistema. AWS ofrece su servicio de “pago por uso” y el consiguiente ahorro de costos. Comprende una gran variedad de servicios, la mayoría en el amplio concepto de Cloud Computing. Estos servicios se incluyen fundamentalmente dentro del modelo IaaS de infraestructura como servicio, aunque sus retos son ofrecer de modo gradual los otros modelos de software como servicio y plataformas como servicio. Todos los servicios AWS, según manifiesta Amazon en su sitio Web oficial, pueden utilizarse en forma independiente o implementarse de manera conjunta para crear una completa plataforma informática basada en la nube. ”[8]

2.6.2 Google Google es, sin duda, uno de los gigantes de la industria informática y desde hace unos años ha decidido también convertirse en proveedor estrella de la nube en ofertas de servicios para usuarios, organizaciones y empresas y desarrolladores, y así encontramos en su portafolio de servicios diferentes herramientas para la nube: Google Apps, aplicación de software como servicio SaaS para usuarios y organizaciones y empresas; Google (PaaS) pensado en desarrolladores; Google Web Toolkit, otra herramienta para desarrolladores Web. Google Apps “Google Apps (www.google.com/apps) es una herramienta de software como servicio que ofrece Gmail —su servicio de correo electrónico Web— y otras herramientas colaborativas dirigida a usuarios particulares y empresas; desde la perspectiva ofimática, fundamentalmente Google ofrece una oferta en el objetivo principal de reducir costo de las Tecnologías de la Información

y

versatilidad en la automatización de tareas de oficina, el estilo de un paquete integrado (suite). Las aplicaciones que ofrece Google Apps son: Gmail para empresas, Google Calendar, Google Docs, Grupos de Google, Google Sites, y Google Videos. Google Apps ofrece un número de productos de seguridad y cumplimientos de normas (compliance) para la infraestructura existente de correo electrónico. La versión estándar es gratuita y ofrece la misma cantidad de almacenamiento que las cuentas ordinarias del correo electrónico Gmail. La versión Premium se basa en el modelo de licencia de pago por uso y nivel de almacenamiento de correo electrónico por empleado, todo ello con el pago de una tasa corporativa de 50 dólares americanos por usuario al año. La citada tarifa corporativa de Google Apps ofrece funciones de empresa como interoperabilidad, entre otros, con Blackberry y Microsoft Outlook; controles de empresa con SSL requisitos de

16

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

seguridad de contraseña personalizada y otras funcionalidades; asistencia y fiabilidad para empresas con garantía de tiempo de actividad de 99,9% y asistencia 24 horas los siete días de la semana. Google App Engine “Es una plataforma que ofrece construcción y alojamiento de aplicaciones Web en la infraestructura de Google. Las aplicaciones App Engine son fáciles de construir, mantener y escalables (ampliables) a medida que crecen las necesidades, almacenamiento y tráfico Web. App Engine facilita la escritura y despliegue de código y su integración con otras aplicaciones Web de Google. Actualmente está soportada por los lenguajes de programación Python y Java. App Engine es gratuito hasta un cierto nivel de recursos utilizados, a partir de los cuales se carga una tasa por almacenamiento adicional, ancho de banda o ciclos de CPU requeridos para la aplicación. Las aplicaciones App Engine son fáciles de crear, de mantener y de ampliar al ir aumentando el tráfico y las necesidades de almacenamiento de datos. Con App Engine: sólo tendrá que subir su aplicación para que los usuarios puedan empezar a utilizarla. Se puede proporcionar a la aplicación su propio nombre de dominio a través de Google Apps. También es posible darle un nombre que esté disponible en el dominio appspot.com. Podrá compartir su aplicación con todo el mundo o limitar el acceso a los miembros de su organización. Con App Engine sólo se paga lo que se utiliza. No existen costes de configuración ni tarifas recurrentes. Los recursos que utiliza su aplicación como, por ejemplo, el almacenamiento y el ancho de banda, se miden por gigabytes y se facturan según tarifas, pudiéndose controlar la cantidad máxima de recursos que consume su aplicación para ajustar el presupuesto.”[9]

2.6.3 Microsoft Microsoft ofrece un gran número de servicios en la Nube para organizaciones y empresas de cualquier tamaño, muchos de los cuales son variante o actualizaciones de servicios populares de esta gran empresa. Es importante destacar que grandes empresas a nivel mundial están contratando servicios de la nube de Microsoft. Este es el caso de Ferrovial —una de las grandes empresas constructoras de España, precursora en el uso de servicios en la nube ya que a mediados de diciembre de 2009 firmó un acuerdo por cinco años con Microsoft para migrar gradualmente gran parte de sus servicios

17

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

informáticos a la nube. El plan permitía que 40.000 empleados de la empresa repartidos en más de 50 países se conectasen a la nube creando una gran red colaborativa. Microsoft Azure Platform Azure Platform es una oferta de Microsoft que ofrece servicios y plataformas alojados en los centros de datos de Microsoft y que forma parte de su estrategia de brindar sus recursos de ofimática y gestión empresarial, fundamentalmente, como servicios Web en la nube. Esta estrategia llevará a Microsoft a ofrecer su nuevo Office en la nube incluyendo una oferta gratuita (Office Web), además de la oferta de pago. La plataforma Azure Service proporciona un sistema operativo en la nube y herramientas de desarrollo que permiten la gestión y alojamiento de aplicaciones gestionadas en los centros de datos de Microsoft. Las aplicaciones pueden ser desarrolladas con protocolos estándares de la industria. La plataforma Windows Azure se ha construido como una plataforma abierta que ofrece diferentes opciones a los desarrolladores. Permite utilizar múltiples lenguajes tales como .NET, PHP, Ruby, Python y Java y herramientas de desarrollo (Visual Studio y Eclipse). Windows Azure “Windows Azure es un sistema operativo basado en la nube que permite el desarrollo, alojamiento y entornos de gestión de servicios para la plataforma Windows Azure Platform. Windows Azure proporciona a los desarrolladores computación bajo demanda y almacenamiento para alojar, escalar (ampliar) y administrar las aplicaciones Web en Internet a través de los centros de datos de Microsoft. Windows Azure es una plataforma flexible que soporta múltiples lenguajes y se integra con sus entornos existentes. Para construir aplicaciones y servicios en Windows Azure, los desarrolladores pueden usar sus experiencias en Microsoft Visual Studio y también los protocolos estándares como SOAP, REST, XML y PHP.”[10]

2.7 Framework y lenguajes de programación en la nube En este apartado se mencionan algunos de los Framework pertenecientes a los lenguajes soportados en la nube como son: PHP, Java, Python entre otros. Cabe aclarar que es necesario que el proveedor de la plataforma en la nube proporcione la lista de lenguajes con los cuales puede trabajar.

18

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

A continuación se enlistan algunos Web framework de los lenguajes soportados en la nube.

2.7.1 Python Framework “Webapp2 es un framework ligero compatible con webapp de Google App Engine: se extiende webapp para agregar mejor enrutamiento y el manejo de excepciones. También ofrece sesiones, la localización, la internacionalización, el dominio y el enrutamiento subdominio. Puede ser utilizado fuera de App Engine, independientemente de la App Engine SDK.” [11]

2.7.2 Java Frameworks Apache structs, structs 2 frameworks funcionan correctamente en la nube, pero requieren del soporte del proveedor del servicio. Jclouds Apache es una biblioteca de código abierto que le ayuda a empezar en la nube, y utiliza sus habilidades de desarrollo de Java o Clojure. El API jclouds le da la libertad de usar abstracciones portátiles o características en la nube específica. Jclouds pone a prueba el apoyo de los 30 proveedores de la nube y pilas de software de nube como Amazon, Azure, GoGrid, nueve veces, OpenStack, Rackspace y vCloud.

2.7.3 PHP Cloud Con Zend Developer Cloud, se obtiene acceso inmediato a un entorno PHP completa, la Compañía PHP. Incluye, un gran conjunto de extensiones de PHP, Zend Framework y mucho más, por lo que ya no tendrá que pasar tiempo en la construcción de la pila usted mismo.

19

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

20

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

CAPÍTULO III. ESTADO DEL ARTE

“La imaginación es más importante que el conocimiento” Albert Einstein.

21

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

A continuación se presentan los trabajos relacionados con la gestión de nómina sobre sus empleados, basados en cómputo en la nube, tanto en la industria como en la UPIITA.

3.1 Trabajos de investigación relacionados Las tecnologías de información y comunicaciones cambian constantemente y el paradigma sobre la implementación del software no es la excepción, anteriormente se ocupaba el software especializado con licencias, lo que generaba el costo de la licencia por año y este aumentaba progresivamente según el número de máquinas a utilizar. Además la mayoría de las PyMEs no solo ocupan software tradicional instalado en cada máquina, sino que también tienen bases de datos que se encargan de gestionar la información (almacenada en servidores); utilizando aplicaciones que en su mayoría son de pago o gratuitas (que no contemplan las leyes mexicanas), para realizar dicha gestión de su nómina. Por lo tanto algunas de estas PyMEs administran su propia información y cada una debe contar con su software y hardware correspondiente. Actualmente existe software que se encarga de la gestión de nómina, pero no ofrece este servicio en la nube, algunos de ellos son: (SAE, NOI, COI), Nómina Sol, Mega Nómina y Nómina Plus Suscripción Anual. “SAE: Controla el ciclo de todas las operaciones de compra-venta de la empresa como: inventarios, clientes, facturación, cuentas por cobrar, vendedores, compras, proveedores y cuentas por pagar; automatizando eficientemente los procesos administrativos y asegurando el cumplimiento de las disposiciones fiscales. Integra la operación de las sucursales conectándolas remotamente vía Internet y ofrece acceso a través de dispositivos móviles. Brinda reportes, estadísticas, gráficas y consultas de alto nivel que colaboran en la oportuna toma de decisiones y desarrollo de estrategias comerciales. Costo de licencia 1 usuario $ 9,740. Requerimientos mínimos de hardware y software. NOI: Aspel-NOI 6.0 automatiza el control de los aspectos más importantes de la nómina, su fácil manejo y versatilidad ofrecen un cálculo exacto de las percepciones y deducciones de los trabajadores atendiendo los requerimientos específicos de la empresa. Costo de licencia 1 usuario $ 5,090.

22

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Requerimientos mínimos de hardware y software: Procesador Intel de 32 bits (x86) a 1 GHz. o superior.*, 512 MB de RAM, recomendado 1 GB.* 320 MB. De espacio libre en disco duro, Monitor Súper VGA (800x600) o superior, Microsoft Windows® XP, 2003, Vista, 2008, 7, 2012 u 8. Tabla 1. Comparación Aspel (SAE, NOI, COI) vs Sistema de Gestión de Nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Característica Aspel (SAE,NOI,COI)

Sistema de Gestión de Nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Número limitado de licencias de uso otorgado Es cómputo en la nube, el servicio es por Aspel (número limitado de veces que se independiente del número de dispositivos que puede instalar y costo por cada licencia) accederán al sistema, lo que genera un ahorro para las PyMEs. Al ser un software de distribución es vulnerable El software de servicio será ejecutado desde un a ser víctima de la piratería y requiere servidor remoto por lo que no requerirá instalación en todas las maquinas a utilizarse. instalación. Solo funciona en sistemas operativos Microsoft Será independiente del sistema operativo. Windows, lo que requiere tener dicho sistema instalado por lo que es dependiente del sistema operativo. Funciona solo con procesador de 32 bits

Será independiente del procesador.

Tiene requerimientos en hardware.

No requerirá de características especiales de hardware de computadora.

Se descargan versiones actualizadas

Se actualizará servidor.

automáticamente

desde

el

Toda la información de (operaciones de compra- Se tiene acceso a cualquier hora en cualquier venta “SAE”, nómina “NOI”, e información lugar a la información y el servidor generará contable “COI”)se encuentra en una máquina y respaldos de la información. no existen respaldos automáticos

23

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

COI: Aspel-COI 6.0 procesa, integra y mantiene actualizada la información contable y fiscal de la empresa en forma segura y confiable. Proporciona diversos reportes, documentos de trabajo y gráficas que permiten soportar y evaluar el estado financiero de la organización, así como generar oportunamente las diferentes declaraciones fiscales e informativas como las correspondientes a IETU, IVA, ISR y DIOT. Calcula la depreciación de los activos fijos. Mantiene interfaces con los sistemas de la línea Aspel e interactúa con hojas de cálculo, lo que contribuye a lograr una eficiente administración de la empresa. Costo de licencia 1 usuario $ 4,760” [12].

3.2 Versiones comerciales en la nube 7all “7all.com es una empresa que proporciona soluciones para la administración, control y gestión de recursos empresariales de pequeñas y medianas empresas, profesionistas y personas físicas con actividad empresaria Ofrece planes Renta ($200/mes) Personas Físicas que renten bienes inmuebles Régimen de arrendamiento de inmuebles Profesionista y venta de servicios ($300/mes) Pymes ($500/mes) Manejo de inventarios, almacenes y categorías Punto de venta ($700/mes) Personas

Físicas

y

Morales

con

manejo

de

inventarios,

almacenes

y

categorías

Terminal Punto de Venta” [13]

24

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Tabla 2 Comparativa entre el sistema de gestión de nómina Vs software en la nube comercial.

7all.com

Sistema nomina

de

gestión

de

Requisitos

Se necesita un dispositivo con Se necesita un dispositivo con acceso a internet y un acceso a internet y un navegador navegador

Generación de reportes

No

Emite comprobante electrónico

Facturación electrónica

Seguridad

Proporciona seguridad pero Implementara SSL para no especifica como seguridad de la información

Si

Reportes de nómina electrónicos. Cumplirá con Cumple los requerimientos los requerimientos de nómina establecidos por las que contempla Ley federal autoridades hacendarias del trabajo

3.2 Tesis o trabajos similares o relacionados Respecto a los trabajos elaborados en UPIITA no existen aquellos relacionados con la gestión de nómina en la nube, pero se consideran los siguientes ya que están enfocados a dar solución a problemáticas en el entorno empresarial. A continuación se mencionan sus características: Manejador de procesos de negocio basado en Business Intelligence. “Este trabajo terminal es un sistema modular que es capaz de mostrar estadísticas de los departamentos de recursos humanos y finanzas de una empresa bajo el concepto de arquitectura de Software SOA y que pueda desarrollar informes de la misma, así también escenarios de negocio basado en Business Intelligence. ”[14] Sistema para administrar, monitorear y controlar: unidades móviles e inventarios de artículos emplayados mediante el uso de GPS y base de datos “Este trabajo es un sistema para administrar, monitorear y controlar: unidades móviles e inventarios de artículos emplayados mediante el uso de GPS1 y base de datos, el cual está pensado para dar solución a la problemática empresarial correspondiente al control y administración del proceso: 25

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

“emplayamiento de productos en tiendas específicas”, que realiza el equipo de trabajadores de la empresa S.C. Johnson and Son S. A. de C. V. ”[15] La principal diferencia entre los dos trabajos terminales anteriores y el sistema propuesto es su implementación en la nube, así como su diseño pues en el primero utilizaron una arquitectura de software SOA, así como un negocio basado en Business Intelligence, el segundo gestiona unidades móviles e inventarios mediante un sistema para un dispositivo móvil. A continuación se presenta en la Tabla 2 la comparativa entre los trabajos terminales en UPIITA y el sistema propuesto. Tabla 3 Comparativa con los trabajos terminales en UPIITA.

Características

Cómputo en la nube Acceso Remoto Seguridad SSL Da solución a la problemática de una empresa Da solución a la problemática de varias empresas Recopilación de información en BD Uso de minería de datos Arquitectura de software SOA Generación de reportes

Manejador de procesos de negocio basado en Business Intelligence.

Sistema para administrar, monitorear y controlar: unidades móviles e inventarios de artículos emplayados mediante el uso de GPS y base de datos.

Sistema de Gestión de Nóminas en la nube para la Micro, Pequeña y Mediana empresa (PyME).

X X X

X

X X X

X

X

X

X

X

X

X X X

El sistema de Gestión de Nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME) está orientado a ser flexible ante cualquier empresa de este tipo, satisfaciendo las nuevas tendencias y necesidades de contar con la información disponible en todo momento, con la finalidad de hacer

26

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

una gestión de la información de una manera rápida, confiable y ofreciendo una conexión segura través del uso de Internet. Cada usuario del sistema puede modificar o consultar la información dependiendo de sus funciones asignadas, por ejemplo el empleado puede verificar su horario de entrada, cuando ya se encuentre depositado su salario, así como sus diversos descuentos y horas extras, cumpliendo con las normas vigentes establecidas por la ley federal del trabajo del gobierno mexicano.

27

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

28

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

CAPÍTULO IV. ANÁLISIS Y DISEÑO

“Los que dicen que es imposible…. NO deberían molestar a los que lo están haciendo” Albert Einstein

29

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

A continuación se presenta la etapa de análisis y diseño del presente trabajo gestión de nómina sobre sus empleados, basado en cómputo en la nube.

4.1Metodología de trabajo La metodología de trabajo que se siguió en este proyecto fue la siguiente: 

Analizar información correspondiente a la nómina de un empleado.



Analizar la nueva ley del trabajo.



Investigar cómputo en la nube y seleccionar modelo de servicio.



Investigar y seleccionar proveedores del servicio



Seleccionar un framework y un lenguaje de programación.



Analizar y diseñar el sistema (Diagramas UML).



Diseñar e implementar los reportes a entregar al jefe de la empresa.



Desarrollar los diagramas UML.



Investigar y seleccionar la seguridad del sistema.

4.2 Análisis de requerimientos Requerimientos generales para el sistema propuesto. 

Elegir el modelo de servicio en la nube.



Elegir un proveedor de servicio en la nube que brinde una plataforma como servicio y un hardware como servicio sólido para implementar el software como servicio, que también permita el respaldo de la información.



Cumplir con los requerimientos de nómina que contempla la Ley federal del trabajo.



Analizar y diseñar el sistema (UML) junto con su base de datos.



Identificar usuarios del sistema con sus respectivas funciones.



Contar con un certificado de seguridad adecuado para la seguridad de la información.



Tener un framework (lenguaje) especial para la nube.



Elegir un gestor de base de datos soportado en la nube.



Diseñar la base de datos para SQL cloud.



Registrar la empresa en un formulario.



Ajustar la empresa según los parámetros configurables. 30

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).



Poder dar de alta 20 sucursales como máximo para cada empresa registrada.



Cada sucursal tendrá su propio departamento de recursos humanos.



El Departamento de recursos humanos debe estar capacitado para dar de alta, baja, modificar empleados.



El capturista debe estar capacitado para poder registrar faltas, tiempo extra, bonos.



Generar de reportes mensuales de nómina y de asistencia para cada trabajador.



Generar reporte mensual global de todas las sucursales para el dueño de la empresa.

Requerimientos funcionales: Software: 

Tener instalado un navegador web actualizado, según sea el caso en una PC de escritorio, Laptop o Tablet.

Hardware: 

Computadora de escritorio, Laptop o Tablet.



Personal capacitado: Departamento de recursos humanos, empleados y dueño.

Entradas y salidas del sistema Requerimientos de entrada (Sesión): 

Usuario



Contraseña

Información previamente capturada por el departamento de RRHH 

Id Empleado (Asignado automáticamente)



Sueldo base.



Datos personales (Nombre, edad, RFC, etc…)



Datos del lugar donde labora (id_sucursal)



Información de créditos (bancos, Infonavit…)



Información de descuentos (pensión alimenticia…)



Tiempo extra.



Retardos.

31

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).



Faltas.

Requerimientos de salida: Desglose de la nómina por deducciones y percepciones. Ejemplos de Deducciones 

Impuesto sobre la renta. (ISR- impuesto directo sobre la ganancia obtenida; es decir, por la diferencia entre el ingreso y las deducciones autorizadas)



Fondo de pensiones y prestaciones.



Inasistencias y suspensiones.



Seguro institucional.

Ejemplos de percepciones 

Comisiones.



Sueldos compactados.



Compensaciones por servicios.



Prima vacacional.



Estímulos al personal.



Estímulo al desempeño.



Pago por renuncia.



Gratificaciones.



Estímulo por antigüedad.



Estímulo por puntualidad.



Pago por días de descanso.



Pago por horas extra.



Aguinaldo.



Reparto de utilidades.



Estímulo por productividad.



Vacaciones.

32

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

4.3 Módulos del sistema En la solución propuesta se contempla una visión general del funcionamiento del sistema el cual posee los siguientes módulos con las siguientes funciones.

4.3.1 Módulos 

Formulario Web: El posible cliente observa el anuncio publicitario en internet (AdWords) que lo direcciona a una página web y si el posible cliente le interesa el servicio llena un formulario, este posible cliente ahora es el propietario que puede tener una o varias empresas registradas y cada empresa con una o más sucursales.



Saas: El proveedor del servicio es capaz de gestionar a los propietarios de las empresas, así como datos generales como actualizar los salarios mínimos vigentes.



Propietario: El propietario genera los periodos de nómina que tendrán sus sucursales y da de alta al encargado de Recursos Humanos de cada sucursal. Un mismo propietario puede tener una o más empresas y cada empresa puede tener una o más sucursales y cada sucursal tiene su propio departamento de Recursos Humanos.



Sucursal y Recursos Humanos: Cada sucursal da de alta sus propios empleados y gestiona su asistencia así como su nómina.



Datos Empleado: El departamento de Recursos humanos capturará los datos personales de nómina de cada empleado que se brinden en su contrato.



Asistencia: Este módulo lleva el conteo de asistencia, retardos, faltas de cada empleado, para las empresas que así lo soliciten.



Nomina: Este módulo hace todos los cálculos de nómina (percepciones y deducciones) de cada trabajador con la frecuencia de los periodos de nómina generados por el propietario de la empresa.



Reportes: En este módulo se generan los reportes de nómina y de asistencia de cada trabajador, también el dueño de la empresa podrá observar el reporte general de su empresa.



Sesiones: Se garantiza la protección de la información por medio de las funciones que tiene cada sesión y por un certificado SSL instalado con el proveedor de servicio.

33

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

4.3.2 Diagrama de bloques del funcionamiento general del sistema

Figura 3. Diagrama de bloques del funcionamiento general del sistema.

4.4 Usuarios A continuación se muestran los posibles usuarios del sistema. Tabla 4 Usuarios del sistema con sus respectivas funciones.

Actor Área RRHH

Funcionalidad en el sistema de Captura de datos referentes a la nómina (alta de empleados, baja de empleados, registro de sueldo base y otras remuneraciones) y puede publicar anuncios a los empleados.

Empleado

Podrá visualizar sus reportes correspondientes a nómina y control de asistencia. Además de los avisos emitidos por el dueño.

Propietario

Podrá visualizar los reportes correspondientes a sus sucursales, también podrá publicar avisos o anuncios a sus trabajadores de Recursos Humanos.

SaaS

En esta sesión se realizarán operaciones de mantenimiento del sistema.

34

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

4.5 Diseño general del sistema El diseño del proyecto consta del diagramado UML el cual se encuentra completo en el anexo digital (Disco Compacto) del presente documento, dicho documento consta de 103 páginas y 109 imágenes y contiene los siguientes diagramas. 

Diagramas de actividades.



Diagramas de caso de uso.



Diagramas de secuencia.



Diagrama Entidad – Relación.



Diagrama Relacional.



Diagrama de Clases.

4.6 Toma de decisiones A continuación se presenta el procedimiento y las decisiones tomadas en las elecciones del presente proyecto para su posterior desarrollo.

4.6.1 Elección del Proveedor de servicios. Tabla 5 Comparación entre proveedores del servicio.

Proveedor Amazon Costo del $0.08 per hour plan Infrastructure as Categoría a Service API Interface Tipo de Subscripción por planes suscripción http://aws.amaz Web on.com/es/ec2/# pricing X Seguridad X Soporte gratis Servicio de Foros soporte Java, Php, Lenguajes Phyton, Ruby soportados .net

Google Cloud $0 per hour

Microsoft $0 per hour

Platform as a Service

Platform as a Service

API Pagas lo que usas

API Pagas lo que usas

https://developers.goo gle.com/appengine/pri cing?hl=es&csw=

http://azure.microsoft.com /es-es/

X X

X X

Foros y recursos en Foros y recursos en línea línea Java, Php, Phyton, Go. .NET, Java, PHP, Node.js, Python o Ruby.

35

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

El proveedor seleccionado fue Google Cloud debido a las siguientes razones: Uno de los requerimientos principales del sistema a desarrollar es el respaldo de la información y de una plataforma sólida en el PasS (Platform as a Service) y HasS (Hardware as a Service), también un soporte seguro y fiable de su plataforma SasS, tutoriales para poder usar su plataforma, también es indispensable el uso de certificados SSL para la seguridad a implementar en la nube. Google cloud proporciona las herramientas y el soporte necesario para trabajar con la aplicación en la nube, el costo del plan base es gratuito (cuenta bronce), tiene soporte de diferentes framework en la nube. A pesar de que la nube de Microsoft cumple con los requerimientos solicitados, se eligió Google Cloud sobre los otros proveedores debido a que proporciona un mayor apoyo con tutoriales y grupos de ayuda para desarrolladores.

4.6.2 Elección de la metodología de software elegido. Comparando las metodologías de software tenemos: Tabla 6 Metodologías de software contempladas.

Modelo Modelo de Cascada Fases

Modelo de Espiral

1.- Análisis y definición de 1.-Definición requerimiento objetivos

Modelo incremental de 1.-Definir esbozo requerimientos

de

2.- Diseño del sistema y del 2.-Evaluación software reducción de riesgos

y 2.-Asignar requerimientos a los incrementos

3.-Implementación y prueba 3.-Desarrollo del sistema validación

y 3.- Diseñar la arquitectura del sistema

4.- integración y prueba del 4.- Planificación sistema

4.-Desarrollar del sistema

5.-Funcionamiento mantenimiento

5.- validar incrementos

y

incrementos

6.- validar sistema 7.- sistema final

36

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Elección: Modelo de Espiral: Combinación de lineal e iterativo. Debido a que es una combinación entre lineal e iterativo, tiene mucha más flexibilidad que el incremental y no es tan común como el lineal. Nos permite crecer junto con la aplicación sobre la nube.

4.6.3 Elección del tipo de seguridad en la nube El uso certificados SSL personalizados permite entregar contenido a través de HTTPS (Protocolo seguro de transferencia de hipertexto) lo que a su vez permite una comunicación autenticada y cifrada. Ya que se planea manejar la información referente a la nómina lo cual implica manejo de información personal, resulta totalmente necesario aplicar medidas de seguridad para mantener la integridad y confidencialidad de la información. Los principales proveedores en la nube cuentan con este servicio de certificados SSL como se muestran en la Tabla 7. Tabla 7 . Comparativa de proveedores que ofrecen certificados SSL y plataforma cloud.

Proveedor

certificados

Amazon

Certificados SSL personalizados $600 (por mes)

Google

SNI SSL certificates

$ 9.00 (por mes)

SSL Virtual IPs (VIPs)

$ 39.00 (por mes)

SSL SIN

$6,12 - $7,20/mes

SSL IP

$26,52 - $31,20/mes

Microsoft

Rackspace SSL Clusters

Costo USD

$20 por mes

Esta cotización fue extraída de las correspondientes páginas: 

Amazon (http://aws.amazon.com/es/cloudfront/pricing/),



Google (https://developers.google.com/appengine/pricing),

37

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).



Microsoft (http://www.windowsazure.com/es-es/pricing/details/web-sites/#ssl-connections)



Rackspace (http://www.rackspace.com/cloud/sites/pricing/)

Como se mencionó anteriormente, son proveedores que además ofrecen otros servicios como almacenamiento o base de datos para trabajar en la nube, Google cloud además de ofrecer seguridad ofrece también mejora en los servicios dependiendo el paquete (silver, gold y Premium) sin olvidar que cuenta con una versión gratuita (bronze). Tipos de servicio SSL que oferta Google App Engine (Tabla 8). Tabla 8 . Se muestran los dos tipos de servicios SSL que ofrece Google App Engine.

Recurso

Unidad

SNI SSL certificates

Costo del certificado por mes

Costo unitario

SSL Virtual IPs (VIPs) Certificado VIP costo por mes

$ 9.00 $ 39.00

“Server Name Indication (SNI) SNI es una característica que extiende SSL. Esta extensión permite que múltiples dominios compartan la misma dirección IP. Cuando un usuario visita un sitio SNI con un cliente que no admite SNI no podrán ver la página cuando se conecta a través de HTTPS. Virtual IP (VIP) Una dirección IP dedicada se asigna para su aplicación. Esto permite ser utilizado sin la extensión SNI y, como tal, funciona en cualquier navegador o sistema operativo que soporte SSL. Cada VIP sólo admite un certificado. La dirección IP virtual puede cambiar, por lo que los registros DNS A no debe ser utilizado.” [16] Elección: Para el desarrollo del proyecto y la realización de pruebas se ha contemplado utilizar el servicio “SSL certificates” siempre que los proveedores de la nube no realicen modificaciones a la información presentada en la tablas anteriores. Ya que los certificados básicos de SSL, cumplen con nuestro requerimiento de seguridad sin elevar el costo a cambio del beneficio de mantener segura la información de nómina. 38

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

4.6.4 Elección del Framework y lenguaje Solo algunos framework soportan trabajar en la nube y unos pocos fueron diseñados específicamente para trabajar en ella aunque esto depende también del proveedor que se haya seleccionado. Tabla 9 . Framework y lenguajes para Google App Engine.

Proveedor

lenguaje

Framework

Google App Engine

Python:

CherryPy, Pyramid,

(Google)

Flask, web2py, and webapp2. Django (requires workarounds), Java

--Apache Struts 1 -Struts 2 runs with workarounds

Go (Experimental) PHP

(en fase experimental)

De la Tabla 9 se observa que java aún presenta problemas en la utilización de framework (a excepción de Apache Struts 1) por lo que basándonos en el uso de framework la opción más viable es Python ya que cubre con los requerimientos del proyecto. App Engine ejecuta el código de aplicación Python usando un intérprete de Python pre cargado en un ambiente seguro "espacio aislado". Su aplicación recibe las peticiones Web, realiza un trabajo, y envía las respuestas mediante la interacción con este entorno. Una aplicación Web de Python interactúa con el servidor Web de App Engine mediante el protocolo WSGI (Gateway Interface Web Server es una simple especificación universal de interfaz), por lo que las aplicaciones pueden utilizar cualquier framework de aplicaciones Web 39

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

compatibles con WSGI. App Engine incluye un framework de aplicación web simple, llamado Webapp2. Cabe mencionar que Webapp2 es un framework nativo de Google App Engine por lo que fue diseñado específicamente para funcionar en la nube. Webapp2 es un framework Web Python ligero compatible con Google App Engine. También ofrece las webapp2_extras que es un paquete con varias utilidades opcionales: sesiones, localización, internacionalización, dominio y subdominio, enrutamiento, cookies seguras. Webapp2 también se puede utilizar fuera de Google App Engine, independientemente de la App Engine SDK. El framework Webapp2 ya está instalado en el entorno de App Engine y en el SDK, por lo que no es necesario un paquete con el código de aplicación para usarlo. Webapp2 es un framework que cuenta con soporte del proveedor del servicio seleccionado además se cuenta con una mayor documentación y experiencia en la nube soportado por Google cloud. El framework Webapp2 es ligero ya que permite crear rápidamente aplicaciones web sencillas para el tiempo de ejecución de Python 2.7. Además que es un framework que cuenta con mucha documentación en Google cloud. Elección: Con base al requerimiento de framework de estar diseñado para la nube y de realizar una comparación de varios de ellos se eligió un framework de desarrollo y por consecuencia el lenguaje. El framework seleccionado es Webapp2 y como consecuencia el lenguaje seleccionado fue Python.

4.7.5 Elección del gestor de base de datos. El único gestor de base de datos en la nube ofrecido por Google cloud es “SQL Cloud” y tiene las siguientes características: “Cloud Platform Google le proporciona potentes bases de datos, para que no se quede sin espacio, almacenamiento redundante y fiable que necesita. Genere e implemente en la nube rápidamente porque SQL cloud ofrece bases de datos estándar de MySQL, la base de datos de código abierto más popular del mundo. Instancias disponibles de hasta 16 GB de RAM, 500 GB de almacenamiento. 40

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

La opción de pago por uso hace que sea económica para empezar. Si se está ejecutando una base de datos utilizada a la ligera o de forma esporádica, se ahorrará dinero al pagar sólo por el tiempo que accede a sus datos. Seguridad, disponibilidad, durabilidad, copia de seguridad, y se cifra, por lo que es excepcionalmente seguro. Sus datos se replicarán en muchos lugares geográficos, y la conmutación por error entre ellos se maneja automáticamente. Esto significa que sus datos están seguros y su base de datos está disponible incluso en el caso de un fallo importante. También gestionamos copias de seguridad, por lo que es fácil para que usted pueda recuperar cuando sea necesario. Migración fácil; No Lock–in, Conexiones y herramientas como mySQLdump Estándar, Wire Protocol MySQL, y JDBC Maneja

y accede

a

las

instancias

a

través

de

la

consola

o

nube

API JSON.

Totalmente gestionado sin tener que preocuparse acerca de la replicación, administración de parches o de gestión de base de datos. Google ofrece dos planes de facturación para el Cloud SQL: Para los desarrolladores con más tráfico, tenemos planes de paquete. Para los desarrolladores con aplicaciones ligeras, ofrecemos un esquema de precios flexible "por uso". Usted sólo paga por el tiempo que acceder a sus datos.” [17] Elección única: SQL Cloud.

41

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

42

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

CAPITULO V. DESARROLLO E IMPLEMENTACIÓN

“El aprendizaje es experiencia, todo lo demás es información” Albert Einstein.

43

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

A continuación se presenta el desarrollo del sistema de gestión de nómina basado en cómputo en la nube.

5.1. Ejecución de pruebas de escritorio independientes 5.1.1. Descripción general del proyecto Todo proyecto en Google Cloud, consta de una serie de archivos base los cuales son necesarios para compilar dicho proyecto, el programa base para poder compilar los proyectos es Google App Engine, acompañado del soporte del framework seleccionado. Los archivos básicos del proyecto son: Nombre.yaml : En este archivo se coloca el nombre de la instancia (dominio) del proyecto para poder realizar la compilación y el deploy (subirlo a la nube) del proyecto Archivo.py: Se encuentra toda la información del framework con el cual se va a trabajar, aquí se implementa todo el proceso de análisis y diseño del sistema. Index.html: En este archivo se encuentra todo el código HTML y Java script que va a realizar las vistas y los cálculos correspondientes. Para poder hacer uso de un proyecto en Google Cloud es necesario contar con el siguiente software: 

Google App Engine.

Seleccionar el Run Time Enviroment (en este caso ocuparemos Phyton 2.7) 

Si se va a ocupar SQL Cloud es necesario instalar MySQL (la versión que se ocupó en el proyecto fue MySQL 5.5)

44

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

5.2. Programa Hola mundo en la nube Todo proyecto en Google cloud se compone principalmente de dos archivos, el primero con extensión .yaml y el segundo con extensión .py a continuación se describe el contenido de cada uno de ellos. 

Nombre.yaml

En este archivo en la primera línea debe de ir el nombre de tu dominio en el cual se alojará el proyecto en la nube en este caso borrar “your-app-id” y poner el nombre deseado. En la opción de Runtime es el lenguaje que se compilará con la versión correspondiente y si se desea se pueden agregar librerías que se ocuparán en la nube según el framework seleccionado. application: your-app-id version: 1 runtime: python27 api_version: 1 threadsafe: true handlers: - url: /.* script: helloworld.application

Al realizar la compilación este fue el código final: application: manual-tecnico-2015 version: 1 runtime: python27 api_version: 1 threadsafe: true handlers: - url: /.* script: helloworld.application



Nombre.py

Básicamente en este archivo se importa el framework seleccionado mediante una instancia de su clase y se escribe el contenido “Hola Mundo Cloud” para posteriormente hacer su correspondiente Deploy, el Deploy no es más que compilar el proyecto y subirlo a la nube. El contenido de este archivo es el siguiente: import webapp2 class MainPage(webapp2.RequestHandler): def get(self):

45

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

self.response.headers['Content-Type'] = 'text/plain' self.response.write('Hola Mundo Cloud') application = webapp2.WSGIApplication([ ('/', MainPage), ], debug=True)

Para hacer un deploy en Google Cloud y compilar en la nube, es necesario abrir el programa Google App Engine, localizar la carpeta donde se encuentra ubicado el proyecto y se le da click en el botón azul “Deploy”, posteriormente se escribe el e-mail y password de la cuenta vinculada a Google cloud y se le da click en el botón “Ok” para empezar a realizar la compilación en la figura 4 se muestra este proceso.

Figura 4. Proceso para realizar el deploy de una aplicación en Google Cloud.

Una vez que se ha realizado el proceso de deploy se obtiene el resumen de la compilación del proyecto, en la figura 5 se puede observar dichos resultados. Cabe notar que cuando no existe problema alguno se muestra el mensaje “Deployment Sucessful”. Se observará la salida mostrada en la figura 6.

46

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 5. Resultado de un Deployment exitoso.

Figura 6. Resultado Final del primer hola mundo en la nube.

5.3. Primer acercamiento para almacenar datos en la nube. En la figura 7 se muestra un primer programa el cual almacena datos que ingresa el usuario. Una vez que se accesa a la página principal e inicia sesión.

Figura 7. Ejemplo de libro de visitas que almacena en data store en el espacio de Gmail.

Posteriormente se puede empezar a usar el mini diario que almacena los datos en el data store que proporciona gratuitamente Google cloud. 47

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

A continuación se muestra el código con el cual se realizó el Deploy de este proyecto application: true-kite-622 version: 1 runtime: python27 api_version: 1 threadsafe: true handlers: - url: /.* script: guestbook.application libraries: - name: webapp2 version: latest codigo.py MAIN_PAGE_FOOTER_TEMPLATE = """\



Guestbook name:

%s

""" DEFAULT_GUESTBOOK_NAME = 'default_guestbook'

En el código se muestra el contenido del .yaml para| poder realizar el deploy del proyecto. Cabe mencionar que Google cloud datastore está totalmente administrado por Google, él se encarga automáticamente de la fragmentación y la replicación de datos. Cloud Datastore ajusta automáticamente la escala según las necesidades. Esto permite centrarse en crear la aplicación y olvidarse de la administración. Cloud Datastore proporciona transacciones ACID. La aplicación puede ejecutar varias operaciones de almacén de datos en una única transacción, que se ejecutarán correctamente o con errores en su totalidad, garantizando así la integridad de tus datos.

48

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 8. Se puede observar la diferencia entre escribir un comentario iniciando sesión pues aparece el nombre de la persona que lo escribió

5.4. Programa con la primera conexión con la base de datos SQL Cloud. Lo primero que se realizó en este programa fue instalar MySQL Server en la versión 5.5, posteriormente se procedió a acceder a la instancia en la nube de la base de datos por medio de la dirección IP que brinda Google Cloud y se creó una base de datos en esta direccion IP. También se puede observar que la consulta “show databases” es lo mismo que se muestra en el dominio de Google Cloud. Por lo que si se modifica la base de datos también se actualizará en dominio appspot. En la figura 9 se muestra el proceso que se llevó a cabo en consola:

49

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 9. Se observa el proceso de acceso a la base de datos en la nube.

El código con el cual se creó la tabla anterior se muestra a continuación: CREATE TABLE entries (guestName VARCHAR(255), content VARCHAR(255),entryID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(entryID)); INSERT INTO entries (guestName, content) values ("primera base de datos", "PT2 Upiita Telematica");

Y finalmente se puede observar el resultado en la consola en la figura 10:

Figura 10. Resultado de la creación de la base de datos en la nube visto desde la consola.

50

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

En la figura 11 se muestra el resultado visto desde la nube:

Figura 11. Resultado de la primera conexión con la base de datos en la nube.

5.5. Programa que hace uso de formularios en la nube En este ejemplo se tiene como finalidad implementar un formulario en la nube, ya que será de gran utilidad en el sistema deseado. El formulario consiste básicamente en ingresar datos para posteriormente poder guardarlos en el data store que ofrece Google cloud y finalmente nos regresa como resultado el texto escrito. El código de implementación es el siguiente: import cgi from google.appengine.api import users import webapp2 MAIN_PAGE_HTML = """\







""" class MainPage(webapp2.RequestHandler): def get(self): self.response.write(MAIN_PAGE_HTML) class Guestbook(webapp2.RequestHandler): def post(self): self.response.write('Tu escribiste:') self.response.write(cgi.escape(self.request.get('content'))) self.response.write('') application = webapp2.WSGIApplication([

51

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

('/', MainPage), ('/sign', Guestbook), ], debug=True).

A continuación en la figura 12 se muestra el resultado de la primera prueba ocupando el código HTML dentro del propio framework.

Figura 12. Primera prueba usando HTML dentro del framework.

En el código anterior se implementó el uso de formularios en la nube, cabe destacar que el código HTML está en el framework Webapp2 en la nube, existen dos maneras diferentes de poder implementar el código HTML en el framework seleccionado, uno de ellos es dentro del propio framework y el otro es leer el código de otro archivo, el resultado final se puede observar en la figura 13 así como también en el link mostrado.

Figura 13. Resultado del libro de visitas.

5.6. Programa que hace uso de servicios del usuario Gmail en la nube Este es un servicio que ya ofrece Google integrando la nube con una cuenta de Gmail. Nota: Para hacer uso de este servicio que provee Google cloud es necesario iniciar sesión en la cuenta de Gmail una vez hecha esta aclaración los resultados son los siguientes:

52

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Si el usuario no ha iniciado sesión lo direcciona al inicio de sesión, como se muestra en la figura 14:

Figura 14. Uso de servicios de Google cloud a través de Gmail.

Si el usuario ya inicio sesión en su Gmail entonces le da el mensaje de bienvenida al usuario como se muestra en la figura 15.

Figura 15. Muestra el inicio de sesión ocupando la cuenta Gmail.

El código de implementación se muestra a continuación: class MainPage(webapp2.RequestHandler): def get(self): # [START get_current_user] # Checks for active Google account session user = users.get_current_user() # [END get_current_user] # [START if_user] if user: self.response.headers['Content-Type'] = 'text/plain' self.response.write('Bienvenido, ' + user.nickname()) # [END if_user]

53

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

# [START if_not_user] else: self.redirect(users.create_login_url(self.request.uri)) # [END if_not_user]

Básicamente en este código se le da la bienvenida al usuario que ha iniciado sesión en su Gmail para hacer uso de los servicios en Google cloud. En dado caso de que no se haya iniciado la sesión del usuario se direcciona a la página principal de inicio de sesión en Gmail.

5.7. Programa que hace uso de plantillas En un primer acercamiento con el framework Webapp2 se aprendió que el código HTML puede leerse sin ningún problema dentro del código del propio framework, pero existe una manera en la cual se puede leer el código HTML dentro de otro archivo con su propia extensión, es decir el framework puede leer código HTML ubicado en otro archivo. La principal ventaja de leerlo externamente es la facilidad de mantener el código HTML separado, es mucho más práctico utilizar un sistema de plantillas, donde el HTML se guarda en un archivo separado con una sintaxis especial para indicar dónde aparecen los datos. Google Cloud en su framework Webapp2 brinda una herramienta para poder leer código HTML fuera del framework y esta herramienta hace el uso de plantillas y se llama: Jinja2. 5.7.1. Uso de plantillas Jinja2 Para hacer uso de las plantillas Jinja2 lo primero que se debe modificar son las librerías en la sección del .yaml agregando el nombre de la librería de la cual se hará uso. application: your-app-id version: 1 runtime: python27 api_version: 1 threadsafe: true handlers: - url: /.* script: guestbook.application # [START libraries] libraries: - name: webapp2 version: latest - name: jinja2 version: latest # [END libraries]

54

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Después de haber realizado este cambio, al volver a cargar la página, el usuario final sigue viendo el mismo resultado, con la diferencia que el código HTML es cargado desde un archivo externo al framework. La plantilla utiliza la sintaxis de plantillas Jinja2 para acceder a los valores, y puede referirse a las propiedades de éstos. En muchos casos, se pueden pasar objetos de modelo de almacén de datos directamente como valores, y acceder a sus propiedades a partir de plantillas. Una aplicación de App Engine tiene acceso a todos los archivos cargados en el proyecto, y a los módulos de la biblioteca. El directorio de trabajo actual es el directorio raíz de la aplicación, por lo que el camino hacia la página principal es simplemente index.html. La mayoría de las aplicaciones web tienen que servir contenido estático, imágenes, hojas de estilo CSS o archivos JavaScript. A continuación se muestra el código con el cual el framework lee el index.html. template = JINJA_ENVIRONMENT.get_template('index.html') self.response.write(template.render(template_values)) # [END main_page]

Se debe recordar que el uso de plantillas es facilitado por Jinja2 el cual permite guardar el código HTML independientemente de la aplicación en el proyecto.py Cualquier persona puede entrar y escribir sus comentarios sin necesidad de iniciar sesión como puede observarse en la figura 16.

Figura 16. Se puede observar cómo se puede acceder a este formulario y cualquier persona puede escribir lo que quiera.

55

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Una vez que se ingresa y se inicia sesión se reinicia la ventana para poder escribir de nuevo, en la figura 17 se puede observar esta descripción de nuevo pero ahora leyendo el código HTML fuera del framework Webapp2.

Figura 17. Se puede apreciar la diferencia entre un mensaje anónimo y un mensaje iniciando sesión de usuario.

Cabe notar que si el usuario invitado no ha iniciado sesión, aún así puede emitir sus comentarios. También se puede visualizar que al iniciar sesión y escribir nuevamente se identifica al usuario que ha escrito dicho mensaje. Como dato importante cabe mencionar que al cambiar el nombre se reinicia la conversación.

5.8. Programa que hace uso de archivos estáticos. Se puede reutilizar el código anterior ya que se le agregarán archivos estáticos como lo son las hojas de estilo CSS, lo cual será muy útil en el prototipo ya que se podrá contar con estilos en el software. 5.8.1. Uso de archivos estáticos Las imágenes, hojas de estilo CSS, el código JavaScript, se consideran archivos estáticos y se pueden incluir en el App Engine ya que puede servir archivos específicos directamente sin tener que codificar su propio manejador. 56

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Lo anterior con la finalidad de cargar el archivo main.css el cual será la hoja de estilo, el resultado final se puede visualizar en la figura 18 la cual ya tiene añadido una hoja de estilo CSS.

Figura 18. Se puede observar que se añadió estilo CSS al ejercicio anterior.

5.9. Implementación de la sección de comentarios Al combinar Google data store y el uso de plantillas con el framework en la nube,

ahora

simplemente se integra dicho conocimiento para poder realizar la sección de comentarios del sistema de gestión de nómina en la nube. Tomando como base el uso de plantillas en la nube se configura para que pueda ocupar el Google data store para ello se realizó primeramente la interfaz en código HTML, posteriormente se guarda la información en el data store. A continuación se muestra el código en el .yaml el cual permite realizar el deploy del proyecto: application: omega-fabric-650 version: 1 runtime: python27 api_version: 1 threadsafe: yes handlers: - url: /favicon\.ico static_files: favicon.ico upload: favicon\.ico - url: /static

57

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

static_dir: static - url: .* script: main.app libraries: - name: webapp2 version: "2.5.1"

Cabe notar que la sección de comentarios ya incluye el uso de CSS. Ademas. Se puede observar que se importaron las librerías: db, templates y util, a continuación se muestra el código de importación: import webapp2 from google.appengine.ext.webapp import util, template from google.appengine.ext import db

El administrador de la sección de comentarios puede emitir anuncios para que todos los usuarios de cualquier sucursal y estos puedan visualizarlo y emitir una pequeña respuesta. Al realizar el Deploy de la aplicación se observa que se le dió formato con colores e imágenes alusivos a la empresa. Si se quiere realizar algún comentario se le debe de dar clic en “Agregar nuevo contenido” como se muestra en la figura 19 se le puede agregar el título y el contenido deseado.

Figura 19. Se puede apreciar la ventana principal de la sección de comentarios.

Se puede apreciar en la figura 21 la pantalla para poder

escribir algún comentario como

administrador:

58

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 20. Sección de comentarios.

Figura 21. El dueño puede publicar el anuncio deseado con su respectivo título y contenido.

Una vez que se publica se pueden observar todos los comentarios anteriores como se muestra en la figura 22 se puede editar, borrar y ver dichas publicaciones.

Figura 22. Pantalla general del administrador con sus comentarios realizados.

Finalmente el usuario que pertenece a un mismo dueño de una empresa con varias sucursales puede visualizar los comentarios que se han emitido hasta el momento. 59

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 23. Sección de comentarios de los empleados.

Finalmente los empleados de diferentes sucursales podrán visualizar los anuncios emitidos por el dueño de una empresa con varias sucursales.

5.10. Desarrollar el formato de nómina, implementar operaciones de la nómina y validación de formularios Se procedió a pasar en código HTML el formato de nómina, esto con el fin de dejar listo todo para implementar operaciones de la nómina, una vez realizado el formato de la nómina en HTML se realizó la implementación de las operaciones que conlleva la nómina ocupando Java Script, en la figura 24 se puede observar cómo está la plantilla básica para obtener los datos de la nómina y posteriormente realizar los cálculos correspondientes.

60

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 24. Plantilla de nómina básica.

Este es un ejemplo de código en java script que se implementó para poder realizar el cálculo de las operaciones de la nómina en este caso se calcula el sueldo antes de impuestos: var operando81 = document.cvsb.vsb.value var operando82 = document.cvsb.septimodia.value var operando83 = document.cvsb.bonos.value var operando84 = document.cvsb.tiempoextra.value var operando86 = document.cvsb.imss.value var operando87 = document.cvsb.fondodeahorro.value var operando88 = document.cvsb.pensionalimenticia.value var operando89 = document.cvsb.infonavitofoviste.value var operando810 = document.cvsb.ajuste.value var result81 = eval(operando81+'+'+operando82+'+'+operando83+'+'+operando84+'+'+operando 810) > document.cvsb.sueldoantesdeimpuestos.value = result83

Una vez que se han implementado todas las operaciones correspondientes a la nómina como lo son: (Percepciones: sueldo bruto, tiempo extra, bonos, facto de ajuste. Deducciones: Infonavit, Cuota IMSS, fondo de ahorro e impuestos). Se procede a validar los campos numéricos para que sólo acepten números, así como también garantizar que termine el proceso final del cálculo de una nómina, si algún campo está vacío o incompleto no se podrá terminar el cálculo final de la nómina. A continuación se muestra el código de una función de java script que realiza la validación de que los campos no estén vacios. function valida7(f) { var ok = true; var msg = "Debes escribir algo en los campos:\n"; var msg2 = "Los calculos se han guardado correctamente:\n"; if(f.templeados.value == "") { msg += "-Total de empleados\n"; ok = false; }

En la figura 25 se puede apreciar como si algún dato no se ha llenado correctamente no procede el término del cálculo de la nómina correspondiente.

62

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 25. Validación de campos no vacíos en el cálculo de la nómina.

5.11. Desarrollar sesiones de usuario El primer paso consiste en dar de alta la instancia de SQL cloud en la nube con la IP del equipo que se conectara a SQL cloud como se muestra en la figura 26.

63

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 26. Panel de SQL Cloud para dar de alta una dirección IP.

Posteriormente se accede a la base de datos por medio de la consola una vez dada de alta la dirección IP, el procedimiento se observa en la figura 27.

Figura 27. Conexión con la base de datos en la nube.

64

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 28. Se ingresan los datos en el sistema para iniciar sesión.

Si el usuario ingresa bien los datos se confirma la información y se le da una bienvenida, con esto en la figura 29 se comprueba que ha iniciado sesión correctamente.

Figura 29. Inicio de sesión correcto.

Se agregan usuarios no registrados al sistema, en la figura 30 se inicia dicho proceso:

Figura 30. Registro de un nuevo usuario en la base de datos.

Finalmente en la figura 31 se puede observar en consola la información actual de la base de datos.

65

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 31. Imagen en consola de las actuales de la base de datos.

66

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

CAPÍTULO VI. PRUEBAS Y RESULTADOS “¿Qué sabe el pez del agua donde nada toda su vida?” Albert Einstein

67

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

A continuación se presentan las pruebas y resultados para la gestión nómina, basado en cómputo en la nube.

6.1 Pruebas de desempeño Google cloud es accesible y escalable ya que permite cambiar parámetros como la cantidad de memoria RAM o el almacenamiento en disco duro según las necesidades del sistema, también brinda un resumen con datos de interés para el sistema, a continuación se muestran tales gráficas con el siguiente escenario de prueba: 2 propietarios registrados cada uno de ellos con 2 empresas, cada empresa con 2 sucursales y cada sucursal con 5 empleados, gestionando la nómina y asistencia de cada empleado. En la consola principal de Google cloud se muestran 4 graficas que son las siguientes: 

Resumen de solicitudes que recibe appEngine.



Almacenamiento utilizado en SQL cloud.



Errores de código.



Operaciones de lectura y escritura.

En la figura 32 se muestra el resumen de solicitudes por un determinado tiempo (día, semana, mes) que recibe appEngine (dominio donde se encuentra alojado el sistema) en la nube, es decir, muestra la cantidad de solicitudes que recibe el sistema por el tiempo seleccionado.

68

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 32. Grafica que brinda Google cloud sobre la cantidad de solicitudes que se reciben.

A su vez SQL cloud brinda el tamaño total en almacenamiento de la base de datos hasta el momento en la figura 33 se muestra la gráfica correspondiente.

Figura 33. Almacenamiento utilizado en SQL cloud.

69

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

La plataforma de Google cloud hace un gráfico correspondiente a los errores que llegan a ocurrir en el código del sistema en la nube (bug) denominados errores por código de estado, en la figura 34 se muestra la gráfica correspondiente.

Figura 34. Grafica de errores por código de estado.

Finalmente la consola principal del proyecto muestra la cantidad de operaciones lectura o escritura que ha tenido el sistema en los últimos días en la figura 35 se muestra la gráfica correspondiente.

Figura 35. Grafica de operaciones de lectura o escritura que ha tenido el sistema.

70

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

También existe un apartado que muestra los cargos del mes y se desglosan los costos que lo conforman.

Figura 36. Cargos del mes correspondientes al uso de la base de datos.

También brinda información de la instancia en la cual está corriendo el sistema en la nube.

Figura 37. Información técnica de la instancia en la cual está corriendo la aplicación en la nube.

Si el sistema llegará a necesitar más almacenamiento o memoria RAM fácilmente se puede configurar en este apartado. Al entrar al ID de la instancia se muestra el resumen con los datos actuales.

71

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 38. Resumen de las propiedades del proyecto actual.

Pero estos datos se pueden editar a continuación en la figura 39 se muestra como fácilmente se le puede agregar memoria RAM al sistema. Dependiendo de la cantidad de memoria RAM que se elija es el costo y este se cobra por hora o por día y todos los precios están en dólares americanos. Igualmente se puede configurar el horario de las copias de seguridad de las bases de datos, así como la política de activación del sistema en la nube esta puede ser a demanda, siempre activa o no activa en la figura 40 se muestran tales parámetros.

Figura 39. Se le puede agregar memoria RAM al sistema fácilmente y su cobro es por uso de horas o por día.

72

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 40. Se puede elegir el horario de la copia de seguridad de la base de datos, así como su política de activación y replica de sistemas de archivos.

Como nota importante cabe mencionar que para que funcione SQL cloud es necesario vincular el proyecto a una tarjeta de crédito ya que es de ahí donde cada vez se hará el cobro correspondiente.

6.2 Esquema de validación Validaciones del sistema: En esta sección se realizó una evaluación al sistema con un escenario de pruebas (2 propietarios registrados cada uno de ellos con: 2 empresas, cada empresa con 2 sucursales y cada sucursal con 5 empleados, gestionando la nómina y asistencia de cada empleado obteniendo sus reportes correspondientes). Para verificar que el sistema cumple con el objetivo principal del proyecto (Desarrollar un sistema enfocado a las PyMEs para llevar la gestión de nóminas sobre sus

73

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

empleados, basado en cómputo en la nube), se realizó el escenario de pruebas previamente descrito obteniendo como resultado los reportes de nómina y asistencia de cada empleado en formato PDF. Para observar el proceso de obtención de dichos reportes podemos dirigirnos a la sección 6.3 de resultados finales del presente documento (si se desean aún más detalles favor de visitar el manual de usuario del sistema, dividido por sesiones el cual está en el anexo digital de este documento), también con el mismo escenario de pruebas se realizaron las pruebas de desempeño presentes en la sección 6.1 de este documento. A continuación se presentan las validaciones que hace el sistema: E-mail, numérica, RFC, CURP, número correspondiente al seguro social, código postal, guardado automático en mayúsculas en la base de datos al llenar formularios por mencionar algunas, a continuación se muestran tales validaciones: Nota importante: No en todos los navegadores se visualizan todas las validaciones, algunos navegadores no actualizados aún no soportan todas las funciones del sistema, sin embargo de todos los navegadores el que se utilizó para las pruebas fue Chrome. 

E-mail: se debe de contar con el símbolo @ para que la información sea aceptada como correo electrónico.

Figura 41. Mensaje de validación de correo electrónico.



Numérico: El sistema tiene campos como por ejemplo el salario por hora en el cual únicamente acepta campos numéricos.

Figura 42. Validación numérica en el sistema.

74

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).



CURP: El sistema verifica el formato correcto del CURP ya que consta de 4 caracteres [AZ], 6 caracteres [0-9], 6 caracteres [A-Z] y 2 caracteres [0-9]. Si dicho formato no se respeta el sistema muestra el siguiente mensaje.

Figura 43. Mensaje de error al no cumplir con el formato del CURP.



RFC de la empresa: El sistema verifica el formato del RFC de la empresa el cual consta de 3 caracteres [A-Z], 6 caracteres [0-9] y 3 caracteres [A-Z] en dado caso en el cual no se respete dicho formato el sistema muestra el siguiente mensaje.

Figura 44. Mensaje de error al no cumplir con el formato de RFC.



Al no respetar el máximo de horas a trabajar en el día (8 horas) el sistema muestra el siguiente mensaje :

Figura 45. Mensaje mostrado al ingresar un número mayor al número de horas laborales por día.

75

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Registro patronal IMSS/ISSSTE: El número correspondiente a la seguridad social del trabajador está compuesto por 11 dígitos, en caso de que no se respete dicho formato el sistema muestra el siguiente mensaje:

Figura 46. Mensaje mostrado al no cumplir con la cantidad de dígitos para el registro patronal para el seguro del trabajador.



Código postal: El formato del código postal únicamente acepta como máximo 5 dígitos.

Figura 47. El código postal solo acepta como máximo 5 dígitos.

Finalmente se valida la lada (acepta máximo 3 dígitos), número telefónico (acepta máximo 8 dígitos), extensión (acepta máximo 4 dígitos), celular (acepta máximo 10 dígitos) y fax (acepta máximo8 dígitos).

76

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 48. Validación del número telefónico con su respectiva lada y extensión, así como el número de celular y fax.

77

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

6.3. Resultados finales 6.3.1. Funcionamiento del sistema por sesiones El sistema de gestión de nóminas en la nube consta de 4 sesiones: 

Sesión del proveedor SaaS: Esta sesión le pertenece al proveedor del servicio en la nube y le ayuda a gestionar los propietarios de las empresas, salarios mínimos y cantidad de trabajadores por empresa.



Sesión del propietario: Esta sesión le permite al dueño dar de alta una o varias empresas y cada empresa puede dar de alta una o más sucursales, cada sucursal tiene a su respectivo encargado de Recursos Humanos, también podrá consultar sus reportes.



Sesión de Recursos Humanos: Esta sesión le permite al personal de Recursos Humanos tener el control de la asistencia, poder gestionar la nómina de los empleados y de hacer los cálculos anuales obligatorios (Aguinaldo, utilidades…) que la norma mexicana exige en la actualidad.



Sesión de empleado: Esta sesión le permite al empleado poder consultar sus reportes de nómina y de asistencia así como leer los mensajes que recursos humanos pueda llegar a publicar.

NOTA: Para una mayor comprensión en el uso del sistema de gestión de nóminas se ha elaborado un manual de usuario dividido por sesiones que se encuentra en el anexo digital de este documento. En este apartado se describirán los resultados finales del procesamiento de la nómina en las sesiones de Recursos Humanos y Empleado. A continuación se muestran pruebas realizadas al sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa debido a que el proyecto se encuentra en la nube es necesario acceder al dominio donde se encuentra alojado, la vista principal del proyecto es la siguiente: En la página principal se puede ingresar al sistema por medio de sesiones según sea el cargo que desempeña cada usuario del sistema, en la figura 50 se muestran dichos accesos al sistema para proceder a registrar un nuevo propietario de una PyME.

78

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

6.4. Sesión de Recursos Humanos

Figura 49. Vista principal del Sistema de Gestión de Nóminas en la nube para PyMEs.

Figura 50. Menú principal para el registro de un nuevo propietario de una PyME.

Para que el sistema pueda funcionar es necesario que un propietario de una PyME se registre en el sistema, por lo que es necesario entrar en la opción registrarse de la pantalla inicial, en la figura 51 se muestra los datos de su registro.

79

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 51. Formulario para el registro de un nuevo propietario.

Una vez registrado, se recibirá un correo electrónico en su e-mail dándole la bienvenida al sistema, en la figura 52 se puede observar dicho e-mail.

Figura 52. E-mail recibido después de su registro exitoso.

Una vez que el dueño ya se registró y dió de alta una o más empresas, cada empresa tiene una o más sucursales (cada sucursal tiene su correspondiente departamento de Recursos Humanos) y cada sucursal tiene uno o más empleados.

80

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Importante: Para poder acceder a esta sesión es necesario que el Propietario de la empresa haya dado de alta al encargado de Recursos Humanos de la sucursal correspondiente. Una vez hecho la aclaración anterior se ingresa a la sesión de Recursos Humanos, en la figura 53 se muestra el menú principal. El primer trabajo que tiene el Departamento de Recursos Humanos es registrar a sus empleados de su respectiva sucursal, en la primera opción de su menú principal (Empleados) se puede encontrar el registro.

Figura 53. Menú principal de la sesión de Recursos Humanos.

6.4.1. Alta empleado El registro del empleado involucra varios datos importantes para el cálculo de la nómina

a

continuación en la figura 54 se muestra la plantilla para registrar un alta de empleado. Es importante mencionar que una vez registrado el empleado ya puede iniciar sesión en su respectiva Sesión.

81

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 54. Dar de alta un empleado.

6.4.2. Administrar Asistencia La segunda opción en el menú principal de la sesión de Recursos Humanos es la de gestionar asistencia en esta opción se toma la asistencia diaria de cada uno de los trabajadores de cada sucursal, en la figura 55 se observa la opción para poder tomar las asistencias.

Figura 55. En la opción de administrar asistencia esta la opción de tomar asistencia.

La pantalla principal para tomar asistencia se muestra a continuación en la figura 56. 82

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 56. Pantalla para poder tomar asistencia.

Como se puede observar al tomar asistencia esta debe de estar dentro del periodo que dió de alta el propietario de la empresa y se le puede poner al empleado una de 4 opciones: Asistencia, Falta, Retardo y Justificado. En caso de haberse equivocado existe le opción de editar asistencia. En la opción de consultar asistencia esta también puede editarse.

Figura 57. Dentro de la opción consultar Asistencia se puede editar.

A continuación en la figura 58 se muestra la pantalla correspondiente para poder editar la asistencia de un empleado. 83

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 58. Editar Asistencia

La tercera opción del menú principal de la sesión de Recursos humanos es la de procesar la nómina, la cual hará todo el cálculo basado en los días de asistencia o justificados, para ello deben haberse registrado varios días de asistencia.

6.4.3. Procesar Nómina A continuación se va a proceder a procesar la nómina en la figura 59 se muestran los primeros datos al procesar la nómina.

Figura 59. Datos básicos para procesar la nómina.

En esta misma página de procesar la nómina se incluyen datos extra que modifican dicho pago como lo son los bonos, en la figura 60 se muestra los bonos (percepciones) extra que puede recibir un trabajador.

84

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 60. Bonos (percepciones) que incluye el concepto de nómina.

Posteriormente se realiza la suma de las percepciones en la figura 61 se muestran dichos campos.

Figura 61. Total de percepciones por concepto de nómina.

Posteriormente de calcular todas las percepciones se procede al cálculo de las deducciones, en la figura 62 se muestra dicha parte del formulario.

85

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 62. Deducciones de la Nómina.

Una vez ingresadas todas las percepciones y todas las deducciones se procede al cálculo del sueldo bruto, es decir el sueldo antes de impuestos, es importante mencionar que se debe ingresar el porcentaje de impuestos para que se pueda obtener el sueldo neto, en la figura 63 se muestra parte del formulario que realiza este cálculo.

Figura 63. Calculo de sueldo antes de impuestos y sueldo neto.

Finalmente se guarda el cálculo de procesar la nómina. 86

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

6.4.4. Reporte de nómina Para poder generar el Reporte correspondiente de asistencia y de nómina se debe ingresar en el menú principal en la opción: Empleados después en la opción Gestionar empleado y finalmente en la opción Gestionar Reportes. En la figura 64 se muestran las opciones de Gestión de Reportes.

Figura 64. Dentro de la opción gestionar empleado se pueden obtener los reportes de nómina y asistencia.

Después de entrar en la opción de gestionar empleado se ingresa en la opción de gestionar reportes. En la figura 65 se muestra la pantalla de gestionar reportes que es la que nos permitirá generar los reportes correspondientes en Formato PDF.

Figura 65. Gestión de reportes para generar el reporte en PDF.

87

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Al darle clic en la opción reporte de nómina nos manda a la opción: Consultar Reporte de nómina el cual nos permite obtener el pdf correspondiente como se muestra en la figura 66.

Figura 66. Reporte de nómina en formato PDF.

6.4.5. Reporte de asistencia Para poder generar el reporte de asistencia se debe seguir el siguiente procedimiento: En la sesión de Recursos humanos en la opción: Empleados, Gestionar empleado, gestionar reportes y en la opción generar reporte de asistencia por empleado, en esta opción se genera y se guarda dicho reporte. Para poder visualizarlo en la opción Gestión de Reportes, reporte de asistencia se puede observar su pdf correspondiente mostrado en la figura 67.

88

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 67. Reporte de asistencia mostrado en formato PDF.

6.4.6. Ver anuncios del propietario Esta opción permite visualizar los mensajes que emitió el propietario de la empresa al departamento de Recursos Humanos, a continuación en la figura 68 se muestra el anuncio que emitió el propietario a este departamento.

Figura 68. Anuncio que emitió el propietario a su departamento de Recursos Humanos.

6.4.7. Publicar anuncios a empleados Así como el propietario puede emitir anuncios a su departamento de Recursos Humanos, este departamento también puede emitir anuncios a los empleados de su sucursal. En el menú principal de esta sesión en la opción publicar anuncio a empleados se pueden enviar dichos mensajes.

89

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 69. Mensaje que emite Recursos humanos a sus empleados.

6.4.8. Procesos Anuales (Aguinaldo, Reparto de Utilidades) Para poder calcular procesos anuales es necesario ingresar en la opción empleados del menú principal, después en la opción gestionar empleado, procesos anuales y calcular procesos anuales. En la figura 70 se muestra la primera parte del formulario que calcula los procesos anuales.

Figura 70. Primera parte del formulario para calcular los procesos anuales.

Posteriormente se encuentran los campos correspondientes a fondo de ahorro, reparto de utilidades, aguinaldo y vacaciones (figura 71).

90

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 71. Estos son los conceptos con los cuales se hacen los procesos anuales.

Posteriormente se realizan los cálculos correspondientes para así obtener el total de percepciones en la figura 72 se muestra parte del formulario.

Figura 72. Calculo de procesos anuales y total de percepciones.

91

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Finalmente se muestran las deducciones y el total a percibir en el proceso anual (figura 73).

Figura 73. Deducciones y total a recibir por el proceso anual.

Estos cálculos se guardan y se pueden visualizar en formato PDF. Para poder visualizarlo en formato PDF es necesario entrar en el menú principal opción empleados, seleccionar empleado, gestionar empleado, gestionar reportes y darle clic en la opción reporte proceso anual, finalmente lo podemos crear y ver en formato PDF como se muestra en la figura 74.

Figura 74. Reporte generado en formato PDF correspondiente a procesos anuales.

6.4.9. Finiquito Para poder calcular el finiquito se debe ingresar desde el menú principal en la opción empleados, gestionar empleado, eliminar empleado y elegir la opción calcular finiquito, en la figura 75 se muestra la primera parte del formulario correspondiente al finiquito.

92

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 75. Calculo del finiquito, primera parte del formulario.

En la figura 76 se muestra el cálculo final correspondiente al finiquito.

Figura 76. Calculo Final correspondiente al finiquito.

Después de realizar el cálculo del finiquito este se debe guardar para poder generar el reporte correspondiente.

93

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 77. Mensaje correspondiente a que se ha guardado exitosamente el cálculo del finiquito.

Para poder visualizarlo en formato PDF es necesario entrar en el menú principal opción empleados, seleccionar empleado, gestionar empleado, gestionar reportes y darle clic en la opción reporte finiquito, finalmente lo podemos crear y ver en formato PDF como se muestra en la figuras 78 y 79.

Figura 78. Consultar reporte del finiquito antes de guardarlo en PDF.

Figura 79. Reporte del Finiquito en formato PDF.

94

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

6.4.10. Liquidación Para poder calcular la liquidación se debe ingresar desde el menú principal en la opción empleados, gestionar empleado, eliminar empleado y elegir la opción calcular liquidación, en la figura 80 se muestra la primera parte del formulario correspondiente a la liquidación.

Figura 80. Primera parte del formulario para calcular la liquidación.

Figura 81. Calculo de la liquidación.

95

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Después de darle clic en el botón se hace el cálculo correspondiente a la liquidación. En la figura 81 se muestra el resultado del cálculo de la liquidación. Después los cálculos se guardan para poder visualizarlos en formato PDF.

Figura 82. Calculo guardado satisfactoriamente.

Para poder visualizarlo en formato PDF es necesario entrar en el menú principal opción empleados, seleccionar empleado, gestionar empleado, gestionar reportes y darle clic en la opción reporte liquidación, finalmente lo podemos crear y ver en formato PDF como se muestran en las figuras 83 y 84.

Figura 83. Total de liquidación antes de guardarlo en formato PDF.

96

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 84. Reporte de liquidación en formato PDF.

6.5. Sesión de Empleado 6.5.1. Visualización de Reportes En la figura 85 se muestra el menú principal de la sesión de empleado.

Figura 85. Menú principal de la sesión de Empleado.

97

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

El empleado en su sesión puede ver los reportes generados por el departamento de Recursos humanos, en el menú principal en la opción reportes se pueden ver dichos reportes en formato PDF, en las figuras 86 y 87 se muestra el reporte de si finiquito.

Figura 86. Reporte del finiquito antes de guardarlo en formato PDF.

Figura 87. Reporte en formato PDF que el empleado puede descargar, guardar o imprimir.

6.5.2. Editar información de empleado. El empleado puede editar su información básica como se muestra en la figura 88.

98

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 88. Editar información básica del empleado.

El empleado también puede editar su contraseña tal como se muestra en la figura 89.

Figura 89. El empleado puede cambiar su contraseña inicial.

6.5.3. Ver anuncios de Recursos Humanos. Finalmente el empleado puede ver los mensajes emitidos por su departamento de Recursos Humanos, en la figura 90 se muestran dichos anuncios.

99

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Figura 90. Anuncios emitidos por Recursos humanos hacia sus empleados.

100

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

101

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

CONCLUSIONES “Sólo sé que no sé nada” Sócrates

102

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Se desarrolló un sistema orientado a PyMEs para llevar a cabo la gestión de nóminas sobre sus empleados, basado en cloud computing (Infrastructure as a Service “IaaS ó HaaS”), Platform as a Service “PaaS”, Software as a Service “SaaS”), contando con certificados Secure Sockets Layer (SSL), haciendo uso de SQL cloud en la base de datos, el proveedor del servicio fue (Google Cloud), el cual brindo las primeras dos capas de la nube (IaaS y PaaS), como IaaS proporciona la infraestructura ( Recursos de hardware) ubicada en Groenlandia, como PaaS proporciona Google AppEngine que es toda la herramienta de desarrollo para poder compilar y hacer el deploy de la aplicación (subirla a la nube) para finalmente ofrecerla como SaaS. El cómputo en la nube es un modelo de negocio que permite ofrecer el software como servicio, a simple vista una aplicación Web y el software como servicio no tienen diferencias ya que la arquitectura de la nube es transparente para el usuario, aunque a diferencia de una aplicación Web en el computo en la nube se tiene uso dinámico de recursos de hardware. Es importante mencionar que este modelo de negocio es flexible ya que permite adaptar las necesidades del hardware según se necesite (dinámico), por mencionar un ejemplo podemos pasar de 512 Mb de RAM a 15 Gb de RAM con tan solo un par de clics y así poder ocupar el sistema determinado tiempo para posteriormente regresarlo a 512 Mb de RAM nuevamente con unos clics, así como el mantenimiento de este tipo de sistemas es sencillo ya que no es necesario instalarlos en cada computadora o centro de datos de cada empresa, ya que los usuarios pueden acceder al sistema desde diferentes lugares, sin embargo, la disponibilidad del sistema depende del acceso a internet. El proveedor del servicio en este caso Google cloud brinda tutoriales de diferentes lenguajes soportados en su plataforma: Phyton, Java, Php y Go aunque actualmente está limitado a los cuatro lenguajes mencionados anteriormente. En lo referente a la aplicación creada se automatizó el proceso de cálculo de las nóminas, asistencia, finiquito y liquidación lo cual permite agilizar el proceso de obtención de cada una de ellas, así como sus reportes correspondientes.

Trabajo a futuro Este proyecto está basado en las leyes mexicanas por lo que puede ser totalmente comercial, se podrían incorporar módulos, haciéndolo cada vez más completo frente a los nuevos requerimientos electrónicos que la ley establece. Actualmente calcula la nómina y la asistencia pero bien podría crecer hasta brindar facturas electrónicas y ejecutar de manera automática los requerimientos que la 103

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Secretaria de Hacienda y Crédito Público (SHCP) vaya solicitando a las pequeñas y medianas empresas, así como también a grandes empresas. También se pueden desarrollar otros tipos de sistemas como por ejemplo para el cálculo de impuestos, etc… Finalmente este proyecto también puede ser la base de un emprendedor para iniciar su propio negocio.

Aportaciones Gracias a este proyecto se logró desde hacer un hola mundo en Google cloud hasta gestionar la nómina y asistencia de las PyMEs en la nube, cualquier persona que así lo requiera puede consultar esta documentación con el objetivo de hacerle más fácil la implementación de cualquier otro proyecto en la nube ocupando Google cloud obteniendo las ventajas que la nube le brinda en este nuevo modelo de negocio.

Áreas de oportunidad Gracias a este proyecto ganamos experiencia profesional en el campo de la programación y conocer todo el proceso de la realización de un sistema, desde su análisis, diseño, desarrollo, implementación y corrección de errores. También somos pioneros en el uso de las nuevas tendencias del cómputo en la nube lo que permite emprender un negocio propio. Experiencias del equipo aprendidas en este proyecto: Durante este año de trabajo en el Proyecto Terminal se cumplió el objetivo principal, nos llevamos el más grande de los aprendizajes: aprendimos a aprender, en la escuela no se aprende todo y menos en tecnología pero aprendiendo a aprender se puede lograr cualquier conocimiento para poder resolver cualquier problema en la vida profesional. Es muy es importante mencionar que gracias a nuestra preparación interdisciplinaria en esta unidad profesional podemos valorar la importancia de las materias administrativas y humanísticas ya que son fundamentales para hacer un buen trabajo de manera integral. Finalmente queremos compartir el discurso de Steve Jobs que conocimos en LabMóvil.

104

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

“A veces, la vida te golpea en la cabeza con un ladrillo. No perdáis la fe. Estoy convencido de que lo único que me mantuvo en marcha fue mi amor por lo que hacía. Debéis encontrar algo que realmente os apasione. Y esto vale tanto para tu trabajo como para el amor. El trabajo ocupará una parte importante de sus vidas, y la única manera de sentirse realmente satisfecho es hacer lo que consideras un trabajo genial. Y el único modo de tener un trabajo genial es amar lo que hagas. Si no lo has encontrado aún, sigue buscando. No te conformes. Como en todo lo que tiene que ver con el corazón, lo sabrás cuando lo hayas encontrado. Y como en todas las relaciones geniales, las cosas mejorar y mejoran según pasan los años. Así que… sigue buscando hasta que lo encuentres. No te conformes”. “Tu tiempo es limitado, así que no lo malgastes viviendo la vida de otro. No te dejes atrapar por el dogma que implica vivir según los resultados del pensamiento de otros. No dejes que el ruido de las opiniones de los demás ahogue tu propia voz interior. Y lo que es más importante, ten el coraje de seguir a tu corazón y tu intuición. De algún modo él ya sabe lo que realmente quieres llegar a ser. Todo lo demás es secundario.” “Sigue hambriento. Sigue alocado”. Steve Jobs

105

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Referencias [1] Cnn editores. (2015). Pymes generan 81% del empledo en Mèxico. septiembre 15, 2013, de Cnn Expansion Sitio web: http://www.cnnexpansion.com/mi-carrera/2013/01/14/PyMEs-generan-81-del-empleoen-mexico

[2] Editores Pymes. (2013). Control de las nòminas en las PyMEs. septiembre 14, 2013, de Revista PYME Sitio web: http://www.revistapyme.com/index.php?option=com_content&view=article&id=333:1756109772 &catid=106:travel-tips456085059&Itemid=426

[3] Gonzales Richard. (2015). Google baja sus costos en la nube. septiembre 16, 2013, de tecnlogia.elpais.com, ww.tecnologia.elpais.com/tecnologia/2014/03/14/actualidad/1394796407_788926.html

[4] Luis Joyanes Aguilar. (2010). Computación en la nube, estrategias de cloud computing en las empresas. pag: 10, Madrid, España: Alfaomega.

[5] Luis Joyanes Aguilar. (2010). Computación en la nube, estrategias de cloud computing en las empresas. pag: 12, Madrid, España: Alfaomega.

[6] Luis Joyanes Aguilar. (2010). Computación en la nube, estrategias de cloud computing en las empresas. Pag: 70, Madrid, España: Alfaomega.

[7] Luis Joyanes Aguilar. (2010). Computación en la nube, estrategias de cloud computing en las empresas. Pag: 189, Madrid, España: Alfaomega.

[8] Amazon. (2013). Cloud computing amazon solution. septiembre 20, 2013, de Aws Amazon Cloud Sitio web: https://aws.amazon.com/es/ec2/?nc1=h_ls

[9]Developers Google. (2014). Google Cloud apengine. abril 20,2014, de Google Sitio web: https://developers.google.com/appengine/

[10] Windows azure. (2013). Windows azure la nuble de microsoft. noviembre 6, 2013, de Microsoft Sitio web: www.microsoft.com/enterprise/microsoftcloud/default.aspx#fbid=r6CcoG6YUIo

[11]Appengine. (2014). phyton framework. mayo 22, 2014, de Google cloud Sitio web: https://developers.google.com/appengine/

106

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

[12]

Aspel.

(2014).

productos

aspel.

mayo

8,2014,

de

Aspel

sa.

de

cv.

Sitio

web:

http://www.aspel.com.mx/mx/productos/?idsa

[13] 7all. (2014). Tu nomina en la nube. Mayo 18, 2014, de 7all sa. de cv. Sitio web: http://7all.com/index.html

[14] Fabián Baltazar Antonio y Martínez Gutiérrez César Enrique. (2009). Analisis y Desarrollo. En Manejador de procesos de negocio basado en Business Intelligence(25). Upiita: IPN.

[15] Priscila Gutiérrez Villegas. (2008). Sistema para administrar, monitorear y controlar: unidades móviles e inventarios de artículos emplayados mediante el uso de GPS y base de datos. Upiita: IPN.

[16] Google appengine. (2013). SSL en Google cloud . mayo 25, 2013, de Google cloud Sitio web: https://developers.google.com/appengine/docs/ssl

[17] Google Appengine. (2013). SQL cloud. diciembre 20 2013, de Google cloud Sitio web: https://cloud.google.com/products/cloud-sql/

107

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Glosario 

Cloud Computing : Computo en la nube



PyME: Pequeña y Mediana Empresa



SaaS: por sus siglas en ingles Software as a Service



PaaS: por sus siglas en ingles Plataforma como servicio



IaaS: por sus siglas en ingles Infraestructura como servicio ó HaaS Hardware as a Service



TI: Tecnologías de la información



Framework: (marco de trabajo) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.



HTTPS: (Protocolo seguro de transferencia de hipertexto)



SIN: Server Name Indication - Indicación de nombre de servidor



VIP: Virtual IP



PIB: Producto Interno Bruto



SSL: Secure Sockets Layer



NIST: National Institute of Standards and Technology



PGSI: Plan General de Seguridad de la Información



ISR: - Impuesto sobre la renta - impuesto directo sobre la ganancia obtenida; es decir, por la diferencia entre el ingreso y las deducciones autorizadas)



RRHH: Recursos Humanos

108

Sistema de gestión de nóminas en la nube para la Micro, Pequeña y Mediana Empresa (PyME).

Anexos Digitales (Contenido en el Disco Compacto)

Anexo Digital. Diagramado. Anexo Digital. Código fuente. Anexo Digital. Manual de Usuario. Anexo Digital. Manual Técnico. Anexo Digital. Ley Federal del Trabajo.

109