edison estuardo cayambe chicaizauniversidad central del ecuador facultad de ingenierÍa, ciencias...
TRANSCRIPT
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA, CIENCIAS FISICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE FACTURACIÓN
ELECTRÓNICA PARA LA UNIVERSIDAD CENTRAL DEL ECUADOR
TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL
TÍTULO DE INGENIERO INFORMÁTICO
AUTOR:
EDISON ESTUARDO CAYAMBE CHICAIZA
TUTOR:
ING. JAIME OSWALDO SALVADOR MENESES
QUITO – ECUADOR
2015
ii
DEDICATORIA
Con todo mi cariño y mi amor para mis padres, que hicieron todo en la vida
para que yo pudiera lograr mis sueños, por motivarme y darme la mano cuando
sentía que el camino se terminaba, a ustedes por siempre mi corazón y mi
agradecimiento.
Edison E. Cayambe
iii
AGRADECIMIENTO
Al Ingeniero Jaime Salvador por su esfuerzo y dedicación, quien con sus
conocimientos, su experiencia, su paciencia y su motivación fueron factores
determinantes para la elaboración y culminación de la presente tesis.
Edison E. Cayambe
viii
CONTENIDO
DEDICATORIA ................................................................................................................................ ii
AGRADECIMIENTO ....................................................................................................................... iii
AUTORIZACIÓN DE LA AUTORIA INTELECTUAL .............................................................................iv
CERTIFICACIÓN DEL TUTOR ........................................................................................................... v
DESIGNACIÓN TRIBUNAL ..............................................................................................................vi
CALIFICACIÓN TRIBUNAL .............................................................................................................. vii
CONTENIDO ................................................................................................................................. viii
LISTA DE TABLAS........................................................................................................................... xii
LISTA DE FIGURAS........................................................................................................................ xiv
LISTA DE ABREVIATURAS ........................................................................................................... xviii
RESUMEN .................................................................................................................................... xxi
ABSTRACT ................................................................................................................................... xxii
INTRODUCCIÓN ............................................................................................................................. 1
1. CAPITULO I Presentación de Problema ................................................................................. 3
1.1. Planteamiento del Problema ........................................................................................ 3
1.2. Formulación del Problema ............................................................................................ 3
1.3. Interrogantes de la Aplicación ...................................................................................... 3
1.4. Objetivo General ........................................................................................................... 4
1.5. Objetivos Específicos ..................................................................................................... 4
1.6. Justificación ................................................................................................................... 4
1.7. Alcance .......................................................................................................................... 5
2. CAPITULO II Marco Teórico ................................................................................................... 7
2.1. Introducción al comercio electrónico ........................................................................... 7
2.1.1. Antecedentes ........................................................................................................ 7
2.1.2. Objetivos del comercio electrónico ...................................................................... 8
2.1.3. Comercio electrónico en la actualidad .................................................................. 8
2.1.4. Comercio electrónico en América Latina ............................................................ 10
2.1.5. Problemas operativos y legales del comercio electrónico .................................. 10
2.1.6. Regulación y comercio electrónico en el mundo ................................................ 13
2.1.7. Medidas de seguridad en el comercio electrónico ............................................. 15
2.2. Documento Electrónico ............................................................................................... 16
2.2.1. Antecedentes ...................................................................................................... 16
2.2.2. Definición ............................................................................................................ 17
ix
2.3. Criptografía .................................................................................................................. 17
2.4. Certificados digitales ................................................................................................... 20
2.4.1. Definición ............................................................................................................ 20
2.4.2. Historia del certificado digital ............................................................................. 22
2.4.3. Formatos y tipos .................................................................................................. 24
2.4.4. Autoridades certificadoras .................................................................................. 25
2.4.5. Entidades Certificadoras en Ecuador .................................................................. 28
2.4.6. Beneficios de los certificados digitales ................................................................ 29
2.5. Firma electrónica ......................................................................................................... 30
2.6. XAdES - Firma electrónica avanzada XML ................................................................... 33
2.6.1. Definición ............................................................................................................ 33
2.6.2. Ventajas ............................................................................................................... 34
2.6.3. Perfiles ................................................................................................................. 34
2.7. Firma digital ................................................................................................................. 35
2.7.1. Definición ............................................................................................................ 35
2.8. Facturación electrónica ............................................................................................... 36
2.8.1. Antecedentes ...................................................................................................... 36
2.8.2. La factura electrónica en el Ecuador ................................................................... 38
2.8.3. Objetivos de la facturación electrónica ............................................................... 38
2.8.4. Consideraciones de la factura electrónica .......................................................... 40
2.8.5. Funcionamiento de la facturación electrónica .................................................... 42
2.8.6. Ventajas y desventajas de la facturación electrónica ......................................... 43
2.8.7. Marco legal .......................................................................................................... 45
3. CAPITULO III Marco de Referencia ...................................................................................... 49
3.1. Sistemas de facturación electrónica ........................................................................... 49
3.1.1. ESDINAMICO ....................................................................................................... 49
3.1.2. KRUGER ............................................................................................................... 50
3.1.3. COMFIAR ............................................................................................................. 51
3.1.4. SERES ................................................................................................................... 52
3.2. Comprobante Fiscal Digital (CFD) ................................................................................ 53
3.2.1. Introducción ........................................................................................................ 53
3.2.2. Características ..................................................................................................... 53
3.2.3. Tipos de CFD ........................................................................................................ 55
3.2.4. Seguridad en los CDF ........................................................................................... 55
3.2.5. Expedición de CFD ............................................................................................... 56
3.3. Comprobante Fiscal Digital por Internet (CFDI) .......................................................... 57
x
3.3.1. Introducción ........................................................................................................ 57
3.3.2. Ventajas ............................................................................................................... 58
4. CAPITULO IV Análisis y Diseño del Módulo de facturación electrónica .............................. 59
4.1. Análisis de requisitos ................................................................................................... 59
4.1.1. Requisitos establecidos por el SRI ....................................................................... 59
4.1.2. Requisitos establecidos por la Universidad Central del Ecuador ........................ 60
4.1.3. Requisitos establecidos por el Cliente ................................................................ 61
4.2. Modelo conceptual del sistema de facturación electrónica ....................................... 61
4.2.1. Introducción ........................................................................................................ 61
4.2.2. Misión del sistema de facturación electrónica ................................................... 62
4.2.3. Visión del sistema de facturación electrónica ..................................................... 62
4.2.4. Marco funcional del sistema de facturación electrónica .................................... 62
4.3. Modelado del análisis .................................................................................................. 63
4.3.1. Relación entre sistemas participantes ................................................................ 63
4.3.2. Arquitectura de la aplicación .............................................................................. 65
4.3.3. Casos de uso ........................................................................................................ 77
4.4. Diseño del modulo .................................................................................................... 103
4.4.1. Diseño de la interfaz de usuario ........................................................................ 103
4.4.2. Diseño de la base de datos ................................................................................ 106
5. CAPITULO V Desarrollo e Implementación ....................................................................... 116
5.1. Metodología de desarrollo ........................................................................................ 116
5.1.1. Introducción ...................................................................................................... 116
5.1.2. SCRUM ............................................................................................................... 116
5.2. Análisis de tecnologías .............................................................................................. 118
5.2.1. Java EE Plataforma de desarrollo del proyecto ................................................. 118
5.2.2. Frameworks para JSF ......................................................................................... 119
5.2.3. Enterprise JavaBeans ......................................................................................... 120
5.2.4. Frameworks para JPA ........................................................................................ 121
5.2.5. Servicios Web .................................................................................................... 123
5.3. Análisis de las herramientas de desarrollo ............................................................... 124
5.3.1. Lenguaje de Programación: JAVA ...................................................................... 124
5.3.2. Entorno de Desarrollo Integrado (IDE): Eclipse ................................................. 125
5.3.3. Motor de Base de Datos: PostgreSQL ............................................................... 125
5.3.4. Servidor de Aplicaciones: JBoss AS .................................................................... 126
5.4. Análisis del desarrollo ............................................................................................... 126
5.4.1. Identificación de subsistemas ........................................................................... 126
xi
5.5. Implementación ........................................................................................................ 129
5.5.1. Configuración de servidor de aplicaciones........................................................ 129
5.5.2. Creación de la base de datos ............................................................................. 136
5.5.3. Codificación del sistema .................................................................................... 145
6. CAPITUO VI Marco Administrativo .................................................................................... 160
6.1. Recursos humanos .................................................................................................... 160
6.2. Recursos materiales .................................................................................................. 160
6.3. Presupuesto .............................................................................................................. 161
6.4. Cronograma ............................................................................................................... 162
7. CAPITUO VII Conclusiones y Recomendaciones ................................................................ 165
7.1. Conclusiones.............................................................................................................. 165
7.2. Recomendaciones ..................................................................................................... 166
BIBLIOGRAFIA ............................................................................................................................ 167
ANEXOS ..................................................................................................................................... 169
ANEXO A: MANUAL DE INSTALACIÓN DEL SISTEMA OPERATIVO ......................................... 169
ANEXO B: MANUAL DE INSTALACIÓN DEL SISTEMA ............................................................. 183
1. Prerrequisitos ............................................................................................................ 184
2. Instalación JDK........................................................................................................... 184
3. Instalación de Base de Datos .................................................................................... 187
4. Instalación del servidor de aplicaciones JBoss AS 6 ................................................. 194
5. Restaurar la base de datos del sistema de Facturación Electrónica ......................... 200
6. Instalación de la aplicación del sistema de Facturación Electrónica ........................ 204
7. Respaldos .................................................................................................................. 205
ANEXO C: MANUAL TECNICO Y DE EJECUCIÓN ..................................................................... 210
ANEXO D: MANUAL DE USUARIO .......................................................................................... 231
ANEXO E: ANALISIS DE CLASES DEL SISTEMA DE FACTURACIÓN ELECTRÓNICA ................... 255
ANEXO F: FICHA TECNICA COMPROBANTES ELECTRONICOS SRI .......................................... 261
xii
LISTA DE TABLAS
Tabla 1: Clasificación de comercio electrónico................................................... 7
Tabla 2: Legislación de firma electrónica en el mundo ..................................... 32
Tabla 3: Evolución de obligatoriedad de facturación electrónica en el Ecuador47
Tabla 4: CU-01: Administración de Empresas ................................................. 77
Tabla 5: CU-02: Administración de Establecimientos ....................................... 79
Tabla 6: CU-03: Administración de Puntos de Emisión ................................... 81
Tabla 7: CU-04: Administración de Procesos Facturación ............................... 83
Tabla 8: CU-05: Configuración de sistema ....................................................... 85
Tabla 9: CU-06: Administración de Roles ........................................................ 88
Tabla 10: CU-07: Administración de Perfiles .................................................... 89
Tabla 11: CU-08: Administración de Usuarios .................................................. 91
Tabla 12: CU-09: Administración de Usuarios y Puntos Emisión ..................... 93
Tabla 13: CU-10: Administración de Parámetros ............................................. 94
Tabla 14: CU-11: Administración de Páginas ................................................... 96
Tabla 15: CU-12: Administración de Impuestos ............................................... 98
Tabla 16: CU-13: Administración de Catálogos de Error .................................. 99
Tabla 17: CU-14: Consultar Errores de Proceso ............................................ 101
Tabla 18: CU-15: Consultar Documentos Electrónicos .................................. 102
Tabla 19: Servicios publicados por el SRI ...................................................... 128
Tabla 20: Roles de clases principales (facturacion-electronica-login) ............ 255
Tabla 21: Roles de clases principales (facturacion-electronica-ejb) ............... 255
Tabla 22: Roles de clases principales (facturacion-electronica-jpa) ............... 256
Tabla 23: Roles de clases principales (firma-digital-ejb) ................................ 256
Tabla 24: Roles de clases principales (facturacion-utilitarios) ........................ 256
Tabla 25: Roles de clases principales (integracion-ejb) ................................. 257
Tabla 26: Roles de clases principales (facturacion-electronica-web) ............. 257
Tabla 27: Relación clases principales con lógica de negocio (facturacion-
electronica-ejb) ............................................................................................... 258
Tabla 28: Relación clases principales con lógica de negocio (firma-digital-ejb)
....................................................................................................................... 259
Tabla 29: Relación clases principales con lógica de negocio (cliente_sri) ..... 259
xiii
Tabla 30: Relación clases principales con lógica de negocio (facturacion-
electronica-cron) ............................................................................................. 260
Tabla 31: Relación clases principales con lógica de negocio (integracion-ejb)
....................................................................................................................... 260
xiv
LISTA DE FIGURAS
Figura 1: Cifrado Simétrico ............................................................................... 19
Figura 2: Cifrado Asimétrico ............................................................................ 20
Figura 3: Certificado Digital .............................................................................. 21
Figura 4: Beneficios de Certificado Digital ........................................................ 30
Figura 5: Proceso Firma Digital ........................................................................ 36
Figura 6: Proceso Facturación Electrónica ....................................................... 43
Figura 7: Comprobante Fiscal Digital por Internet (CFDI) ................................ 57
Figura 8: Modelo funcional de Facturación Electrónica .................................... 63
Figura 9: Sistemas participantes Facturación Electrónica ................................ 65
Figura 10: Capas lógicas Facturación Electrónica ........................................... 66
Figura 11: Patrón de diseño Modelo-Vista-Controlador ................................... 68
Figura 12: Arquitectura de la aplicación ........................................................... 76
Figura 13: Diagrama CU-01: Administración de Empresas ............................. 77
Figura 14: Diagrama CU-02: Administración de Establecimientos ................... 79
Figura 15: Diagrama CU-03: Administración de Puntos de Emisión ............... 81
Figura 16: Diagrama CU-04: Administración de Procesos Facturación ........... 83
Figura 17: Diagrama CU-05: Configuración del Sistema .................................. 85
Figura 18: Diagrama CU-06: Administración de Roles ..................................... 87
Figura 19: Diagrama CU-07: Administración de Perfiles .................................. 89
Figura 20: Diagrama CU-08: Administración de Usuarios ................................ 91
Figura 21: Diagrama CU-09: Administración de Usuarios y Puntos Emisión ... 92
Figura 22: Diagrama CU-10: Administración de Parámetros ........................... 94
Figura 23: Diagrama CU-11: Administración de Páginas ................................. 96
Figura 24: Diagrama CU-12: Administración de Impuestos ............................. 97
Figura 25: Diagrama CU-13: Administración de Catálogos de Error ................ 99
Figura 26: Diagrama CU-14: Consultar Errores de Proceso .......................... 101
Figura 27: Diagrama CU-15: Consultar Documentos Electrónicos Administrador
....................................................................................................................... 102
Figura 28: Diagrama CU-15.1: Consultar Documentos Electrónicos Estudiante
....................................................................................................................... 102
Figura 29: Diseño interfaz de usuario Web .................................................... 104
xv
Figura 30: Modelo Relacional ......................................................................... 106
Figura 31: Proceso de la metodología SCRUM .............................................. 117
Figura 32: Archivo de configuración JBoss Mail Service ................................ 130
Figura 33: Configuración autenticación servidor SMTP ................................. 130
Figura 34: Configuración servidor SMTP ....................................................... 131
Figura 35: Objeto para el manejo de servicios de mail ................................... 131
Figura 36: Implementación de recurso de mail............................................... 132
Figura 37: Estructura de carpetas modules .................................................... 133
Figura 38: Archivo module.xml ....................................................................... 134
Figura 39: Archivo de dependencias de módulos ........................................... 135
Figura 40: Configuración de dependencias de módulos ................................ 135
Figura 41: Generación del script de base de datos ........................................ 136
Figura 42: Selección de objetos de base de datos ......................................... 137
Figura 43: Script base de datos ...................................................................... 137
Figura 44: Guardar script de base de datos ................................................... 138
Figura 45: Selección del destino de script ...................................................... 138
Figura 46: Creación de la base de datos ........................................................ 139
Figura 47: SQL PG ADMIN ............................................................................ 139
Figura 48: Abrir SQL ...................................................................................... 140
Figura 49: Ejecución de script SQL ................................................................ 140
Figura 50: Confirmación de creación de objetos ............................................ 141
Figura 51: Objetos de la base de datos .......................................................... 141
Figura 52: Constraint de objeto de base de datos .......................................... 142
Figura 53: Script SQL de objetos ................................................................... 142
Figura 54: Constraint de relaciones de objetos .............................................. 143
Figura 55: SQL de constraint de relaciones de objetos .................................. 143
Figura 56: Índices de los objetos .................................................................... 144
Figura 57: SQL de índices de objetos ............................................................ 144
Figura 58: Estructura de un template ............................................................. 145
Figura 59: Tempate facturación electrónica ................................................... 146
Figura 60: Template general de facturación electrónica ................................. 146
Figura 61: Referencia a un template .............................................................. 147
Figura 62: Definición de secciones del template ............................................ 148
Figura 63: Paginas del sistema de facturación electrónica ............................ 149
xvi
Figura 64: Interfaz de servicio remota ............................................................ 150
Figura 65: Representación de un Bean de negocio ....................................... 150
Figura 66: Clase Bean de negocio ................................................................. 151
Figura 67: Implementación Bean de negocio ................................................. 152
Figura 68: Archivo de configuración del DataSource ..................................... 153
Figura 69: Configuración DataSource ............................................................ 153
Figura 70: JPA Entities from Tables ............................................................... 154
Figura 71: Conexión Postgresql ..................................................................... 155
Figura 72: Nueva conexión JDBC .................................................................. 155
Figura 73: Tablas a mapear como entidades ................................................. 156
Figura 74: Relaciones de entidades establecidas .......................................... 156
Figura 75: Entidades del sistema de facturación electrónica ......................... 157
Figura 76: Inyección de EJB de negocio ........................................................ 158
Figura 77: Inyección de EJB JPA ................................................................... 159
Figura 78: Ingreso al Navegador .................................................................... 234
Figura 79: Ingreso al Sistema de Facturación Electrónica ............................. 234
Figura 80: Pantalla de Ingreso al Sistema de Facturación Electrónica .......... 235
Figura 81: Ingreso de Usuario y Password..................................................... 235
Figura 82: Pantalla con todas las opciones del sistema ................................. 236
Figura 83: Opciones del Visor Simple: Nuevo, Guardar, Eliminar .................. 236
Figura 84: Opción del Visor Múltiple: Buscar.................................................. 236
Figura 85: Visor Simple Empresa ................................................................... 238
Figura 86: Visor Múltiple Empresas ................................................................ 238
Figura 87: Visor Simple Establecimiento ........................................................ 239
Figura 88: Visor Múltiple Establecimientos ..................................................... 240
Figura 89: Visor Simple Punto Emisión .......................................................... 240
Figura 90: Visor Múltiple Puntos de Emisión .................................................. 241
Figura 91: Visor Simple Proceso Facturación ................................................ 242
Figura 92: Visor Múltiple Proceso Facturación ............................................... 242
Figura 93: Visor Simple Configuración ........................................................... 243
Figura 94: Visor Múltiple ConfiguracionFes .................................................... 243
Figura 95: Visor Simple Rol ............................................................................ 244
Figura 96: Visor Múltiple Roles ....................................................................... 244
Figura 97: Visor Simple Perfil ......................................................................... 245
xvii
Figura 98: Visor Múltiple Perfiles .................................................................... 245
Figura 99: Visor Simple Usuario ..................................................................... 246
Figura 100: Visor Múltiple Usuarios ................................................................ 246
Figura 101: Visor Simple UsuarioPE .............................................................. 247
Figura 102: Visor Múltiple UsuariosPEs ......................................................... 248
Figura 103: Visor Simple Parámetro .............................................................. 248
Figura 104 : Visor Múltiple Parámetros .......................................................... 249
Figura 105: Visor Simple Página .................................................................... 249
Figura 106: Visor Múltiple Páginas ................................................................. 250
Figura 107: Visor Simple Impuesto ................................................................ 251
Figura 108: Visor Múltiple Impuestos ............................................................. 251
Figura 109: Visor Simple Catálogo Error ........................................................ 252
Figura 110: Visor Múltiple Catálogo Errores ................................................... 252
Figura 111: Visor Múltiple Errores Proceso .................................................... 253
Figura 112: Visor Múltiple Documentos Electrónicos ..................................... 254
xviii
LISTA DE ABREVIATURAS
B2B Business-to-Business
B2G Business to Government
B2C Business to Consumer
ERP Enterprise Resource Planning
SRI Servicio de Rentas Internas
AC Authority Certification
CONATEL Consejo Nacional de Telecomunicaciones
COMEXI Consejo de Comercio Exterior e Inversiones
CERES Certificación Española
SAT Servicio de Administración Tributaria
CPS Certification Practice Statement
SaaS Software as a Service
PaaS Platform as a Service
LDAP Lightweight Directory Access Protocol
SSL Secure Sockets Layer
SET Secure Electronic Transaction
PKI Public Key Infrastructure
CMS Cryptographic Message Syntax
CADES CMS Advanced Electronic Signatures
CFD Comprobante Fiscal Digital
CFDI Comprobante Fiscal Digital por Internet
FEA Firma Electrónica Avanzada
xix
PDF Portable Document Format
XML Extensible Markup Language
TXT Text file
TIC Tecnologías de la Información y la Comunicación
WWW World Wide Web
OMC Organización Mundial de Comercio
ADPIC Acuerdo sobre los Aspectos de los Derechos de Propiedad
Intelectual relacionados con el Comercio.
PyME Pequeña y mediana empresa
JSF JavaServer Faces
EL Expression Language
AOP Aspect Oriented Programming
EJB Enterprise Java Beans
SOA Service Oriented Architecture
JS JavaScript
JEE Java Enterprise Edition
API Application Programming Interface
CMP Container-Managed Persistence
BMP Bean-Managed Persistence
JPA Java Persistence API
JAX-WS Java API for XML Web Services
JMS Java Messaging System
RPC Remote Procedure Call
SOAP Simple Object Access Protocol
HTTP Hypertext Transfer Protocol
xx
W3C World Wide Web Consortium
WSDL Web Service Definition Language
JDT Java Development Tools
ECJ Eclipse Compiler for Java
ORDBMS Object Relational Database Management System
OSGi Open Service Gateway Initiative
xxi
RESUMEN
DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE FACTURACIÓN
ELECTRÓNICA PARA LA UNIVERSIDAD CENTRAL DEL ECUADOR
Mediante la Ley No. 67, publicada en el Registro Oficial Suplemento No. 577 el
17 de abril del 2002 se expidió la Ley de Comercio Electrónico, Firmas y
Mensajes de Datos, en la cual se define a la factura electrónica como: “El
conjunto de mensajes de datos electrónicos que cumplan con los requisitos
exigidos por las Leyes Tributarias vigentes descritas por el SRI, tendrán igual
valor jurídico que los documentos escritos”.
La emisión de documentos electrónicos es una solución innovadora que
permite integrar los procesos internos de un negocio, con la generación, firma y
envío de comprobantes tributarios electrónicos, logrando generar un beneficio
en costos operativos e incrementando la productividad de un negocio, así como
el fortalecimiento de los procesos de control tributario para reducir los
problemas de evasión fiscal.
Por tal motivo, el presente trabajo recoge en primer lugar la fundamentación
teórica sobre el comercio electrónico, facturación electrónica y el marco
normativo que ha implementado el SRI para su uso obligatorio, en donde se
analiza las ventajas y desventajas que trae consigo este nuevo esquema de
emisión electrónica frente a la facturación física, así también las
consideraciones que representa tanto para el emisor y receptor de los
comprobantes electrónicos; y por último, se detalla el proceso de desarrollo e
implementación de la solución propuesta de facturación electrónica para la
Universidad Central del Ecuador, así como las conclusiones y resultados
obtenidos.
DESCRIPTORES: JAVA EE/SERVICIOS WEB/ JSF/ EJB/ JPA/
POSTGRESQL/ UCE/ DTIC/ FACTURACIÓN COMPROBANTES
ELECTRONICOS.
xxii
ABSTRACT
DEDSING AND IMPLEMENTATION OF AN ELECTRONIC INVOICING
SYSTEM FOR THE UNIVERSIDAD CENTRAL DEL ECUADOR
Througth the law No. 67 published in the Official Registry Supplement No. 577,
on 17 April 2002, it was issued the E-Commerce, Signatures and Data
Messages Law, which defines the electronic invoicing as: “the set of messages
of electronic data which comply with the requeriments of the Current Tax Laws
described by SRI, which will have equal legal value as written documents”.
The emission of electronic documents is an innovative solution that allows to
integrate internal internal processes of a business, with the generation,signature
and sending of electronic tax invoices, mananging to generate an operating
costs profit and increasing the productivity of a business, as well as the
strengthening of tax processes control to reduce the tax evasión problems.
That is why, this work collects first the theoretical foundation of e-commerce,
electronic invoicing and the normative framework implemented by the SRI for
mandatory use, where it analyzes the advantages and disadvantages that
brings this new scheme of electronic issue compared with the physics invoicing,
as well as the considerations for both the e-invoice issuer and recipient; and
finally, detailing the development and implementation process of the proposed
solution of electronic invoicing for the Universidad Central del Ecuador, as well
as the conclusions and results.
KEY WORDS: JAVA EE/ WEB SERVICES/ JSF/ JPA/ POSTGRESQL/ UCE/
DTIC/ ELECTRONIC INVOICING VOUCHERS.
1
INTRODUCCIÓN
El SRI mediante Resoluciones: No. NAC DGERCGC13-00236, publicada en
Registro Oficial 956 del 17 de mayo de 2013 y No. NAC-DGERCGC14-00157
publicada en el suplemento del Registro Oficial 215 del 31 de marzo del 2014,
establece el cronograma de obligatoriedad de la emisión de documentos
electrónicos mediante un sistema de facturación electrónica por parte de los
sujetos pasivos del sector privado y sector público respectivamente.
Considerando estas resoluciones oficiales por parte del SRI, es necesario
analizar este nuevo esquema de facturación, el cual implica un cambio
trascendental en la forma de emitir los documentos tributarios como medio de
comprobación fiscal, por lo tanto es necesario una solución de Factura
Electrónica compatible e integrada con los nuevos esquemas del SRI del
Ecuador, basada en principios generales de innovación, rentabilidad y servicio
al cliente.
El objetivo del presente trabajo es dar a conocer los principales conceptos de
comercio electrónico, factura electrónica, su validez tributaria, beneficios, el
marco normativo vigente para su aplicación y en base a este el proceso de
desarrollo e implementación de la solución de Facturación Electrónica
propuesta.
El presente trabajo se encuentra dividido en cinco capítulos, los cuales se
desarrollan de la siguiente manera:
El capítulo I tiene como propósito principal la presentación e identificación del
problema, para lo cual se definen los principales elementos que integran el
planteamiento del problema, los objetivos de la investigación, las interrogantes
de la investigación, y el contexto general en que se desarrolla la problemática,
además se detalla el alcance de los objetivos propuestos, y las limitaciones de
la investigación.
En el capítulo II se desarrolla una investigación sobre las principales
definiciones de comercio electrónico y facturación electrónica, se realiza una
2
investigación sobre su historia, definiciones, antecedentes, así como también
las tecnologías, estándares y extensiones recomendadas para realizar una
firma digital.
En el capítulo III se desarrolla un marco de referencia, donde se investiga las
principales soluciones de facturación electrónica, así como conceptos análogos
a los comprobantes electrónicos, con el objetivo de tener una guía para el
desarrollo de presente trabajo.
En el capítulo IV se realiza el análisis técnico de Facturación Electrónica, donde
se investiga las soluciones, ventajas, desventajas, aplicaciones, arquitectura,
modelo conceptual de datos y seguridades del sistema de facturación
electrónica, en base a los requerimientos funcionales y no funcionales, con el
objetivo de obtener un modelo contextual del sistema de facturación
electrónica.
En el capítulo V se desarrolla el trabajo práctico propiamente dicho, es decir el
diseño, desarrollo, implementación y pruebas del sistema de facturación
electrónica, para dar solución al problema planteado y así cumplir con el
objetivo de nuestro proyecto.
En el capítulo VI se presentan las conclusiones y recomendaciones obtenidas
en el desarrollo del presente trabajo.
3
1. CAPITULO I Presentación de Problema
1.1. Planteamiento del Problema
Actualmente las empresas se ven influenciadas por el avance de las
tecnologías de la información, las cuales han revolucionado su forma de
operar, por lo cual nace de manera directa el comercio electrónico el cual
genera la necesidad de crear medidas de seguridad tales como la firma
electrónica y certificados digitales. Debido a lo expuesto es necesario un
cambio trascendente en la forma de emitir la facturación como medio de
comprobación fiscal, para lo cual es necesario una solución de Factura
Electrónica compatible e integrada con los nuevos esquemas del SRI del
Ecuador, basada en principios generales de innovación, rentabilidad y servicio
al cliente.
1.2. Formulación del Problema
¿La tradicional forma de emitir de facturas contribuye a la eficiencia y
productividad del personal administrativo de las empresas en el Ecuador?
¿El desarrollo de un servicio de facturación electrónica genera disminución de
costos de facturación del lado del emisor como del receptor?
¿Es necesario desarrollar un servicio de facturación electrónica?
1.3. Interrogantes de la Aplicación
¿Un sistema de facturación electrónica, contribuye al mejoramiento continuo de
una empresa para disminuir costos y mejorar su servicio?
¿La firma digital es la mejor forma de garantizar la autenticidad y la integridad
de los datos de los comprobantes electrónicos?
4
1.4. Objetivo General
Desarrollar, diseñar e implementar un sistema de Facturación Electrónica para
la emisión de comprobantes electrónicos, que cumpla con las normativas,
requisitos legales y reglamentarios exigidos por el SRI en el Ecuador.
1.5. Objetivos Específicos
Desarrollar una aplicación Web que permita visualizar y gestionar los
comprobantes electrónicos emitidos por la Universidad Central del
Ecuador.
Desarrollar un módulo que permita realizar los siguientes procesos de
Facturación Electrónica.
o Generación de comprobante electrónico a partir de una fuente de
datos.
o Firma del comprobante electrónico.
o Autorización de comprobante electrónico con servicios del SRI.
Desarrollar un portal Web que permita consultar los comprobantes
electrónicos emitidos, para cada cliente de la Universidad Central del
Ecuador.
1.6. Justificación
En la actualidad el proceso de Facturación Electrónica constituye un avance
tecnológico para medianas y grandes empresas al momento de emitir
documentos electrónicos, pero a su vez las empresas tienen inconvenientes al
momento de elegir un sistema que facilite la integración de los siguientes
sistemas:
Servicio de Rentas Internas.
Sistema de Facturación Electrónica.
Sistema Administrativo Financiero.
5
Esto se debe a la falta de información sobre el nuevo proceso de facturación, o
inseguridad por el manejo de nuevos sistemas de información para la
implementación de Facturación Electrónica. Son por estos motivos que se
considera desarrollar e implementar una solución de Factura Electrónica
compatible e integrada con los nuevos esquemas del SRI del Ecuador, basada
en principios generales de innovación, rentabilidad y servicio al cliente, que
permita a cualquier organización (en nuestro caso la Universidad Central del
Ecuador) adherirse a los nuevos procesos de facturación implantados por el
SRI, además se pretende desarrollar un software amigable e intuitivo para
usuarios comunes y lo más importante que optimice procesos de la facturación
tradicional así también que permita optimizar recursos económicos.
Por lo tanto, el proyecto Factura Electrónica prevé la integración del SRI y los
contribuyentes, en la emisión, autorización de documentos electrónicos;
facilitando el cumplimiento de las obligaciones fiscales y el pago de impuestos.
1.7. Alcance
La solución de Facturación Electrónica consiste en desarrollar un sistema web
amigable e intuitivo con el usuario, que permita tener información integra y
detallada.
Desarrollar e implementar un servicio de facturación electrónica que se rija a
las especificaciones y normativas técnicas determinadas por el SRI, para la
emisión de comprobantes electrónicos en su versión 1.10 actualizada a Abril
2015.
Desarrollar e implementar un módulo que permita generar comprobantes
electrónicos emitidos por la Universidad Central del Ecuador.
Desarrollar e implementar un módulo que permita realizar la firma digital de los
comprobantes electrónicos.
Desarrollar e implementar un módulo que permita validar y almacenar las
autorizaciones emitidas por el SRI de los comprobantes validados.
6
Desarrollar e implementar un módulo que permita consultar comprobantes
emitidos y validados, por un rango de fechas y estados de los comprobantes.
Desarrollar e implementar un módulo cron para realizar un proceso de
facturación electrónica automático con calendario parametrizable desde el
sistema.
Desarrollar e implementar un Portal Web que permita visualizar los
comprobantes electrónicos emitidos, para cada cliente de la Universidad
Central del Ecuador.
7
2. CAPITULO II Marco Teórico
2.1. Introducción al comercio electrónico
2.1.1. Antecedentes
Comercio electrónico o e-Commerce se refiere a toda forma de transacción
comercial, en la que distintas partes interactúan utilizando Tecnologías de la
Información y la Comunicación (TIC), en lugar de realizarlo por medio del
intercambio o contacto físico directo.
Sus orígenes empiezan en los años setenta y en los noventa, en actividades
B2B, propiciadas por el nacimiento de la WWW (World Wide Web), aplicándose
a intercambios entre empresas y consumidores (B2C).
Como antecedentes del comercio electrónico están las ventas por catálogo en
los estados Unidos en el año de 1920, impulsada por la distribución poblacional
de este país. Con una economía estable para el año de 1970 las ventas por
catálogo ganan mercado puntualmente en Norteamérica y en Centroeuropa.
Con la aparición de la WWW en 1989, el desarrollo de las tecnologías y de las
telecomunicaciones ha permitido que el intercambio de información crezca en
grandes niveles, creando nuevas formas de comercio y desarrollando en este
ámbito el comercio electrónico. (Organización Mundial de Comercio, 2015)
El comercio electrónico puede ser clasificado de la siguiente forma:
Tabla 1: Clasificación de comercio electrónico
Negocio a Negocio Business to Business (B2B)
Negocio a Consumidor Business to Consumer (B2C)
Negocio a Estado Business to Government (B2G)
Consumidor a Estado Consumer to Government (C2G)
Fuente: Cayambe Chicaiza Edison Estuardo
8
Tipologías de comercio electrónico:
CE Directo: en el cual se recibe el bien o servicio transado en forma
inmediata.
CE Indirecto: en el que se recibe el bien o servicio después de un lapso de
tiempo.
CE Completo: donde el pago se realiza por medio de sistema electrónico.
CE Incompleto: el pago se realiza fuera del sistema electrónico (offline).
2.1.2. Objetivos del comercio electrónico
Los principales objetivos del comercio electrónico son los siguientes:
Mejorar la eficiencia y reducir los costos en las actividades comerciales.
Mejorar los sistemas de interacción entre proveedor-cliente.
Mejorar el campo de actuación (ampliar el mercado potencial).
Mejorar la satisfacción y las necesidades de los clientes.
Permitir a las empresas llevar a cabo negocios con socios extranjeros.
Reforzar la participación de las PyME.
2.1.3. Comercio electrónico en la actualidad
El mercado del comercio electrónico a nivel mundial está creciendo de una
manera vertiginosa, además que cada vez es más variado, permitiéndose
ingresar a mercados que hace varios años atrás las personas no tenían
conocimiento. De esta forma las regiones de Asia y América generan uno de
los mercados en línea más grandes de la economía mundial.
El comercio electrónico en la actualidad permite el acceso a un mercado global
y competitivo, que genera numerosas ventajas para los ciudadanos, entre las
que destacan la reducción de precios así como el acceso a productos de otros
países. Sin embargo a pesar de las ventajas que el comercio a través de
Internet ofrece, existen todavía resistencia y temor a comprar por internet.
9
Dichos miedos se centran fundamentalmente en problemas de seguridad en
Internet que justifican el rechazo a las compras electrónicas, por ello es
necesario informar sobre la legislación aplicable al comercio electrónico de
modo que el consumidor conozca cual es la protección que se le confiere en
sus operaciones de comercio electrónico en Internet, de modo que se
minimicen los riesgos de dichas operaciones.
El comercio electrónico, más allá de cumplir su propósito al convertirse en una
compra efectiva, tiene un efecto de influencia en las futuras decisiones de
compra, éstas se ven determinadas por lo que se muestra en la red y puede
que se traduzca en compras off-line, lo cierto es que la presencia en la web de
las marcas puede determinar una tendencia que luego generará mayores
ganancias.
Para el año 2020 la web influirá en Europa Occidental en el 45% de las ventas
on-line, a pesar de que el 93% del mercado minorista está fuera de Internet, se
estima que para este año la influencia digital aumentará tres veces las ventas
para este mercado.
A futuro, el uso de dispositivos móviles definirá la evolución y desarrollo de
sectores comerciales. La presencia móvil es cada vez mayor y el radio de
penetración de mercado de los teléfonos inteligentes es cada vez más grande.
El comercio a través de dispositivos móviles se conoce como m-Commerce y
tiene en los teléfonos inteligentes un crecimiento significativo para la realización
de transacciones en línea. Por otra parte, los ordenadores siguen siendo los
líderes en comercio electrónico, seguidos por los teléfonos inteligentes y luego
por las tabletas.
En definitiva, el comercio electrónico en la actualidad crece muy rápidamente y
por ello las tendencias relacionadas con este tema se desarrollan a gran
velocidad. Es evidente que hay que estar atentos debido a esta rapidez para
adaptarnos a los continuos cambios de esta tecnología con éxito. (WIKIPEDIA,
2015)
10
2.1.4. Comercio electrónico en América Latina
La realidad del comercio electrónico en la región Latinoamericana está
condicionada por el tipo de acceso a la información en el internet y por la
limitación de acceso a medios de pago, pero esta brecha cada vez se hace
más corta debido a avance abrumador de las TIC.
En el 2018, el comercio electrónico en América Latina superaría los 100
millones de dólares, de acuerdo con un estudio de la consultora IDC y
auspiciado por la empresa de pagos electrónicos Paypal, elaborado en
Argentina, Brasil, Chile, Colombia, México y Perú.
En Estados Unidos los consumidores sólo se tienen proyectado incrementar el
valor de sus compras en 3%, Colombia prevé aumentar su tasa de crecimiento
en un 83%, seguido por México y Brasil con un 30%; Perú 25%; Chile 22% y
Argentina 19%.
Latinoamérica es cada vez más importante en materia de comercio electrónico,
debido a que los consumidores gozan de factores como mayor conectividad y
un aumento en la confianza hacia los métodos de pago.
Para el 2018, las proyecciones del estudio apuntan a que los países que más
gastarán en el comercio electrónico serán Brasil, México y Chile.
(ELECONOMISTA, 2015)
2.1.5. Problemas operativos y legales del comercio electrónico
Los problemas que se presentan en el comercio electrónico son de carácter
global debido a que afectan al comprador de cualquier parte del mundo.
Estudios de la Comunidad Europea, mostraron que el principal obstáculo en el
avance del comercio electrónico es la documentación escrita, física y firmada a
la que están acostumbrados los compradores, y en la cual aseguran el
cumplimiento en materia de validez, legalidad, negociabilidad, y evidencia para
11
uso fiscal. En los últimos años se han realizado regulaciones en materia de
comercio electrónico y firma electrónica, considerando los avances logrados
por Estados Unidos de América y la Unión Europea. (Rodríguez Galán,
Derecho de los Negocios Internacionales, 2008)
Los principales factores que limitan el comercio electrónico se detallan a
continuación:
Negociabilidad. La negociabilidad de un documento firmado
electrónicamente, no está definida y no es posible hacerlo de la forma
tradicional.
Evidencia. Muchos países sólo aceptan como evidencia un documento
original para cuestiones legales, en el caso de un documento electrónico no
hay original.
Confidencialidad. La inseguridad y los crímenes cibernéticos vulneran la
confidencialidad de los datos, y la confianza para usar el internet para
transacciones comerciales aun es baja.
Crímenes cibernéticos. La existencia y uso del comercio electrónico ha
creado de forma directa el crimen cibernético.
Conservatismo comercial. Las personas evitan usar la red para el comercio
electrónico, prefieren hacerlo de forma presencial, lo cual evita su
crecimiento.
Uno de los principales problemas con el comercio electrónico es la existencia
de muchos vacíos legislativos en el ámbito de Internet, especialmente en lo que
al contenido generado por usuarios se refiere, a continuación se detallan los
principales:
El acceso a la información no está regulado. Toda persona puede obtener y
acceder a cualquier tipo de información digital sin ninguna restricción.
La propiedad intelectual y los derechos de copyright se han visto muy
afectados. Los principales que podríamos mencionar son los autores de
libros cuyos escritos son expuestos a usuarios virtuales libremente en el
internet.
12
Las prácticas y procesos de las empresas no son regulados ni
monitoreados. No se puede saber con exactitud si una empresa realiza
negocios lícitos al momento de realizar una negociación electrónica.
El control hasta ahora ha estado en manos de los usuarios, estos deciden
qué tipo de negocio electrónico es beneficioso (legal o ilegal) para su
economía.
La protección de datos personales, no existe privacidad sobre los datos en
especial en redes sociales. Por otra parte las tiendas online están
obligadas, en el marco de la legislación actual, a cumplir una serie de
obligaciones respecto a los datos que reciben de sus clientes.
El uso de las relaciones interpersonales para la comercialización
(marketing viral)
Existen impuestos diferentes en el comercio electrónico según se trate de
la venta de un producto o de un servicio.
Otro tema importante es como legislar en la comercialización de servicios
financieros y la percepción de comisiones por asesoramiento o gestión en
Internet, tema que se agrava cuando el sitio opera en un paraíso fiscal.
Como un esfuerzo para dar solución a los problemas que atañen al comercio
electrónico, se han propuesto las siguientes soluciones: (Rodríguez Galán,
Derecho de los Negocios Internacionales, 2008)
La firma electrónica que proporcione seguridad, validez legal y fiscal a las
transacciones.
El uso de la Criptografía y Encriptación en el manejo de la información.
Uso de certificados digitales emitidos por autoridades certificadoras.
El observatorio de seguridad de la información en España, miembro de la
Unión Europea recomienda, una serie de acciones que aumentan la confianza
del consumidor. (INTECO, 2011)
13
Falta de contacto físico con el producto. A fin de eliminar dicho problema
se propone la incorporación de chats que den asistencia en línea a los
compradores.
Falta de seguridad y fiabilidad. Para eliminar este problema, se propone
que la empresa esté bien identificada y sobre todo que ofrezca la
posibilidad de contactarse con ella directamente vía telefónica.
Problemas de distribución. El retraso en la recepción, desperfectos del
producto o no recibir el producto son los principales inconvenientes del
comercio electrónico, lo cual se minimiza con las dos acciones anteriores.
Problema de reclamos y devoluciones. El producto o servicio adquirido no
responde a lo ofrecido en Internet, y la incertidumbre sobre a quién
responderá en caso de reclamo.
Problemas de pago. Usar la tarjeta de crédito en internet sin conocimiento
alguno, aún no es 100% seguro.
2.1.6. Regulación y comercio electrónico en el mundo
En el ámbito internacional y a modo de resumen se presentan las normas más
relevantes definidas para el comercio electrónico, en diferentes partes del
mundo.
a) España.
Ley 34/2002. Servicios de la sociedad de la información y comercio
electrónico.
Ley Orgánica 5/1992. Regulación del tratamiento automatizado de
datos de carácter personal.
Ley 7/1995. Ordenación de comercio minorista.
Real Decreto 1113/1997. Regulador del registro de empresas de venta
a distancia.
Real Decreto-Ley 14/1999. La firma electrónica.
Reglamento 2000, Entidades certificadoras y Firma electrónica.
14
b) Europa.
Directiva 2000/31/CE. El comercio electrónico en el mercado interior.
COM [98]586. Directiva sobre el marco legal para el desarrollo del
comercio electrónico.
COM [98]297. Directiva sobre un marco común para la firma
electrónica.
COM [97]582. Uso seguro del Internet.
Recomendación 97/489/CE. Transacciones de pagos electrónicos.
COM [97]157. Iniciativa europea de comercio electrónico.
c) Internacional.
Iniciativa de la ONU en materia de comercio electrónico.
Reunión de la OCDE para tratar el problema de los impuestos en
internet.
Legislación norteamericana sobre protección a la propiedad intelectual
en internet.
Ley norteamericana sobre tratamiento fiscal en internet.
d) Ecuador.
Entre las principales normativas para la regulación del comercio electrónico
tenemos:
Ley de Comercio Electrónico, Firmas Electrónicas y Mensajes de
Datos, Registro Oficial 557 de 17 de abril de 2002.
Regula los mensajes de datos, la firma electrónica, los servicios de
certificación, la contratación electrónica y telemática, la prestación de
servicios electrónicos a través de redes de información, incluido el
comercio electrónico y la protección a los usuarios de estos sistemas.
Se reconoce jurídicamente a los mensajes de datos.
Aceptación jurídica de la firma electrónica.
Aplicación del principio de neutralidad tecnológica de la firma
electrónica.
Los certificados electrónicos son tratados desde una perspectiva
tecnológica abierta para cualquier tipo de tecnología.
15
Las firmas y los certificados extranjeros son aceptados cuando
cumplen con los requisitos básicos establecidos en la legislación
nacional.
Se establece que el Organismo de Regulación será el CONATEL y el
Organismo de Control será la Superintendencia de
Telecomunicaciones.
No se cambian las reglas de la contratación establecidas en la
legislación nacional, sino que se establecen las nuevas circunstancias
tecnológicas y su aplicación jurídica.
Se reconocen los derechos de los usuarios de servicios electrónicos.
Especialmente que conozcan la información que reciben.
Reconocimiento de medios de prueba electrónicos.
Se establecen las infracciones informáticas. Fraude, daños,
falsificación, intrusión y violaciones a la privacidad por medios
electrónicos.
2.1.7. Medidas de seguridad en el comercio electrónico
Las estructuras de seguridad de un sitio de e-Commerce varían con las de un
sitio tradicional. La principal diferencia radica en el hecho de que se
implemente el protocolo SSL o SET en la mayoría de los casos, para tener un
canal seguro en las transacciones, lo cual involucra las siguientes partes:
(Sanz, 2008)
a) Privacidad. Las transacciones no deben ser visualizadas por un tercero no
autorizado en la transacción.
b) Integridad. Los datos o transacciones como números de tarjetas de créditos
o pedidos, no deben ser alterados en el proceso de la transacción.
c) No Repudio. El generador de la transacción es responsable de ella, y no
tiene posibilidad de negarla.
d) Autenticación. Los involucrados que intervienen en la transacción deben
ser reales y válidos.
16
e) Facilidad. Las partes que intervienen en la transacción no deben tener
dificultad para realizar la transacción.
Algunas herramientas que se usan para implementar medidas de seguridad
son: (Bertolín, 2008)
a) Firewalls. Hardware o software utilizado en una red de computadoras para
controlar las comunicaciones, permitiéndolas o prohibiéndolas según las
políticas de red, que haya definido la organización.
b) Protocolo SSL. Secure Sockets Layer (Protocolo de Capa de Conexión
Segura) es un protocolo criptográfico que proporciona comunicación segura
en una red, comúnmente Internet, propuesto en 1994 por Netscape.
c) Protocolos SET. Secure Electronic Transaction, fue creado por Mastercard,
Visa, Microsoft, Verisign y otras empresas, y que en conjunto con
CyberCash, proporcionan soluciones para la venta por Internet, estas
soluciones manejan certificados digitales.
d) Certificado digital. Un Certificado Digital es un documento digital mediante
el cual un tercero confiable (autoridad certificadora) garantiza la vinculación
entre la identidad de un sujeto o entidad y su clave pública.
e) Firma digital (PKI). Una PKI es una fusión de soluciones dadas en
hardware, software y políticas de seguridad, que se basa en criptografía de
claves públicas, que permite la gestión de certificados.
2.2. Documento Electrónico
2.2.1. Antecedentes
Cuando se habla de documentos electrónicos, se hace referencia a “Mensajes”,
información generada, recibida, almacenada y enviada por medios electrónicos
o físicos que contienen el archivo electrónico, pudiendo variar estos medios con
el paso del tiempo. La tendencia en el uso de este tipo de documentos ha
generado la necesidad de establecer esquemas de validación para documentos
electrónicos, que por el avance tecnológico se requieren usar como
comprobantes legales ante las autoridades.
17
2.2.2. Definición
Un documento electrónico es un documento cuyo soporte material es algún tipo
de dispositivo electrónico o magnético, cuyo contenido está codificado
mediante algún tipo de código digital, que puede ser leído, interpretado, o
reproducido, mediante el auxilio de detectores de magnetización. (WIKIPEDIA,
2015)
Un documento electrónico se define como “la representación en forma
electrónica de hechos jurídicamente relevantes, susceptibles de ser
representados en una forma humana comprensible”. (Cárdenas, 2006)
Otra forma de definir un documento electrónico es “Información de cualquier
naturaleza en forma electrónica, archivada en un soporte electrónico según un
formato determinado y susceptible de identificación y tratamiento diferenciado”.
(Tallón, El Manual Práctico de Supervivencia en la Administración Electrónic@.,
2010)
La factura electrónica es un claro ejemplo de un documento electrónico, y fue
un reto establecer el esquema de seguridad que permitió dar validez jurídica a
estos documentos electrónicos, y poder pasar la barrera del papel impreso con
mecanismo de seguridad, a un esquema de documento electrónico con
mecanismos electrónicos de seguridad.
2.3. Criptografía
2.3.1.1. Antecedentes
Siempre ha existido información que no debe ser pública, ya fuera para
mantener a salvo un país, un negocio o los intereses personales de alguien.
Cuando había que comunicar esta información a un aliado, colaborador o
amigo, había que cerciorarse de que sólo obtuviera la información el receptor al
que iba dirigida y nadie más, para que la información permaneciera en secreto.
18
Una de las formas de transmitir información secreta es haciendo uso de la
criptografía. La palabra criptografía proviene del griego kryptos, que significa
oculto, y graphein, que significa escribir. El significado previsible a partir de esta
etimología sería “escritura oculta”. La criptografía es pues el arte y la ciencia de
hacer las comunicaciones inentendibles para todos excepto para el receptor
autorizado, que poseerá la llave para des encriptar el mensaje. (Curso Básico
de Criptografía clásica, 2013)
2.3.1.2. Definición
Es la técnica que protege documentos y datos. Funciona a través de la
utilización de cifras o códigos para escribir algo secreto en documentos y datos
confidenciales que circulan en redes locales o en internet. Su utilización es tan
antigua como la escritura. Los romanos usaban códigos para ocultar sus
proyectos de guerra de aquellos que no debían conocerlos, con el fin de que
sólo las personas que conocían el significado de estos códigos descifren el
mensaje oculto.
2.3.1.3. Objetivo
El objetivo básico de la criptografía es elaborar métodos tecnológicos que
permitan hacer llegar determinada información considerada confidencial o
secreta, desde un punto a otro, de forma segura garantizando que si el
mensaje es interceptado, el interceptor no autorizado no pueda reconocer el
contenido del mensaje o sea entenderlo.
2.3.1.4. Cifrado Simétrico
La característica principal de la criptografía simétrica es que, utiliza el mismo
algoritmo y la misma clave, tanto para encriptar como para desencriptar
información.
19
Para llevar a cabo este proceso de cifrado simétrico, se requiere que tanto el
emisor como receptor conozcan cual es la clave correcta a emplear y la
seguridad de este método está en cómo se transmite esa clave para evitar que
un tercero la conozca.
El mayor problema de emplear este método es cuando deseamos usarlo entre
muchos usuarios que quieren intercambiar información segura entre ellos. La
idea es entonces proporcionales a cada par de emisor-receptor una clave o la
misma clave para todos.
Como puede verse este sistema es simple, técnicamente mucho menos
complejo y por tanto más rápido pero tienes las desventajas indicadas de que
si alguien conoce la clave puede acceder a cualquier contenido o de que si se
intercambia información entre muchos se tienen que conocer muchas claves o
arriesgar a compartir una sola clave entre muchos arriesgando por tanto su
seguridad.
Figura 1: Cifrado Simétrico
Fuente: https://morenojhonny.wordpress.com/2012/06/14/4-1-cifrado-simetrico-y-confidencialidad-de-mensajes/
2.3.1.5. Cifrado Asimétrico
Considerando las debilidades del método simétrico, existe la posibilidad de
emplear un sistema que utiliza distintas claves para cifrar y descifrar un
mensaje, de forma que el conocimiento de la clave de cifrado no permita el
20
descifrado del mensaje e inversamente que el conocimiento del texto cifrado no
diga nada acerca de la clave de cifrado.
En los algoritmos con parejas de claves diferentes, llamados también
asimétricos o de clave pública, una de las claves se mantiene secreta, mientras
que la otra clave se hace libremente disponible (publica).
Este método es más seguro, más complejo y por tanto más lento de procesar.
A menudo se emplea una combinación de los métodos, se usa criptografía
asimétrica para encriptar la clave única de la criptografía simétrica con lo cual
se usan las ventajas de ambos métodos es decir se usa la seguridad del
asimétrico con la facilidad de uso del simétrico.
Figura 2: Cifrado Asimétrico
Fuente: http://wiki.adwys.es/index.php?title=Criptograf%C3%ADa
2.4. Certificados digitales
2.4.1. Definición
“Un certificado digital o certificado electrónico es un fichero informático
generado por una entidad de servicios de certificación que asocia unos datos
de identidad a una persona física, organismo o empresa, confirmando de esta
manera su identidad digital en internet. El certificado digital es válido
principalmente para autenticar a un usuario o sitio web en internet, por lo que
es necesaria la colaboración de un tercero que sea de confianza para
21
cualquiera de las partes que participe en la comunicación. El nombre asociado
a esta entidad de confianza es Autoridad Certificadora pudiendo ser un
organismo público o empresa reconocida en internet.” (WIKIPEDIA, 2015)
“Un certificado digital, es un documento digital mediante el cual un tercero de
confianza (una autoridad de certificadora) acredita electrónicamente la
autenticidad de la identidad de una persona física o persona moral, como lo
puede ser la URL de un sitio Web, Empresa o persona Física, a través del
estándar UITT X.50910 basado en algoritmos de criptografía asimétrica”.
(Tallón, El Manual Práctico de Supervivencia en la Administración Electrónic@,
2010)
Figura 3: Certificado Digital
Fuente: Tallón, El Manual Práctico de Supervivencia en la Administración Electrónic@, 2010
La Autoridad Certificadora (AC) es una organización confiable que emite o
revoca certificados de entidades, mediante la validación y autentificación de las
solicitudes de certificación. Un certificado digital permite identificarse en
22
internet, así como intercambiar información con otras personas o entidades con
la garantía de que sólo quien posee la llave privada puede tener acceso a dicha
información.
Por lo anterior, el uso de los certificados digitales permite generar la
infraestructura necesaria para proporcionar servicios seguros en internet, y
fomentar así el desarrollo del comercio electrónico permitiendo:
Garantizan la integridad de las transacciones y archivos.
Garantizan la confidencialidad.
Garantizan la autenticidad.
Hacen irrefutable una transacción.
Un certificado de firma electrónica para ser considerado válido debe contener la
siguiente información:
Identificación de la entidad de certificación de información.
Domicilio legal de la entidad de certificación de información.
Los datos del titular del certificado deben permitir su ubicación e
identificación.
El método de verificación de la firma del titular del certificado.
Fechas de emisión y expiración del certificado.
Número único de serie que identifica el certificado.
Firma electrónica de la entidad de certificación de información.
Limitaciones o restricciones para los usos del certificado.
2.4.2. Historia del certificado digital
2.4.2.1. Antecedentes
A continuación se presenta la evolución del certificado digital con el paso de los
años a nivel mundial: (Mancha, 2013)
23
1999: Un grupo de 10 asociaciones europeas de cámaras de comercio
pondrá en marcha a final de año un certificado digital, que identificará a las
empresas para potenciar el comercio internacional electrónico a través de
internet, la seguridad de las operaciones y evitar posibles fraudes.
2000: VeriSign. Nació una aplicación para generar certificados electrónicos
seguros.
2002: El sistema de Certificación Digital de las Cámaras, Camerfirma,
emitió más de 1.000 certificados digitales a empresas de toda España. Este
certificado digital garantiza, la identidad de cualquier persona que
comercialice en internet.
2003: El certificado digital expedido de forma gratuita por Ceres
(Certificación Española) de la Fábrica de la Moneda y Timbre.
2004: Las Cámaras de Comercio consideran que los certificados digitales y
la firma electrónica son los instrumentos idóneos para evitar fácilmente los
fraudes en las operaciones financieras a través de Internet, según han
informado en un comunicado tras conocerse los recientes intentos de
estafa online a clientes del Banco Popular, Citibank y Bank of America.
2005: Los ayuntamientos impulsan los pagos por Red y el certificado
digital.
2006: La Cámara de Comercio de Sabadell se ha convertido en la primera
cámara de Cataluña en tramitar la solicitud de certificados digitales de
origen para el sector exportador a través de internet, han informado hoy
fuentes de esta institución.
2007: El personal sanitario autorizado para acceder a los datos de la
historia clínica del paciente cuenta con una tarjeta de acceso, denominada
certificado digital.
2008/2009: Se implantan diferentes certificados digitales en muchos más
sectores, sanidad, hacienda pública, empresas privadas, para modos de
pago, bancos etc.
En la actualidad los certificados digitales lo pueden obtener tanto personas
físicas como jurídicas ante una autoridad de certificación reconocida.
24
2.4.3. Formatos y tipos
2.4.3.1. Introducción
Existen variados formatos para certificados digitales, pero los más comúnmente
empleados se rigen por el estándar UIT-T X.509. El certificado contiene el
nombre de la entidad certificada, número de serie, fecha de expiración, una
copia de la clave pública del titular del certificado (utilizada para la verificación
de su firma digital) y la firma digital de la autoridad emisora del certificado.
2.4.3.2. Certificado de pertenencia a empresa
Este certificado determina la vinculación de una persona física a una entidad
determinada, informando del departamento al cual pertenece y el cargo que
ocupa en la misma.
La ventaja que ofrece este tipo de certificado frente a otros certificados de
persona física es precisamente su vinculación empresarial, ya que aportan un
valor añadido muy importante, por ejemplo, al establecimiento de una política
de accesos a información dentro de una compañía con un gran número de
empleados.
2.4.3.3. Certificado de representante
Este certificado permite identificar a una persona física como representante de
una empresa. Con este certificado, su titular podrá representar telemáticamente
a su empresa en aquellos trámites para los cuales están habilitados.
25
2.4.3.4. Certificado de persona jurídica
Este certificado se ha incorporado al portfolio de productos de Camerfirma
recientemente bajo la Ley 59/2003 de firma electrónica. Mediante este
certificado, la propia empresa se convierte en titular del certificado digital, si
bien se delega la custodia del mismo en una persona física responsable del
mismo.
Actualmente, el certificado de persona jurídica está teniendo una gran acogida
en procesos automatizados como el de facturación electrónica.
2.4.3.5. Certificado Digital de las CERES
Cuando se solicita el certificado digital en la web de CERES, automáticamente
se generan dos claves: una privada, que sólo el ciudadano conoce porque es
quien la elige, que servirá para firmar de manera electrónica, y otra pública, a la
que accede cualquiera. El sistema se basa en la criptografía asimétrica. Es
decir, si con la clave privada se firma electrónicamente, con la otra se verifica la
firma y viceversa. Así, se garantiza la identidad del firmante y que el contenido
del documento no se ha modificado.
El fichero contiene los datos personales del titular del certificado digital (nombre
y apellidos), y la fecha de validez, que es de dos años. Dos meses antes de su
caducidad, CERES remite un correo electrónico para su renovación, que se
realiza en internet.
2.4.4. Autoridades certificadoras
2.4.4.1. Especificaciones
Una autoridad certificadora es una organización fiable que acepta solicitudes
de certificados de entidades, las valida, genera certificados y mantiene la
información de su estado. Una autoridad certificadora debe proporcionar una
26
declaración de prácticas de Certificación (Certification Practice Statement o
CPS) que indique claramente sus políticas y prácticas relativas a la seguridad y
mantenimiento de los certificados.
Las labores de una autoridad certificadora son:
Admisión de solicitudes. Un usuario llena un formulario y lo envía a la
autoridad certificadora solicitando un certificado. La generación de las
claves pública y privada son responsabilidad de un sistema asociado a la
autoridad certificadora.
Autentificación del sujeto. Antes de firmar la información proporcionada por
el sujeto, la autoridad certificadora debe verificar su identidad.
Dependiendo del nivel de seguridad deseado y el tipo de certificado se
deberán tomar las medidas oportunas para la validación.
Generación de certificados. Después de recibir una solicitud y validar los
datos la autoridad certificadora genera el certificado correspondiente y lo
firma con su clave privada. Posteriormente lo manda al subscriptor y,
opcionalmente, lo envía a un almacén de certificados para su distribución.
Distribución de certificados. La entidad certificadora puede proporcionar un
servicio de distribución de certificados para que las aplicaciones tengan
acceso y puedan obtener los certificados de sus subscriptores. Los
métodos de distribución pueden ser: correo electrónico, servicios de
directorio como el X.500 o el LDAP, etc.
Anulación de certificados. Al igual que sucede con las solicitudes de
certificados, la autoridad certificadora debe validar el origen y autenticidad
de una solicitud de anulación. La autoridad certificadora debe mantener
información sobre una anulación durante todo el tiempo de validez del
certificado original.
Almacenes de datos. Hoy en día existe una noción formal de almacén
donde se guardan los certificados y la información de las anulaciones. La
designación oficial de una base de datos como almacén tiene por objeto
señalar que el trabajo con los certificados es fiable y de confianza.
27
2.4.4.2. Entidad de certificación
Cuando se tiene la necesidad de emitir muchas llaves o claves públicas o
privadas, se tiene un tercero de confianza que tiene los recursos técnicos para
hacerlo, la confianza del usuario para el proceso y la garantía de la comunidad
para hacerlo fiable. Esto se complementa en varias legislaciones incluida la de
Ecuador con la inscripción o registro de dicho tercero de acuerdo con la ley.
Una entidad de certificación en general es una empresa internacional, un
tercero autorizado por las partes, técnicamente solvente y legalmente
habilitado, a quien se le otorga la capacidad de generar o prestar los
mecanismos para generar las claves que se usaran en los procesos de firma
electrónica, esta entidad posee gran capacidad tecnológica y económica capaz
de garantizar a nivel mundial la confiabilidad de sus operaciones.
La entidad de certificación debe cumplir las siguientes características:
Tener capacidad técnica para asegurar que emite claves de modo seguro y
confiable en cumplimiento con la ley.
Mantiene un sistema electrónico para el uso de estas claves, su revocación
o anulación cuando sea necesario.
2.4.4.3. Entidad de registro
Es una entidad asociada a una entidad de certificación que generalmente es la
que está en contacto con el público para la emisión de firmas electrónicas y sus
certificados.
Puede ser un banco, una cámara de comercio, un notario o una empresa que
igualmente en contrato con la entidad de certificación recibe los datos del
firmante y genera los documentos para que le sea emitida una firma electrónica
y el respectivo certificado.
28
2.4.5. Entidades Certificadoras en Ecuador
2.4.5.1. Antecedentes
La prestación de servicios de certificación de información por parte de
entidades de certificación de información acreditadas, requerirá de autorización
previa y registro. El Consejo Nacional de Telecomunicaciones, establecerá los
términos bajo los cuales las Entidades de Certificación de Información podrán
prestar sus servicios.
El CONATEL es el ente de administración y regulación encargado de acreditar
a las entidades prestadoras de servicios de certificación, que en Ecuador son
las siguientes:
2.4.5.2. BANCO CENTRAL
El Banco Central del Ecuador es la Entidad de Certificación de Información
acreditada por el Consejo Nacional de Telecomunicaciones, mediante
Resolución 481-20-CONATEL-2008 de 8 de octubre de 2008 y acto
administrativo suscrito el 6 de noviembre de 2008.
El Banco Central del Ecuador emite certificados digitales de firma electrónica y
otros servicios relacionados con la certificación electrónica para el Sector
Público, Personas Jurídicas y Personas Naturales; garantizando la seguridad
jurídica y tecnológica en entornos electrónicos cumpliendo el marco legal, las
normas y estándares nacionales e internacionales de certificación electrónica.
2.4.5.3. SECURITY DATA
Security Data Seguridad en Datos y Firma Digital S.A. es un una entidad
privada de certificación digital abierta que tiene la acreditación del Consejo
Nacional de Telecomunicaciones, con el fin de proveer de seguridad jurídica y
electrónica, emitiendo certificados digitales de Firma Electrónica y otros
29
Servicios Electrónicos Relacionados, cumpliendo el marco legal, las normas y
estándares internacionales de certificación digital.
2.4.5.4. ANF
ANF Ecuador es un una entidad privada prestadora de Servicios de
Certificación Electrónica, que tiene la acreditación del Consejo Nacional de
Telecomunicaciones, con el fin de garantizar la identidad de los titulares de
certificados y su correcta asociación a las claves de firma electrónica, para lo
cual administra una Infraestructura de Clave Pública (PKI), cumpliendo el
marco legal, las normas y estándares internacionales de certificación digital.
2.4.5.5. CONSEJO DE LA JUDICATURA
El consejo de la judicatura en su calidad de órgano de gobierno,
administración, vigilancia y disciplina de la función judicial, brinda servicios de
tercero de confianza, mediante la gestión de ciclo de vida de certificados
digitales de firma electrónica para personas naturales, personas jurídicas
públicas y privadas, miembros de empresa, funcionarios públicos, entidades,
unidades organizativas; dispositivos y otros servicios relacionados con la
certificación electrónica cumpliendo las leyes, normas y estándares nacionales
e internacionales aplicables al ámbito de certificación electrónica.
2.4.6. Beneficios de los certificados digitales
El Certificado Digital es el único medio que permite garantizar técnica y
legalmente la identidad de una persona en internet. Se trata de un requisito
indispensable para que las instituciones puedan ofrecer servicios seguros a
través de internet.
30
El certificado digital permite la firma electrónica de documentos, el receptor de
un documento firmado puede tener la seguridad de que éste, es el original y no
ha sido manipulado, y el autor de la firma electrónica no podrá negar la autoría
de esta firma.
El certificado digital permite autentificar y garantizar la confidencialidad de las
comunicaciones entre emisor y receptor a través de las redes abiertas de
comunicación. Se garantiza que únicamente la entidad autorizada puede
acceder a la información, evitando suplantaciones.
Figura 4: Beneficios de Certificado Digital
Fuente: http://es.slideshare.net/Karenpenr/certificado-y-firma-electrnica-14160982
2.5. Firma electrónica
2.5.1.1. Antecedentes
La Firma Electrónica surge de la necesidad de las organizaciones de reducir
sus costos e incrementar la seguridad de procesos internos al momento de
generar documentos electrónicos, a través de medios electrónicos que permita
agilizar los procesos, reducir los tiempos y evitar el uso de papel.
31
2.5.1.2. Definición
La firma electrónica es un concepto jurídico, equivalente electrónico al de la
firma manuscrita, donde una persona acepta el contenido de un mensaje
electrónico a través de cualquier medio electrónico válido. (WIKIPEDIA, 2015)
Ejemplos:
Firma con un lápiz electrónico al usar una tarjeta de crédito o débito en una
tienda.
Usando una firma digital.
Usando usuario y contraseña.
Usando una tarjeta de coordenadas.
La firma electrónica consiste en un conjunto de datos asociados a un mensaje
o documento electrónico, que permite garantizar con total seguridad la
identidad del firmante y la integridad del texto o mensaje enviado.
Para poder utilizar la firma electrónica es necesario haber obtenido
previamente un certificado de firma electrónica, el cual es emitido por la
Autoridad Certificadora.
El funcionamiento de la firma electrónica se basa en un par de números “la
llave pública y la llave privada” con una relación entre ellos. La llave privada se
almacena en un dispositivo de uso privado: una tarjeta o dispositivo
criptográfico o el disco duro de la computadora. La clave pública, en cambio, se
distribuye junto con el mensaje o documento firmado.
La firma electrónica es un término genérico frente al de firma digital. Mientras la
primera implica simple conformidad, la segunda va más allá, logra vincular al
titular con el mensaje indubitablemente. La firma electrónica no necesariamente
otorga la seguridad que da la firma digital, porque no está respaldada por el
Sistema de Certificación de las Entidades de Certificación, Registro y Depósito.
No existe una tercera parte involucrada en la transacción que de fe sobre el
uso debido y la vigencia de la firma.
32
La firma electrónica en Ecuador se encuentra vigente legalmente desde el 2002
con la vigencia de la respectiva ley.
El cuadro siguiente provee una perspectiva de legislaciones de firma
electrónica en el mundo.
Tabla 2: Legislación de firma electrónica en el mundo
Italia 1 de mayo de 1997 Puerto Rico 1 de agosto de 1998
Alemania 1 de noviembre de 1997 Colombia 1 de agosto de 1999
Singapur 1 de febrero de 1999 México 1 de mayo de 2000
Austria 1 de mayo de 1999 Estados Unidos 1 de enero de 2000
España 1 de septiembre de 1999 Perú 1 de junio de 2000
Inglaterra 1 de febrero de 2000 Ecuador 1 de febrero de 2001
Francia 1 de marzo de 2000 Venezuela 1 de marzo de 2001
Japón 1 de abril de 2000 Canadá 1 de marzo de 2001
Australia 1 de junio de 2000 Panamá 1 de junio de 2001
Bélgica 1 de julio de 2000 Brasil 1 de agosto de 2001
Finlandia 1 de enero de 2003 Argentina 1 de diciembre de 2001
Fuente: http://www.observatoriodigital.gob.cl/sites/default/files/modelos-de-firma-electronica.pdf
2.5.1.3. Funciones
Un sistema de Firma Electrónica permite cumplir las siguientes funciones de
seguridad:
Integridad de los documentos firmados electrónicamente, no es posible que
el contenido del mensaje sufra ninguna modificación accidental o
intencionada, una vez firmado el documento electrónico.
Identificación del Firmante, es posible saber quién es el emisor del mensaje
y sus datos principales.
Prueba de Conformidad con lo firmado, el firmante está de acuerdo con el
contenido del documento o se vincula con él como autor o como revisor.
Es el equivalente funcional de la firma manuscrita. Es un archivo electrónico
dotado de ciertos requisitos legalmente establecidos y de condiciones de
emisión técnicas de acuerdo con la ley.
33
La firma electrónica cumple las siguientes condiciones:
Está asociada de modo inequívoco a su titular. Es decir se mantiene en
control de quien la usa.
Está legal y técnicamente asegurada. Es decir cuenta con soporte de la
comunidad técnica y científica internacional que asegura su validez.
Obliga a su titular en el mismo modo que la firma manuscrita. Es decir lo
que se firma electrónicamente tiene la misma validez que aquello firmado
manualmente.
2.6. XAdES - Firma electrónica avanzada XML
2.6.1. Definición
“XAdES sigla en inglés de XML Advanced Electronic Signatures (Firma
electrónica avanzada XML) es un conjunto de extensiones a las
recomendaciones XML-DSig haciéndolas adecuadas para la firma electrónica
avanzada.
Mientras que XML-DSig es un entorno general para firmar digitalmente
documentos XML, XAdES especifica perfiles precisos de XML-DSig para ser
usados con firma electrónica reconocida con el sentido de la directiva
1999/93/EC de la Unión Europea. Un beneficio importante de XAdES es que
los documentos firmados electrónicamente pueden seguir siendo válidos
durante largos períodos, incluso en el caso de que los algoritmos criptográficos
subyacentes hayan sido rotos.” (WIKIPEDIA, 2015)
Las firmas XML están diseñadas para su utilización en transacciones con
archivos XML. Como toda firma digital, las firmas XML añaden autenticación,
integridad de datos, y soporte al no repudio a los datos que firman.
34
2.6.2. Ventajas
Las firmas XML tienen la ventaja respecto a las firmas que no se basan en XML
(como CMS o CADES) de que permiten firmar sólo porciones específicas del
árbol XML en vez del documento completo. Esta capacidad es muy útil cuando
un documento tiene una larga historia en la que sus componentes son creados
por diferentes autores en diferentes momentos, y hay que garantizar la
integridad de cada porción.
Una ventaja muy importante de XAdES, es que XML es la tecnología que hace
posible la integración entre aplicaciones y datos, y todas las aplicaciones de
firma actuales soportan XML. Una firma XML puede firmar más de un tipo de
recurso. Por ejemplo, una sola firma XML podría abarcar datos HTML, JPG,
XML, y una sección específica de un fichero XML.
2.6.3. Perfiles
XAdES define siete perfiles (formas) según el nivel de protección ofrecido.
Cada perfil incluye y extiende al previo:
XAdES-BES (Basic Electronic Signature), forma básica que simplemente
cumple los requisitos legales de la Directiva para firma electrónica
avanzada. Se usa cuando no se ha definido una política de firma.
XAdES-EPES, forma básica a la que se la ha añadido información sobre la
política de firma.
XAdES-T (Timestamp), añade un campo de sellado de tiempo para
proteger la firma contra el repudio.
XAdES-C (Complete), añade referencias a datos de verificación
(certificados y listas de revocación) a los documentos firmados, para
permitir verificación y validación off-line en el futuro (pero no almacena los
datos en sí mismos).
35
XAdES-X (Extended): añade sellos de tiempo a las referencias introducidas
por XAdES-C para evitar que pueda verse comprometida en el futuro una
cadena de certificados.
XAdES-X-L (Extended long-term): añade los propios certificados y listas de
revocación a los documentos firmados para permitir la verificación en el
futuro incluso si las fuentes originales (de consulta de certificados o de las
listas de revocación) no estuvieran ya disponibles.
XAdES-A (Archivado), añade la posibilidad de timestamping periódico (por
ej. cada año) de documentos archivados para prevenir que puedan ser
comprometidos debido a la debilidad de la firma durante un periodo largo
de almacenamiento.
2.7. Firma digital
2.7.1. Definición
“Una firma digital es un mecanismo criptográfico que permite al receptor de un
mensaje firmado digitalmente determinar la entidad originadora de dicho
mensaje (autenticación de origen y no repudio), y confirmar que el mensaje no
ha sido alterado desde que fue firmado por el originador (integridad).
La firma digital se aplica en aquellas áreas donde es importante poder verificar
la autenticidad y la integridad de ciertos datos, por ejemplo documentos
electrónicos o software, ya que proporciona una herramienta para detectar la
falsificación y la manipulación del contenido”. (WIKIPEDIA, 2015)
La firma digital es el instrumento de la seguridad en las transacciones
electrónicas. Tiene ventajas frente a la firma electrónica: permite determinar, de
forma fiable, la identidad de las partes que intervienen en las transacciones, y
también si el contenido del contrato celebrado fue alterado de alguna forma,
posteriormente, a la aplicación de la firma.
La firma digital es la transformación de un mensaje, en un texto incomprensible,
mediante la utilización de una clave pública y privada (cifrado asimétrico). La
firma digital no puede existir independiente de un certificado digital que lo
36
contenga, porque la firma, entendida como un conjunto de datos, es una
característica del certificado.
En la siguiente figura podemos observar el procedimiento para firmar un
documento:
Figura 5: Proceso Firma Digital
Fuente: http://slideplayer.es/slide/2365411/
2.8. Facturación electrónica
2.8.1. Antecedentes
Durante varias décadas, la mejor forma de llevar el control de los gastos
generados por empresas, instituciones privadas, instituciones estatales y
familias fue la impresión de los comprobantes, pero también tenía sus
dificultades: representaba gastos en impresiones, generación de archivos
físicos que se prestaba a malas prácticas, una de las principales fue los fraudes
al fisco.
Lo anterior mencionado podría afirmarse que ha pasado a la historia gracias a
la facturación electrónica. En Ecuador los contribuyentes han terminado
aceptando esta modalidad de facturación dado de que es sencilla y rentable,
pues se realiza con los sellos electrónicos con códigos alfanuméricos. Además,
37
las facturas electrónicas se acogen a los todos los requisitos de seguridad y
legalidad establecidos por las autoridades fiscales.
Actualmente, la facturación electrónica es uno de los elementos clave en la
optimización de recursos de las empresas, porque mantiene su valor legal
(conforme a la regulación vigente) y reduce los tiempos, costos y el esfuerzo
humano.
La facturación electrónica consiste en la transmisión de los comprobantes
fiscales (documento electrónico) entre emisor y receptor por medios
electrónicos (ficheros informáticos) y telemáticos (de un ordenador a otro),
firmado digitalmente con certificados cualificados, con la misma validez legal
que las facturas emitidas en papel.
“La facturación electrónica debe manejar un estándar que cumpla con los
siguientes requisitos:
Orientado a soportar las necesidades de un amplio número de sectores
pero sin exigir un nivel de información y codificación que impidiese su uso.
Documento electrónico basados en sintaxis XML
De ámbito internacional y con proyección a los mercados emergentes,
dado que el flujo de facturas a emitir supera las fronteras nacionales y
continentales.
Apoyados por las principales empresas de la industria tecnológica a nivel
internacional.
Dotado de sub-sistemas flexibles para la administración de los documentos
electrónicos, dado que las necesidades de seguimiento del documento
resultan muy variables en función del sector y perfil de la empresa". (Díaz,
2014)
De acuerdo a un estudio del Institute of Management and Administration
(EEUU), basado en 500 encuestas a pequeñas y grandes empresas
norteamericanas, la incorporación de la Factura Electrónica en el proceso de
emisión de documentos se transformó en la principal fuente de aumento de
productividad para el 8.2% de las empresas durante el año 2001.
38
2.8.2. La factura electrónica en el Ecuador
En Ecuador, la cultura tributaria ha ido aumentando por un buen trabajo del SRI
que ha incursionado en los siguientes campos:
Reforzamiento de la estructura institucional en los ámbitos técnico,
tecnológico y de acciones de control.
Reforzamiento del marco legal incrementando el riesgo para evasores.
Acciones de capacitación a los contribuyentes para facilitar las
declaraciones.
Actualmente con las nuevas reformas legales incentivos para deducir
impuestos en base a declaraciones de gastos que implican el exigir
facturas en todos los servicios y otras acciones relacionadas como la
lotería tributaria que igualmente apoyan la labor de control institucional.
El reforzamiento tecnológico del SRI adicionalmente motiva el uso de
herramientas como las declaraciones de impuestos por internet y otros
sistemas que facilitan el trabajo de esta oficina e incrementan la capacidad de
los usuarios para ponerse al día en sus obligaciones.
“Las instituciones financieras, administradoras de tarjetas de créditos,
exportadores y contribuyentes especiales excepto las entidades públicas,
podrán emitir como mensaje de datos y firmar electrónicamente las facturas,
comprobantes de retención, guías de remisión, notas de débitos y notas de
créditos (excepto la liquidación de compra) a partir de los meses junio, agosto,
octubre de 2014 y enero 2015 respectivamente según Resolución del SRI 13-
236 de l6 de mayo de 2013. (EL COMERCIO, 2013)
2.8.3. Objetivos de la facturación electrónica
Entre los principales objetivos que tiene la facturación electrónica tenemos:
Emisión de documentos tributarios en formato electrónico, en los procesos
del sector productivo de administración tributaria.
39
Optimizar y dinamizar las operaciones comerciales entre los sujetos
pasivos y la relación de éstos con el SRI.
Reducir la cantidad de documentos emitidos de manera física,
disminuyendo costos operativos y administrativos para los contribuyentes y
la Administración.
La reducción de costos operativos (impresión, distribución y
almacenamiento).
Simplificación de procesos administrativos.
Cero errores en generación de documentos tributarios.
Cuidado del medio ambiente.
Generar un documento con validez legal y tributaria del valor por cancelar
por la provisión de un bien o servicio.
La factura electrónica permite a una empresa alcanzar objetivos que la
beneficien y la vuelvan competitiva en el mercado, entre estos objetivos
tenemos:
Ser puntual con la información, tanto en la recepción como en el envío.
Ahorrar suministros de oficina (papel, tinta, etc.) y tiempo.
Facilitar los procesos de auditoría.
Mayor seguridad en el resguardo de los documentos.
Menor probabilidad de falsificación.
Agilitar la localización de información.
Eliminar espacios para almacenar documentos históricos.
Procesar de forma más rápida y eficiente.
Aportar al cuidado del medio ambiente.
Mantener un mayor control en la recaudación de impuestos.
40
2.8.4. Consideraciones de la factura electrónica
Para cumplir con su objetivo en todos los aspectos la factura electrónica tiene
que ser exactamente el equivalente funcional de la factura en papel. Esto
implica que:
El documento electrónico tiene la misma validez legal y efectos tributarios
que la factura en papel.
Cualquier persona física o jurídica puede facturar electrónicamente, aun
cuando se puede elegir recibir o no facturas electrónicas para evitar
problemas o discriminaciones con quienes no tienen capacidad de usar y
recibir facturas electrónicas.
El documento electrónico debe estar firmado electrónicamente con un
certificado digital que corresponda a la entidad emisora. En Ecuador el SRI
implementará un sistema de círculos de confianza mientras existan
empresas certificadoras nacionales aprobadas de acuerdo a lo que
establece la Ley de Comercio Electrónico del Ecuador.
Usualmente, el emisor o los proveedores de software que proveen las
herramientas contables o los programas informáticos a la empresa, le
suministran al receptor las herramientas para validar la firma electrónica.
Por norma legal, el receptor conserva las facturas en el formato enviado
para permitir su posterior auditoría o control por parte de la administración
u otros sistemas de auditoría.
2.8.4.1. Consideraciones por parte de emisor
Las principales consideraciones que debe tener en cuenta el emisor son las
siguientes:
Tener el consentimiento previo del receptor del comprobante electrónico,
aunque es posible que este requerimiento pueda eliminarse si el SRI en el
caso de Ecuador así lo decida por ejemplo al hacer obligatoria en un
momento dado la facturación electrónica.
41
El sistema debe garantizar de modo automático la autenticidad del origen y
la integridad de las facturas. Esto es fácilmente asegurable si se emplean
certificados digitales.
Las facturas se deben almacenarse electrónicamente en el mismo formato
en que fueron emitidas por el emisor, el proceso de almacenamiento debe
garantizar el contenido mismo de la factura y de la firma electrónica de la
misma
El emisor debe implementar sistemas para garantizar que las facturas
electrónicas se puedan recuperar en cualquier momento de modo íntegro y
con la seguridad de que serán legibles, entendibles y confiables.
Al momento de generar los documentos electrónicos, éstos tienen
características e identificadores para asegurar su compatibilidad
tecnológica y contable. Una vez almacenados los documentos electrónicos
estos deben ser posibles de recuperarlos mediante un archivo electrónico
organizado y por tanto deben contener determinados elementos que
faciliten su búsqueda por número de factura, por nombre de empresa,
número de RUC, montos, detalle de lo facturado entre otros posibles de
organizar.
Proporcionar al receptor un portal web adecuado que le permita validar y
consultar los documentos emitidos.
2.8.4.2. Consideraciones por parte de receptor
Las principales consideraciones que debe tener en cuenta el receptor son las
siguientes:
Disponer de una cuenta de correo electrónico para recibir los documentos
electrónicos emitidos a su nombre, y presentarlos cuando el SRI lo
requiera.
Disponer de los sistemas para la validación de la factura, su lectura y
comprensión. Preferiblemente disponer de la capacidad para procesar de
modo automático las mismas.
42
Tener la capacidad directamente o a través de terceros, para almacenar los
documentos electrónicos recibidos.
2.8.5. Funcionamiento de la facturación electrónica
El proceso de facturación electrónica lo forman dos procesos básicos en los
sistemas de facturación y corresponden a los siguientes:
2.8.5.1. Emisión del documento electrónico
El emisor, con la conformidad del receptor debe realizar los siguientes
subprocesos para cumplir con la emisión de documentos electrónicos:
Generación de comprobantes electrónicos de acuerdo a los estándares
determinados por el SRI.
Firma electrónica de los comprobantes electrónicos generados.
Gestionar la autorización de los comprobantes electrónicos con el SRI.
Almacenamiento de comprobantes electrónicos autorizados.
Enviar al receptor vía correo electrónico los documentos electrónicos
autorizados por el SRI.
2.8.5.2. Recepción de documento
El receptor, recibe el documento electrónico en formato digital y la conserva en
un medio informático, en el formato en el que lo recibió, para su consulta o
impresión, si fuera necesario. El documento firmado electrónicamente, guarda
la información relativa a la comprobación de la validez de la firma electrónica.
De esta forma ya no se exige imprimir la factura para que esta sea válida legal
y fiscalmente y, todo el tratamiento (emisión, distribución y conservación)
puede realizarse directamente sobre canales electrónicos.
43
Procedimiento de Solicitud, Recepción, Validación, Visualización, Firmado
Electrónico y Almacenamiento de Comprobantes Electrónicos:
Figura 6: Proceso Facturación Electrónica
Fuente: http://slideplayer.es/slide/3612247/
2.8.6. Ventajas y desventajas de la facturación electrónica
2.8.6.1. Ventajas de la facturación electrónica
Al generar un documento tributario por medio de un sistema de
información, el sello que emite es único e irrepetible lo cual corrobora su
origen y le proporciona total integridad al documento.
El envío al cliente se realiza por medio del correo electrónico, ayudando a
reducir tiempo de entrega de documentos, costos de impresión y
eliminando el documento físico.
Mejor control de la información fiscal de cada contribuyente, debido a que
todos los documentos previo a su entrega al cliente deben ser autorizados
por el SRI, lo cual garantiza la integridad y veracidad de las declaraciones
mensuales y anuales.
Reduce costos y errores en el proceso de generación de los documentos
electrónicos, captura, entrega y almacenamiento.
Mayor control en la emisión de documentos tributarios.
Mejora de la eficiencia de las tareas administrativas, permite destinar los
recursos humanos a aspectos productivos en las empresas.
44
Integración de ERP’S, el proceso de facturación electrónica está integrada
con los procesos administrativos financieros de la empresa, garantizando la
veracidad e integridad de la información financiera al generar los
documentos tributarios.
Optimización en la tesorería, la automatización permite cuadrar los apuntes
contables y comparar documentos tributarios minimizando a la vez el
margen de error humano.
Ser puntual con la información, tanto en la recepción como en el envío de
documentos electrónicos.
Las empresas que implanten facturación electrónica generan sus
documentos diariamente o según como esta implante su proceso de su
facturación, evitando retrasos en la generación de su información tributaria.
Los documentos electrónicos generados no pueden ser manipulados por
terceros, evitando alterar la integridad de los documentos electrónicos.
Elimina espacios para almacenar documentos históricos.
Años atrás se destinaba grandes espacios físicos para almacenar
documentos que terminaban subutilizados, ya que la gran mayoría de estos
archivos dejaban de tener interés para el desarrollo de la empresa; hoy en
día solo necesitamos dispositivos de almacenamiento electrónico.
Aportar al cuidado del medio ambiente.
Evitamos el uso de papel esto conlleva que se evite la tala de árboles
principal materia para la elaboración de papel.
2.8.6.2. Desventajas de la facturación electrónica
La factura electrónica también tiene algunas desventajas, por lo que muchas
empresas aun no adoptan esta modalidad para la emisión de sus documentos
electrónicos, entre las desventajas tenemos:
El SRI rechaza automáticamente a los documentos electrónicos mal
emitidos, para que estos sean corregidos, lo cual implica que ya no tengan
la misma fecha de emisión, llegando esto a perjudicar a las empresas en
45
el cobro de intereses, de igual forma perjudica a la contabilidad y a los
inventarios de la misma.
El canal electrónico por el cual se entregan los documentos electrónicos al
receptor es correo electrónico, lo cual limita su entrega a clientes que no
poseen dicho canal electrónico.
Adquisición de sistemas informáticos para emitir documentos electrónicos,
lo que implica una inversión económica representativa.
Capacitación de personal para el manejo del sistema de facturación
electrónica.
Trámites requeridos para iniciar con el proceso de facturación electrónica.
2.8.7. Marco legal
Una de las grandes interrogantes que tienen los representantes de las
empresas a las cuales se les habla de factura electrónica es el tema de validez,
o legalidad de la misma, por tanto en esta sección se analiza el marco legal, en
el cual se especifica que factura electrónica debe cumplir con ciertos
requerimientos legales y formales, además de aquellos requisitos técnico y
tecnológicos que la llevan a ser incluso más confiable y segura que la factura
impresa.
En Ecuador se encuentra vigente la Ley de Comercio Electrónico, Firmas
Electrónicas y Mensajes de Datos publicada como Ley No. 67. En el R.O.
Suplemento 557 de 17 de Abril del 2002.
El Reglamento a esta Ley emitido por el Dr. Gustavo Noboa Bejarano
mediante Decreto No. 3496 del 12 de Diciembre de 2002.
Las leyes del Régimen Tributario y las normativas del SRI le permiten dictar las
normas relativas a la facturación electrónica, sus requerimientos,
implementación y desarrollo.
Desde el año 2014 es obligatorio el uso de comprobantes electrónicos para
todos los contribuyentes bajo requisitos legales y reglamentarios exigibles por
el SRI. En esencia, los comprobantes electrónicos serán los mismos que los
46
comprobantes físicos, pero ahora en forma digital, usando para ello la firma
electrónica estos comprobantes electrónicos tendrán la misma validez que los
comprobantes físicos.
2.8.7.1. Normativa de comprobantes electrónicos SRI
Las normativas vigentes para la emisión de comprobantes electrónicos así
como la adopción de facturación electrónica se detallan a continuación. (SRI,
2015)
Circular NAC-DGECCGC15-00000007, Registro Oficial 492 de 04 de mayo
de 2015.
A los sujetos pasivos emisores de comprobantes electrónicos en referencia
a: oportunidad de la entrega y notificación del comprobante electrónico al
receptor, emisión a consumidores finales, oportunidad de entrega del
comprobante de retención y anulación de comprobantes electrónicos.
Resolución NAC-DGERCGC15-00000004 publicada en el Registro Oficial
414 de 12 de enero de 2015.
Establece la obligatoriedad de emisión de comprobantes electrónicos para
notarios.
Resolución NAC-DGRCGC14-00788, Registro Oficial 351 de 9 de octubre
de 2014.
Expide las normas para la transmisión electrónica de información de
comprobantes de venta, retención y documentos complementarios a la
Administración Tributaria.
Resolución NAC-DGERCGC14-00790, Registro Oficial 346 de 02 de
octubre de 2014.
Expide las normas para la emisión y autorización de comprobantes de
venta, retención y documentos complementarios mediante comprobantes
electrónicos.
47
Resolución NAC-DGERCGC14-00366, Registro Oficial 257 de 30 de mayo
de 2014.
Reforma a la Resolución No. NAC-DGERCGC13-00236, que se refiere a la
ampliación de plazos para la utilización de comprobantes electrónicos.
Resolución NAC-DGERCGC14-00157, Registro Oficial 215 de 31 de marzo
de 2014 31-03-2014.pdf.
Dispone que varios organismos y entidades públicas, deberán emitir los
documentos (facturas, comprobantes de retención, guías de remisión,
notas de crédito y notas de débito) únicamente a través de mensajes de
datos y firmados electrónicamente, de acuerdo con el calendario
correspondiente.
Resolución NAC-DGERCGC13-00236, Registro Oficial 956 de 17 de Mayo
de 2013.
Establece el cronograma de obligatoriedad de Facturación Electrónica.
Tabla 3: Evolución de obligatoriedad de facturación electrónica en el Ecuador
1 01 de Enero
2015
Empresas públicas y empresas de servicios públicos
Entidades del Sector Público Financiero.
Empresas de economía mixta.
2 01 de Abril 2015
Organismos y entidades , de la Función Ejecutiva
La Asamblea Nacional.
Organismos y entidades de la Función Judicial, con, excepción de sus
organismos auxiliares mencionados en el Art. 178 de la Constitución de
la República del Ecuador. .
Organismos y entidades de la. Función Transparencia y Control Social.
Organismos y entidades de la Función Electoral
Universidades y Escuelas Politécnicas públicas.
3 01 de Julio 2015
Los Organismos y entidades, de los Gobiernos Autónomos
Descentralizados, incluidas las mancomunidades conformadas por los
mismos.
Los organismos y entidades públicas no descritas. En ninguno de los
Grupos señalados anteriormente.
Fuente: http://slideplayer.es/slide/3612247/
48
Resolución NAC-DGERCGC12-00105, Registro Oficial 666 21 de marzo
2012.
Expide las Normas para el nuevo esquema de emisión de comprobantes de
venta, retención y documentos complementarios mediante mensajes de
datos (comprobantes electrónicos).
Reglamento General a la Ley de Comercio Electrónico, Firmas Electrónicas
y Mensajes de Datos.
Reglamento General a la Ley de Comercio Electrónico, Firmas Electrónicas
y Mensajes de Datos, Registro Oficial 735 de 31 de diciembre de 2002.
Ley de Comercio Electrónico, Firmas Electrónicas y Mensajes de Datos,
Registro Oficial 557 de 17 de abril de 2002.
Regula los mensajes de datos, la firma electrónica, los servicios de
certificación, la contratación electrónica y telemática, la prestación de
servicios electrónicos a través de redes de información, incluido el
comercio electrónico y la protección a los usuarios de estos sistemas.
49
3. CAPITULO III Marco de Referencia
3.1. Sistemas de facturación electrónica
Los sistemas de facturación electrónica cada vez mantienen una presencia
más relevante en el comercio electrónico, y cada vez son más las empresas
que adoptan este sistema de emisión de documentos, a continuación se han
identificado 5 proveedores representativos de soluciones de facturación
electrónica de acuerdo a la relevancia que han obtenido en el mercado en
estos últimos años.
3.1.1. ESDINAMICO
Página Web: http://www.esdinamico.com/
Es una de las empresas con mayor experiencia en el desarrollo de
aplicaciones empresariales del Ecuador. Uno de sus fuertes es utilizar servicios
SaaS como plataforma para hacer eficiente cualquier tipo de negocio.
Cuenta con una aplicación gratuita en internet, el portal Factura Box, permite a
sus usuarios archivar sus documentos de acuerdo a los rubros para la
declaración de gastos personales.
Su proceso de facturación electrónica inició hace tres años, cuando el SRI
obligo a la mayoría de empresas a facturar con la modalidad electrónica.
Esdinamico desarrolló un software que está siendo comercializado hasta la
actualidad, y que ayuda a las empresas a facturar electrónicamente
acoplándose a cualquier sistema contable.
El sistema informático desarrollado se denomina e-billing, software que se ha
posesionado con más del 60% de las empresas del mercado ecuatoriano.
El software contempla todo el proceso de facturación electrónica, a
continuación se lista cada uno de los procesos:
50
Generación de factura electrónica en el estándar XAdES_BES.
Autorización en la plataforma del SRI.
Distribución del comprobante electrónico a través de correo electrónico.
Notificación SMS y/o redes sociales.
Almacenamiento en e-custodia.
Publicación en Portal Web.
Los documentos electrónicos que emite el e-billing son:
Facturas
Notas de crédito
Notas de débito
Comprobantes de retención
Guías de remisión
3.1.2. KRUGER
Página Web: http://www.kruger.com.ec/
http://www.firmaelectronica.com.ec/
KRUGER ofrece una solución PaaS (Platform as a Service) de Facturación
Electrónica, esta solución es una plataforma de comprobantes electrónicos que
cumple con las normativas y requisitos legales y reglamentarios exigidos por el
SRI en el Ecuador para empresas grandes y medianas, con un alto nivel
transaccional.
Su solución está desarrollada en lenguaje de programación JAVA, lo que la
hace robusta, escalable y de alto nivel transaccional.
Su solución contemplan todo el proceso de facturación electrónica, a
continuación se lista cada uno de los procesos:
Generación de archivos XML.
Firma XAdES.
Autorización en la plataforma del SRI.
Distribución del comprobante electrónico a través de correo electrónico.
51
Almacenamiento de comprobantes electrónicos.
Publicación en Portal Web.
Los comprobantes electrónicos que emiten sus soluciones son:
Facturas
Notas de crédito
Notas de débito
Comprobantes de retención
Guías de remisión
3.1.3. COMFIAR
Página Web: http://www.comfiar.com.ec/
Es una empresa argentina fundada en el 2008 creada tras la política de
facturación electrónica del Organismo de Recaudación y Control Argentino.
Para el año 2013 se lanza sobre el mercado de Ecuador acoplando a sus
servicios nuevas funcionalidades para cumplir con la resolución del SRI y
necesidades de sus clientes. Poseen tres modalidades en su servicio de
facturación: In-house, Cloud y Cloud privado.
Beneficios de su proceso de Factura Electrónica:
Importantes ahorros en suministros de oficina y en tiempos de distribución
por cada documento emitido.
Avisos con notificaciones por email de envío y recepción de comprobantes.
Información protegida a través de canales con certificados digitales y
contrato de confidencialidad.
Aporta al cuidado del medio ambiente eliminando la utilización de papel.
Sus servicios contemplan todo el proceso de facturación electrónica, a
continuación se lista cada uno de los procesos:
Recepción de su archivo de comprobantes.
Validación del Código de Autorización Electrónica y procesamiento de
inconsistencias.
52
Devolución del archivo recibido con su Código de Autorización Electrónica
y fecha de vencimiento correspondiente a cada comprobante.
Generación y envío por mail de factura en formato electrónico (PDF).
Acceso gratuito para sus clientes a un portal donde encontrará todos los
comprobantes recibidos.
3.1.4. SERES
Página Web: https://ecuador.e-factura.net
Empresa experta en la sistematización de procesos documentales y de
servicios de interconexión desde más de 30 años. Para la gestión del
intercambio de documentos cuenta con los servicios B2B, B2G y B2C con la
modalidad SaaS, que garantiza los procedimientos de expedición (generación y
numeración) de documentos electrónicos. Entre sus principales mercados
están México, Ecuador y España.
El sistema que permite el proceso de facturación electrónica es el E-
Factura.NET, este software se adapta a las normativas vigentes en el Ecuador.
Entre los principales beneficios de E-Factura.NET tenemos:
Seguridad. Solo el destinatario y el personal autorizado por el emisor,
tendrá acceso a su contenido.
Trazabilidad. Gestión y control de entrega de documentos.
Integridad. El documento firmado es infalsificable y no se puede modificar.
Mejora de Procesos. Reducción en tiempos y costos en los procesos de
compra, venta y gestión de cobros a clientes y pagos a proveedores.
Agiliza procesos de almacenamiento y consulta de facturas.
Responsabilidad social. Menor consumo de papel.
Los documentos electrónicos que emite el E-Factura.NET son:
Facturas
Notas de crédito
Notas de débito
53
Comprobantes de retención
Guías de remisión
3.2. Comprobante Fiscal Digital (CFD)
3.2.1. Introducción
Un comprobante fiscal digital, es la representación digital de un comprobante
para efectos fiscales, que utiliza los estándares definidos por el SAT en cuanto
a tecnología, forma y sintaxis para contar con validez fiscal.
Los Comprobantes Fiscales Digitales (CFD) o Facturas Electrónicas, son un
mecanismo alternativo de comprobación fiscal de ingresos, egresos y
propiedad de mercancías en traslado por medios electrónicos, el cual se
incorpora a los esquemas tradicionales existentes y cuya particularidad es el
uso de las tecnologías de la información para la generación, procesamiento,
transmisión y resguardo de los documentos fiscales de manera 100% digital.
“La definición de comprobante fiscal digital o CFD, es catalogada por el SAT
como cualquier documento de carácter fiscal que pueda ser representado en su
modalidad Digital en un formato estandarizado como es el estándar extensible
XML”. (SAT, 2011)
Lo anterior quiere decir que un CFD no se limita a representar facturas
comerciales, sino a todo aquel documento con validez fiscal de cualquier
régimen, desde el simplificado formato de arrendamiento, hasta el complejo
formato de factura.
3.2.2. Características
Las principales características de los Comprobantes Fiscales Digitales (CFD)
son las siguientes:
54
Integridad.- Garantiza que la información contenida en el mensaje queda
protegida y no puede ser manipulada o modificada, confirmando la no
alteración de los datos de origen (Sistemas de digestión MD5 y SHA1).
Autenticidad.- Permite verificar la identidad del emisor y el receptor del
CFD.
No repudio.- El emisor que selle digitalmente un CFD no podrá negar la
generación del comprobante.
Única: Garantiza no ser violada, falsificada o repetida al validar el folio,
número de aprobación y vigencia del certificado de sello digital con el que
fue sellada, puede validarse contra el informe mensual.
Numero de certificado de sello digital: Es un documento electrónico
proporcionado por el SAT (archivo .cer), que está vinculado al certificado
de FEA y por lo tanto a la identidad del propietario, cuya función es habilitar
al titular para emitir y sellar digitalmente Facturas Electrónicas u otro tipo de
CFD.
Folios y Series: Una Factura Electrónica u otro tipo de Comprobante Fiscal
Digital (CFD) está amparada fiscalmente con un folio electrónico que fue
autorizado por el SAT a través de un número de aprobación, ambos datos
deberán aparecer en la Factura Electrónica.
Sello digital: Es el elemento de seguridad en una factura ya que a través de
éste se puede detectar: si un mensaje ha sido alterado (integridad),
determinar quién es el autor del documento (certidumbre de origen) y
capacidad de impedir que el autor del sello digital niegue haber sellado el
mensaje (no repudio).
Formato Electrónico: El formato electrónico para generar y resguardar
datos fiscales es XML y está regulado por el SAT.
55
Cadena original y leyenda en caso de impresión: Todas las Facturas
Electrónicas que sean impresas deberán portar la leyenda “Este
documento es una impresión de un comprobante fiscal digital”. Así como la
cadena original la cual es una secuencia de datos formada con la
información fiscal contenida dentro de la Factura Electrónica o cualquier
CFD, la cual debe ser generada bajo las especificaciones establecidas por
el SAT.
3.2.3. Tipos de CFD
Un CFD es un concepto amplio, ya que existen varios tipos de comprobantes
electrónicos a parte de las Facturas Electrónicas, los documentos electrónicos
que se consideran CFD’s son los siguientes: (Comprobante Fiscal Digital en
México, 2011)
Facturas Electrónicas
Notas de Crédito Electrónicas
Notas Débito Electrónicas
Recibos de Honorarios Electrónicas
Cartas Porte Electrónicas
Recibos de Arrendamiento Electrónicos
3.2.4. Seguridad en los CDF
El elemento que garantiza la seguridad en la emisión de los Comprobantes
Fiscales Digitales es el “Sello digital”, ya que vincula el contenido del CFD con
la identidad del emisor, este Sello digital se fundamenta en la criptografía
asimétrica o de clave pública (PKI), donde se usa el algoritmo de Cifrado RSA y
de digestión SHA1.
56
3.2.4.1. Sello Digital
Un mensaje de datos que adjuntos a un CFD tiene un sello digital, permite
garantizar la integridad de su contenido y su autenticidad, del mismo,
garantizando el no repudio.
Garantiza la identificación del emisor de un CFD, vinculándolo como autor
legítimo de éste, permite corroborar la integridad del documento electrónico
después de su emisión.
Un sello Digital es válido sólo si está amparado por un Certificado de Sello
Digital expedido por el Servicio de Administración Tributaria (SAT), cuyo titular
sea la persona física o moral que expide los Comprobantes Fiscales Digitales.
La vigencia de los certificados de Sello Digital es por lo general de dos años
pero siempre está sujeta a la entidad certificadora.
3.2.5. Expedición de CFD
Previo a la expedición de CFD’s el emisor debe cumplir con los requisitos
indispensables dispuestos por las regulaciones vigentes, estos requisitos se
detallan a continuación:
Debe disponerse de un sistema electrónico contable que cumpla con las
disposiciones fiscales vigentes en materia de Comprobantes Fiscales
Digitales.
Contar con un Certificado de Firma Electrónica Avanzada vigente por cada
establecimiento, local o sucursal donde se expidan Comprobantes Fiscales
Digitales.
57
3.3. Comprobante Fiscal Digital por Internet (CFDI)
3.3.1. Introducción
El CFDI o Comprobante Fiscal Digital por Internet, responde al modelo de
factura Electrónica vigente en México desde enero de 2011.
Figura 7: Comprobante Fiscal Digital por Internet (CFDI)
Fuente: http://www.edicomgroup.com/es_MX/solutions/einvoicing/what_is.html
Este tipo de comprobante utiliza estándares normados por el SAT y se
constituye como documento digital en formato XML con 4 características
esenciales: (EDICOM, 2015)
Integridad: La información contenida en un CFDI no puede manipulares ni
modificarse sin que se detecte.
Autenticidad: La identidad del emisor del comprobante puede verificarse a
través de su Certificado de Sello Digital.
Único: Cada CFDI lleva registrado un identificador único otorgado por un
PAC (Proveedor Autorizado de Certificación que lo convierte en único ante
su destinatario y ante la Administración Tributaria.
Verificable: La persona que emite un CFDI no podrá negar haberlo hecho.
58
3.3.2. Ventajas
La adopción de este sistema de facturación electrónica tiene los siguientes
principales beneficios: (EDICOM, 2015)
Administración más eficiente
Importante reducción de sus costos.
Eliminación de errores humanos.
Menores tiempos de entrega y cobro de facturas.
Incremento de la seguridad de las transacciones comerciales.
Automatización de los procesos de recepción e integración de facturas.
Eliminación del papel de la gestión administrativa diaria.
Resguardo ágil, seguro y legal de las facturas.
59
4. CAPITULO IV Análisis y Diseño del Módulo de
facturación electrónica
4.1. Análisis de requisitos
Los requisitos para el desarrollo del sistema de facturación electrónica se
dividen en tres tipos principales:
4.1.1. Requisitos establecidos por el SRI
Los principales requisitos establecidos por el SRI del Ecuador para a emisión
de comprobantes electrónicos en su versión 1.10, son los siguientes:
Firma Electrónica: El contribuyente debe contar con una firma electrónica
autorizada por las entidades certificadoras.
Solicitud: Presentar vía electrónica su solicitud al Servicio de Rentas
Internas para la emisión de comprobantes electrónicos. Esta solicitud
deberá realizarse en la página del SRI con el formato establecido por este
organismo.
Sistema Informático: Realizar ajustes pertinentes de ser necesario a los
sistemas informáticos para la emisión de documentos electrónicos
Responsabilidad: El contribuyente debe asumir la responsabilidad y uso
de medios electrónicos.
Comprobantes Físicos: Se requiere la entrega digital de los
comprobantes electrónicos (XML, RIDE) a los clientes por medios
electrónicos.
60
4.1.2. Requisitos establecidos por la Universidad Central del Ecuador
Los principales requisitos establecidos por la Universidad Central del Ecuador
son los siguientes:
Desarrollar un módulo que permita configurar y dar mantenimiento, los
siguientes parámetros de facturación electrónica:
o Pantalla que permita administrar y dar mantenimiento la siguiente
información:
Unidad ejecutora(Universidad)
Empresa(Facultades)
Establecimientos
Usuarios de sistema
Puntos de emisión
Pantallas del sistema
Certificados digitales
Roles por usuario
o Pantalla que permita visualizar los documentos procesados por el
sistema de facturación electrónica con los siguientes parámetros de
búsqueda:
Cedula de identidad del cliente
Rango de fecha de emisión
Estado de documento electrónico
o Pantalla que permita asignar usuarios por punto de emisión, y estos
usuarios solo puedan visualizar documentos de su punto de emisión
asignado.
o Pantalla que permita administrar y asignar diferentes certificados
digitales por empresa (facultades) y unidades ejecutoras.
Desarrollar un módulo de integración entre el sistema Financiero de la
Universidad Central y el sistema de Facturación Electrónica.
El flujo de datos entre los sistemas Financiero y de Facturación Electrónica
serán a través de archivos CSV.
Identificar y elaborar un catálogo de posibles errores que se puedan
presentar durante el proceso de Facturación Electrónica.
61
El sistema de facturación electrónica generara un reporte diario con
información de archivos procesados que tuvieron algún error en el proceso
de facturación electrónica.
4.1.3. Requisitos establecidos por el Cliente
Los principales requisitos establecidos por el cliente son los siguientes:
Los comprobantes electrónicos en formatos XML y PDF deben ser
entregados al cliente por medios electrónicos, en este caso específico vía
correo electrónico.
El cliente debe tener acceso a un portal Web de documentos electrónicos,
mediante una cuenta asociada a él, con usuario y clave.
El cliente debe tener la facilidad de consultar todos sus comprobantes
electrónicos en cualquier momento a través de un portal Web en el que se
ingresara con los datos de su cuenta.
4.2. Modelo conceptual del sistema de facturación electrónica
4.2.1. Introducción
El sistema de facturación electrónica se establece en el contexto financiero de
la Universidad Central del Ecuador, en la emisión de documentos electrónicos,
en base a lo expuesto se ofrece una solución especializada en la emisión de
documentos electrónicos, esta solución cuenta con una arquitectura compuesta
por componentes modulares totalmente automatizados que abarcan el proceso
de generación de documentos electrónicos, envió de documentos electrónicos,
recepción y comprobación de las autorización electrónicas. El sistema de
facturación electrónica cuenta con una interfaz amigable y de fácil manejo tanto
para un usuario administrativo como para el usuario receptor de los
documentos electrónicos.
62
4.2.2. Misión del sistema de facturación electrónica
Facilitar la gestión electrónica de documentos tributarios emitidos por la
Universidad Central del Ecuador, a través de una solución compatible e
integrada con los nuevos esquemas del SRI del Ecuador, basada en principios
generales de innovación, rentabilidad y servicio al cliente.
4.2.3. Visión del sistema de facturación electrónica
Al 2020 ser un sistema integrador e innovador alineado estratégicamente con
los objetivos de la Universidad Central del Ecuador, convirtiéndose en un
referente en la prestación de servicios de Comercio Electrónico en el Ecuador.
4.2.4. Marco funcional del sistema de facturación electrónica
Teniendo en cuenta el objetivo del presente trabajo se define un marco
funcional del sistema de facturación electrónica, el cual con un enfoque
sistémico tiene las siguientes características funcionales:
1. Generación de documentos electrónicos en formato XML.
2. Firma digital XAdES.
El sistema de facturación electrónica garantiza la implementación de un
certificado digital acreditado por una entidad certificadora, que permita
firmar digitalmente los documentos electrónicos.
3. Autorización de documentos electrónicos en los servicios de validación del
SRI.
4. Distribución del documento electrónico a través de correo electrónico.
5. Almacenamiento de los documentos electrónicos.
El sistema de facturación electrónica archiva la notificación tributaria
certificada de los documentos que fueron emitidos.
6. Publicación en Portal Web.
63
El proceso de la solución de facturación electrónica se considera para los
siguientes tipos de documentos electrónicos.
Facturas
Notas de crédito
Notas de débito
Comprobante de retención
Guías de Remisión
En el siguiente grafico podemos observar el marco funcional del proceso de
facturación electrónica:
Figura 8: Modelo funcional de Facturación Electrónica
Fuente: http://www.andes.info.ec/es/econom%C3%ADa/inicia-ecuador-primera-fase-proyecto-facturaci%C3%B3n-
electr%C3%B3nica.html
4.3. Modelado del análisis
4.3.1. Relación entre sistemas participantes
4.3.1.1. Descripción
El proceso de facturación electrónica inicia con la emisión de un comprobante
de pago en el sistema administrativo financiero de la Universidad Central del
64
Ecuador, este comprobante de pago se lo cancela en las agencias de puntos
de pago de Servipagos, para luego realizar una conciliación de los
comprobantes pagados y generar la factura a nombre del cliente, esta factura
se la genera en un formato de archivo CSV, la cual es depositada en un
servidor FTP para que el sistema de facturación electrónica la procese.
El sistema de facturación electrónica a través de su módulo de integración lee
el archivo depositado en el FTP, realiza las validaciones de estructura y de
formato del archivo para después de esto realizar la firma digital del documento
electrónico.
El módulo de firma digital, a través del certificado digital configurado para la
empresa emisora, firma el documento electrónico, con lo que garantiza la
entidad originadora de dicho documento (autenticación de origen y no repudio),
y que el documento electrónico no ha sido alterado desde de ser firmado por el
emisor (integridad).
Luego de tener el documento electrónico firmado digitalmente se envía a los
servicios del SRI para su validación y autorización, con esta autorización se
almacena el documento autorizado en el sistema de facturación electrónica.
Para finalizar el proceso de facturación electrónica se envía una notificación al
receptor de documento electrónico vía correo electrónico y se publica el
documento electrónico autorizado en el portal del sistema de facturación
electrónica.
4.3.1.2. Diagrama
A continuación se presenta el diagrama de los sistemas que interactúan en el
proceso general de Facturación Electrónica de la Universidad Centra del
Ecuador.
65
Figura 9: Sistemas participantes Facturación Electrónica
Fuente: Cayambe Chicaiza Edison Estuardo
4.3.2. Arquitectura de la aplicación
4.3.2.1. Criterios del diseño
Debido a la naturaleza del proyecto es necesario tener una arquitectura con
capas claramente definidas para lo cual se elige usar la plataforma de
programación Java EE 6 la cual nos permitirá definir una arquitectura de n
capas distribuidas basadas cada una en componentes modulares que se
ejecutaran en un servidor de aplicaciones jboss-as-7.1.1.Final.
La plataforma Java EE proporciona un entorno para desarrollar y ejecutar a
gran escala aplicaciones distribuidas, escalables confiables y seguras.
La plataforma Java EE está diseñada para reducir la complejidad del desarrollo
de aplicaciones empresariales, proporcionando un modelo de desarrollo
eficiente y un entorno de desarrollo que permite a los desarrolladores
concentrarse en la funcionalidad de la lógica de negocio.
66
En base a las especificaciones que proporciona la plataforma Java EE se
define una arquitectura distribuida en 4 capas lógicas y modulares las cuales
definimos a continuación.
Capa de presentación de datos JSF
Capa de Servicios de Negocio EJB
Capa De Datos JPA
Capa de Integración mediante servicios JAX-WS y lectura de archivos CSV
A continuación se presenta la distribución e interacción de las capas lógicas:
Figura 10: Capas lógicas Facturación Electrónica
Fuente: Cayambe Chicaiza Edison Estuardo
4.3.2.2. Análisis del diseño
A continuación se presenta un análisis de las capas modulares de la
arquitectura del sistema de facturación electrónica.
Capa de presentación
Esta capa es la encargada de interactuar con el usuario final, presentando
y recolectando información, esta capa se comunica directamente con la
67
capa de lógica de negocios para lo se utiliza el patrón de diseño Modelo-
Vista-Controlador.
Patrón Modelo-Vista-Controlador
Este patrón es una solución efectiva al problema de arquitectura que
plantea la necesidad de separar la parte de la presentación o vista y la
parte de los datos o modelo. En el patrón MVC esta separación se
consigue introduciendo un tercer componente, el Controlador.
El Modelo: Es la representación de la información con la cual el
sistema opera, por lo tanto gestiona todos los accesos a dicha
información, tanto consultas como actualizaciones, implementando
también los privilegios de acceso que se hayan descrito en las
especificaciones de la aplicación (lógica de negocio). Envía a la “vista”
aquella parte de la información que en cada momento se le solicita
para que sea mostrada (típicamente a un usuario). Las peticiones de
acceso o manipulación de información llegan al “modelo” a través del
“controlador”. (WIKIPEDIA, 2015)
En JSF el Modelo se implementa en las clases Managed Bean,
también conocidos como Backing Beans.
El Controlador: Responde a eventos (usualmente acciones del
usuario) e invoca peticiones al “modelo” cuando se hace alguna
solicitud sobre la información (por ejemplo, editar un documento o un
registro en una base de datos). También puede enviar comandos a su
“vista” asociada si se solicita un cambio en la forma en que se presenta
el “modelo” (por ejemplo, desplazamiento o scroll por un documento o
por los diferentes registros de una base de datos), por tanto se podría
decir que el “controlador” hace de intermediario entre la “vista” y el
“modelo”. (WIKIPEDIA, 2015)
La Vista: Presenta el “modelo” (información y lógica de negocio) en un
formato adecuado para interactuar (usualmente la interfaz de usuario),
por tanto requiere de dicho “modelo” la información que debe
representar como salida. (WIKIPEDIA, 2015)
68
Aquí se sitúan los elementos para la entrada y salida de datos de
usuario implementados con la tecnología Facelets de JSF y con el
lenguaje “EL” de expresiones.
Los elementos JSF de la Vista son:
Páginas xml Facelets.
Ficheros de recursos.
Clases representando conversores, validadores y listeners.
Propiedades de la Vista en las clases Managed Bean.
Elementos que extienden la Vista: Renderers y componentes
propios.
En la siguiente figura se representa el patrón de diseño Modelo, la
Vista y el Controlador:
Figura 11: Patrón de diseño Modelo-Vista-Controlador
Fuente: http://www.lametaweb.com/2015/06/30/Desarrollo-de-una-aplicacion-desde-cero-El-patron-MVC-y-
la-capa-de-presentacion.html
Capa de servicios de negocio
La capa de servicios de negocio es una capa lógica que realiza las
funciones de facturación electrónica a través de servicios que son
implementados por objetos de negocio (POJOS), sobre los que se utilizan
técnicas de Programación Orientada a Aspectos (AOP, Aspect Object
69
Programing) para proveer la funcionalidad de contenedores clásicos EJB,
estos servicios negocio se listan a continuación:
Implementación de generación de documentos electrónicos.
Implementación de firma electrónica.
Integración con el SRI.
Implementación de procesos cron y batch.
Implementación de notificaciones vía correo electrónico.
Procesamiento de datos.
Administración de recursos.
Esta capa se encuentra formada por componentes modulares que permiten
minimizar el acopamiento ya que se ajustan al modelo de componentes
distribuidos de JEE 6, a continuación se detalla los componentes.
Objetos Java
Componentes EJB 3.0
o Stateless
o Stateful
o Singleton
Estos componentes se pueden encapsular como servicios Web y así
acoplaros en un modelo de arquitectura orientada a servicios (SOA).
En esta capa se necesita proporcionar servicios y componentes escalables
y reutilizables, y esto se logra haciendo uso de patrones de diseño los
cuales se detallan a continuación:
Business Delegate
El sistema de facturación electrónica utiliza el patrón de diseño
Business Delegate para reducir el acoplamiento entre los clientes de la
capa de presentación y los servicios de negocio.
70
El patrón de diseño Business Delegate encapsula los detalles de la
implementación del servicio de negocio, como los detalles de
búsqueda, procesamiento y acceso de la arquitectura EJB a través de
interfaces.
Los principales motivos que se tomaron en cuanta para aplicar este
patrón son los siguientes:
Los clientes de la capa de presentación necesitan acceder a
servicios de negocio.
Brindar la posibilidad que diferentes clientes puedan acceder a los
servicios de negocio como por ejemplo:
o Clientes Web
o Dispositivos móviles
o Componentes EJB
Los APIs de los servicios de negocio podrían cambiar según
evolucionan los requerimientos del negocio.
Es deseable minimizar el acoplamiento entre los clientes de la capa
de presentación y los servicios de negocio y ocultar así los detalles
de la implementación del servicio.
Session Facade
El sistema de facturación electrónica utiliza un bean de sesión como
una fachada (Facade) para encapsular la complejidad de las
interacciones entre los objetos de negocio participantes en un flujo de
trabajo.
El Session Facade maneja los objetos de negocio y proporciona un
servicio de acceso uniforme a los clientes.
Los principales motivos que se tomaron en cuenta para aplicar este
patrón son los siguientes:
Proporcionar a los clientes una interfaz sencilla que oculte todas
interacciones complejas entre los componentes de negocio.
71
Reducir el número de objetos de negocio que se exponen al cliente
a través de la capa de servicio sobre la red.
Ocultar al cliente las interacciones y las interdependencias entre los
componentes de negocio.
Centralizar de interacciones (responsabilidades), mayor flexibilidad
y mayor habilidad para soportar los cambios.
Proporcionar una capa de servicio uniforme para separar la
implementación de los objetos de negocio de la abstracción del
servicio de negocio.
Evitar la exposición directa de los objetos de negocio a los clientes
para mantener el acoplamiento entre las dos capas al mínimo.
Transfer Object
El sistema de facturación electrónica utiliza un Transfer Object para
encapsular los datos de negocio.
Este patrón permite el intercambio de datos eficiente entre las capas
cliente y EJB. Se utiliza una única llamada a un método para enviar y
recuperar el Transfer Object. Cuando el cliente solicita los datos de
negocio al EJB, éste puede construir el Transfer Object, rellenarlo con
sus valores de atributos y pasarlo por valor al cliente.
Los principales motivos que se tomaron en cuenta para aplicar este
patrón son los siguientes:
Normalmente, las aplicaciones tienen transacciones de lectura con
mayor frecuencia que las de actualización. El cliente solicita los
datos desde la capa de negocio para su presentación y otros tipos
de procesamientos de sólo-lectura. El cliente actualiza los datos de
la capa de negocio con mucha menos frecuencia con la que los lee.
El cliente normalmente solicita valores que son algo más que un
atributo o que dependen de otro EJB. Así, el cliente podría invocar
varias llamadas remotas para obtener los datos necesarios.
72
El número de llamadas que un cliente hace al EJB impactan en el
rendimiento de la red.
Singleton
El sistema de facturación electrónica utiliza este patrón de diseño para
restringir la creación de objetos pertenecientes a una clase y así
obtener instancias únicas de objetos.
Su objetivo es garantizar que una clase sólo tenga una instancia y
proporcionar un punto de acceso global a ella.
Los principales motivos que se tomaron en cuenta para aplicar este
patrón son los siguientes:
Tener acceso controlado a la única instancia. Puede tener un
control estricto sobre cómo y cuándo acceden los clientes a la
instancia.
Tener un espacio de nombres reducido. El patrón Singleton es una
mejora sobre las variables globales.
Permitir el refinamiento de operaciones y la representación. Se
puede crear una subclase de Singleton.
Strategy
El sistema de facturación electrónica utiliza este patrón de diseño para
representar una acción a ser ejecutada en los elementos de una
estructura de objetos, definiendo esta acción fuera de la estructura,
específicamente se define estructuras de creación de documentos
electrónicos fuera de la creación del objeto.
Los principales motivos que se tomaron en cuenta para aplicar este
patrón son los siguientes:
73
Definir una familia de algoritmos de creación de objetos.
Encapsular cada algoritmo de creación de objetos.
Tener algoritmos intercambiables dentro de esa familia.
Capa de integración
Esta capa proporciona interoperabilidad y organización del flujo de
información entre sistemas heterogéneos, es decir su objetivo es asegurar
la comunicación entre distintos tipos de aplicaciones.
Este módulo proporciona los siguientes beneficios importantes:
Modificar y automatizar los procesos de negocio sin tener mayor
impacto en el proceso de negocio.
Proveer distintos canales de comunicación con sistemas proveedores.
Compartir datos entre aplicaciones System i, Windows y Web por EDI,
XML o servicios Web
Integrar con aplicaciones Java de un sistema heredado
En el módulo de integración se utilizan los siguientes patrones de diseño:
Service Activator
Se utiliza para recibir peticiones y mensajes asíncronos de los clientes.
Cuando se recibe un mensaje, el Service Activator localiza e invoca a
los métodos de los componentes de negocio necesarios para cumplir la
petición de forma asíncrona.
Capa de persistencia
Esta capa está formada por servicios que permiten abstraer y resolver el
acceso a datos. El objetivo es ser la única capa que conoce como son
persistidos los objetos de la aplicación y como recuperarlos.
74
La capa superior no interactúa directamente con la base de datos, sino que
lo hace mediante la interfaz expuesta por la capa de persistencia.
Esto permite cambiar la estrategia con que se persisten los objetos, incluso
cambiar la tecnología o el motor utilizado sin impactar más allá de esta
capa.
En esta capa se necesita proporcionar una interfaz de acceso a la fuente
de datos a través de objetos, por lo cual se utilizan los siguientes patrones
de diseño:
Data Access Object
El sistema de facturación electrónica utiliza este patrón de diseño para
proporcionar una interfaz única de acceso a los datos, de forma
independiente a dónde se hallen almacenados.
El componente de negocio que se basa en el DAO utiliza la interfaz
más simple expuesta por el DAO para sus clientes. El DAO oculta
completamente los detalles de implementación de origen de datos de
sus clientes. Debido a que la interfaz expuesta por el DAO para clientes
no cambia cuando los cambios subyacentes de implementación de
origen de datos, este modelo permite adaptarse a los diferentes
esquemas de almacenamiento sin afectar a sus clientes o
componentes de negocio. Esencialmente, DAO actúa como un
adaptador entre el componente y la fuente de datos.
Los principales motivos que se tomaron en cuenta para aplicar este
patrón son los siguientes:
Aislar a una aplicación de la tecnología de persistencia.
75
Data Transfer Object
El sistema de facturación electrónica utiliza este patrón de diseño como
un contenedor de datos que se utiliza para transportar datos entre
capas y niveles.
El patrón Data Transfer Object está compuesto principalmente de
atributos y no contienen la lógica de negocio. DTO’s son a menudo
java.io.Serializable para transferir los datos a través de JVM.
Los principales motivos que se tomaron en cuenta para aplicar este
patrón son los siguientes:
El cliente por lo general requiere valores para más de un atributo o
un objeto depende de un EJB. De este modo, el cliente puede
invocar varias llamadas remotas para obtener los datos necesarios.
El número de llamadas realizadas por el cliente al EJB.
Aplicaciones con alto tráfico de datos entre cliente y servidor esto a
menudo degradan el rendimiento de la red.
Composite Entity
El sistema de facturación electrónica utiliza este patrón de diseño para
modelar, representar y manejar un conjunto de objetos persistentes
relacionados entre sí, es decir representa un conjunto de objetos y
datos que se almacenan en la base de datos.
Los principales motivos que se tomaron en cuenta para aplicar este
patrón son los siguientes:
Los beans de entidad son mejores para implementar objetos
genéricos debido a la alta sobrecarga asociada con todo bean de
entidad.
Las aplicaciones que mapean directamente un esquema de una
base de datos relacional a beans de entidad (donde cada fila de la
76
tabla se representa como un ejemplar de un bean de entidad)
tienden a tener un mayor número de beans de entidad específicos
Mapear directamente el modelo de objetos al modelo EJB trae
beans de entidad específicos.
Los clientes no necesitan conocer la implementación del esquema
de la base de datos para utilizar y soportar los beans de entidad.
4.3.2.3. Diseño de la arquitectura de la aplicación
Las aplicaciones empresariales basadas en componentes distribuidos se
dividen en niveles lógicos, cada nivel cumple un objetivo específico, y está
compuesto por uno o varios componentes, la división de estos niveles es una
abstracción lógica de componentes, a continuación se presenta el diagrama de
arquitectura del sistema de facturación electrónica.
Figura 12: Arquitectura de la aplicación
Fuente: Cayambe Chicaiza Edison Estuardo
77
4.3.3. Casos de uso
A continuación se presentan los casos de uso del sistema de facturación
electrónica, en los cuales se presentan descripciones de los pasos o las
actividades que deberán realizarse para llevar a cabo procesos de
administración y consulta del sistema de facturación electrónica.
4.3.3.1. Diagrama CU-01: Administración de Empresas
Figura 13: Diagrama CU-01: Administración de Empresas
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 4: CU-01: Administración de Empresas
Caso de Uso Actor Descripción
Crear Empresa Usuario Administrador El caso de uso permite ingresar una
empresa (Facultad, Unidad ejecutora) en el
sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Empresa. Se presenta el formulario para
ingresar los datos pertinentes a dicha
78
empresa; una vez llenado los datos se
procede a ingresar la empresa en el
sistema.
Actualizar
Empresa
Usuario Administrador El caso de uso permite actualizar una
empresa (Facultad, Unidad ejecutora) en el
sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Empresa. Se despliega la opción de
búsqueda con los filtros correspondientes,
se realiza la búsqueda y se selecciona la
empresa a editar. Una vez editada la
información de la empresa se procede a
actualizar la empresa en el sistema.
Eliminar
Empresa
Usuario Administrador El caso de uso permite eliminar una
empresa (Facultad, Unidad ejecutora) en el
sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Empresa. Se despliega la opción de
búsqueda con los filtros correspondientes,
se realiza la búsqueda se selecciona la
empresa y procedemos a eliminar.
Búsqueda
Empresa
Usuario Administrador El caso de uso permite buscar las
diferentes empresas (Facultades, Unidades
ejecutoras) en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Empresa. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda y
el proceso devolverá el listado de empresas
que cumplan los parámetros de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
79
4.3.3.2. Diagrama CU-02: Administración de Establecimientos
Figura 14: Diagrama CU-02: Administración de Establecimientos
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 5: CU-02: Administración de Establecimientos
Caso de Uso Actor Descripción
Crear
Establecimiento
Usuario Administrador El caso de uso permite ingresar un
Establecimiento en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Establecimiento. Se presenta
el formulario para ingresar los datos
pertinentes a dicho establecimiento; una vez
llenado los datos se procede a ingresar el
establecimiento en el sistema.
Actualizar
Establecimiento
Usuario Administrador El caso de uso permite actualizar un
establecimiento en el sistema de
facturación electrónica, el proceso inicia
cuando el usuario ingresa al sistema, a paso
seguido elige la opción Establecimiento. Se
despliega la opción de búsqueda con los
filtros correspondientes, se realiza la
80
búsqueda y se selecciona el establecimiento
a editar. Una vez editada la información se
procede a actualizar el establecimiento en el
sistema.
Eliminar
Establecimiento
Usuario Administrador El caso de uso permite eliminar un
establecimiento en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Establecimiento. Se
despliega la opción de búsqueda con los
filtros correspondientes, se realiza la
búsqueda se selecciona el establecimiento y
procedemos a eliminar.
Búsqueda
Establecimiento
Usuario Administrador El caso de uso permite buscar los
diferentes establecimientos en el sistema
de facturación electrónica, el proceso inicia
cuando el usuario ingresa al sistema, a paso
seguido elige la opción Establecimiento. Se
despliega la opción de búsqueda con los
filtros correspondientes, se realiza la
búsqueda y el proceso devolverá el listado
de establecimientos que cumplan los
parámetros de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
81
4.3.3.3. Diagrama CU-03: Administración de Puntos de Emisión
Figura 15: Diagrama CU-03: Administración de Puntos de Emisión
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 6: CU-03: Administración de Puntos de Emisión
Caso de Uso Actor Descripción
Crear Punto
Emisión
Usuario Administrador El caso de uso permite ingresar un punto de
emisión en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Punto Emisión. Se presenta
el formulario para ingresar los datos
pertinentes a dicho punto de emisión; una
vez llenado los datos se procede a ingresar
el punto de emisión en el sistema.
Actualizar
Punto Emisión
Usuario Administrador El caso de uso permite actualizar un punto
de emisión en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Punto Emisión. Se despliega
la opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda y
se selecciona el punto de emisión a editar.
82
Una vez editada la información se procede
a actualizar el punto de emisión en el
sistema.
Eliminar Punto
Emisión
Usuario Administrador El caso de uso permite eliminar un punto de
emisión en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Punto Emisión. Se despliega
la opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda se
selecciona el punto de emisión y
procedemos a eliminar.
Búsqueda
Punto Emisión
Usuario Administrador El caso de uso permite buscar los
diferentes puntos de emisión en el sistema
de facturación electrónica, el proceso inicia
cuando el usuario ingresa al sistema, a paso
seguido elige la opción Punto Emisión. Se
despliega la opción de búsqueda con los
filtros correspondientes, se realiza la
búsqueda y el proceso devolverá el listado
de puntos de emisión que cumplan los
parámetros de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
83
4.3.3.4. Diagrama CU-04: Administración de Procesos Facturación
Figura 16: Diagrama CU-04: Administración de Procesos Facturación
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 7: CU-04: Administración de Procesos Facturación
Caso de Uso Actor Descripción
Crear Proceso
Facturación
Usuario Administrador El caso de uso permite ingresar un proceso
de facturación en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Proceso Facturación. Se
presenta el formulario para ingresar los
datos pertinentes a dicho proceso de
facturación; una vez llenado los datos se
procede a ingresar el proceso de facturación
en el sistema.
Actualizar
Proceso
Facturación
Usuario Administrador El caso de uso permite actualizar un
proceso de facturación en el sistema de
facturación electrónica, el proceso inicia
cuando el usuario ingresa al sistema, a paso
seguido elige la opción Proceso
Facturación. Se despliega la opción de
búsqueda con los filtros correspondientes,
se realiza la búsqueda y se selecciona el
84
proceso de facturación a editar. Una vez
editada la información se procede a
actualizar el proceso de facturación en el
sistema.
Eliminar
Proceso
Facturación
Usuario Administrador El caso de uso permite eliminar un proceso
de facturación en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Proceso Facturación. Se
despliega la opción de búsqueda con los
filtros correspondientes, se realiza la
búsqueda se selecciona el proceso de
facturación y procedemos a eliminar.
Búsqueda
Proceso
Facturación
Usuario Administrador El caso de uso permite buscar los procesos
de facturación en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Proceso Facturación. Se
despliega la opción de búsqueda con los
filtros correspondientes, se realiza la
búsqueda y el proceso devolverá el listado
de procesos de facturación que cumplan
los parámetros de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
85
4.3.3.5. Diagrama CU-05: Configuración de sistema
Figura 17: Diagrama CU-05: Configuración del Sistema
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 8: CU-05: Configuración de sistema
Caso de Uso Actor Descripción
Crear
Configuración
Usuario Administrador El caso de uso permite ingresar una
configuración de facturación en el sistema
de facturación electrónica, el proceso inicia
cuando el usuario ingresa al sistema, a paso
seguido elige la opción Configuración. Se
presenta el formulario para ingresar los
datos pertinentes a dicha configuración de
facturación; una vez llenado los datos se
procede a ingresar la configuración de
facturación en el sistema.
Actualizar
Configuración
Usuario Administrador El caso de uso permite actualizar una
configuración de facturación en el sistema
de facturación electrónica, el proceso inicia
cuando el usuario ingresa al sistema, a paso
seguido elige la opción Configuración. Se
despliega la opción de búsqueda con los
86
filtros correspondientes, se realiza la
búsqueda y se selecciona la configuración
de facturación a editar. Una vez editada la
información se procede a actualizar la
configuración de facturación en el sistema.
Eliminar
Configuración
Usuario Administrador El caso de uso permite eliminar una
configuración de facturación en el sistema
de facturación electrónica, el proceso inicia
cuando el usuario ingresa al sistema, a paso
seguido elige la opción Configuración. Se
despliega la opción de búsqueda con los
filtros correspondientes, se realiza la
búsqueda se selecciona la configuración de
facturación y procedemos a eliminar.
Búsqueda
Configuración
Usuario Administrador El caso de uso permite buscar las
configuraciones de facturación en el sistema
de facturación electrónica, el proceso inicia
cuando el usuario ingresa al sistema, a paso
seguido elige la opción Configuración. Se
despliega la opción de búsqueda con los
filtros correspondientes, se realiza la
búsqueda y el proceso devolverá el listado
de configuraciones de facturación que
cumplan los parámetros de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
87
4.3.3.6. Diagrama CU-06: Administración de Roles
Rol de Usuario: Define un conjunto de tareas y permisos específicos que
realizará y tendrá acceso un determinado usuario.
Un rol de usuario tiene asignado una o varias tareas con sus respectivos
permisos y accesos, este rol de usuario se lo asigna a uno o varios usuarios,
con lo que el usuario tiene definido claramente sus funciones a realizar en el
sistema de facturación electrónica, a continuación se presenta los roles que
maneja el aplicativo de facturación electrónica:
Rol de Administrador
Rol de Estudiante
Figura 18: Diagrama CU-06: Administración de Roles
Fuente: Cayambe Chicaiza Edison Estuardo
88
Tabla 9: CU-06: Administración de Roles
Caso de Uso Actor Descripción
Crear Rol Usuario Administrador El caso de uso permite ingresar un Rol en
el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción Rol.
Se presenta el formulario para ingresar los
datos pertinentes a dicho rol; una vez
llenado los datos se procede a ingresar el rol
en el sistema.
Actualizar Rol Usuario Administrador El caso de uso permite actualizar un rol en
el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción Rol.
Se despliega la opción de búsqueda con los
filtros correspondientes, se realiza la
búsqueda y se selecciona el rol a editar.
Una vez editada la información se procede
a actualizar el rol en el sistema.
Eliminar Rol Usuario Administrador El caso de uso permite eliminar un rol en el
sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción Rol.
Se despliega la opción de búsqueda con los
filtros correspondientes, se realiza la
búsqueda se selecciona el rol y
procedemos a eliminar.
Búsqueda Rol Usuario Administrador El caso de uso permite buscar los roles en
el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Rol. Se despliega la opción de búsqueda
con los filtros correspondientes, se realiza
la búsqueda y el proceso devolverá el
listado de roles que cumplan los
parámetros de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
89
4.3.3.7. Diagrama CU-07: Administración de Perfiles
Perfil de Usuario: El perfil de usuario define un conjunto de accesos que un
usuario específico tiene para visualizar los documentos electrónicos emitidos
por un punto de emisión perteneciente a una unidad ejecutora.
Un perfil de usuario tiene asignado uno o varios puntos de emisión, este perfil
de usuario se lo asigna a un usuario específico, con lo que el usuario podrá
visualizar únicamente los documentos emitidos en los puntos de emisión
asignados a su perfil.
Figura 19: Diagrama CU-07: Administración de Perfiles
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 10: CU-07: Administración de Perfiles
Caso de Uso Actor Descripción
Crear Perfil Usuario Administrador El caso de uso permite ingresar un perfil en
el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Perfil. Se presenta el formulario para
ingresar los datos pertinentes a dicho perfil;
una vez llenado los datos se procede a
90
ingresar el perfil en el sistema.
Actualizar Perfil Usuario Administrador El caso de uso permite actualizar un perfil
en el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Perfil. Se despliega la opción de búsqueda
con los filtros correspondientes, se realiza
la búsqueda y se selecciona el perfil a
editar. Una vez editada la información se
procede a actualizar el perfil en el sistema.
Eliminar Perfil Usuario Administrador El caso de uso permite eliminar un perfil en
el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Perfil. Se despliega la opción de búsqueda
con los filtros correspondientes, se realiza
la búsqueda se selecciona el perfil y
procedemos a eliminar.
Búsqueda Perfil Usuario Administrador El caso de uso permite buscar los perfiles
en el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Perfil. Se despliega la opción de búsqueda
con los filtros correspondientes, se realiza
la búsqueda y el proceso devolverá el
listado de perfiles que cumplan los
parámetros de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
91
4.3.3.8. Diagrama CU-08: Administración de Usuarios
Figura 20: Diagrama CU-08: Administración de Usuarios
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 11: CU-08: Administración de Usuarios
Caso de Uso Actor Descripción
Crear Usuario Usuario Administrador El caso de uso permite ingresar un usuario
en el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Usuario. Se presenta el formulario para
ingresar los datos pertinentes a dicho
usuario; una vez llenado los datos se
procede a ingresar el usuario en el sistema.
Actualizar
Usuario
Usuario Administrador El caso de uso permite actualizar un
usuario en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Usuario. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda y
se selecciona el usuario a editar. Una vez
editada la información se procede a
92
actualizar el usuario en el sistema.
Eliminar
Usuario
Usuario Administrador El caso de uso permite eliminar un usuario
en el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Usuario. Se despliega la opción de
búsqueda con los filtros correspondientes,
se realiza la búsqueda se selecciona el
usuario y procedemos a eliminar.
Búsqueda
Usuario
Usuario Administrador El caso de uso permite buscar los usuarios
en el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Usuario. Se despliega la opción de
búsqueda con los filtros correspondientes,
se realiza la búsqueda y el proceso
devolverá el listado de usuarios que
cumplan los parámetros de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
4.3.3.9. Diagrama CU-09: Administración de Usuarios y Puntos Emisión
Figura 21: Diagrama CU-09: Administración de Usuarios y Puntos Emisión
Fuente: Cayambe Chicaiza Edison Estuardo
93
Tabla 12: CU-09: Administración de Usuarios y Puntos Emisión
Caso de Uso Actor Descripción
Crear Usuario
Punto Emisión
Usuario Administrador El caso de uso permite ingresar un usuario de
punto de emisión en el sistema de facturación
electrónica, el proceso inicia cuando el usuario
ingresa al sistema, a paso seguido elige la
opción Usuario Punto Emisión. Se presenta el
formulario para ingresar los datos pertinentes a
dicho usuario de punto de emisión; una vez
llenado los datos se procede a ingresar el usuario
de punto de emisión en el sistema.
Actualizar
Usuario Punto
Emisión
Usuario Administrador El caso de uso permite actualizar un usuario de
punto de emisión en el sistema de facturación
electrónica, el proceso inicia cuando el usuario
ingresa al sistema, a paso seguido elige la
opción Usuario Punto Emisión. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda y se
selecciona el usuario de punto de emisión a
editar. Una vez editada la información se
procede a actualizar el usuario de punto de
emisión en el sistema.
Eliminar
Usuario Punto
Emisión
Usuario Administrador El caso de uso permite eliminar un usuario de
punto de emisión en el sistema de facturación
electrónica, el proceso inicia cuando el usuario
ingresa al sistema, a paso seguido elige la
opción Usuario Punto Emisión. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda se
selecciona el usuario de punto de emisión y
procedemos a eliminar.
Búsqueda
Usuario Punto
Emisión
Usuario Administrador El caso de uso permite buscar los usuarios de
puntos de emisión en el sistema de facturación
electrónica, el proceso inicia cuando el usuario
ingresa al sistema, a paso seguido elige la
opción Usuario Punto Emisión. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda y el
proceso devolverá el listado de usuarios de
94
puntos de emisión que cumplan los parámetros
de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
4.3.3.10. Diagrama CU-10: Administración de Parámetros
Figura 22: Diagrama CU-10: Administración de Parámetros
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 13: CU-10: Administración de Parámetros
Caso de Uso Actor Descripción
Crear
Parámetro
Usuario Administrador El caso de uso permite ingresar un
parámetro en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Parámetro. Se presenta el
formulario para ingresar los datos
pertinentes a dicho parámetro; una vez
llenado los datos se procede a ingresar el
parámetro en el sistema.
Actualizar
Parámetro
Usuario Administrador El caso de uso permite actualizar un
parámetro en el sistema de facturación
95
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Parámetro. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda y
se selecciona el parámetro a editar. Una vez
editada la información se procede a
actualizar el parámetro en el sistema.
Eliminar
Parámetro
Usuario Administrador El caso de uso permite eliminar un
parámetro en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Parámetro. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda
se selecciona el parámetro y procedemos a
eliminar.
Búsqueda
Parámetro
Usuario Administrador El caso de uso permite buscar los
parámetros en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Parámetro. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda y
el proceso devolverá el listado de
parámetros que cumplan los parámetros de
búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
96
4.3.3.11. Diagrama CU-11: Administración de Páginas
Figura 23: Diagrama CU-11: Administración de Páginas
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 14: CU-11: Administración de Páginas
Caso de Uso Actor Descripción
Crear Página Usuario Administrador El caso de uso permite ingresar una página
en el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Página. Se presenta el formulario para
ingresar los datos pertinentes a dicha
página; una vez llenado los datos se
procede a ingresar la página en el sistema.
Actualizar
Página
Usuario Administrador El caso de uso permite actualizar una
página en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Página. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda y
se selecciona la página a editar. Una vez
97
editada la información se procede a
actualizar la página en el sistema.
Eliminar Página Usuario Administrador El caso de uso permite eliminar una página
en el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Página. Se despliega la opción de búsqueda
con los filtros correspondientes, se realiza
la búsqueda se selecciona la página y
procedemos a eliminar.
Búsqueda
Página
Usuario Administrador El caso de uso permite buscar las páginas
en el sistema de facturación electrónica, el
proceso inicia cuando el usuario ingresa al
sistema, a paso seguido elige la opción
Página. Se despliega la opción de búsqueda
con los filtros correspondientes, se realiza
la búsqueda y el proceso devolverá el
listado de páginas que cumplan los
parámetros de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
4.3.3.12. Diagrama CU-12: Administración de Impuestos
Figura 24: Diagrama CU-12: Administración de Impuestos
Fuente: Cayambe Chicaiza Edison Estuardo
98
Tabla 15: CU-12: Administración de Impuestos
Caso de Uso Actor Descripción
Crear
Impuestos
Usuario Administrador El caso de uso permite ingresar un
impuesto en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Impuestos. Se presenta el
formulario para ingresar los datos
pertinentes a dicho impuesto; una vez
llenado los datos se procede a ingresar el
impuesto en el sistema.
Actualizar
Impuestos
Usuario Administrador El caso de uso permite actualizar un
impuesto en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Impuestos. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda y
se selecciona el impuesto a editar. Una vez
editada la información se procede a
actualizar el impuesto en el sistema.
Eliminar
Impuestos
Usuario Administrador El caso de uso permite eliminar un
impuesto en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Impuesto. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda
se selecciona el impuesto y procedemos a
eliminar.
Búsqueda
Impuestos
Usuario Administrador El caso de uso permite buscar los
impuestos en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Impuestos. Se despliega la
opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda y
el proceso devolverá el listado de
impuestos que cumplan los parámetros de
99
búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
4.3.3.13. Diagrama CU-13: Administración de Catálogos de Error
Figura 25: Diagrama CU-13: Administración de Catálogos de Error
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 16: CU-13: Administración de Catálogos de Error
Caso de Uso Actor Descripción
Crear Catálogo
Error
Usuario Administrador El caso de uso permite ingresar un catálogo
de error en el sistema de facturación
electrónica, el proceso inicia cuando el usuario
ingresa al sistema, a paso seguido elige la
opción Catálogo Error. Se presenta el
formulario para ingresar los datos pertinentes
a dicho catálogo de error; una vez llenado los
datos se procede a ingresar el catálogo de
error en el sistema.
Actualizar
Catálogo Error
Usuario Administrador El caso de uso permite actualizar un catálogo
de error en el sistema de facturación
electrónica, el proceso inicia cuando el usuario
ingresa al sistema, a paso seguido elige la
opción Catálogo Error. Se despliega la opción
100
de búsqueda con los filtros correspondientes,
se realiza la búsqueda y se selecciona el
catálogo de error a editar. Una vez editada la
información se procede a actualizar el
catálogo de error en el sistema.
Eliminar
Catálogo Error
Usuario Administrador El caso de uso permite eliminar un catálogo
de error en el sistema de facturación
electrónica, el proceso inicia cuando el usuario
ingresa al sistema, a paso seguido elige la
opción Catálogo Error. Se despliega la opción
de búsqueda con los filtros correspondientes,
se realiza la búsqueda se selecciona el
catálogo de error y procedemos a eliminar.
Búsqueda
Catálogo Error
Usuario Administrador El caso de uso permite buscar los catálogos
de error en el sistema de facturación
electrónica, el proceso inicia cuando el usuario
ingresa al sistema, a paso seguido elige la
opción Catálogo Error. Se despliega la opción
de búsqueda con los filtros correspondientes,
se realiza la búsqueda y el proceso devolverá
el listado de catálogos de error que cumplan
los parámetros de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
101
4.3.3.14. Diagrama CU-14: Consultar Errores de Proceso
Figura 26: Diagrama CU-14: Consultar Errores de Proceso
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 17: CU-14: Consultar Errores de Proceso
Caso de Uso Actor Descripción
Búsqueda Error
Proceso
Usuario Administrador El caso de uso permite buscar los errores
de proceso en el sistema de facturación
electrónica, el proceso inicia cuando el
usuario ingresa al sistema, a paso seguido
elige la opción Error Proceso. Se despliega
la opción de búsqueda con los filtros
correspondientes, se realiza la búsqueda y
el proceso devolverá el listado de errores
de proceso de error que cumplan los
parámetros de búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
102
4.3.3.15. Diagrama CU-15: Consultar Documentos Electrónicos
Figura 27: Diagrama CU-15: Consultar Documentos Electrónicos Administrador
Fuente: Cayambe Chicaiza Edison Estuardo
Figura 28: Diagrama CU-15.1: Consultar Documentos Electrónicos Estudiante
Fuente: Cayambe Chicaiza Edison Estuardo
Tabla 18: CU-15: Consultar Documentos Electrónicos
Caso de Uso Actor Descripción
Búsqueda
Consulta
Documentos
Usuario Administrador
Usuario Estudiante
El caso de uso permite buscar los
documentos electrónicos en el sistema de
facturación electrónica, el proceso inicia
cuando el usuario ingresa al sistema, a paso
seguido elige la opción Consulta
Documentos. Se despliega la opción de
búsqueda con los filtros correspondientes,
se realiza la búsqueda y el proceso
devolverá el listado de documentos
electrónicos que cumplan los parámetros de
búsqueda.
Fuente: Cayambe Chicaiza Edison Estuardo
103
4.4. Diseño del modulo
4.4.1. Diseño de la interfaz de usuario
4.4.1.1. Introducción
El objetivo del diseño de la interfaz de usuario es proporcionar una interfaz
amigable e intuitiva, a su vez proporcionar un correcto funcionamiento de la
interfaz debido a que en la actualidad el 68% de los usuarios que abandonan
una web lo hacen porque la experiencia de usuario está mal diseñada, es decir
porque no funciona como debería o no tiene los elementos necesarios que el
usuario espera.
Por esta razón el diseño de la interfaz del sistema de facturación electrónica
considera los siguientes aspectos para garantizar la calidad de la interfaz de
usuario:
4.4.1.2. Factores de la interfaz de usuario
Simplicidad
La simplicidad con que se desarrolle esta interfaz es crucial para
determinar que un usuario se sienta satisfecho y desee regresar a un sitio,
por lo que el sistema de facturación electrónica se desarrolla con
componentes totalmente intuitivos y descriptivos en base a su
funcionalidad.
Experiencia
El sistema de facturación electrónica pese a que su objetivo primordial no
es el diseño de la interfaz, proporciona una interfaz con diseño agradable el
cual contribuye a que la experiencia del usuario mejore.
104
Eficiencia
La eficiencia es uno de los factores a considerar en el diseño de la interfaz
de usuario del sistema de facturación electrónica para obtener una mayor
productividad a través de un buen diseño y entorno amigable lo cual
permite realizar tareas en menos tiempo y con menor esfuerzo.
4.4.1.3. Diseño
El diseño de la interfaz de usuario se desarrolla en interfaz Web, garantizando
así una experiencia agradable y amigable al usuario, por lo que a continuación
se presenta el diseño general de la interfaz de usuario.
Figura 29: Diseño interfaz de usuario Web
Fuente: https://siinet.wordpress.com/2015/07/28/las-reglas-del-buen-diseno-web-en-una-interfaz-de-
usuario/
105
4.4.1.4. Opciones de la interfaz de usuario
La interfaz de usuario del sistema de facturación electrónica debe contemplar
las siguientes opciones:
Pantalla de ingreso al sistema tanto para el usuario administrativo como
para el usuario final.
Menú administrativo para consulta de documentos electrónicos.
Menú administrativo para empresas del sistema de facturación electrónica.
Menú administrativo para establecimientos del sistema de facturación
electrónica.
Menú administrativo para puntos de emisión del sistema de facturación
electrónica.
Menú administrativo para definir el proceso de facturación electrónica.
Menú administrativo para configuración de parámetros del proceso
facturación electrónica.
Menú administrativo de roles de usuario del sistema de facturación
electrónica.
Menú administrativo para perfiles de usuario del sistema de facturación
electrónica.
Menú administrativo para usuarios del sistema de facturación electrónica.
Menú administrativo para asignación de usuarios y puntos de emisión del
sistema de facturación electrónica.
Menú administrativo para parámetros generales del sistema de facturación
electrónica.
Menú administrativo para páginas del sistema de facturación electrónica.
Menú administrativo para configuración de impuestos de facturación
electrónica.
Menú administrativo para catálogos de errores del proceso de facturación
electrónica.
Menú administrativo para consulta de errores generados en el proceso de
facturación electrónica.
106
4.4.2. Diseño de la base de datos
4.4.2.1. Diagrama del modelo relacional
Figura 30: Modelo Relacional
Fuente: Cayambe Chicaiza Edison Estuardo
4.4.2.2. TABLA 1. Tabla “ERROR_PROCESO”
Su principal objetivo es registrar todos los errores que pueden llegar a
producirse en el proceso general de facturación electrónica.
107
4.4.2.3. TABLA 2. Tabla “CATALOGO_ERROR”
Su principal objetivo es registrar un catálogo de errores que pueden llegar a
producirse en el proceso general de facturación electrónica.
4.4.2.4. TABLA 3. Tabla “EMPRESA”
Su principal objetivo es la de registrar todos los diferentes empresas (Unidades
ejecutoras, Facultades) que participen en el proceso de facturación electrónica.
108
4.4.2.5. TABLA 4. Tabla “ESTABLECIMIENTO”
Su principal objetivo es registrar todos los diferentes establecimientos que
intervengan en el proceso de facturación electrónica.
4.4.2.6. TABLA 5. Tabla “PUNTO_EMISION”
Su principal objetivo es registrar todos los diferentes puntos de emisión que
actúen en el proceso de facturación electrónica.
4.4.2.7. TABLA 6. Tabla “TIPO_IDENTIFICACION”
109
Su principal objetivo es registrar todos los diferentes tipos de identificaciones
calificadas por el SRI, las cuales podrán intervenir en el proceso de facturación
electrónica.
4.4.2.8. TABLA 7. Tabla “TIPO_DOCUMENTO”
Su principal objetivo es registrar todos los diferentes tipos de documentos
validados por el SRI, los cuales ingresarán en el proceso de facturación
electrónica.
4.4.2.9. TABLA 8. Tabla “DOCUMENTO_ELECTRONICO”
110
Su principal objetivo es registrar todos los documentos electrónicos procesados
por el sistema de facturación electrónica.
4.4.2.10. TABLA 9. Tabla “PROCESO_FE”
Su principal objetivo es registrar toda la gama de procesos que soporta el
proceso de facturación electrónica.
4.4.2.11. TABLA 10. Tabla “PARAMETRO”
Su principal objetivo es registrar los diferentes parámetros que se utilizan para
el funcionamiento del sistema de facturación electrónica.
111
4.4.2.12. TABLA 11. Tabla “CONFIGURACION_FE”
Su principal objetivo es registrar las diferentes configuraciones requeridas para
el proceso de facturación electrónica.
4.4.2.13. TABLA 12. Tabla “PERFIL”
Su principal objetivo es registrar las diferentes tipos de perfiles de un usuario
del sistema de facturación electrónica.
112
4.4.2.14. TABLA 13. Tabla “PERFIL_PUNTO_EMISION”
Su principal objetivo es registrar los diferentes tipos de perfiles relacionados a
un punto de emisión para permitir la consulta de documentos electrónicos.
4.4.2.15. TABLA 14. Tabla “USUARIO”
Su principal objetivo es registrar los diferentes usuarios relacionados con las
diferentes empresas que interactúen con el proceso de facturación electrónica.
113
4.4.2.16. TABLA 15. Tabla “ROL”
Su principal objetivo es registrar los roles de los usuarios del sistema de
facturación electrónica.
4.4.2.17. TABLA 16. Tabla “USUARIO_ROL”
Su principal objetivo es registrar las asignaciones de un rol específico a un
usuario y permitir ingresar varios usuarios a un rol específico.
114
4.4.2.18. TABLA 17. Tabla “PAGINA”
Su principal objetivo es registrar todas las páginas y opciones del sistema de
facturación electrónica.
4.4.2.19. TABLA 18. Tabla “ROL_PAGINA”
Su principal objetivo es registrar las pantallas asignadas a un rol específico, y
los diferentes roles con los que puede trabajar una pantalla en el sistema de
facturación electrónica.
115
4.4.2.20. TABLA 19. Tabla “USUARIO_PUNTO_EMISION”
Su principal objetivo es registrar los diferentes usuarios que tendrán permisos a
los diferentes puntos de emisión de las empresas que trabajen con el sistema
de facturación electrónica.
4.4.2.21. TABLA 20. Tabla “IMPUESTO”
Su principal objetivo es registrar los diferentes tipos de impuestos relacionados
a productos o servicios que se encuentren en los diferentes documentos
electrónicos.
116
5. CAPITULO V Desarrollo e Implementación
5.1. Metodología de desarrollo
5.1.1. Introducción
El objetivo principal de una metodología de desarrollo es convertir la
construcción del software en un proceso formal, con resultados predecibles,
que permitan obtener un producto final de alta calidad y satisfaga las
necesidades y expectativas del cliente
El sistema de facturación electrónica requiere un desarrollo detallado y
completo, por lo tanto es necesario usar una metodología de desarrollo, esta
metodología permitirá definir con precisión los artefactos, roles y actividades
involucradas, junto con prácticas y técnicas recomendadas.
El desarrollo del sistema de facturación electrónica se realiza de manera
incremental, es decir se realizan entregas de software en ciclos rápidos y
cortos, estos desarrollos son cooperativos entre cliente y desarrollador,
trabajando conjuntamente para lograr un desarrollo adaptable a cualquier
cambio que se requiera.
Para cumplir con este objetivo se ha ejido la metodología ágil SCRUM.
5.1.2. SCRUM
Scrum es un proceso en el que se aplican de manera regular un conjunto de
buenas prácticas para trabajar colaborativamente, en equipo, y obtener el
mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras
y su selección tiene origen en un estudio de la manera de trabajar de equipos
altamente productivos. (proyectosagiles, 2015)
117
Figura 31: Proceso de la metodología SCRUM
Fuente: http://proyectosagiles.org/que-es-scrum/
La metodología Scrum que se ha elegido para el desarrollo del proyecto, define
actividades deseables y adaptables a los requerimientos del proyecto, estas se
detallan a continuación:
Cumplimento de expectativas y alcances funcionales del proyecto:
La metodología Scrum debido a que se caracteriza por su creatividad,
adaptabilidad, capacidad de respuesta frente a cambios, con una estructura
iterativa permite afianzar los requerimientos del cliente y así cumplir las
expectativas y alcances funcionales del proyecto tales como:
o Generación de comprobantes electrónicos de acuerdo a los estándares
determinados por SRI.
o Firma electrónica de los comprobantes electrónicos.
o Gestionar la autorización de los comprobantes electrónicos con el SRI.
o Almacenamiento de comprobantes electrónicos autorizados.
o Proporcionar un portal web que permita generar reportes y consultar
estados de los comprobantes electrónicos por fecha y por tipo de
documento.
Flexibilidad a cambios: Alta capacidad de reacción ante los cambios de
requerimientos generados por necesidades del cliente o evoluciones del
mercado. Debido al manejo de certificados digitales emitidos por varias
118
entidades certificadoras y a la definición de reglas y estándares por parte
del SRI el sistema contempla la independencia e impacto frente a cualquier
cambio, gracias al manejo de componentes modulares e independientes en
la arquitectura del sistema.
Mayor calidad del software: La metódica de trabajo y la necesidad de
obtener una versión funcional después de cada iteración, exige definir
entregables de corto plazo en el desarrollo del sistema, definiendo así
entregables por cada componente de la arquitectura del sistema que
permitan la obtención de un software de calidad superior.
Reducción de riesgos: Definidos los entregables de cada componente de
la arquitectura se procederá a definir los entregables de mayor valor,
permitiendo identificar los procesos críticos del sistema y definir desarrollos
de procesos en primer lugar y a la par con otros procesos, permitiendo
estimar tiempos de avance y culminación, esto permite despejar riesgos
eficazmente de manera anticipada.
5.2. Análisis de tecnologías
5.2.1. Java EE Plataforma de desarrollo del proyecto
Java Platform, Enterprise Edition (Java EE) es la plataforma estándar de la
industria para la creación de aplicaciones empresariales codificadas en el
lenguaje de programación Java. Con base en el sólido fundamento de Java
Platform, Standard Edition (Java SE), Java EE añade las bibliotecas y los
servicios del sistema que apoyan la escalabilidad, la accesibilidad, la
seguridad, la integridad y otros requisitos de las aplicaciones de clase
empresarial. (Oracle, 2015)
Debido a la naturaleza del proyecto es necesario tener una arquitectura con
capas claramente definidas, para lo cual de elige usar la plataforma de
programación Java EE 6 la cual nos permitirá definir una arquitectura de n
capas distribuidas, basadas cada una en componentes modulares que se
ejecutaran en un servidor de aplicaciones.
119
La plataforma Java EE está diseñada para reducir la complejidad del desarrollo
de aplicaciones empresariales, proporcionando un modelo de desarrollo
eficiente y un entorno de desarrollo que permite a los desarrolladores
concentrarse en la funcionalidad de la lógica de negocio.
5.2.2. Frameworks para JSF
5.2.2.1. Introducción
JavaServer Faces (JSF) 2.0 es la especificación que se utiliza en la interfaz
web del sistema de facturación electrónica, debido a que simplifica el desarrollo
de interfaces de usuario en aplicaciones JEE. JSF utiliza Facelets como su
sistema de plantillas por defecto.
El sistema de facturación electrónica necesita un conjunto de componentes
potentes y con versatilidad para la interfaz de usuario, por lo que se elige como
biblioteca de componentes para JSF al framework PrimeFaces en su versión
5.0.
5.2.2.2. Definición y especificaciones de framework
PrimeFaces 5.0
El punto fuerte de PrimeFaces es la sencillez de instalación y lo poco
pesado que es. El mantenerlo liviano, sin complicaciones a la hora de
instalarlo, es decir, sin dependencias ni configuraciones, hace que
podamos estar usándolo en unos pocos segundos.
Las principales características de PrimeFaces son:
Soporte nativo de Ajax, incluyendo Push/Comet.
Kit para crear aplicaciones web para dispositivos móviles.
Compatible con otras librerías de componentes, como JBoss
RichFaces.
Uso de JS (JavaScript) no intrusivo (no aparece en línea dentro de los
elementos, sino dentro de un bloque <script>).
120
Es un proyecto OpenSource, activo y bastante estable entre versiones.
Soporte para Ajax, basándose en el estándar JSF 2.0 Ajax API.
Sin dependencias, ni configuraciones complejas.
Múltiples temas de apariencia, listos para usar.
5.2.3. Enterprise JavaBeans
5.2.3.1. Introducción
Enterprise JavaBeans (EJB) 3.0 es la especificación que se utiliza para
encapsular la lógica de negocio del aplicativo de facturación electrónica,
proporcionando un entorno de ejecución para los componentes de software
relacionados con la web, incluyendo la seguridad informática, el procesamiento
de transacciones y sobre todo proporciona componentes flexibles, escalables y
reutilizables.
5.2.3.2. Definición y especificación
Los Enterprise JavaBeans (también conocidas por sus siglas EJB) son una de
las interfaces de programación de aplicaciones (API) que forman parte del
estándar de construcción de aplicaciones empresariales. (WIKIPEDIA, 2015)
Los principales beneficios que proveen los componentes EJB son:
Comunicación remota utilizando RMI.
Transacciones.
Control de la concurrencia.
Eventos utilizando JMS (Java Messaging Service).
Servicios de nombres y de directorio.
Seguridad.
Ubicación de componentes en un servidor de aplicaciones.
Existen dos tipos de EJB:
121
EJB de Sesión (Session EJB): gestionan el flujo de la información en el
servidor. Generalmente sirven a los clientes como una fachada de los
servicios proporcionados por otros componentes disponibles en el servidor.
Puede haber dos tipos:
o Stateful: en un bean de sesión con estado, las variables de instancia
del bean almacenan datos específicos obtenidos durante la conexión
con el cliente. Cada bean de sesión con estado, por tanto, almacena el
estado conversacional de un cliente que interactúa con el bean. Este
estado conversacional se modifica conforme el cliente va realizando
llamadas a los métodos de negocio del bean. El estado conversacional
no se guarda cuando el cliente termina la sesión.
o Stateless): los bean de sesión sin estado son objetos distribuidos que
carecen de estado, permitiendo por tanto que se los acceda
concurrentemente. No se garantiza que los contenidos de las variables
de instancia se conserven entre llamadas al método.
EJB Dirigidos por Mensajes (Message-driven EJB): es un bean empresarial
que permite a las aplicaciones Java EE procesar los mensajes de forma
asíncrona.
Este bean actúa como un escucha de mensajes JMS, que es similar a un
detector de eventos que recibe mensajes JMS.
Los mensajes JMS se pueden enviar por cualquiera de los componentes de
Java EE (un cliente de aplicación, otro EJB, o un componente web) o por
una aplicación JMS o un sistema que no utiliza la tecnología Java EE.
5.2.4. Frameworks para JPA
5.2.4.1. Introducción
Java Persistence API (JPA) 2.0 es la especificación que se utiliza para realizar
el mapeo relacional de los objetos con las tablas de la base de datos (ORM:
Object-Relational Mapping) permitiendo interactuar con bases de datos
relacionales sin perder las ventajas de la orientación a objetos. Esto permite
122
construir una aplicación con un paradigma completamente orientadas a
objetos.
El sistema de facturación electrónica necesita una implementación de la
especificación JPA, que se puede utilizar fácilmente en cualquier entorno de
apoyo JPA de aplicaciones Java EE. Por lo tanto se elige como implementación
JPA el framewok Hibernate en su versión 4.3.5.
5.2.4.2. Definición y especificación de framework
Hibernate 4.3.5
Hibernate ORM es un framework que permite el mapeo objeto-relacional en
aplicaciones JEE, proporcionando un marco para el mapeo de tablas a
través de entidades, con los beneficios de un paradigma orientado a
objetos. (WIKIPEDIA, 2015)
Las principales características de Hibernate son:
Alto rendimiento
Hibernate ofrece un rendimiento superior sobre el código JDBC, tanto
en términos de productividad de los desarrolladores y el rendimiento en
tiempo de ejecución.
Escalabilidad
Hibernate fue diseñado para funcionar en un clúster de servidor de
aplicaciones y entregar una arquitectura altamente escalable.
Confiable
Hibernate es bien conocido por su excelente estabilidad y calidad,
aceptado y usado por decenas de miles de desarrolladores de Java.
Extensibilidad
Hibernate es altamente configurable y extensible.
123
5.2.5. Servicios Web
5.2.5.1. Introducción
El aplicativo de facturación electrónica utiliza JAX-WS para la creación de
servicios Web, para exponer servicios de negocio propios de facturación
electrónica, pensados en proporcionar Software como servicio SaaS.
5.2.5.2. JAX-WS
Java API for XML Web Services (JAX-WS) es una tecnología para la creación
de servicios web y clientes que se comunican mediante XML. JAX-WS permite
a los desarrolladores programar orientado a mensajes, así como los servicios
web (RPC-orientado) orientado a procedimientos remotos. (DOCS.ORACLE,
2015)
En JAX-WS, una invocación de operación de servicio web está representada
por un protocolo basado en XML, como SOAP. La especificación SOAP define
la estructura envolvente, reglas de codificación, y los convenios para la
representación de las invocaciones de servicios web y las respuestas. Estas
llamadas y respuestas se transmiten como mensajes SOAP (archivos XML)
sobre HTTP.
Aunque los mensajes SOAP son complejos, la API de JAX-WS oculta esta
complejidad desde el desarrollador de la aplicación. En el lado del servidor, el
desarrollador especifica las operaciones del servicio web mediante la definición
de métodos en una interfaz en el lenguaje de programación Java. Los clientes
de los servicios Web crean un proxy (un objeto local que representa el servicio)
y luego simplemente invocan métodos en el proxy. Con JAX-WS, el
desarrollador no genera ni analiza los mensajes SOAP. Es el sistema de
ejecución JAX-WS que convierte las llamadas a la API y las respuestas desde
y hacia los mensajes SOAP.
Con JAX-WS, clientes y servicios web tienen una gran ventaja: la
independencia de la plataforma del lenguaje de programación Java. Además,
124
JAX-WS no es restrictivo: Un cliente JAX-WS puede acceder a un servicio web
que no se ejecuta en la plataforma Java, y viceversa. Esta flexibilidad es
posible porque JAX-WS utiliza tecnologías definidas por el W3C: HTTP, SOAP
y WSDL. WSDL; especifica un formato XML para describir un servicio como un
conjunto de puntos finales que operan en los mensajes.
5.3. Análisis de las herramientas de desarrollo
Para el desarrollo del sistema de facturación electrónica se utiliza herramientas
de desarrollo OpenSource las cuales se detallan a continuación:
5.3.1. Lenguaje de Programación: JAVA
Versión: Java Standard Edition 7
Paradigma: Orientado a objetos
Sistema operativo: Multiplataforma
Java es un lenguaje de programación de propósito general, concurrente,
orientado a objetos que fue diseñado específicamente para tener tan pocas
dependencias de implementación como fuera posible. Su intención es permitir
que los desarrolladores de aplicaciones escriban el programa una vez y lo
ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write
once, run anywhere"), lo que quiere decir que el código que es ejecutado en
una plataforma no tiene que ser recompilado para correr en otro entorno. Java
es, a partir del 2012, uno de los lenguajes de programación más populares en
uso, particularmente para aplicaciones de cliente-servidor web, con unos 10
millones de usuarios reportados. (WIKIPEDIA, 2015)
125
5.3.2. Entorno de Desarrollo Integrado (IDE): Eclipse
Versión: 4.4.1 Luna
Licencia: Eclipse Public License (Código Abierto)
Eclipse es un programa informático compuesto por un conjunto de
herramientas de programación de código abierto multiplataforma para
desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido",
opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta
plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo
integrados (del inglés IDE), como el IDE de Java llamado Java Development
Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y
que son usados también para desarrollar el mismo Eclipse). Sin embargo,
también se puede usar para otros tipos de aplicaciones cliente, como BitTorrent
o Azureus. (WIKIPEDIA, 2015)
5.3.3. Motor de Base de Datos: PostgreSQL
Versión: 9.3
Paradigma: Objeto-relacional
Licencia: PostgreSQL License (Código Abierto)
PostgreSQL es un sistema de gestión de bases de datos objeto-relacional
(ORDBMS) con énfasis en la extensibilidad y en las normas de cumplimiento.
Como un servidor de base de datos, su función principal es almacenar datos de
forma segura, el apoyo a las mejores prácticas, y para permitir la recuperación,
a petición de otras aplicaciones de software. Puede manejar las cargas de
trabajo que van desde pequeñas aplicaciones de una sola máquina hasta
grandes aplicaciones orientados a Internet con muchos usuarios concurrentes.
(WIKIPEDIA, 2015)
126
5.3.4. Servidor de Aplicaciones: JBoss AS
Versión: 7.1.1 Final
Licencia: GPL/LGPL (Licencia abierta)
JBoss es un servidor de aplicaciones JEE de código abierto implementado en
Java puro. Al estar basado en Java, JBoss puede ser utilizado en cualquier
sistema operativo para el que esté disponible la máquina virtual de Java.
(WIKIPEDIA, 2015)
5.4. Análisis del desarrollo
5.4.1. Identificación de subsistemas
5.4.1.1. Modularización del sistema
El software continuamente evoluciona hacia sistemas de mayor complejidad, y
cada vez se requiere que estos sistemas sean más confiables y flexibles.
Una de las herramientas más efectivas para atacar este problema es la
modularización. Esta solución consiste en particionar un sistema de acuerdo a
ciertos principios de diseño y a una estrategia de desarrollo, gobernando las
dependencias entre las partes resultantes. Sin embargo, implementar una
modularización adecuada no es algo trivial; las técnicas disponibles son
diversas y no existe consenso sobre cuáles son las mejores en cada caso.
Adicionalmente, la modularización en sí misma introduce nuevos retos, entre
los que se cuentan la dificultad de configuración y el denominado “infierno de
dependencias”.
Por estos motivos es necesario realizar una moduarización del sistema de
facturación electrónica, garantizando que estos módulos sean seguros y
flexibles, esta moduarización se la realiza segmentando reglas y objetivos de
negocio con el objetivo de generar módulos independientes en la medida de lo
posible.
Cada módulo tiene un conjunto de responsabilidades bien definidas en el
sistema de facturación electrónica, pero existen módulos especialmente
127
importantes por la complejidad y dependencia de otros módulos sobre dichos
módulos importantes, estos módulos se detallan a continuación:
facturacion-electronica-login
Módulo de seguridad encargado de la validación y autenticación del
usuario, y es manejado de forma independiente a los demás módulos. Este
módulo extiende la arquitectura de seguridad para todos los módulos que
requieren autenticación y autorización de los módulos.
facturacion-electronica-ejb
Módulo de negocio, su responsabilidad es implementar la lógica de negocio
del sistema de facturación electrónica, este módulo también gestiona y
orquesta la interacción con los distintos módulos de negocio del sistema de
facturación electrónica.
facturacion-electronica-jpa
Módulo de negocio, su responsabilidad es gestionar y administrar el acceso
a la base de datos, así como el manejo de los datos relacionales de la base
de datos. Este módulo proporciona un único punto de acceso a la base de
datos.
firma-digital-ejb
Módulo de negocio, su responsabilidad es realizar la firma digital de
documentos electrónicos para garantizar la autoría e identidad en un
documento electrónico.
128
cliente_sri
Módulo de integración, su responsabilidad es la integración y comunicación
directa con los servicios Web publicados por el SRI.
Este módulo se comunica a través de un proxy con los siguientes servicios
publicados por el SRI:
Tabla 19: Servicios publicados por el SRI
Operación Servicio
PRUEBAS Recepción https://celcer.sri.gob.ec/comprobantes-electronicos-ws/RecepcionComprobantes?wsdl
Autorización https://celcer.sri.gob.ec/comprobantes-electronicosws/AutorizacionComprobantes?wsdl
PRODUCCIÓN Recepción https://cel.sri.gob.ec/comprobantes-electronicos-ws/RecepcionComprobantes?wsdl
Autorización https://cel.sri.gob.ec/comprobantes-electronicos-ws/AutorizacionComprobantes?wsdl
Fuente: Cayambe Chicaiza Edison Estuardo
facturacion-electronica-cron
Módulo de administración, su responsabilidad es ejecutar procesos
automáticos y bacth parametrizables en el sistema, estos procesos
automáticos ejecutan procesos de negocio a una hora determinada.
facturacion-utilitarios
Módulo utilitario, su responsabilidad es centralizar las funciones utilitarias y
genéricas que se requieren utilizar en el sistema de facturación electrónica.
integracion-ejb
Módulo de integración, su responsabilidad es realizar la integración del
sistema de facturación electrónica con sistemas externos a través de
servicios Web o lectura de archivos desde servidores FTP.
129
facturacion-electronica-web
Módulo de interfaz Web, su responsabilidad es garantizar la comunicación
entre el usuario administrativo y el sistema de facturación electrónica, esta
interfaz Web proporciona elementos específicos de funcionamiento como:
presentación y navegación de información concerniente a la administración
y consulta de documentos electrónicos.
portal-web
Módulo de interfaz Web, su responsabilidad es garantizar la comunicación
entre el usuario final (Estudiante) y el portal Web de facturación electrónica,
esta interfaz Web proporciona elementos específicos de funcionamiento
como: presentación y navegación de información.
5.5. Implementación
5.5.1. Configuración de servidor de aplicaciones
5.5.1.1. JBoss Mail Service
El sistema de facturación electrónica requiere de la configuración de JBoss Mail
Service en el servidor de aplicaciones, a continuación se presenta la
descripción de la configuración de JBoss Mail Service en el servidor de
aplicaciones.
1. Se ubica el archivo standalone.xml para editarlo con la configuración del
servicio de mail.
130
Figura 32: Archivo de configuración JBoss Mail Service
Fuente: Cayambe Chicaiza Edison Estuardo
2. Se edita el archivo para agregar un tag <subsystem> con la información
requerida para la autenticación en el servidor de correo SMTP.
Figura 33: Configuración autenticación servidor SMTP
Fuente: Cayambe Chicaiza Edison Estuardo
3. Se agrega la información del servidor SMTP en un nuevo tag <outbound-
socket-binding> en el grupo <socket-binding-group>
131
Figura 34: Configuración servidor SMTP
Fuente: Cayambe Chicaiza Edison Estuardo
4. Se crea una clase que Inyecte el recurso de mail como un objeto Session
en el módulo “facturacion-utilitarios” para su uso desde cualquier módulo.
Figura 35: Objeto para el manejo de servicios de mail
Fuente: Cayambe Chicaiza Edison Estuardo
132
Figura 36: Implementación de recurso de mail
Fuente: Cayambe Chicaiza Edison Estuardo
5.5.1.2. Jboss Modules
JBoss Modules es el proyecto base para el nuevo sistema de classloading de
JBoss AS 7. Con él, toda aplicación o librería desplegada en el servidor de
aplicaciones es tratada como un módulo.
JBoss Modules resuelve los clásicos problemas de classloading de versiones
anteriores de JBoss AS, ya que por defecto todo módulo vive en forma aislada.
Este nuevo Class Loader mejora el performance y es más sencillo de usar
gracias a su diseño minimalista. Los módulos JBoss Modules y OSGi pueden
verse entre sí sin problemas; OSGi viene soportado por JBoss AS 7 out-of-the-
box. (Arquitectura de Software, 2012)
El aplicativo de facturación electrónica es un software empresarial por lo tanto
es necesario identificar módulos estáticos que son necesarios manejarlos como
dependencias automáticas y listas para ser utilizadas cuando el servidor de
aplicaciones ya esté ejecutándose, dichos módulos son los siguientes:
133
facturacion-electronica-login
MITyCLibAPI-1.0.5
MITyCLibTSA-1.0.5
MITyCLibXADES-1.0.5
xmlsec-1.4.2-ADSI-1.0
bcprov-jdk15-1.45
freemarker-2.3.20
sri-autorizacion
sri-recepcion
1. Se debe crear una estructura de carpetas para cada uno de los módulos
estáticos a configurar.
Figura 37: Estructura de carpetas modules
Fuente: Cayambe Chicaiza Edison Estuardo
Para el caso específico del módulo de integración con el SRI, se crea la
siguiente estructura de carpetas:
D:\jboss-as-7.1.1.Final\modules\ec\com\sri\main
En la cual el nombre de módulo será en base a la estructura de carpetas
que en este caso es:
ec.com.sri
134
2. Dentro de la carpeta main se ubican los componentes de dependencia que
se necesiten dentro del módulo.
3. Se crea un archivo module.xml para agregar la configuración del módulo.
module.xml: es un archivo XML que describe la estructura, contenido,
dependencias, filtrado, y otros atributos de un módulo. Este formato es muy
expresivo y está diseñado para ser utilizado por el módulo gestor del
sistema de archivos. En particular, su ubicación en el sistema de ficheros
se calcula mediante la conversión de los segmentos separados por puntos.
Figura 38: Archivo module.xml
Fuente: Cayambe Chicaiza Edison Estuardo
En este archivo se agregan todas las dependencias del módulo.
4. Desde cualquier aplicativo que se desee referenciar cualquier módulo
configurado, se lo deberá llamar por su nombre en un archivo de
configuración llamado:
jboss-deployment-structure.xml
135
Figura 39: Archivo de dependencias de módulos
Fuente: Cayambe Chicaiza Edison Estuardo
5. A continuación se agrega la referencia del módulo configurado para la
integración con el SRI.
Figura 40: Configuración de dependencias de módulos
Fuente: Cayambe Chicaiza Edison Estuardo
136
5.5.2. Creación de la base de datos
A partir del modelo relacional de datos se procede a generar los scripts para la
creación de objetos de la base de datos como se detalla a continuación:
5.5.2.1. Construcción de tablas
Una vez que tenemos el diseño lógico de la base de datos para nuestro
sistema, procedemos a generar el script de las tablas con el siguiente
procedimiento:
1. En el programa Erwin se selecciona la opción Tools > Forward Engineer >
Scheme Generation.
Figura 41: Generación del script de base de datos
Fuente: Cayambe Chicaiza Edison Estuardo
137
2. Para generar e script se selecciona los objetos a crear.
Figura 42: Selección de objetos de base de datos
Fuente: Cayambe Chicaiza Edison Estuardo
3. Se genera un script completo (con sus respectivas relaciones, constraint e
índices en el caso de existir) de la base de datos de facturación electrónica
la cual procedemos a guardar para su futura generación en PostgreSQL.
Figura 43: Script base de datos
Fuente: Cayambe Chicaiza Edison Estuardo
138
4. Se genera el script con un nombre y con la extensión .SQL, en nuestro
caso guardamos con el nombre facturacioelectronica.sql.
Figura 44: Guardar script de base de datos
Fuente: Cayambe Chicaiza Edison Estuardo
Figura 45: Selección del destino de script
Fuente: Cayambe Chicaiza Edison Estuardo
139
5. Se ejecuta el programa pgAdmin III, con el objetivo de crear las tablas de
la base de datos diseñada y generada en el modelador Erwin. Creamos
una base de datos con el nombre facturación electrónica.
Figura 46: Creación de la base de datos
Fuente: Cayambe Chicaiza Edison Estuardo
6. Nos situamos en el menú de opciones de pgAdmin en la opción SQL
Figura 47: SQL PG ADMIN
Fuente: Cayambe Chicaiza Edison Estuardo
De la cual aparecerá una ventana con la opción de editar SQLs. En esta
pantalla vamos a la opción Archivo> Abrir y seleccionamos el script de la
base generada anteriormente en el programa Erwin.
140
Figura 48: Abrir SQL
Fuente: Cayambe Chicaiza Edison Estuardo
7. Cargado el script de la base de datos el siguiente paso es generar la
consulta como se muestra en la siguiente figura. Logrando así crear las
tablas, relaciones, índices en PostgreSql.
Figura 49: Ejecución de script SQL
Fuente: Cayambe Chicaiza Edison Estuardo
141
8. Luego de ejecutar el script se muestra una pantalla de confirmación que los
objetos fueron creadas exitosamente.
Figura 50: Confirmación de creación de objetos
Fuente: Cayambe Chicaiza Edison Estuardo
9. Para verificar que estén creados los objetos, se listan todos los objetos de
la base de datos en el explorador de objetos.
Figura 51: Objetos de la base de datos
Fuente: Cayambe Chicaiza Edison Estuardo
142
10. En el pgAdmin se puede verificar las restricciones de cada tabla por
ejemplo para la tabla catalogo_error se peuede observar que tiene como
clave primaria el campo caer_codigo como se muestra en la figura:
Figura 52: Constraint de objeto de base de datos
Fuente: Cayambe Chicaiza Edison Estuardo
Se puede visualizar una información más detallada de los objetos de base
de datos en la sección SQL panel, donde se pude visualizar los campos de
la tabla con sus respectivos tipos de datos, primary key, foreing key, etc.
Figura 53: Script SQL de objetos
Fuente: Cayambe Chicaiza Edison Estuardo
143
5.5.2.2. Construcción de relaciones
En el siguiente grafico podemos observar las relaciones creadas al momento
de generar el script en el programa Erwin. Como ejemplo hemos tomado la
tabla configuración_fe la cual podemos observar que está relacionada con la
tabla empresa teniendo como foreing key al campo empr_codigo y la tabla
proceso_fe estableciendo como foreing key al campo prfe_codigo.
Figura 54: Constraint de relaciones de objetos
Fuente: Cayambe Chicaiza Edison Estuardo
Para tener una mayor visión de las relaciones sobre la tabla se visualiza en
Panel SQL, donde se obtiene información detallada de la tabla.
Figura 55: SQL de constraint de relaciones de objetos
Fuente: Cayambe Chicaiza Edison Estuardo
144
5.5.2.3. Construcción de índices
En la siguiente figura se observa que la tabla perfil_punto_emision posee un
índice para mejorar su rendimiento sobre el motor de base de datos.
Figura 56: Índices de los objetos
Fuente: Cayambe Chicaiza Edison Estuardo
Para tener una visión más clara de cómo se define un índice se visualiza en el
Panel SQL, donde se visualiza la definición del índice i_perfil_punto_emision.
Figura 57: SQL de índices de objetos
Fuente: Cayambe Chicaiza Edison Estuardo
145
5.5.3. Codificación del sistema
5.5.3.1. Codificación JSF
Creación de templates
El sistema de facturación electrónica define su plantilla de páginas a través
de templates, en los cuales define su contenido en tags <ui:insert>, para
proporcionar una interfaz web con componentes y estilos reutilizables.
A continuación se presenta la estructura general de un template:
Figura 58: Estructura de un template
Fuente: Cayambe Chicaiza Edison Estuardo
146
El sistema de facturación electrónica define un template general para todas
las páginas el cual se detalla a continuación:
baseFacturacion.xhtml
Figura 59: Tempate facturación electrónica
Fuente: Cayambe Chicaiza Edison Estuardo
Este template define una interfaz genérica para todo el aplicativo, a
continuación se presenta la interfaz:
Figura 60: Template general de facturación electrónica
Fuente: Cayambe Chicaiza Edison Estuardo
147
Manejo de templates en herencia
El manejo de herencia del template de facturación electrónica se lo realiza
a través de referencias al template creado mediante el tag <ui:composition>
y sobreescritura de las secciones definidas en los tags <ui:insert> del
template.
A continuación se presenta una referencia al template de facturación
electrónica.
Figura 61: Referencia a un template
Fuente: Cayambe Chicaiza Edison Estuardo
Las páginas que heredan de template de facturación electrónica
sobrescriben las secciones mediante el tag <ui:define> donde se
personaliza el contenido de la página según se requiera.
148
Figura 62: Definición de secciones del template
Fuente: Cayambe Chicaiza Edison Estuardo
Creación de interfaces de usuario
El sistema de facturación electrónica maneja páginas para administración y
consulta de documentos electrónicos, estas páginas se detallan a
continuación:
/WebContent/administracion/catalogoError.xhtml
/WebContent/administracion/configuracionFacturacion.xhtml
/WebContent/administracion/empresa.xhtml
/WebContent/administracion/errorProceso.xhtml
/WebContent/administracion/establecimiento.xhtml
/WebContent/administracion/impuesto.xhtml
/WebContent/administracion/pagina.xhtml
/WebContent/administracion/parametro.xhtml
/WebContent/administracion/perfil.xhtml
/WebContent/administracion/procesoFacturacion.xhtml
/WebContent/administracion/puntoEmision.xhtml
/WebContent/administracion/rol.xhtml
/WebContent/administracion/usuario.xhtml
149
/WebContent/administracion/usuarioPuntoEmision.xhtml
/WebContent/facturacion/consultaDocumentos.xhtml
/WebContent/facturacion/main.xhtml
A continuación se presenta una figura donde se visualizan las páginas con
su estructura de directorio en el sistema de facturación electrónica.
Figura 63: Paginas del sistema de facturación electrónica
Fuente: Cayambe Chicaiza Edison Estuardo
5.5.3.2. Codificación EJB
Creación de Beans
La creación de beans en el sistema de facturación electrónica se la realiza
a través de interfaces para exponer los contratos de servicios, esta
interface es de tipo Remota ya que las implementaciones de los servicios
ya tienen implícitamente una interfaz local.
150
A continuación se muestra la definición de servicios en una interfaz remota.
Figura 64: Interfaz de servicio remota
Fuente: Cayambe Chicaiza Edison Estuardo
A continuación se muestra un diagrama de clases e interfaces de un bean
de negocio del sistema de facturación electrónica.
Figura 65: Representación de un Bean de negocio
Fuente: Cayambe Chicaiza Edison Estuardo
Como se puede observar se definen interfaces para exponer los contratos
de los servicios para luego ser implementados dichos servicios.
151
Implementación de lógica de negocios
Definidas todas las interfaces de negocio se procede a realizar las
implementaciones de las interfaces, a través de componentes EJB de
sesión (Stateless), estos componentes tienen el mismo nombre de su
interfaz adicionado el sufijo “Impl”.
A continuación se muestra una implementación de un servicio de negocio
de facturación electrónica.
Figura 66: Clase Bean de negocio
Fuente: Cayambe Chicaiza Edison Estuardo
152
Figura 67: Implementación Bean de negocio
Fuente: Cayambe Chicaiza Edison Estuardo
Para realizar una implementación del servicio de negocio se realiza una
implementación de la interfaz donde se definió el contrato de servicio.
5.5.3.3. Codificación JPA
Configuración conexión a base de datos
La configuración de la conexión a la base de datos del aplicativo de
facturación electrónica se a realiza en el servidor de aplicaciones
delegando a este todo el control y manejo de concurrencia, transacciones
en procesos y consultas hacia a base de datos.
Para esto se realiza la configuración de DataSource en los archivos de
configuración del servidor de aplicaciones como se muestra a continuación.
153
1. Se edita el archivo de configuración standalone.xml
Figura 68: Archivo de configuración del DataSource
Fuente: Cayambe Chicaiza Edison Estuardo
2. Se agrega un nuevo Data Source en el tag <datasource> dentro del tag
<datasources> en el cual se especifican todos los parámetros de conexión
al motor de base de datos, así como sus credenciales para autenticación.
Figura 69: Configuración DataSource
Fuente: Cayambe Chicaiza Edison Estuardo
154
Mapeo de tablas
El mapeo de las tablas a entidades en el módulo facturacion-electronica-jpa
se realizó con el asistente de funciones JPA en el IDE Eclipse, para lo cual
se realizó los siguientes pasos:
1. Se procede a generar un nuevo paquete de entidades en la opción JPA
Entities from Tables
Figura 70: JPA Entities from Tables
Fuente: Cayambe Chicaiza Edison Estuardo
2. A continuación se procede a configurar una nueva conexión en la cual
se especifican los parámetros de conexión al servidor de base de
datos.
155
Figura 71: Conexión Postgresql
Fuente: Cayambe Chicaiza Edison Estuardo
Figura 72: Nueva conexión JDBC
Fuente: Cayambe Chicaiza Edison Estuardo
156
3. A continuación se seleccionan todas las tablas que se desean mapear.
Figura 73: Tablas a mapear como entidades
Fuente: Cayambe Chicaiza Edison Estuardo
4. Se visualiza un diagrama por cada tabla y sus relaciones establecidas.
Figura 74: Relaciones de entidades establecidas
Fuente: Cayambe Chicaiza Edison Estuardo
157
5. Al finalizar el proceso de mapeo, se visualizan las entidades creadas
en el módulo de facturacion-electronica-jpa.
Figura 75: Entidades del sistema de facturación electrónica
Fuente: Cayambe Chicaiza Edison Estuardo
5.5.3.4. Integración de módulos
Para lograr la integración entre módulos del sistema de facturación electrónica
se utiliza uno de los servicios del contenedor de EJB, la inyección de
dependencias.
Inyección de dependencias EJB
La inyección de dependencias es un servicio que maneja el contenedor
EJB y por ende están disponibles solamente para las clases que el
contenedor administra. Estas clases son:
EJB
Interceptors
Servlets
Filters
158
ServletListeners
JSF Managed Beans
Web Services Endpoints
Handlers
Integración JSF-EJB
Desde la especificación JEE5 se permite integrar dos arquitecturas claves
para desarrollar e implementar aplicaciones Web JavaServer Face (JSF) y
Enterprise JavaBeans (EJB). El módulo JSF se integra con los módulos
EJB de negocio mediante inyección de dependencias ralizando un lookup
del EJB de negocio mediante a anotación @EJB.
Figura 76: Inyección de EJB de negocio
Fuente: Cayambe Chicaiza Edison Estuardo
159
Integración EJB-JPA
Los componentes EJB hacen uso de módulo JPA como un mecanismo de
mapeo Objeto/Relacional para proporcionar el acceso a una base de
datos.
Los módulos EJB de negocio se integran con el módulo JPA mediante
inyección de dependencias realizando un lookup de un EJB DAO mediante
la anotación @EJB.
Figura 77: Inyección de EJB JPA
Fuente: Cayambe Chicaiza Edison Estuardo
160
6. CAPITUO VI Marco Administrativo
6.1. Recursos humanos
Tesista.
Tutor asignado.
6.2. Recursos materiales
Los recursos materiales son los productos utilizados en la investigación y
desarrollo de presente trabajo, así como los servicios que han incurrido para su
elaboración.
A continuación se listan los recursos utilizados:
Certificado Digital
Resma de Papel
Horas de Internet y copias
Material Bibliográfico
Capacitación
Cartuchos de Tinta
Impresiones
Transportes y Movilidad
161
6.3. Presupuesto
El presupuesto estimado para la elaboración del proyecto de tesis es de
3.633,43 dólares americanos, distribuido en distintos recursos y actividades a
realizarse a lo largo del desarrollo del proyecto.
PRESUPUESTO
Unidad Periodo(Tiempo) Valor Cantidad Total
Gastos Operacionales
Recursos Humanos
Tesista Unitario Hora-Hombre $ 10,00 200,00 $ 2.000,00
Recursos Materiales
Laptop Unitario Semestral $ 0,00 1,00 $ 0,00
Resma de papel Unitario Semestral $ 4,50 1,00 $ 4,50
Impresiones Unitario Semestral $ 0,05 300,00 $ 15,00
Copias Unitario Semestral $ 0,02 200,00 $ 4,00
Certificado Digital Unitario Semestral $ 374,69 1,00 $ 374,69
Material bibliográfico Unitario Semestral $ 37,56 1,00 $ 37,56
Servicios
Consultoría Dólar Hora $ 20,00 10,00 $ 200,00
Capacitación Dólar Hora $ 10,00 30,00 $ 300,00
Transporte Dólar Día $ 1,00 100,00 $ 100,00
Transcripción del trabajo Dólar Hora $ 2,00 20,00 $ 40,00
Empastado tesis Dólar Hora $ 10,00 4,00 $ 40,00
Red GPRS Dólar Mensual $ 12,56 3,00 $ 37,68
Total G. Operaciones $ 3.153,43
Gastos Indirectos
Electricidad Dólar Mensual $ 10,00 6,00 $ 60,00
Internet Dólar Mensual $ 10,00 6,00 $ 60,00
Mantenimiento Dólar Mensual $ 20,00 3,00 $ 60,00
Alimentación Dólar Día $ 3,00 100,00 $ 300,00
Total G. Indirectos $ 480,00
Total Gastos $ 3.633,43
162
6.4. Cronograma
El proyecto de tesis tendrá una duración de 219 días a partir de la aprobación
del mismo, distribuido en distintas actividades e hitos del proyecto.
Nombre de tarea Duración Comienzo Fin
Presentación del Problema 7 días mié 01/04/15 mar 07/04/15
Planteamiento del Problema 1 día mié 01/04/15 mié 01/04/15
Formulación del Problema 1 día jue 02/04/15 jue 02/04/15
Interrogantes de la Aplicación 1 día vie 03/04/15 vie 03/04/15
Objetivo General 1 día sáb 04/04/15 sáb 04/04/15
Objetivos Específicos 1 día dom 05/04/15 dom 05/04/15
Justificación 1 día lun 06/04/15 lun 06/04/15
Alcance 1 día mar 07/04/15 mar 07/04/15
Marco Teórico 17 días mié 08/04/15 vie 24/04/15
Introducción al comercio electrónico 2 días mié 08/04/15 jue 09/04/15
Documento Electrónico 2 días vie 10/04/15 sáb 11/04/15
Criptografía 2 días dom 12/04/15 lun 13/04/15
Certificados digitales 2 días mar 14/04/15 mié 15/04/15
Firma electrónica 2 días jue 16/04/15 vie 17/04/15
XAdES - Firma electrónica avanzada XML 2 días sáb 18/04/15 dom 19/04/15
Firma digital 2 días lun 20/04/15 mar 21/04/15
163
Facturación electrónica 3 días mié 22/04/15 vie 24/04/15
Marco de Referencia 10 días sáb 25/04/15 lun 04/05/15
Sistemas de facturación electrónica 3 días sáb 25/04/15 lun 27/04/15
Comprobante Fiscal Digital (CFD) 3 días mar 28/04/15 jue 30/04/15
Comprobante Fiscal Digital por Internet
(CFDI) 4 días vie 01/05/15 lun 04/05/15
Análisis y Diseño del Módulo de
Facturación Electrónica 46 días mar 05/05/15 vie 19/06/15
Análisis de requisitos 20 días mar 05/05/15 dom 24/05/15
Modelo conceptual del sistema de
facturación electrónica 3 días lun 25/05/15 mié 27/05/15
Modelado del análisis 3 días jue 28/05/15 sáb 30/05/15
Diseño del modulo 20 días dom 31/05/15 vie 19/06/15
Desarrollo e Implementación 112 días sáb 20/06/15 vie 09/10/15
Metodología de desarrollo 4 días sáb 20/06/15 mar 23/06/15
Introducción 2 días sáb 20/06/15 dom 21/06/15
SCRUM 2 días lun 22/06/15 mar 23/06/15
Análisis de tecnologías 8 días mié 24/06/15 mié 01/07/15
Java EE Plataforma de desarrollo del
proyecto 3 días mié 24/06/15 vie 26/06/15
Frameworks para JSF 2 días sáb 27/06/15 dom 28/06/15
Enterprise JavaBeans 1 día lun 29/06/15 lun 29/06/15
Frameworks para JPA 1 día mar 30/06/15 mar 30/06/15
Servicios Web 1 día mié 01/07/15 mié 01/07/15
Análisis de las herramientas de
desarrollo 5 días jue 02/07/15 lun 06/07/15
Lenguaje de Programación: JAVA 1 día jue 02/07/15 jue 02/07/15
Entorno de Desarrollo Integrado (IDE):
Eclipse 1 día vie 03/07/15 vie 03/07/15
Motor de Base de Datos: PostgreSQL 1 día sáb 04/07/15 sáb 04/07/15
Servidor de Aplicaciones: JBoss AS 2 días dom 05/07/15 lun 06/07/15
Análisis del desarrollo 15 días mar 07/07/15 mar 21/07/15
Identificación de subsistemas 7 días mar 07/07/15 lun 13/07/15
Análisis de clases 8 días mar 14/07/15 mar 21/07/15
Implementación 80 días mié 22/07/15 vie 09/10/15
Configuración de servidor de
aplicaciones 8 días mié 22/07/15 mié 29/07/15
164
Creación de a base de datos 12 días jue 30/07/15 lun 10/08/15
Codificación del sistema 60 días mar 11/08/15 vie 09/10/15
Marco Administrativo 5 días sáb 10/10/15 mié 14/10/15
Recursos humanos 1 día sáb 10/10/15 sáb 10/10/15
Recursos materiales 1 día dom 11/10/15 dom 11/10/15
Presupuesto 1 día lun 12/10/15 lun 12/10/15
Cronograma 2 días mar 13/10/15 mié 14/10/15
Conclusiones y Recomendaciones 2 días jue 15/10/15 vie 16/10/15
Conclusiones 1 día jue 15/10/15 jue 15/10/15
Recomendaciones 1 día vie 16/10/15 vie 16/10/15
Anexos 20 días sáb 17/10/15 jue 05/11/15
165
7. CAPITUO VII Conclusiones y Recomendaciones
7.1. Conclusiones
El avance del comercio electrónico, generó las bases tecnológicas que
permitieron e impulsaron la implementación de la facturación electrónica en
muchos países, entre ellos Ecuador, esta iniciativa fue impulsada SRI.
El diseño e implementación del sistema de facturación electrónica para la
Universidad Central del Ecuador, permite integrar sistemas externos de
facturación convencional para la emisión de comprobantes electrónicos.
El desarrollo del presente trabajo se fundamentó en las leyes implantadas
por el SRI, entidad gubernamental encargada de emitir reglamentos para
facturación electrónica.
El módulo de facturación electrónica fue desarrollado, bajo las
especificaciones técnicas, operativas y administrativas definidas por la
Universidad Central del Ecuador, logrando con ello la terminación del
proyecto con éxito.
El desarrollo del sistema de facturación electrónica es un sistema integrado
al sistema administrativo financiero de la Universidad Central de Ecuador,
el cual permite gestionar la información tributaria de documentos emitidos
por la Universidad Central de Ecuador de manera electrónica.
El sistema de facturación electrónica es una aplicación Web empresarial
desarrollada bajo a plataforma JEE, con una arquitectura de capas
distribuidas basadas cada una en componentes modulares que se ejecutan
en un servidor de aplicaciones.
El desarrollo del sistema de facturación electrónica se realizado bajo
herramientas de software libre lo cual brindo un ahorro de costos y
permitió aplicar las políticas gubernamentales sobre el uso y distribución de
software libre.
166
7.2. Recomendaciones
Se recomienda que los usuarios del sistema de facturación electrónica
tanto administradores como estudiantes entren en un proceso de
capacitación sobre el aplicativo; para así fomentar el conocimiento sobre la
nueva modalidad de facturación implementada en el Ecuador.
Se recomienda que la Universidad Central del Ecuador anuncie y dé a
conocer sobre el sistema a los estudiantes para que estos consulten sus
documentos electrónicos emitidos por la universidad o por la facultad al que
pertenezcan.
Se recomienda tener claro todas las disposiciones establecidas por el SRI
sobre el tema de facturación electrónica para la correcta configuración del
sistema.
167
BIBLIOGRAFIA
1) ARQUITECTURA DE SOFTWARE. (7 de Octubre de 2012). Recuperado el 2015 de Octubre
de 22, de Arquitectura de Software: http://elblogdelfrasco.blogspot.com/2012/10/class-
loader-de-jboss-as-7.html
2) BERTOLÍN, J. A. (2008). Seguridad de la Información; Redes y Sistemas de Información.
Madrid: Paraninfo.
3) CÁRDENAS, E. R. (2006). Manual de derecho de comercio electrónico y de Internet. Bogotá:
Centro Editorial Rosarista.
4) COMPROBANTE FISCAL DIGITAL EN MÉXICO. (15 de Marzo de 2011). Recuperado el 2015
de Abril de 5, de Comprobante Fiscal Digital en México:
http://www.cfdenmexico.com/que-es-un-cfd-comprobante-fiscal-digital/
5) CURSO BÁSICO DE CRIPTOGRAFÍA CLÁSICA. (2013). Obtenido de
http://www.kriptopolis.com/criptografia-clasica-i
6) DÍAZ, F. (2014). Factura Telemática. España.
7) DOCS.ORACLE. (20 de Octubre de 2015). Obtenido de DOCS.ORACLE:
https://docs.oracle.com/javaee/6/tutorial/doc/bnayl.html
8) EDICOM. (09 de 09 de 2015). Recuperado el 09 de 09 de 2015, de EDICOM:
http://www.edicomgroup.com/es_MX/solutions/einvoicing/what_is.html
9) EL COMERCIO. (28 de Noviembre de 2013). Facturación Electrónica. Recuperado el 20 de
Febrero de 2015, de EL COMERCIO: http://www.elcomercio.com/cartas/facturacion-
electronica.html
10) ELECONOMISTA. (8 de Junio de 2015). Obtenido de
http://eleconomista.com.mx/tecnociencia/2015/06/08/america-latina-bastion-comercio-
electronico
11) INTECO. (2 de Febrero de 2011). Observatorio de la Seguridad de la Información.
Recuperado el 10 de Febrero de 2015, de Observatorio de la Seguridad de la Información:
www.inteco.es: http://www.inteco.es/Seguridad/Observatorio
12) MANCHA, C. L. (2013). Firma Digital. España: ADPATATIC.
13) ORACLE. (1 de Octubre de 2015). Obtenido de Oracle:
http://www.oracle.com/technetwork/articles/javaee/javaee6overview-141808.html
14) ORGANIZACIÓN MUNDIAL DE COMERCIO. (2 de febrero de 2015). Obtenido de
www.wto.org: http://www.wto.org/spanish/thewto_s/whatis_s/tif_s/bey4_s.html
15) PROYECTOSAGILES. (04 de 01 de 2015). Recuperado el 13 de 09 de 2015, de
proyectosagiles: http://proyectosagiles.org/que-es-scrum/
16) RODRÍGUEZ GALÁN, C. &. (2008). Derecho de los Negocios Internacionales. México: Porrua.
17) RODRÍGUEZ GALÁN, C. &. (2008). Derecho de los Negocios Internacionales. México: Porrua.
168
18) SANZ, J. R. (2008). Gestión del cobro de las operaciones de venta internacional 2ed.
Madrid: Club Universitario.
19) SAT. (3 de Marzo de 2011). Servicio de Administración Tributaria. Obtenido de Servicio de
Administración Tributaria: www.sat.gob.mx
20) SRI. (13 de Febrero de 2015). Normativa de Comprobantes Electrónicos SRI. Obtenido de
http://www.sri.gob.ec/de/10110
21) TALLÓN, A. L. (2010). El Manual Práctico de Supervivencia en la Administración
Electrónic@. España: Creative Commons.
22) TALLÓN, A. L. (2010). El Manual Práctico de Supervivencia en la Administración
Electrónic@. España: Creative Commons.
23) WIKIPEDIA. (3 de 2 de 2015). Obtenido de WIKIPEDIA:
https://es.wikipedia.org/wiki/Comercio_electr%C3%B3nico
24) WIKIPEDIA. (3 de Marzo de 2015). Obtenido de WIKIPEDIA:
https://es.wikipedia.org/wiki/Documento_electr%C3%B3nico
25) WIKIPEDIA. (2015). Obtenido de WIKIPEDIA:
https://es.wikipedia.org/wiki/Certificado_digital
26) WIKIPEDIA. (2015). Obtenido de WIKIPEDIA:
https://es.wikipedia.org/wiki/Firma_electr%C3%B3nica
27) WIKIPEDIA. (2 de Junio de 2015). Obtenido de WIKIPEDIA:
https://es.wikipedia.org/wiki/Xades
28) WIKIPEDIA. (Junio de 3 de 2015). Obtenido de WIKIPEDIA:
https://es.wikipedia.org/wiki/Firma_digital
29) WIKIPEDIA. (11 de Agosto de 2015). Recuperado el 20 de Octubre de 2015, de WIKIPEDIA:
https://es.wikipedia.org/wiki/Enterprise_JavaBeans
30) WIKIPEDIA. (10 de Octubre de 2015). Recuperado el 12 de Octubre de 2015, de WIKIPEDIA:
https://en.wikipedia.org/wiki/Hibernate_(Java)
31) WIKIPEDIA. (14 de Octubre de 2015). Recuperado el 14 de Octubre de 2015, de WIKIPEDIA:
https://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)
32) WIKIPEDIA. (7 de Julio de 2015). Recuperado el 10 de Julio de 2015, de WIKIPEDIA:
https://es.wikipedia.org/wiki/JBoss
33) WIKIPEDIA. (01 de Junio de 2015). Recuperado el 10 de Octubre de 2015, de WIKIPEDIA:
https://en.wikipedia.org/wiki/PostgreSQL
34) WIKIPEDIA. (4 de Agosto de 2015). Recuperado el 8 de Octubre de 2015, de WIKIPEDIA:
https://en.wikipedia.org/wiki/Eclipse_(software)
35) WIKIPEDIA. (7 de Octubre de 2015). Recuperado el 7 de Octubre de 2015, de WIKIPEDIA:
https://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador
36) WIKIPEDIA. (31 de Octubre de 2015). Recuperado el 31 de Octubre de 2015, de WIKIPEDIA:
https://es.wikipedia.org/wiki/Eclipse_(software)
169
ANEXOS
ANEXO A: MANUAL DE INSTALACIÓN DEL SISTEMA OPERATIVO
1. INSTALACIÓN DE CENTOS 6.7 SOBRE VMware Workstation
Iniciamos el programa VMware Workstation
Elegimos la opción File -> New Virtual Machine
En la Siguiente pantalla elegimos la opción “Tipical” y damos click en el
botón Next.
170
Seleccionamos el tipo de instalación, en este caso procedemos a instalar
desde una imagen iso y damos click en el botón Next.
Ingresamos los datos requeridos en la siguiente pantalla y damos click en
el botón Next.
171
Ingresamos el nombre de la máquina virtual y la dirección en disco donde
se guardara la máquina.
Especificamos el tamaño del disco de preferencia, ponemos con 60 Gb; en
la opción del disco Virtual elegimos la opción Store virtual disk as a single
file, damos click en siguiente.
172
En la siguiente pantalla tenemos el resumen de la máquina virtual damos
click en el botón “Finish” para iniciar la instalación.
Esperamos mientras se instalan los archivos base de la distribución Linux.
173
Una vez finalizada la instalación ingresamos la contraseña para ingresar al
sistema.
Una vez que ingresamos al Sistema Operativo, configuramos los servicios
básicos en el firewall.
174
Se agregan los permisos al puerto FTP y damos click en el botón Apply.
2. Cambiar la compatibilidad de hardware de la máquina virtual
La versión de hardware indica que las características de hardware virtuales
que soporta la máquina virtual, como BIOS o EFI, número de ranuras
virtuales, número máximo de CPU, configuración máxima de memoria y
otras características de hardware.
Al actualizar la estación de trabajo, debe cambiar la compatibilidad de
hardware de las máquinas virtuales que se crearon en versiones anteriores
de la estación de trabajo para que puedan utilizar las nuevas
características de la nueva versión de la estación de trabajo.
Para realizar el cambio de compatibilidad damos click en la opción
VM>Manage.
175
En la siguiente pantalla elegimos la compatibilidad de hardware
Workstation 6.5 -7.x.
La siguiente pantalla mostrara las especificaciones y limitaciones del
hardware de la máquina virtual.
176
En la siguiente pantalla elegimos la opción “Alter this virtual machine”, para
cambiar la configuración del hardware de la máquina y damos click en el
botón Next y se realizaran los cambios.
177
3. Instalación Servicio FTP
Para instalar el servicio FTP iniciamos un terminal y ejecutamos el
siguiente comando:
#yum install –y vsftpd
En la siguiente imagen podemos observar que el servicio FTP se ha
descargado e instalado con éxito.
178
Configuramos el archivo del servicio vsftpd para lo cual nos ubicamos en la
carpeta /etc/vsftpd/
cd /etc/vsftpd/
Editamos el archivo vsftpd.conf con los siguientes valores:
anonymous_enable=NO
local_enable=YES
# users to NOT chroot().
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
Una vez realizado los cambios, guardamos el archivo.
179
Configuramos el archivo user-list agregando los usuarios que se
conectaran al servicio FTP. Una vez agregados los usuarios que tendrán
acceso al servicio FTP guardamos el archivo.
Configuramos el archivo chroot_list, en el cual se agregaran los usuarios
agregados anteriormente en el archivo user_list.
180
Configuramos el firewall para que acepte el servicio de FTP. Para lo cual
escribimos setup en el terminal.
Visualizamos la siguiente pantalla y elegimos “firewall configuration” y
elegimos la opción “Run Tool”.
En la pantalla de configuración del firewall seleccionamos la opción
“Customize” y habilitamos el servicio FTP.
182
Configuramos el protocolo del puerto 21.
Realizados los pasos anteriores, reiniciamos el servicio con el siguiente
comando.
#service vsftpd restart
183
ANEXO B: MANUAL DE INSTALACIÓN DEL SISTEMA
Información del Documento
TÍTULO: UCE - Sistema Facturación Electrónica
SUBTÍTULO: Instalación del Ambiente de Producción
VERSIÓN: 1.0
ARCHIVO: Instalacion_Ambiente_Produccion_FAC_UCE.doc
AUTOR: Edison Cayambe
ESTADO: Finalizado
Lista de Cambios
VERSIÓN FECHA AUTOR DESCRIPCIÓN
1.0 22-Nov-2015 Edison Cayambe Emisión Inicial
184
UCE - Sistema Facturación Electrónica
Instalación del Ambiente de Producción
1. Prerrequisitos
1.1. Servicio FTP instalado
1.2. Tener Habilitados los puertos HTTP y HTTPS
2. Instalación JDK
La aplicación está desarrollada en Java por tanto a continuación se detalla
la instalación del toolkit respectivo, para la ejecución de los comandos de
instalación debemos estar logueados como root.
2.1. Verificar la existencia de carpeta para la instalación "/usr/java"
2.1.1. Nos ubicamos en la carpeta usr con el siguiente comando digitado
desde la raíz del directorio.
cd usr
2.1.2. Listamos las carpetas existentes con el comando
ls –l
2.2. Instalación del jdk
2.2.1. Descargamos la versión disponible para nuestro sistema operativo
de la página oficial de Oracle.
185
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-
downloads-1880260.html
2.2.2. Descomprimimos nuestro archivo descargado con el siguiente
comando:
# tar xzf jdk-7u79-linux-i586.tar.gz
2.2.3. Una vez descomprimido el archivo descargado, procedemos a
instalarlo con el siguiente comando:
#rpm -Uvh jdk-7u79-linux-i586.rpm
186
2.2.4. Revisamos la versión de java que acabamos de instalar con el
comando:
java –version
2.3. Registro de las variables de entorno
2.3.1. Configuración de las variables de entorno con los siguientes
comandos:
Para la Variable JAVA_HOME
En el directorio etc editamos el archivo bashrc con el siguiente
comando:
#vim bashrc
En este archivo al final añadimos los siguientes valores:
export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
187
Verificamos que la variable de entorno este correctamente
configurada:
# echo $JAVA_HOME
3. Instalación de Base de Datos
3.1. Instalación PostgreSQL
3.1.1. Vamos a la página de descarga del repositorio de PostgreSQL y
añadimos el repositorio dependiendo de la arquitectura del sistema
operativo. Ejecutamos el comando para descargar el repositorio:
# rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-6-i386/pgdg-centos94-9.4-1.noarch.rpm
188
3.1.2. Con el siguiente comando procedemos a instalar PostgreSQL
# yum install postgresql94-server postgresql94-contrib
3.1.3. Inicializamos la base de datos PostgreSQL usando siguiente
comando:
# service postgresql-9.4 initdb
3.1.4. Iniciamos el servicio postgresql y lo configuramos para que inicie
automáticamente en cada reinicio del sistema operativo.
# service postgresql-9.4 start
# chkconfig postgresql-9.4 on
189
3.2. Instalación de PGADMIN III
3.2.1. Vamos a la página oficial de PostgreSQL:
http://www.postgresql.org/download/
3.2.2. Elegimos nuestra distribución de Linux en nuestro caso RED HAT
3.2.3. Vamos a la sección de Graphical Installer y descargamos el plugin
para la herramienta PGADMIN y damos click en download.
190
3.2.4. Descargamos la versión para nuestro sistema operativo.
3.2.5. Una vez descargado damos permiso al instalador
191
3.2.6. En el terminal ejecutamos el siguiente comando para iniciar la
instalación de PGADMIN:
#./postgresql-9.4.5-1-linux.run
3.2.7. Damos click en Next y procedemos los valores por default.
192
3.2.8. En contraseña ingresamos: root.
3.2.9. Click en Next y la instalación empezara automáticamente
193
3.2.10. Para asegurarnos que el asistente grafico este instalado
ingresamos a Aplications-> PostgreSQL 9.4-> pgAdmin y
ejecutamos:
194
4. Instalación del servidor de aplicaciones JBoss AS 6
4.1. Instalación de JBoss AS
Confirmamos que esté instalado el jdk con el comando
# java –version
Una vez realizada la revisión del jdk procedemos a descargarnos el
JBoss AS 7.1.1.Final con el siguiente comando o copiamos el JBoss
proporcionado en el cd de instalación:
#wget http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip
195
El siguiente paso es descomprimir el archivo descargado para finalizar la
instalación de jboss-as-7.1.1.Final en el directorio /opt, para este punto
ejecutamos el comando:
# unzip jboss-as-7.1.1.Final.zip -d /opt
Creamos un nuevo usuario para iniciar e servidor de aplicaciones JBoss
con el nombre jboss.
$ adduser jboss
Cambiamos la propiedad del directorio de instalación del JBoss con el
comando:
#chown jboss -R /opt/jboss-as-7.1.1.Final/
Nos cambiamos al usuario anteriormente creado
#su jboss
Nos ubicamos en el directorio bin del servidor de aplicaciones JBoss.
Este directorio contiene los scripts necesarios para iniciar, detener y
gestionar el servidor de aplicaciones JBoss.
#cd /opt/jboss-as-7.1.1.Final/bin/
Añadimos un usuario administrador del servidor de aplicaciones:
El último paso antes de empezar JBoss, es agregar un usuario de
administración. Se trata de un usuario de la gestión de JBoss interna,
necesaria para acceder a la nueva consola de administración de JBoss.
196
Elegimos la opción (a) y en el siguiente mensaje agregamos el usuario
JBoss creado anteriormente.
Aceptamos todos los datos ingresados y tendremos los siguientes
mensajes de confirmación.
Iniciamos una instancia standalone del servidor JBoss con el siguiente
comando:
# ./standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0&
197
Para verificar que el servidor inicio correctamente vamos a un navegador
y colocamos: “http// localhost:8080” donde nos mostrara la consola de
administracion del JBoss.
Para apagar el servidor JBoss, ejecutamos el siguiente comando:
#./jboss-cli.sh --connect command=:shutdown
198
4.2. Registro de las variables de entorno
Configuración de la variable JBOSS_HOME
Para configurar la variable de entorno de JBoss editamos el archivo
bashrc
Para eso en un terminal ingresamos:
# cd etc/
#gedit bashrc
En el archivo agregamos al final las siguientes líneas:
export JBOSS_HOME=/opt/ jboss-as-7.1.1.Final
export PATH=$PATH:$JBOSS_HOME/bin
199
Guardamos los cambios y salimos del editor.
Recargamos las variables con el siguiente comando:
# bash
4.3. Configuraciones adicionales para JBoss AS
4.3.1. Configuración del DataSource del sistema de Facturación
electrónica.
Agregamos el siguiente tag “datasource”, en el archivo de
configuración standalone.xml ubicado en el siguiente path:
/opt/jboss-as-7.1.1.Final/standalone/configuration
<datasource jta="true" jndi-name="java:/facturacionElectronicaUCE" pool-name="facturacionElectronicaUCE" enabled="true" use-ccm="false">
<connection-url>jdbc:postgresql://localhost:5432/facturacionelectronica</connection-url> <driver-class>org.postgresql.Driver</driver-class> <driver>postgresql-9.1-902.jdbc4.jar</driver> <security>
<user-name>postgres</user-name> <password>root</password>
</security> <validation>
<validate-on-match>false</validate-on-match> <background-validation>false</background-validation>
</validation> <statement>
<share-prepared-statements>false</share-prepared-statements> </statement>
</datasource>
200
5. Restaurar la base de datos del sistema de Facturación Electrónica
5.1. Restaurar la base de datos desde el entorno grafico
5.1.1. Iniciamos el entorno grafico PgAdmin III
5.1.2. Creamos una nueva base de datos donde vamos a restaurar la
base original, para esto vamos al Object Browser, en la seccion
Databases, damos click derecho y elegimos New Database.
5.1.3. Se abrirá una nueva pantalla donde definimos el nombre de la
base de datos y el propietario como se muestra en la figura. Damos
click en el botón OK y se creara la base de datos.
201
5.1.4. Una vez realizado los pasos anteriores procedemos a verificar en
el Object Browser si la base se creó correctamente:
5.1.5. Una vez creada la base de datos en este caso
facturacionelectronica damos click derecho sobre esta base y
elegimos la opción Restore.
202
5.1.6. En la siguiente pantalla ubicaremos el path donde se encuentra el
archivo a restaurar en la base facturacioelectronica este backup se
encuentra en el CD de instalación.
5.1.7. En la ventana anterior damos click en el botón Restore y mostrara
el siguiente mensaje el cual indica que la base de datos se restauro
correctamente.
203
5.2. Restaurar la base de datos desde comandos
Para restaurar una base de datos por medio de comandos utilizamos
los siguientes parámetros.
psql -U user_name -d database_name -f file_path -h host_name -p port
psql: herramienta para restaurar una base de datos de postgres
-U User: usuario propietario de la base de datos a restaurar.
-d database: nombre de la base de datos donde restauraremos la
base original.
-f file_path: path completo donde se encuentra el archivo a
restaurar.
-h host: nombre del servidor donde se encuentra la base de
datos a respaldar.
-p port: puerto de postgres.
Para la base de facturación electrónica tendremos:
#psql -U postgres -d facturacionelectronica -f
/home/admin/Downloads/ pg_facturacionelectronica.sql -h
localhost -p 5433
Ingresamos la contraseña del usuario postgres, en este caso root y se
restaurara la base de datos.
204
6. Instalación de la aplicación del sistema de Facturación Electrónica
6.1. Instalación de module Class Loading
Copiamos el contenido de la carpeta modules proporcionado en el CD
de instalación (directorios ec y util), este contenido lo copiamos en la
carpeta modules de servidor de aplicaciones JBoss.
205
6.2. Instalación de componentes
Copiamos el contenido de la carpeta deployments proporcionado en el
CD de instalación, este contenido lo copiamos en el directorio
/standalone/deployments del servidor de aplicaciones JBoss.
7. Respaldos
7.1. Respaldos de la BD
7.1.1. Respaldo de la BD desde el entorno gráfico
Para respaldar una base de datos por medio del entorno grafico
PgAdmin III seguimos los siguientes pasos.
Iniciamos el entorno grafico PgAdmin III
206
Sobre la base de datos a realizar el backup damos click derecho y
elegimos la opcion Backup.
Se abrira la siguiente ventana donde ingresamos el nombre del
backup a generar y el path donde se guardara el archivo con
extension .backup.
Al dar click en el botón backup se generará el siguiente mensaje
donde indica que se generó correctamente el respaldo.
207
7.1.2. Respaldo desde la línea de comandos
Para respaldar una base de datos por medio de comandos
utilizamos los siguientes parámetros.
#pg_dump -U User -h host -p port -f backup.sql database
pg_dump: herramienta para el volcado de una base de datos
para postgres
-U User: usuario propietario de la base de datos a respaldar.
-h host: nombre del servidor donde se encuentra la base de
datos a respaldar.
-p port: puerto de postgres.
-f backup.sql: nombre del archivo con el que se generara el
respaldo.
database: nombre de la base a respaldar
Para la base de facturación electrónica tendremos:
pg_dump -U postgres -h localhost -p 5433 -f
pg_facturacionelectronica.sql facturacionelectronica
Ingresamos la contraseña del usuario postgres en este caso root, se
generara en el path especificado el backup.
208
7.2. Respaldos de la aplicación
Creamos un directorio con la fecha actual de respaldo dentro del
directorio /opt/UCE
7.2.1. Respaldo de module Class Loading
Respaldamos los módulos ec y util en la carpeta de respaldos
creada, estos módulos se encuentran el directorio /opt/jboss-as-
7.1.1.Final/modules.
209
7.2.2. Respaldo componentes
Respaldamos componentes .jar y .war en la carpeta de respaldos
creada, estos componentes se encuentran el directorio /opt/jboss-
as-7.1.1.Final/ standalone/deployments.
7.2.3. Respaldo archivo de configuración
Respaldamos el archivo de configuración standalone.xml en la
carpeta de respaldos creada, estos archivo se encuentran el
directorio /opt/jboss-as-7.1.1.Final/ standalone/ configuration.
210
ANEXO C: MANUAL TECNICO Y DE EJECUCIÓN
El objetivo de este manual es presentar la estructura del sistema de facturación
electrónica, este manual será de gran utilidad para el personal técnico que dará
soporte a dicha aplicación.
Versiones del Sistema de Facturación Electrónica
En esta versión tenemos funcionando los s siguientes módulos:
Versión 1.0
Empresa
Establecimiento
Punto Emisión
Proceso Facturación
Configuración
Rol
Perfil
Usuario
Usuario Punto Emisión
Parámetro
Paginas
Impuestos
Catalogo Error
Errores Proceso
Consulta Documentos
211
REQUERIMIENTOS
REQUERIMIENTOS MÍNIMOS DE HARDWARE
HARDWARE DETALLE
Procesador Core
Memoria RAM Mínimo : 1 Gigabytes (GB)
Disco Duro 500Gb
Tarjeta de Red Fast Ethernet 10 / 100 / 1000 / 10,000 Mbps
Conexión a Internet
REQUERIMIENTOS MINIMOS DE SOFTWARE
SOFWARE DETALLE
Sistema Operativo Propietario Windows
NT/98/Me/2000/2003/XP/Vista/7/8/10
Sistema Operativo Libre CentOs 6.x/7.x/8.x
Navegadores Internet Explorer, Chrome, Opera,
Mozilla Firefox
212
HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO
IDE de Desarrollo Eclipse
Software informático utilizado para crear aplicaciones de tipo empresarial,
aplicaciones de escritorio y aplicaciones móviles, está integrado por un
conjunto de plugins (herramientas) de código abierto (OpenSource),
permitiendo integrar a su IDE varios lenguajes de programación libres como
C++, perl, Java, PHP, etc.
Versiones del IDE
Versión Fecha de lanzamiento Versión de
plataforma
Proyectos
Neon Junio de 2016
(planeado)
4.6 Neon projects
Mars 24 de junio de 2015 4.5 Mars projects
Luna 25 de junio de 2014 4.4 Luna projects
Kepler 26 de junio de 2013 4.3 Kepler projects
Juno 27 de junio de 2012 4.2 Juno projects
Indigo 22 de junio de 2011 3.7 Indigo projects
Helios 23 de junio de 2010 3.6 Helios projects
Galileo 24 de junio de 2009 3.5 Galileo projects
Ganymede 25 de junio de 2008 3.4 Ganymede
projects
Europa 29 de junio de 2007 3.3 Europa projects
Callisto 30 de junio de 2006 3.2 Callisto projects
Eclipse 3.1 28 de junio de 2005 3.1
Eclipse 3.0 28 de junio de 2004 3.0
(WIKIPEDIA, 2015)
213
JBossTools
Es un conjunto de plugins para el IDE Eclipse, con soporte para tecnologías
Hibernate, JBoss AS, JSF, HTML, Maven, etc.
Versiones de Eclipse Mars (4.5), Luna (4,4), Kepler (4.3), Juno (4.2,
3.8), anterior a Juno (<= 4.1)
Soporte de la plataforma
Windows, Mac, Linux / GTK
Nombre de la Organización Red Hat, Inc.
Última versión estable 4.1.2.Final
Licencia EPL y LGPL
Ambiente de Desarrollo
Para el presente sistema se utilizó el IDE de desarrollo Eclipse Luna que lo
podemos descargar de forma libre de la página principal:
https://eclipse.org/downloads/.
Una vez descargado procedemos a descomprimir el utilitario en el disco local.
Click en el ejecutable eclipse.exe y accedemos al IDE como se muestra en la
figura.
Se ejecuta el IDE y nos mostrara las siguientes ventanas donde elegimos
nuestro espacio de trabajo y damos click en el botón OK:
215
Instalación de JBoss Tools
Para instalar el JBoss Tools vamos a Eclipse y seguimos los siguientes pasos:
Click en el menú help->Eclipse MarketPlace
En el cuadro de texto ingresamos JBoss Tools y procedemos a instalar el
plugin como se muestra en la figura.
216
Una vez confirmada la instalación se agregara automáticamente las
funcionalidades del plugin al IDE Eclipse.
1. IMPORTACIÓN DE PROYECTOS DEL SISTEMA DE FACTURACIÓN
ELECTRÓNICA AL IDE DE DESARROLLO ECLIPSE.
Una vez iniciado el IDE Eclipse importamos los proyectos de facturación
electrónica, para lo cual damos click en el menú file->Import
217
Desplegamos la carpeta General y elegimos Existing Projects into
WorkSpace y damos click en el botón Next.
Aparece la siguiente pantalla donde elegimos la ubicación del proyecto a
importar.
218
Damos click en el botón Browser y elegimos el path donde se encuentra el
proyecto a importar. En este manual procederemos a importar el proyecto
facturación-electronica_web. Damos click en OK.
Verificamos que todo este correcto y damos click en el botón Finish.
219
Una vez realizados estos pasos observaremos nuestro Proyecto en el menú
Project Explorer.
El procedimiento anterior lo realizamos para los siguientes proyectos:
cliente_sri
facturacion-electronica-cron
facturacion-electronica-ejb
facturacion-electronica-jpa
facturacion-electronica-login
facturacion-utilitarios
firma-digital-ejb
integracion-ejb
listener-facturacion-ejb
portal-web
220
2. ACTIVAR LA VISTA ANT
La herramienta Ant es utilizada para realizar las tareas mecánicas y
repetitivas, normalmente utilizadas para la fase de compilación y
construcción (build).
Para abrir la vista ANT vamos a la opción Window-> Show View ->Other
En la siguiente pantalla desplegamos la carpeta Ant, seleccionamos la vista Ant
y damos click en el botón OK.
221
Una vez realizado los pasos anteriores en el IDE eclipse se desplegara una
pestaña en la parte inferior para la ejecución de las tareas Ant.
3. ABRIR PRESPECTIVA SVN
Primero agregamos el plugin al IDE Eclipse, para lo cual vamos a la opción
Help -> Eclipse Marketplace.
En el buscador de la siguiente pantalla escribimos Subversion y damos click en
el botón buscar y procedemos a instalar el plugin Subclipse 1.10.10; damos
click en el botón Install.
222
En la siguiente pantalla elegimos todas las dependencias del plugin Subclipse
1.10.10 y damos click en el botón Confirm.
223
En la siguiente pantalla aceptamos los términos de licencia y damos click en el
botón Finish.
Esperamos a que termine de instalar el plugin Subclipse 1.10.10
Una vez instalado el plugin elegimos la opción Window -> Prespective ->
Open Prespective ->Other
224
En la siguiente ventana elegimos la opción SVN Repository Exploring; damos
click en el botón OK y se mostrara la prespectiva del SVN.
225
4. AGREGAR RUNTIME ENVIROMENT JBOSS A ECLIPSE
Se agrega la librería de JBoss al entorno de desarrollo Eclipse, damos
click en la opción Windows -> Preferences
En la siguiente pantalla elegimos en el menú Runtime Enviroments.
5. RESTAURAR LA BASE DE DATOS FACTURACION ELECTRONICA
Para restaurar la base de facturación electrónica inicamos el entorno
grafico PgAdmin para lo cual vamos a Applications -> PostgreSQL 9.4 ->
pgAdmin III:
226
Creamos una nueva base de datos donde vamos a restaurar la base
original, para esto vamos al Object browser en la seccion Databases
damos click derecho y elegimos New Database
227
Se abrirá una nueva pantalla donde definimos el nombre de la base de
datos y el propietario como se muestra en la figura. Damos click en el
botón OK y se creara la base de datos.
Una vez realizado los pasos anteriores procedemos a verificar en el
Object browser si la base se creó correctamente.
Una vez creada la base de datos en este caso facturacionelectronica
damos click derecho sobre esta base y elegimos la opción Restore.
228
Se abrira la siguiente pantalla donde ubicaremos el path donde se
encuentra el archivo a restaurar en la base facturacioelectronica.
En la ventana anterior damos click en el botón Restore y mostrara el
siguiente mensaje el cual indica que la base se restauro correctamente.
229
6. EJECUTAR JBOSS AS
Iniciamos una instancia standalone del servidor JBoss con el siguiente
comando:
# ./standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0&
Para verificar que el servidor inicio correctamente vamos a un navegador y
colocamos: “http// localhost:8080” donde nos mostrara la consola de
administracion del JBoss.
230
Para apagar el servidor JBoss, ejecutamos el siguiente comando:
#./jboss-cli.sh --connect command=:shutdown
231
ANEXO D: MANUAL DE USUARIO
Objetivo del Manual
El objetivo primario de esta guía es ayudar al usuario a utilizar el Sistema de
Facturación Electrónica, con el fin de poder despejar las diferentes dudas que
se pueden dar al momento de interactuar con el sistema. Este manual está
comprendido de los siguientes puntos:
Guía para ingresar al sistema de facturación electrónica.
Dar a conocer al usuario mediante una descripción detallada e ilustrada
las opciones existentes en el sistema
232
Dirigido A
Este documento está dirigido tanto a usuarios administrativos como a usuarios
administradores del sistema que estarán involucrados en el proceso de
facturación electrónica.
233
CONVENCIONES Y ESTÁNDARES A UTILIZAR
CONVENCION DE FORMATO DE TEXTO
FORMATO TIPO DE INFORMACION
Viñetas numéricas Numeración para procedimientos
paso a paso
Negrita Termino de importancia
Grafico del botón Palabra botón y seguidamente ira el
grafico representativo del botón
CONVENCION PARA USAR EL MOUSE
TERMINO SIGNIFICADO
Señalar Colocar el Mouse sobre el elemento
que se desea señalar
Hacer Click Presionar el botón principal del
Mouse y soltarlo inmediatamente
234
INGRESO AL SISTEMA
Ingresamos a un navegador de su preferencia (Chrome, Mozilla Firefox,
Internet Explorer, etc.) (Ver Figura N° 78). En nuestro caso Chrome.
Figura 78: Ingreso al Navegador
Tipiamos en el navegador la siguiente dirección en la barra de direcciones la
dirección del sitio Web (Ver Figura N° 79):
Figura 79: Ingreso al Sistema de Facturación Electrónica
235
A continuación aparecerá la pantalla de ingreso al sistema de facturación
electrónica (Ver Figura N° 80).
Figura 80: Pantalla de Ingreso al Sistema de Facturación Electrónica
En las cajas de texto ingresaremos el usuario y contraseña asignados a cada
usuario del sistema. (Ver Figura N° 81).
Figura 81: Ingreso de Usuario y Password
236
Al hacer click en Ingresar aparecerá la página web con las diferentes opciones
que cuenta el sistema de facturación electrónica (Ver Figura N° 82).
Figura 82: Pantalla con todas las opciones del sistema
Operaciones Comunes del Sistema:
El sistema cuenta con una cinta de opciones principales y generalizadas para
realizar las siguientes operaciones:
Opciones del Visor Simple (Ver Figura N° 83):
Figura 83: Opciones del Visor Simple: Nuevo, Guardar, Eliminar
Opción del Visor Múltiple (Ver Figura N° 84):
Figura 84: Opción del Visor Múltiple: Buscar
Guardar un Nuevo registro.
Actualizar un registro
Eliminar un registro
Buscar registros
237
Opción Botón Nuevo :
Esta opción permitirá blanquear los campos de los formularios donde esté
presente la operación Nuevo para ingresar datos relacionados a un nuevo
registro.
Opción Botón Guardar :
Esta opción permitirá guardar los datos presentes ingresados en los diferentes
formularios de las páginas del sistema. Este botón realiza dos funciones:
Si se está ingresando datos por primera vez este realizara la opción de
Guardar los datos.
Si se desea modificar la información de cualquier registro del sistema se
realizara la operación de Actualización de un registro seleccionado en
el Visor Múltiple de cualquier función del sistema.
Opción Botón Eliminar :
Esta opción permite eliminar un registro del sistema.
Opción Botón Buscar :
Esta opción permite la operación de buscar los diferentes registros ingresados
en el sistema.
OPCIONES DEL SISTEMA
Opción Empresa
Opción del menú donde nos permitirá crear, actualizar, eliminar una empresa y
realizar consultas sobre las empresas ingresadas en el sistema.
238
Visor Simple: Empresa
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
una empresa para el proceso de facturación electrónica. Entre los datos a
ingresar tenemos: el nombre, la razón social, el RUC, la dirección, unidad de
control y el estado de una empresa. (Figura N° 85).
Figura 85: Visor Simple Empresa
Visor Múltiple: Empresas
Esta sección de la página permite realizar la consulta de las empresas
registradas en el sistema de facturación electrónica en función del estado
(activo, inactivo o todos). Al hacer click sobre cualquier registro permite la
recuperación de los datos en la sección del visor simple; para poder realizar la
opción de actualización de datos de la empresa o eliminación del sistema de la
misma. (FiguraN°86).
Figura 86: Visor Múltiple Empresas
239
Opción Establecimiento
Opción del menú donde nos permitirá crear, actualizar, eliminar un
establecimiento y realizar consultas sobre los establecimientos ingresados en
el sistema.
Visor Simple: Establecimiento
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
un establecimiento para el proceso de facturación electrónica. Entre los datos a
ingresar tenemos: la codificación, el nombre, la dirección, la empresa y el
estado de un establecimiento. (Ver Figura N° 87)
Figura 87: Visor Simple Establecimiento
Visor Múltiple: Establecimientos
Esta sección de la página permite realizar la consulta de los diferentes
establecimientos registrados en el sistema de facturación electrónica en función
del estado (activo, inactivo o todos). Al hacer click sobre cualquier registro
permite la recuperación de los datos en la sección del visor simple; para poder
realizar la operación de actualización de datos del establecimiento o
eliminación del sistema del mismo. (Ver Figura N° 88)
240
Figura 88: Visor Múltiple Establecimientos
Opción Punto Emisión
Opción del menú donde nos permitirá crear, actualizar, eliminar un punto de
emisión y realizar consultas sobre puntos de emisión ingresados en el sistema.
Visor Simple: Punto de Emisión
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
un punto de emisión para el proceso de facturación electrónica. Entre los datos
a ingresar tenemos: la codificación, el nombre, el establecimiento y el estado
de un punto de emisión. (Ver Figura N° 89)
Figura 89: Visor Simple Punto Emisión
241
Visor Múltiple: Punto de Emisión
Esta sección de la página permite realizar la consulta de los diferentes puntos
de emisión registrados en el sistema de facturación electrónica en función del
estado (activo, inactivo o todos). Al hacer click sobre cualquier registro permite
la recuperación de los datos en la sección del visor simple; para realizar la
operación de actualización de datos del punto de emisión o eliminación del
sistema del mismo. (Ver Figura N° 90)
Figura 90: Visor Múltiple Puntos de Emisión
Opción Proceso Facturación
Opción del menú donde nos permitirá crear, actualizar, eliminar un proceso de
facturación y realizar consultas sobre los ingresados en el sistema.
Visor Simple: Proceso Facturación
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
procesos de facturación. Entre los datos a ingresar tenemos: el nombre, la
descripción y el estado de un proceso de facturación. (Ver Figura N° 91)
242
Figura 91: Visor Simple Proceso Facturación
Visor Múltiple: Proceso Facturación
Esta sección de la página permite realizar la consulta de los diferentes
procesos de facturación registrados en el sistema de facturación electrónica en
función del estado (activo, inactivo o todos). Al hacer click sobre cualquier
registro permite la recuperación de los datos en la sección del visor simple;
para realizar la operación de actualización de datos del proceso de facturación
o eliminación del sistema del mismo. (Ver Figura N° 92)
Figura 92: Visor Múltiple Proceso Facturación
Opción Configuración
Opción del menú donde nos permitirá crear, actualizar, eliminar una
configuración y realizar consultas sobre las configuraciones ingresadas en el
sistema.
Visor Simple: Configuración
243
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
una configuración. Entre los datos a ingresar tenemos: el certificado,
identificador, la clave, Tipo de emisión, ambiente, empresas, proceso, fecha de
creación, y el estado de una configuración de facturación electrónica. (Ver
Figura N° 93)
Figura 93: Visor Simple Configuración
Visor Múltiple: ConfiguraciónFes
Esta sección de la página permite realizar la consulta de las diferentes
configuraciones de facturación registrados en el sistema de facturación
electrónica en función del estado (activo, inactivo o todos). Al hacer click sobre
cualquier registro permite la recuperación de los datos en la sección del visor
simple; para realizar la operación de actualización de datos de la configuración
de facturación o eliminación del sistema del mismo. (Ver Figura N° 94)
Figura 94: Visor Múltiple ConfiguracionFes
244
Opción Rol
Opción del menú donde nos permitirá crear, actualizar, eliminar un rol y realizar
consultas sobre los roles ingresados en el sistema.
Visor Simple: Rol
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
un rol. Entre los datos a ingresar tenemos: el nombre, la descripción, fecha de
creación y el estado de un rol de facturación electrónica. (Ver Figura N° 95)
Figura 95: Visor Simple Rol
Visor Múltiple: Rol
Esta sección de la página permite realizar la consulta de las diferentes roles de
facturación registrados en el sistema de facturación electrónica en función del
estado (activo, inactivo o todos). Al hacer click sobre cualquier registro permite
la recuperación de los datos en la sección del visor simple; para realizar la
operación de actualización de datos del rol de facturación o eliminación del
sistema del mismo. (Ver Figura N° 96)
Figura 96: Visor Múltiple Roles
245
Opción Perfil
Opción del menú donde nos permitirá crear, actualizar, eliminar un perfil y
realizar consultas sobre los diferentes perfiles ingresados en el sistema.
Visor Simple: Perfil
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
un perfil. Entre los datos a ingresar tenemos: el nombre, la descripción, fecha
de creación y el estado de un perfil de facturación electrónica. (Ver Figura N°
97)
Figura 97: Visor Simple Perfil
Visor Múltiple: Perfil
Esta sección de la página permite realizar la consulta de las diferentes perfiles
de facturación registrados en el sistema de facturación electrónica en función
del estado (activo, inactivo o todos). Al hacer click sobre cualquier registro
permite la recuperación de los datos en la sección del visor simple; para
realizar la operación de actualización de datos del perfil de facturación o
eliminación del sistema del mismo. (Ver Figura N° 98)
Figura 98: Visor Múltiple Perfiles
246
Opción Usuario
Opción del menú donde nos permitirá crear, actualizar, eliminar un usuario y
realizar consultas sobre los diferentes usuarios ingresados en el sistema.
Visor Simple: Usuario
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
un usuario. Entre los datos a ingresar tenemos: el nombre, usuario, password,
email, perfil, fecha de creación, y el estado de un usuario de facturación
electrónica. (Ver Figura N° 99)
Figura 99: Visor Simple Usuario
Visor Múltiple: Usuarios
Esta sección de la página permite realizar la consulta de las diferentes usuarios
registrados en el sistema de facturación electrónica en función del estado
(activo, inactivo o todos). Al hacer click sobre cualquier registro permite la
recuperación de los datos en la sección del visor simple; para realizar la
operación de actualización de datos del usuario de facturación o eliminación del
sistema del mismo. (Ver Figura N° 100)
Figura 100: Visor Múltiple Usuarios
247
Opción Usuario Punto Emisión
Opción del menú donde nos permitirá crear, actualizar, eliminar un usuario de
un punto de emisión y realizar consultas sobre los diferentes ingresados en el
sistema.
Visor Simple: UsuarioPE
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
un usuario de un punto de emisión. Entre los datos a ingresar tenemos:
usuario, unidad de control, establecimiento, punto de emisión, fecha de
asignación, el estado, empresa. (Ver Figura N° 101)
Figura 101: Visor Simple UsuarioPE
Visor Múltiple: UsuarioPEs
Esta sección de la página permite realizar la consulta de las diferentes usuarios
de puntos de emisión registrados en el sistema de facturación electrónica en
función del estado (activo, inactivo o todos). Al hacer click sobre cualquier
registro permite la recuperación de los datos en la sección del visor simple;
para realizar la operación de actualización de datos del usuario de un punto de
emisión de facturación o eliminación del sistema del mismo. (Ver Figura N°
102)
248
Figura 102: Visor Múltiple UsuariosPEs
Opción Parámetro
Opción del menú donde nos permitirá crear, actualizar, eliminar un parámetro y
realizar consultas sobre los diferentes parámetros ingresados en el sistema.
Visor Simple: Parámetro
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
un parámetro. Entre los datos a ingresar tenemos: key, valor, descripción,
comentario, fecha de creación y el estado. (Ver Figura N° 103)
Figura 103: Visor Simple Parámetro
Visor Múltiple: Parámetros
Esta sección de la página permite realizar la consulta de las diferentes
parámetros registrados en el sistema de facturación electrónica en función del
estado (activo, inactivo o todos). Al hacer click sobre cualquier registro permite
la recuperación de los datos en la sección del visor simple; para realizar la
249
operación de actualización de datos del parámetro o eliminación del sistema
del mismo. (Ver Figura N° 27)
Figura 104 : Visor Múltiple Parámetros
Opción Página
Opción del menú donde nos permitirá crear, actualizar, eliminar una página y
realizar consultas sobre las diferentes páginas ingresadas en el sistema.
Visor Simple: Página
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
una página. Entre los datos a ingresar tenemos: nombre, descripción, orden,
padre, icono, fecha de creación y el estado. (Ver Figura N° 105)
Figura 105: Visor Simple Página
250
Visor Múltiple: Páginas
Esta sección de la página permite realizar la consulta de las diferentes páginas
registradas en el sistema de facturación electrónica en función del estado
(activo, inactivo o todos). Al hacer click sobre cualquier registro permite la
recuperación de los datos en la sección del visor simple; para realizar la
operación de actualización de datos de la página o eliminación del sistema de
la misma. (Ver Figura N° 106)
Figura 106: Visor Múltiple Páginas
Opción Impuestos
Opción del menú donde nos permitirá crear, actualizar, eliminar impuestos y
realizar consultas sobre los diferentes impuestos ingresadas en el sistema.
Visor Simple: Impuesto
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
un impuesto. Entre los datos a ingresar tenemos: tipo, código de porcentaje,
tarifa y el estado. (Ver Figura N° 107)
251
Figura 107: Visor Simple Impuesto
Visor Múltiple: Impuestos
Esta sección de la página permite realizar la consulta de los diferentes
impuestos registrados en el sistema de facturación electrónica en función del
estado (activo, inactivo o todos). Al hacer click sobre cualquier registro permite
la recuperación de los datos en la sección del visor simple; para realizar la
operación de actualización de datos del impuesto o eliminación del sistema del
mismo. (Ver Figura N° 108)
Figura 108: Visor Múltiple Impuestos
Opción Catálogo Error
Opción del menú donde nos permitirá crear, actualizar, eliminar catálogo de
errores y realizar consultas sobre los ingresados en el sistema.
252
Visor Simple: Catálogo Error
En esta sección de la página contamos con la opción Nuevo, Guardar, Eliminar
un catálogo de error. Entre los datos a ingresar tenemos: codificación,
descripción, detalle, origen y el estado. (Ver Figura N° 109)
Figura 109: Visor Simple Catálogo Error
Visor Múltiple: Catálogo Error
Esta sección de la página permite realizar la consulta de los diferentes
catálogos de errores registrados en el sistema de facturación electrónica en
función del estado (activo, inactivo o todos). Al hacer click sobre cualquier
registro permite la recuperación de los datos en la sección del visor simple;
para realizar la operación de actualización de datos del catálogo de error o
eliminación del sistema del mismo. (Ver Figura N° 110)
Figura 110: Visor Múltiple Catálogo Errores
253
Opción Errores Proceso
Opción del menú donde nos permitirá consultar los diferentes errores de
procesos sobrevenidos al momento de generar los documentos electrónicos.
Visor Múltiple: Errores Proceso
Esta sección de la página permite realizar la consulta de los diferentes errores
de procesos registrados en el sistema de facturación electrónica en función del
nombre del archivo, fecha de inicio de error, el estado del error o fecha inicio de
error. (Ver Figura N° 111)
Figura 111: Visor Múltiple Errores Proceso
Opción Consulta Documentos
Opción del menú donde nos permitirá consultar los diferentes documentos
electrónicos generados por el proceso de facturación electrónica.
Visor Múltiple: Documentos
Esta sección de la página permite realizar la consulta de los diferentes
documentos electrónicos generados por el proceso de facturación electrónica
en función del número del documento, el estado del SRI (recibido, generado,
autorizado), la fecha de inicio de emisión, la fecha final de emisión, el tipo de
documento (factura, nota de crédito, nota de débito) y la identificación. (Ver
Figura N° 35)
255
ANEXO E: ANALISIS DE CLASES DEL SISTEMA DE FACTURACIÓN
ELECTRÓNICA
Análisis de clases
Definición de roles de las clases
A continuación se presenta una tabla por módulos en los cuales se
identifican las clases importantes y principales por cada módulo y se detalla
su especificación y rol.
o facturacion-electronica-login
Tabla 20: Roles de clases principales (facturacion-electronica-login)
Tipo Definición Rol
Clase UserPrincipal Objeto que proporciona una session segura y única en el
sistema de facturación electrónica
Clase LoginModuleUCE Clase donde se maneja a lógica de autenticación
Clase xxxDto Objetos para transferencia de datos
Fuente: Cayambe Chicaiza Edison Estuardo
o facturacion-electronica-ejb
Tabla 21: Roles de clases principales (facturacion-electronica-ejb)
Tipo Definición Rol
Interfaz xxxServicio Interfaces que proporcionan los servicios de facturación
electrónica
Clase xxxServicioImpl Implementaciones de interfaces de servicios de
facturación electrónica
Clase xxxBuild Clases encargadas de la construcción de documentos
electrónicos por tipo
Clase xxxException Clases encargadas de manejar excepciones
personalizadas en el sistema de facturación electrónica
Clase xxxUtil Clases encargadas de manejar funciones genéricas útil
en el proceso de facturación electrónica
256
Clase xxxXML Clases que definen la estrategia de construcción de
archivos XML
Fuente: Cayambe Chicaiza Edison Estuardo
o facturacion-electronica-jpa
Tabla 22: Roles de clases principales (facturacion-electronica-jpa)
Tipo Definición Rol
Interfaz GenericInf Interfaz genérica que proporciona funciones genéricas
para manejo CRUD de entidades
Clase GenericDao Implementación de la interfaz genérica
Interfaz xxxDao Interfaces que proporcionan un punto centralizado de
acceso a datos por entidad
Clase xxxDaoEjb Implementaciones de las interfaces Dao
Fuente: Cayambe Chicaiza Edison Estuardo
o firma-digital-ejb
Tabla 23: Roles de clases principales (firma-digital-ejb)
Tipo Definición Rol
Clase xxxException Clases que manejan excepciones durante el proceso de
firma electrónica
Clase UtilFirmaDigital Clase útil con servicios de firma electrónica
Fuente: Cayambe Chicaiza Edison Estuardo
o facturacion-utilitarios
Tabla 24: Roles de clases principales (facturacion-utilitarios)
Tipo Definición Rol
Clase xxxEnum Clases para definir Enumeraciones
Clase RegistraErrorException
Clase genérica que registra en la base de datos los
errores generados en el proceso de facturación
electrónica
Clase LoadFileProperties Clase que permite leer archivos de propiedades
Clase FacturacionUtil Clase útil que proporciona servicios útiles en el
proceso de facturación electrónica
Clase GeneralesUtil Clase útil que proporciona servicios útiles generales
257
Clase CsvUtil Clase útil que proporciona servicios útiles en el manejo
de archivos CSV
Interfaz xxxServico Interfaces que proporciona los servicios utilitarios
Clase xxxServicoImpl Implementaciones de los servicios utilitarios
Interfaz MailSingleton Interfaz que proporciona el servicio de mail de
facturación electrónica
Clase MailSingletonImpl Implementación de servicio de mail
Interfaz ParametroSingleton Interfaz que proporciona servicios para el manejo de
parámetros
Clase ParametroSingletonImpl Implementación de la interfaz de servicio de
parámetros
Fuente: Cayambe Chicaiza Edison Estuardo
o integracion-ejb
Tabla 25: Roles de clases principales (integracion-ejb)
Tipo Definición Rol
Clase CampoAdicionalJson Objeto CampoAdicional para parsear desde tramas
JSON
Clase ImpuestoJson Objeto ImpuestoJson para parsear desde tramas JSON
Clase TotalConImpuestoJson Objeto TotalConImpuestoJson para parsear desde
tramas JSON
Fuente: Cayambe Chicaiza Edison Estuardo
o facturacion-electronica-web
Tabla 26: Roles de clases principales (facturacion-electronica-web)
Tipo Definición Rol
Clase xxxControlador Clases para el manejo de eventos y acciones generadas
en la interfaz de usuario
Clase xxxConverter Clase que manejan parseos y convertidores de
componentes web a objetos
Clase xxxDataModel Clases que manejan modelos de datos para consultar
datos bajo demanda
Clase UtilMessageWeb Clase útil que maneja los mensajes web
Clase UtilWeb Clase útil con servicios útiles de interfaz de usuario
Fuente: Cayambe Chicaiza Edison Estuardo
258
Análisis de relación con la lógica de negocio
A continuación se presenta una tabla por módulos en los cuales se identifican
las clases importantes y principales por cada módulo y se detalla su función de
negocio en el aplicativo de facturación electrónica.
o facturacion-electronica-ejb
Tabla 27: Relación clases principales con lógica de negocio (facturacion-electronica-ejb)
Tipo Definición Función de negocio
Interfaz FacturacionElectronicaServicio
Interfaz que proporciona servicios de
negocio de facturación electrónica y
donde se orquestan todos los servicios
Clase FacturacionElectronicaServicioImpl
Implementación de la interfaz de
servicios de negocio de facturación
electrónica
Interfaz ClientServiceSRI
Interfaz que proporciona los servicios
de integración con el módulo de
servicios del SRI
Clase ClientServiceSRIImpl Implementación de la interfaz de
servicios del SRI
Interfaz ProcesaAutorizacionServicio
Interfaz que proporciona los servicios
de negocio para el manejo de las
autorizaciones de documentos
electrónicos
Clase ProcesaAutorizacionServicioImpl Implementación de la interfaz de
manejo de autorizaciones de SRI
Interfaz ConfiguracionFeServicio
Interfaz que proporciona las
configuraciones generales del proceso
de facturación electrónica
Clase ConfiguracionFeServicioImpl
Implementación de la interfaz de
configuración del proceso de
facturación electrónica
Fuente: Cayambe Chicaiza Edison Estuardo
259
o firma-digital-ejb
Tabla 28: Relación clases principales con lógica de negocio (firma-digital-ejb)
Tipo Definición Función de negocio
Clase XAdeESSignatures Clase que proporciona el manejo de
Criptografía
Interfaz FirmaDigitalServicio Interfaz que proporciona el servicio de
firma electrónica
Clase FirmaDigitalServicioImpl Implementación del servicio de negocio de
firma electrónica
Enumeración EstadoDocumentoEnum Enumeración con estados del documento
electrónico
Fuente: Cayambe Chicaiza Edison Estuardo
o cliente_sri
Tabla 29: Relación clases principales con lógica de negocio (cliente_sri)
Tipo Definición Función de negocio
Clase RecepcionComprobantesService
Clase proxy que gestiona la integración
con el servicio de negocio de Recepción
de documentos electrónicos publicado
por el SRI
Interfaz RecepcionComprobantes
Interfaz que proporciona los contratos
de los servicios de recepción de
documentos electrónicos
Clase RespuestaSolicitud
Objeto que contiene información de la
respuesta obtenida en el envío de
documentos electrónicos
Clase AutorizacionComprobantesService
Clase proxy que gestiona la integración
con el servicio de negocio de
Autorización de documentos
electrónicos publicado por el SRI
Interfaz AutorizacionComprobantes
Interfaz que proporciona los contratos
de los servicios de autorización de
documentos electrónicos
Clase RespuestaComprobante
Objeto con la información completa de
la autorización del documento
electrónico
Fuente: Cayambe Chicaiza Edison Estuardo
260
o facturacion-electronica-cron
Tabla 30: Relación clases principales con lógica de negocio (facturacion-electronica-cron)
Tipo Definición Función de negocio
Clase CsvErrorProceso Ejecutor programado para la generación del
archivo CSV de errores
Clase EjecutorProgramado Ejecutor programado de servicios de negocio
de facturación electrónica
Interfaz ProcesoBatchFE
Interfaz que proporciona la integración con
los servicios de negocio de facturación
electrónica
Clase ProcesoBatchFEImpl Implementación de los servicios de
integración de facturación electrónica
Fuente: Cayambe Chicaiza Edison Estuardo
o integracion-ejb
Tabla 31: Relación clases principales con lógica de negocio (integracion-ejb)
Tipo Definición Función de negocio
Interfaz StrategyLectura
Interfaz que proporciona la estrategia de
lectura de archivos para el proceso de
facturación electrónica
Clase StrategyBuildFacturaCSV Clase que define la construcción de una
factura a partir de una archivo CSV
Clase IntegracionFEMDB
MDB que proporciona integración asíncrona
a través de colas de mensajería con los
servicios de negocio de facturación
electrónica
Interfaz IntegracionFEServicio
Interfaz que define la integración con los
servicios de negocio de facturación
electrónica
Clase IntegracionFEServicioImpl
Implementación de la interfaz de integración
con servicios de negocio de facturación
electrónica
Fuente: Cayambe Chicaiza Edison Estuardo
261
ANEXO F: FICHA TECNICA COMPROBANTES ELECTRONICOS SRI
Para obtener la ficha técnica de los documentos electrónicos validados por el
SRI debemos realizarlos siguientes pasos:
1. Ingresamos en cualquier navegador a la siguiente dirección:
http://www.sri.gob.ec/de/10116
Presentará el siguiente formulario:
2. Donde procedemos a descargar la ficha técnica con la versión
recientemente actualizada:
En este caso se procederá a obtener la versión actualizada al mes de
Abril del 2015.