EDISON ESTUARDO CAYAMBE CHICAIZAuniversidad central del ecuador facultad de ingenierÍa, ciencias...

286
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

Transcript of EDISON ESTUARDO CAYAMBE CHICAIZAuniversidad central del ecuador facultad de ingenierÍa, ciencias...

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

iv

AUTORIZACIÓN DE LA AUTORIA INTELECTUAL

v

CERTIFICACIÓN DEL TUTOR

vi

DESIGNACIÓN TRIBUNAL

vii

CALIFICACIÓN TRIBUNAL

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.

xxiii

CERTIFICACIÓN

xxiv

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.

181

Habitado el servicio FTP seleccionamos a opción “Forward”.

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:

214

Se presenta la ventana de trabajo del IDE Eclipse:

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)

254

Figura 112: Visor Múltiple Documentos Electrónicos

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.

262