BIBLIOTECA ALFONSO BORRERO CABAL, S.J. DESCRIPCIÓN DE LA TESIS O DEL TRABAJO DE GRADO FORMULARIO

Tamaño: px
Comenzar la demostración a partir de la página:

Download "BIBLIOTECA ALFONSO BORRERO CABAL, S.J. DESCRIPCIÓN DE LA TESIS O DEL TRABAJO DE GRADO FORMULARIO"

Transcripción

1 1

2 2

3 BIBLIOTECA ALFONSO BORRERO CABAL, S.J. DESCRIPCIÓN DE LA TESIS O DEL TRABAJO DE GRADO FORMULARIO TÍTULO COMPLETO DE LA TESIS O TRABAJO DE GRADO Sistema de Información para el Ingreso, Mantenimiento y Salida de Estibas SUBTÍTULO, SI LO TIENE SIBOX Apellidos Completos García Rodríguez Lancheros Suescún AUTOR O AUTORES Nombres Completos Jeyson Andrés Mario Sergio DIRECTOR (ES) TESIS O DEL TRABAJO DE GRADO Apellidos Completos Nombres Completos Franky De Toro María Consuelo FACULTAD Ingeniería PROGRAMA ACADÉMICO Tipo de programa ( seleccione con x ) Pregrado Especialización Maestría Doctorado X Nombre del programa académico Ingeniería de Sistemas Nombres y apellidos del director del programa académico Germán Alberto Chavarro Flórez TRABAJO PARA OPTAR AL TÍTULO DE: Ingeniero de Sistemas 3

4 PREMIO O DISTINCIÓN (En caso de ser LAUREADAS o tener una mención especial): CIUDAD AÑO DE PRESENTACIÓN DE LA NÚMERO DE PÁGINAS TESIS O DEL TRABAJO DE GRADO Bogotá TIPO DE ILUSTRACIONES ( seleccione con x ) Dibujos Pinturas Tablas, gráficos y diagramas Planos Mapas Fotografías Partituras X SOFTWARE REQUERIDO O ESPECIALIZADO PARA LA LECTURA DEL DOCUMENTO Nota: En caso de que el software (programa especializado requerido) no se encuentre licenciado por la Universidad a través de la Biblioteca (previa consulta al estudiante), el texto de la Tesis o Trabajo de Grado quedará solamente en formato PDF. TIPO Vídeo Audio Multimedia Producción electrónica Otro Cuál? DURACIÓN (minutos) MATERIAL ACOMPAÑANTE FORMATO CANTIDAD CD DVD Otro Cuál? DESCRIPTORES O PALABRAS CLAVE EN ESPAÑOL E INGLÉS Son los términos que definen los temas que identifican el contenido. (En caso de duda para designar estos descriptores, se recomienda consultar con la Sección de Desarrollo de Colecciones de la Biblioteca Alfonso Borrero Cabal S.J en el correo biblioteca@javeriana.edu.co, donde se les orientará). ESPAÑOL INGLÉS 4

5 Aplicación web Framework Seam Quartz Estiba JavaEE Web Application Seam Framework Quartz Stowage JavaEE RESUMEN DEL CONTENIDO EN ESPAÑOL E INGLÉS (Máximo 250 palabras caracteres) El propósito de este documento es presentar el proceso de desarrollo de una aplicación web que provee el servicio de registrar la información de lotes y estibas. Esta herramienta fue desarrollada mediante el uso de un servidor de aplicaciones, seguridad por roles finos, agendamiento de tareas por Quartz Seam y generación de reportes y códigos de barra en PDF con itext en tecnología Java EE5- SEAM2. Todas las compañías nacionales que tienen como objetivo estratégico seleccionar los envases de los productos de mercado pueden utilizar esta aplicación, dado que se puede adaptar la información en el modelo de datos. The purpose of this document is to present the development process of a web Application that provides a service for register the information about trucks and stowages. This tool was developed by using an application server and the Java EE5 technology SEAM 2. Also this application makes use of roles fines security, scheduling task with Quartz seam, generation of PDF files reporting and generation of Barcode type 128 with itext. All national companies that have as its objective choose containers for market products, can use this application, because can be adapted to the information in the data model. 5

6 6

7 SISTEMA DE INFORMACIÓN PARA EL INGRESO, MANTENIMIENTO Y SALIDA DE ESTIBAS Código: 6843 Jeyson Andrés García Rodríguez Mario Sergio Lancheros Suescún PONTIFICIA UNIVERSIDAD JAVERIANA DE BOGOTÁ D.C. FACULTAD DE INGENIERÍA CARRERA DE INGENIERÍA DE SISTEMAS BOGOTÁ D.C

8 8

9 Tabla de contenido INTRODUCCIÓN OPORTUNIDAD, PROBLEMÁTICA, ANTECEDENTES Descripción del contexto Formulación del problema que se resolvió Justificación Impacto esperado DESCRIPCIÓN DEL PROYECTO Visión global Objetivo general Objetivos específicos Método que se propuso para satisfacer cada objetivo Programación extrema Etapa 1: Modelamiento de los procesos de negocio Etapa 2: Análisis y diseño del sistema de información para el ingreso, mantenimiento y salida de estibas Etapa 3: Construcción y pruebas al sistema de información para el ingreso, mantenimiento y salida de estibas Validación del cliente MARCO TEÓRICO Marco Contextual Procesos del negocio...22 A. Proceso de ingreso de estibas...22 B. Proceso de mantenimiento de estibas...22 C. Proceso de salida de estibas Marco conceptual

10 Aplicaciones empresariales web...24 A. Aplicación web...24 B. Servidores web y Servidores de aplicaciones...25 C. Tecnologías que utilizan servidor de aplicaciones...27 D. Comparación entre tecnologías para el desarrollo web con servidor de aplicaciones Seguridad de la información...30 A. Descripción DESARROLLO DEL TRABAJO Descripción de la compañía tomada como caso de estudio Modelamiento de procesos de negocio Diseño As-Is de la empresa tomada como caso de estudio...33 A. Organización...33 B. Descripción de los roles...33 C. Flujo de secuencia de los procesos de negocio...34 D. Conceptos relevantes de los procesos de negocio...34 E. Proceso de Ingreso de estibas...37 F. Proceso de mantenimiento de estibas...39 G. Proceso de salida de estibas...41 H. Debilidades del sistema actual de la compañía de estibas Diseño To-Be de la empresa tomada como caso de estudio...43 A. Organización...43 B. Descripción de los roles...44 C. Flujo de secuencia de los procesos de negocio...44 D. Conceptos relevantes de los proceso de negocio...44 E. Proceso de ingreso de estibas...44 F. Proceso de mantenimiento de estibas

11 G. Proceso de salida de estibas...49 H. Análisis de las debilidades Resultados del modelamiento de los procesos de negocio Análisis y diseño del sistema de información: SIBOX Módulos Requerimientos del sistema de información por módulos Casos de uso del sistema de información por módulos Perfiles de seguridad Modelamiento de entidades Arquitectura de la aplicación...60 A. Descripción...60 B. Diagrama de componentes...61 C. Diagrama de despliegue Construcción y pruebas del sistema de información Generación inicial de la aplicación mediante el uso de los generadores seam y taylor Módulo de seguridad basado en roles finos y perfiles...65 A. Objetivo...65 B. Descripción...65 C. Procedimiento...66 D. Con respecto a la seguridad de la información Módulo de auditoría mediante métodos callback...70 A. Objetivo...70 B. Descripción...70 C. Procedimiento Módulo de gestión de estibas

12 A. Objetivo...72 B. Descripción...73 C. Procedimiento Módulo de reportes...78 A. Objetivo...78 B. Descripción...78 C. Procedimiento Pruebas del sistema de información para el ingreso, mantenimiento y salida de estibas SIBOX Validación del sistema de información para el ingreso, mantenimiento y salida de estibas SIBOX RESULTADOS Validación de la aplicación CONCLUSIONES Y TRABAJOS FUTUROS Conclusiones Recomendaciones Trabajos futuros Post-Mortem Metodología propuesta Vs. Metodología realmente utilizada Tiempo del proyecto planeado Vs. Tiempo del proyecto ejecutado REFERENCIAS Y BIBLIOGRAFÍA ANEXOS Anexo 1: Documentos del modelamiento de procesos Anexo 2: Requerimientos del sistema Anexo 3: Inventario de módulos y casos de uso Anexo 4: Diagrama de casos de uso

13 8.5. Anexo 5: Manual del usuario Anexo 6: Cronograma del proyecto Anexo 7: Glosario Anexo 8: Diagrama de entidades Anexo 9: Carta de satisfacción por parte del cliente Anexo 10: Encuesta de validación por parte del cliente Anexo 11: Manual de instalación Anexo 12: Manual de mantenimiento Anexo 13: Entrevistas realizadas al cliente Anexo 14: Test de pruebas de CRUDS Anexo 15: Test de pruebas de casos de uso de negocio

14 INTRODUCCIÓN Las empresas productoras y comercializadoras necesitan de una compañía encargada del proceso de selección de envases de buena calidad que puedan servir como empaque para sus productos finales. Estas compañías muchas veces no cuentan con los recursos económicos necesarios para realizar la compra o arrendamiento de sistemas de información de inventarios y producción. El objetivo de este trabajo de grado es el de diseñar y construir un sistema de información que brinde soporte a las organizaciones para el registro del ingreso y salida de estibas, asignación de trabajo de mantenimiento y generación de reportes en un tiempo específico. Actualmente existen aplicaciones que modelan los procesos de inventario por medio de suites de BPM (Ber12), archivos excel (Fer10) y controles de inventario, pero no tienen como objetivo específico los procesos de ingreso, mantenimiento y salida de estibas. SIBOX (aplicación que dio como resultado este trabajo de grado) es una aplicación que está orientada a la web que permite centralizar la información en un servidor y acceder a esta desde cualquier computador a través de un navegador web sin necesidad de realizar instalaciones adicionales. Cabe anotar que los usuarios que acceden a la aplicación deben contar los permisos de seguridad necesarios. SIBOX fue desarrollada utilizando la tecnología Java EE5 Seam 2 (Sal09) que proporciona un conjunto de frameworks de infraestructura Java para la construcción de aplicaciones empresariales entre los cuales se encuentran log4j (Sam05), seguridad por roles (Mar111), anotaciones, JavaServer Faces (Ken09), agendamiento de tareas por Quartz (Qua), generación de códigos de barras y reportes en PDF por itext (Bru11), generación y envíos de correos electrónicos por JavaMail (Ser) y un módulo dedicado a la persistencia de los datos de este tipo de aplicaciones web. Existen actividades adicionales que se realizaron para poder cumplir adecuadamente con el objetivo propuesto. Entre estas actividades se encuentran el modelo As-is (Rob02) y modelo To-Be 14

15 (Rob02) de la compañía tomada como caso de estudio, el levantamiento de requerimientos, el diseño de los casos de uso y el modelamiento de entidades. Para la validación del producto final que va ser entregado al cliente se cuenta con la compañía Distribuidora JJ, empresa que se dedica a realizar la selección de envases en buen estado, mal estado y de reciclaje para diferentes plantas de producción en Colombia. Adicionalmente se realizaran validaciones parciales con respecto a las herramientas tecnológicas utilizadas con la ayuda de la directora de trabajo de grado, la ingeniera María Consuelo Franky. En este documento se describe el proceso detallado de todo lo que fue utilizado para el desarrollo del producto final y se describe el modo en que fueron utilizadas cada una de las herramientas y las razones por las cuales fueron utilizadas. El producto principal lo constituye la aplicación funcional la cual se anexa en un CD con sus respectivos manuales de usuario, instalación y mantenimiento. Por último se muestran las conclusiones que se obtuvieron durante el desarrollo de este trabajo de grado y que pueden ser útiles para aquellas personas que tengan algún tipo de interés por este tema. También se presentan posibles extensiones para nuevas versiones del sistema de información. 15

16 1. OPORTUNIDAD, PROBLEMÁTICA, ANTECEDENTES 1.1. DESCRIPCIÓN DEL CONTEXTO El trabajo de grado sistema de información para el ingreso, mantenimiento y salida de estibas está orientado a las empresas que se dedican a clasificar las cajas en buen estado, mal estado y de reciclaje provenientes de las sucursales y distribuidoras de una planta de producción. Actualmente algunas de estas compañías no tienen recursos para solucionar problemas como pérdidas de la información, datos inconsistentes, problemas de comunicación entre las empresa remitentes y la compañía de estibas, deficiencia en auditoría, generación ineficiente de reportes, seguridad de la información y licenciamiento de programas de software FORMULACIÓN DEL PROBLEMA QUE SE RESOLVIÓ Cómo puede una empresa dedicada al ingreso, mantenimiento y salida de estibas solucionar los problemas de pérdidas de información, datos inconsistentes, control y supervisión, seguridad de la información y auditoria en acciones de usuarios? 1.3. JUSTIFICACIÓN El trabajo de grado parte del interés de autores de la presente propuesta en el área de ingeniería de software, sistemas de información, programación en la web y desarrollo de aplicaciones empresariales. Además de la importancia de la sistematización de una empresa que requiere gran cantidad de almacenamiento para el ingreso, mantenimiento, y salidas de estibas. Con el software libre que será producto del trabajo propuesto, las empresas podrán gozar de una herramienta que permite el ingreso de estibas, el mantenimiento de cada una de las cajas y la información resultante. Además de poder obtener reportes y datos históricos desde cualquier parte del mundo con conexión a internet IMPACTO ESPERADO Al finalizar el trabajo de grado las empresas nacionales dedicadas al ingreso, mantenimiento y salida de estibas podrán contar con una herramienta libre que permita la organización de los procesos que llevan cotidianamente. La empresa generará eficientemente reportes que ayuden a la toma de decisiones. Además contará con un control y una supervisión en las actividades que enmarcan el proyecto, tomando en cuenta la perdida de la información del ingreso, mantenimiento y 16

17 salida de estibas y la supervisión del proceso de mantenimiento de estibas. Finalmente el software brindará seguridad por medio de roles a la información de la organización, y permitirá una auditoria en acciones para realizar un seguimiento a cada uno de los empleados. 17

18 2. DESCRIPCIÓN DEL PROYECTO 2.1. VISIÓN GLOBAL El motivo principal de la realización de este trabajo de grado es el de automatizar los procesos de ingreso, mantenimiento y salida de estibas. En el desarrollo de este trabajo de grado se realizó una aplicación de modo que los usuarios puedan ingresar información sobre los lotes provenientes de las empresas remitentes, realizar tareas de mantenimiento y almacenar las salidas de la bodega a la planta de producción. Posteriormente los usuarios pueden obtener reportes con la información de los lotes y las estibas que fueran registradas en el sistema OBJETIVO GENERAL El trabajo de grado tiene como objetivo desarrollar un sistema de información para el ingreso, mantenimiento y salidas de estibas, por medio de un software libre orientado a la web con el fin de garantizar una mejora en la toma decisiones y seguridad en la información de la empresa tomada como caso de estudio OBJETIVOS ESPECÍFICOS Los objetivos específicos del presente trabajo de grado son: 1. Realizar el modelamiento de los procesos actuales en la compañía tomada como caso de estudio (Diseño As-Is (Jak11)). 2. Realizar el modelamiento de los procesos esperados en la compañía tomada como caso de estudio (Diseño To-Be (Jak11)). 3. Realizar un análisis de las debilidades de la compañía tomada como caso de estudio con el fin de darle una solución con tecnologías de información. 4. Realizar el análisis y el diseño del sistema de información para el ingreso, mantenimiento y salida de estibas. 5. Realizar la construcción del sistema de información para el ingreso, mantenimiento y salida de estibas. 6. Realizar pruebas de caja negra al sistema de información para el ingreso, mantenimiento y salida de estibas. 7. Realizar una encuesta de validación al cliente sobre las mejoras encontradas en el sistema de información para el ingreso, mantenimiento y salida de estibas. 18

19 2.4. MÉTODO QUE SE PROPUSO PARA SATISFACER CADA OBJETIVO Cada uno de los objetivos específicos mencionados en la sección anterior tiene enmarcadas las siguientes etapas, actividades y tareas bajo la metodología ágil de programación de software: programación extrema PROGRAMACIÓN EXTREMA La programación extrema, XP por sus siglas en inglés (xtreme programming), es una metodología la cual propone un proceso de desarrollo de software ágil y a su vez disciplinado La metodología XP consiste básicamente en un proceso evolutivo el cual se basa en retroalimentar un sistema mediante una serie de iteraciones que ocurren a lo largo del tiempo de vida de desarrollo del producto. Existe una variedad de beneficios y ventajas que otorgan a XP un valor agregado sobre las demás metodologías: Simplicidad: Se busca siempre encontrar el camino más ligero para el desarrollo en cada una de las iteraciones y si es necesario en un futuro agregar funcionalidad extra Programación en parejas: Consiste en que la tarea de desarrollo se lleve a cabo por dos personas en un mismo puesto, esto garantiza que se discuta cada una de las líneas de código que se escriban y de esta manera generar código de mayor calidad (Cao04). Rápida corrección de errores: Debido a que la metodología se compone de pequeñas iteraciones es mucho más fácil corregir errores de cortos fragmentos de código a corregir grandes módulos desarrollados Frecuente retroalimentación por parte del cliente: Por lo general se muestra cada una de las iteraciones al cliente y este retroalimenta al equipo de trabajo informando los cambios que hayan que realizarse (Art02). Este proyecto presenta las siguientes etapas basados en la metodología ágil XP: ETAPA 1: MODELAMIENTO DE LOS PROCESOS DE NEGOCIO En esta etapa del trabajo de grado se realizaran las actividades de caracterización y parametrización de los procesos de ingreso, mantenimiento y salida de estibas de la compañía tomada como caso de 19

20 estudio. Estas actividades están sujetas a los objetivos específicos 1, 2 y 3 mencionados en la sección Objetivos específicos de este documento. Las tareas que se realizaran en esta etapa son: Realizar entrevistas y reuniones al administrador de la compañía tomada como caso de estudio. Realizar el análisis del estado inicial de la compañía tomada como caso de estudio (Diseño As-Is (Jak11)). Realizar el análisis del estado esperado en la compañía tomada como caso de estudio (Diseño To-Be (Jak11)). Presentar el análisis al administrador de la compañía tomada como de estudio. Realizar un análisis de las debilidades con el fin de darle una solución por medio de tecnologías de información ETAPA 2: ANÁLISIS Y DISEÑO DEL SISTEMA DE INFORMACIÓN PARA EL INGRESO, MANTENIMIENTO Y SALIDA DE ESTIBAS En esta etapa del trabajo de grado se realizaran las actividades de análisis y diseño del sistema de información SIBOX. Estas actividades están sujetas al objetivo específico 4 mencionado en la sección Objetivos específicos de este documento. Las tareas que se realizaran en esta etapa son: Realizar el levantamiento de requerimientos. Realizar el registro de los requerimientos en la plantilla hacer usos. Realizar el inventario de módulos y casos de uso. Realizar el modelamiento de las entidades ETAPA 3: CONSTRUCCIÓN Y PRUEBAS AL SISTEMA DE INFORMACIÓN PARA EL INGRESO, MANTENIMIENTO Y SALIDA DE ESTIBAS En esta etapa del trabajo de grado se realizaran las actividades de construcción y pruebas de caja negra del sistema de información SIBOX. Estas actividades están sujetas a los objetivos específicos 5 y 6 mencionados en la sección Objetivos específicos de este documento. Las tareas que se realizaran en esta etapa son: 20

21 Realizar una investigación de herramientas tecnologías necesarias para el desarrollo del producto final. Realizar la construcción del sistema de información en tecnología JavaEE5 Seam 2. Realizar pruebas de caja negra al sistema de información SIBOX VALIDACIÓN DEL CLIENTE En esta etapa del trabajo de grado se realizan las actividades de validación del sistema de información para el ingreso, mantenimiento y salida de estibas SIBOX. Estas actividades están sujetas al objetivo específico 7 mencionado en la sección Objetivos específicos de este documento. Las tareas que se realizaran en esta etapa son: Realizar una encuesta de validación al cliente con respecto al sistema de información para el ingreso, mantenimiento y salida de estibas SIBOX. 21

22 3. MARCO TEÓRICO 3.1. MARCO CONTEXTUAL A continuación se describen los procesos de negocio: PROCESOS DEL NEGOCIO A. PROCESO DE INGRESO DE ESTIBAS El objetivo de este proceso es registrar el ingreso de los lotes (camiones) y las estibas (hileras de cajas) a la compañía de estibas. Este procedimiento inicia con el envío de un lote y sus estibas por parte del despachador de una empresa remitente (empresa que trabaja para la compañía de estibas y puede ser sucursal, distribuidora local o distribuidora foránea) y la recepción del mismo por parte del operario de la compañía de estibas. El proceso finaliza con la creación de una tarea de mantenimiento para cada estiba. A continuación se presenta una foto de la compañía tomado caso de estudio en el proceso de ingreso de estibas: Estiba Lote Ilustración 1: Foto 1 - Proceso de ingreso de estibas El diseño As-Is y To-Be del proceso de ingreso de estibas se encuentra en la sección Modelamiento de procesos de negocio de este documento. B. PROCESO DE MANTENIMIENTO DE ESTIBAS El objetivo de este proceso es registrar el número de cajas reportadas como buenas, en reparación y de reciclaje que contiene cada una de las estibas. 22

23 Este procedimiento inicia con la finalización del proceso de ingreso de estibas y finaliza con la validación de la información suministrada por un empleado de mantenimiento por parte del coordinador de estibas. A continuación se muestra una foto de la compañía tomada como caso de estudio en el proceso de mantenimiento de estibas: Estiba seleccionada Empleado de Mantenimiento Ilustración 2: Foto 2 - Proceso de mantenimiento de estibas El diseño As-Is y To-Be del proceso de mantenimiento de estibas se encuentra en la sección Modelamiento de procesos de negocio de este documento. C. PROCESO DE SALIDA DE ESTIBAS El objetivo de este proceso es registrar la salida de los paquetes de la compañía a la planta de producción. Este procedimiento inicia con la finalización del proceso de mantenimiento de estibas y finaliza con la entrega de una cantidad de paquetes en la planta de producción. A continuación se muestra una foto de la compañía tomada como caso de estudio en el proceso de salida de estibas: 23

24 Resultados de las tareas de mantenimiento Ilustración 3: Foto 3 - Proceso de salida de estibas El diseño As-Is y To-Be del proceso de salida de estibas se encuentra en la sección Modelamiento de procesos de negocio de este documento MARCO CONCEPTUAL APLICACIONES EMPRESARIALES WEB A continuación se explican los conceptos relevantes del proyecto de grado sobre las aplicaciones empresariales web como: protocolo HTTP, cliente web, servidor web, servidores de aplicaciones, y tecnologías que utilizan servidores de aplicaciones como Java EE y.net. A. APLICACIÓN WEB Una aplicación web es un tipo especial de aplicación cliente/servidor, donde tanto el cliente (el navegador, explorador o visualizador) como el servidor (el servidor web) y el protocolo mediante el que se comunican (HTTP) están estandarizados y no han de ser creados por el programador de aplicaciones (Ser02). El protocolo HTTP forma parte de la familia de protocolos de comunicaciones TCP/IP, que son empleados en Internet. Estos protocolos permiten la conexión de sistemas heterogéneos, lo que facilita el intercambio de información entre distintos ordenadores. HTTP se sitúa en el nivel 7 del modelo OSI (Ser02). El cliente web es un programa con el que interacciona el usuario para solicitar a un servidor web el envío de los recursos que desea obtener mediante HTTP. La parte cliente de las aplicaciones web 24

25 suele estar formada por el código HTML que forma la página web más algo de código ejecutable en lenguaje de script del navegador. El servidor web es un programa que está esperando permanentemente las solicitudes de conexión mediante el protocolo HTTP por parte de los clientes web (Ser02). Los mensajes más comunes entre los clientes y los servidores web son GET, que se usa para obtener páginas del servidor identificado por el URL; HEAD, para conseguir información sólo del encabezamiento: título, descripción, relación con otros documentos del nodo y el URL del documento; y POST, que le señala a un servidor que debe tomar nota de un recurso existente, enviar un mensaje enviar un formulario de datos para su procesamiento, o añadir información a una base datos B. SERVIDORES WEB Y SERVIDORES DE APLICACIONES La típica interacción entre un cliente y un servidor en una aplicación web, es que el cliente solicite, a través del URL, una página inicial. En tal página el usuario invoca alguna opción, originando un requerimiento por una nueva página al servidor. Esta se genera en el servidor (implementando alguna lógica que produce los resultados que pide el cliente y la presentación) y se envía al cliente, el cual despliega al usuario (Esta versión es conocida como servicio web) En casos donde se requiere procesar transacciones de venta de productos o servicios (registro de lotes, registro de estibas, generación de tareas de mantenimiento y códigos de barra, registro de salidas de paquetes de bodega) y hay que implementar una lógica compleja de negocio, se requiere un servidor que complemente o reemplace a un servidor web, denominado servidor de aplicaciones Un servidor de aplicaciones sirve como plataforma para desarrollar e implementar servicios web y Enterprise Java Beans (EJBs), y como un motor de transacciones y de mensajería al tiempo que ofrece la lógica de negocio para los usuarios finales (IBM09). En el mercado existen cuatro servidores de aplicaciones conocidos: Oracle Glassfish Server: Oracle Glassfish Server es un servidor de aplicaciones de código libre entregado por la comunidad Glassfish y lanzado al mercado por SUN en el año Este servidor de aplicaciones es un contendor de java EE, uno de los cuales es TomCat 25

26 (contenedor web), el cual permite: trabajar con tecnologías como Enterprise JavaBeans (EJB), Java Persistence API (JPA), Java Message Service (JMS), entre otras (Ora10). Oracle WebLogic Server: Oracle WebLogic Server es un servidor de aplicaciones no gratuito construido por Oracle, el cual soporta el despliegue de diferentes tipos de aplicaciones distribuidas (basados en la construcción de aplicaciones basadas en SOA) (Ora11). IBM Webshere: WebSphere es un servidor de aplicaciones no gratuito y creado por IBM que ejecuta aplicaciones empresariales y soporta los estándar de J2EE y servicios web (Tim03). Jboss Red Hat: Jboss Application Server (Jboss AS) es un servidor de aplicaciones para Java Enterprise Edition (Java EE5). Este servidor estandariza la arquitectura del desarrollo de las aplicaciones mediante la definición de varios modelos de componentes (JavaBeans, Java Server Faces, Java Server Pages, Servlets, entre otros) e implementados por un modelo estándar. Cuando los componentes están ejecutándose en el servidor, este provee un conjunto de servicios que están a disposición de los componentes (Jam09). Entre las características que tiene un servidor de aplicaciones, las cuáles fueron relevantes en la toma de decisión de la tecnología a utilizar, se encuentran: La inclusión de un middleware que facilita la comunicación entre varios servicios. Soporte a diferentes estándares como HTML, XHMTL y XML permitiendo el funcionamiento en ambientes web. Alta disponibilidad de sus aplicaciones, además garantiza seguridad y confiabilidad de las mismas. Brinda escalabilidad y mantenibilidad en tal caso de que la carga de trabajo incremente. Brinda un módulo de autenticación y autorización (JAAS) por medio de roles, identity, y permisos sobre métodos EJB Brinda un módulo de administración de transacciones cumpliendo con las propiedades ACID Provee un módulo estándar de Entity Beans por medio de Hibernate A continuación se explican las tecnologías que hacen uso del servidor de aplicaciones: 26

27 C. TECNOLOGÍAS QUE UTILIZAN SERVIDOR DE APLICACIONES Las siguientes tecnologías usan un servidor de aplicaciones son:.net Microsoft.NET es una plataforma de lenguaje abierto para la construcción de aplicaciones empresariales y desarrollo web. El objetivo es proporcionar una maquina abstracta para los desarrolladores profesionales que abarcan aplicaciones tradicionales cliente servidor, aplicaciones n-capas y aplicaciones orientadas a la web (Mey01). Esta plataforma integra múltiples tecnologías que han ido apareciendo en los últimos años como ASP.NET, ADO.NET, LINQ, WPF, Silverlight, entre otros (Jor10)..NET permite desarrollar múltiples tipos de aplicaciones como líneas de comandos, servicios de Windows, aplicaciones de escritorio, aplicaciones web, aplicaciones distribuidas SOA, y aplicaciones para dispositivos móviles (Jor10). Esta plataforma tiene un papel central en la estrategia de Microsoft para integrar el internet y numerosas herramientas para desarrolladores como servicios web, seguridad, modelo de componentes (COM), entre otros (Mey01). Las principales ventajas de.net son el fácil desarrollo de aplicaciones, la mejora de infraestructura de componentes, el soporte de múltiples lenguajes y el desplegué sencillo e aplicaciones (Jor10). JAVA EE SIBOX fue desarrollado en Java EE5 por la facilidad que nos brindó el framework SEAM2, el cuál no está disponible para JavaEE6. Java EE5 (Enterprise Edition 5) es una plataforma que le proporciona a los desarrolladores un potente conjunto de APIs que reducen el tiempo de desarrollo, la complejidad de las aplicaciones y mejoran el rendimiento. Esta plataforma presenta un modelo de programación simplificado. Con la tecnología Java EE5 los descriptores de despliegue XML son opcionales. En su lugar, un desarrollador puede introducir esta información como una anotación directamente en el archivo fuente java y el servidor java EE configurara el componente en el despliegue y en tiempo de ejecución (Jen06). 27

28 Java EE está diseñado para soportar aplicaciones que implementan servicios de la empresa para los clientes, empleados, proveedores, socios y otros que hacen demandas o contribuciones. Este modelo define una arquitectura para la implementación de servicios que ofrecen escalabilidad, accesibilidad, y facilidad de gestión que son necesarias en las aplicaciones empresariales (Jen06). Esta tecnología ofrece los siguientes APIs: Java Persistence API (JPA): Este servicio ofrece una API estándar de mapeo objetorelacional (ORM) (Ant10). JavaMail: Este servicio ofrece una API que permite el envió de correos electrónicos (Ant10). Enterprise JavaBeans (EJB): un componente EJB es un cuerpo de código que tiene campos y métodos para implementar módulos de lógica de negocios (Jen06). Hay tres tipos de EJB: EJB de entidades, EJB de sesión y EJB de mensajería. Un EJB de entidad es una entidad JPA en Java EE5. Un EJB de sesión representa una conversación transitoria con el cliente, y un EJB de mensajería combina características de un EJB de sesión y un oyente de mensajes (Jen06). JavaServer Faces (JSF): JSF es el estándar oficial en la capa web para la plataforma Java EE que incluye un conjunto de componentes predefinidos para la interfaz gráfica (UI), un modelo de programación basado en eventos y la habilidad para añadir componentes desarrollados por terceros (EdB10). Java Database Conectivity API (JDBC): Esta API permite invocar comandos SQL desde los métodos de programación en lenguaje java (Jen06). Java Authentication and Authorization Service (JAAS): Este servicio proporciona una autenticación y autorización a un usuario o grupo de usuarios dentro de la aplicación java EE (Jen06). itext: itext es el líder mundial de creación y manipulación de archivos PDF. Esta librería ha sido publicada bajo la licencia pública general de affero (AGPL) y está disponible en dos versiones: java y C# (Bru11). Quartz: Quartz es una herramienta libre que puede ser integrada con una aplicación Java Standard Edition (Java SE) o Java Enterprise Edition (Java EE). Esta herramienta es utilizada para ejecutar tareas en determinados momentos (Qua) (No se utilizó EJB Timer dado que no es soportado por SEAM2). 28

29 Seam 2.2 : Seam es un framework de aplicaciones java EE que permite: definir un modelo de componentes uniforme para toda la lógica de la aplicación, integrar las páginas JavaServer Faces (JSF) con EJB3.0, integrar las páginas JavaServer Faces (JSF) con AJAX por medio de JBoss RichFaces, entre otros JBoss EL: Seam utiliza JBoss EL, la cual que proporciona una extensión al lenguaje de expresión unificada estándar (EL) JBoss RichFaces: RichFaces es un framework de código abierto que añade capacidades AJAX en aplicaciones JSF existentes sin recurrir a JavaScript (JBo13). D. COMPARACIÓN ENTRE TECNOLOGÍAS PARA EL DESARROLLO WEB CON SERVIDOR DE APLICACIONES Hoy en día existe una variedad de plataformas de desarrollo de aplicaciones empresariales. Dentro de este grupo existen dos que se encuentran a la vanguardia y son las más populares: JavaEE y NET. Java es un lenguaje de programación orientado a objetos, que además incluye una máquina virtual, y una serie de desarrollos básicos que pueden ser empleados por los programadores para simplificar sus nuevos desarrollos; además permite la inclusión de porciones de código ejecutables en las páginas que se pueden publicar en internet a través de WWW Fuente especificada no válida.. Desde la aparición de Java, Microsoft ha querido ser su competencia, para ello inicialmente firmo algunos convenios con Sun Microsystems, para trabajar con Java igual que lo estaban haciendo IBM y Oracle, pero en realidad trato de crear su versión propia de este lenguaje denominado J++, la cual no era completamente compatible con la versión estándar Fuente especificada no válida...net es una plataforma, o un conjunto de lenguajes de programación todos ellos orientados a objetos donde se puede citar a C#.NET, C++.NET y VisualBasic.NET; más el API de acceso a la base de datos ADO.NET. Las herramientas para el desarrollo de aplicaciones empresariales en internet, ASP.NET y el conjunto de facilidades para construir servicios web están integradas dentro de un entorno completo llamado VisualStudio.NET Fuente especificada no válida.. A continuación se presenta un cuadro comparativo entre estas dos tecnologías (Mig04): CARACTERISTICA JAVA EE.NET 29

30 Plataforma Multiplataforma Solo Windows Lenguajes de Programación Java VB, C#, C++, C, entre otros. Estrategia de construcción de aplicaciones Capas Capas Acceso a Datos JDBC ADO.Net Máquina virtual JVM CLR Tecnología de páginas web JavaServerFaces (JSF), dinámicas JavaServerPages (JSP) ASP.Net Interprete JRE CLR Tabla 1: Comparación entre JavaEE y.net (Mig04) De acuerdo a este cuadro es visible que tanto una tecnología como la otra cubren con satisfacción cada uno de los puntos necesarios en cuanto a la construcción de aplicaciones web; sin embargo para el desarrollo de este trabajo de grado se eligió de JavaEE por diferentes motivos. Uno de ellos es el lenguaje de programación, debido a que el equipo de trabajo posee un mayor conocimiento en el lenguaje java en comparación con los lenguajes soportados por.net; otro motivo es la independencia del sistema operativo y el hecho de ser software libre ya que por su lado.net está ligado a plataformas Windows y se necesita de la compra de licencias para trabajar con este; y como tercer motivo el uso del módulo de seguridad de CincoSecurity y el framework de Seam 2 los cuales fueron diseñados únicamente para funcionar con JavaEE SEGURIDAD DE LA INFORMACIÓN A. DESCRIPCIÓN La seguridad de los sistemas de información es una disciplina en continua evolución. La meta final de la seguridad es permitir que una organización cumpla con todos sus objetivos de negocio o misión, implementando sistemas que tengan un especial cuidado y consideración hacia los riesgos relativos a las TIC de la organización, a sus socios comerciales, clientes, administración pública, suministradores, entre otros (Jav08). Los objetivos principales de la seguridad son los siguientes (Jav08): 30

31 Disponibilidad y accesibilidad del sistema y los datos: Es un requisito necesario para garantizar que el sistema trabaje puntualmente, con prontitud y que no se deniegue el servicio a ningún usuario autorizado (Jav08). Integridad: Se encarga de garantizar que la información del sistema no haya sido alterada por usuarios no autorizados, evitando la perdida de consistencia. Presenta dos facetas (Jav08): o Integridad de datos: Es la propiedad de que los datos no hayan sido alterados de forma no autorizada, mientras se almacenan, procesan o transmiten (Jav08). o Integridad del sistema: Es la cualidad que posee un sistema cuando realiza la función deseada, de manera no deteriorada y libre de manipulación no autorizada (Jav08). Confidencialidad de datos y de la información del sistema: Es el requisito que intenta que la información privada o secreta no se revele a individuos no autorizados. La protección de la confidencialidad se aplica a los datos almacenados durante su procesamiento, mientras que se transmiten y se encuentran en tránsito (Jav08). Responsabilidad a nivel individual (Registro de auditoría): Es el requisito que permite que puedan trazarse las acciones de una entidad de forma única. A menudo, es un requisito de la política de la organización y soporta de forma directa el no repudio, la disuasión, el aislamiento de fallos, la detección y la prevención de intrusiones, entre otros (Jav08). Confiabilidad: Es la garantía que en los cuatro objetivos anteriores se han cumplido adecuadamente. Es la base de la confianza en que las medidas de seguridad, tanto técnicas, como operacionales, funcionan tal y como se idearon para proteger el sistema y la información que procesa (Jav08). 31

32 4. DESARROLLO DEL TRABAJO A continuación se explican las estrategias utilizadas para el cumplimiento de los objetivos específicos de este trabajo de grado: Contexto de la compañía tomada como caso de estudio: En esta sección se describe la compañía tomada como caso de estudio y sus procesos de negocio. Modelamiento de los procesos de negocio: En esta sección se desarrolla el modelamiento de los procesos de ingreso, mantenimiento y salida de estibas por medio de la suite de BPM (Ber12) Oracle 11g. Para esto se realizará el diseño As-Is y el diseño To-Be con el fin de encontrar las debilidades y las posibles soluciones por medio de tecnologías de información de la compañía tomada como caso de estudio. Análisis y diseño de sistema de información para el ingreso, mantenimiento y salida de estibas: Basados en las observaciones del modelamiento de los procesos de ingreso, mantenimiento y salida de estibas se decidió realizar un sistema de información en tecnología Java EE5 SEAM2 por la experiencia que tienen los autores del presente trabajo de grado en esta área. En esta sección se realizaron los procesos de levantamiento de requerimientos, inventario de módulos y casos de uso y modelamiento de entidades. Construcción y pruebas del sistema de información: Basados en el análisis y diseño del sistema de información para el ingreso, mantenimiento y salida de estibas se realizó la construcción y pruebas del sistema de información para el ingreso, mantenimiento y salida de estibas SIBOX en tecnología Java EE5 SEAM2. Validación por parte del cliente: Basados en la construcción del sistema de información para el ingreso, mantenimiento y salida de estibas SIBOX se realizó una validación por parte del cliente de la compañía tomada como caso de estudio con el fin de garantizar la satisfacción y validar si el sistema lograba mejorar la toma de decisiones. 32

33 4.1. DESCRIPCIÓN DE LA COMPAÑÍA TOMADA COMO CASO DE ESTUDIO La compañía tomada como caso de estudio Distribuidora JJ está ubicada en la carrera 5 #99-81, Ibagué Tolima. Esta empresa es la encargada de realizar el proceso de selección de productos como cartón, acero, aluminio, cobre rojo, entre otros. Actualmente la organización brinda el proceso de ingreso, mantenimiento y salida de estos productos a plantas de producción en diferentes ciudades de Colombia MODELAMIENTO DE PROCESOS DE NEGOCIO A continuación se muestra el diseño As-Is y To-Be (Jak11) de los procesos de ingreso, mantenimiento y salida de estibas DISEÑO AS-IS DE LA EMPRESA TOMADA COMO CASO DE ESTUDIO A. ORGANIZACIÓN Los roles que están involucrados en el modelamiento de los procesos de ingreso, mantenimiento y salida de estibas son: Gerente Administrador de estibas Contador Relacionista Coordinador de estibas Operario de estibas Despachador del remitente Conductor Empleado de mantenimiento B. DESCRIPCIÓN DE LOS ROLES Ilustración 4: Diseño As-Is: Organización y roles A continuación se explica detalladamente la funcionalidad de cada rol dentro de la organización: ROL Gerente DESCRIPCIÓN Represente de la compañía de estibas y encargado de tomar decisiones con respecto a toda la organización. 33

34 Administrador de estibas Contador Relacionista Coordinador de estibas Operario de estibas Despachador del remitente Empleado de mantenimiento Conductor Encargado de tomar decisiones con respecto a los procesos de negocio y empleados de la compañía de estibas. Encargado de llevar un registro de salidas y nóminas de la compañía de estibas. Encargado de llevar un registro de los despachadores de las empresas remitentes y conductores. Encargado de validar la información suministrada por el empleado de mantenimiento. Encargado de registrar las llegadas de los lotes y estibas a la bodega de la compañía de estibas. Encargado de enviar los lotes a la bodega de la compañía de estibas. Encargado de realizar la selección de las cajas de una estiba en la compañía de estibas. Encargado de transportar los lotes desde la empresa remitente hasta la bodega de la compañía de estibas. Tabla 2: Diseño As-Is - Descripción de los roles C. FLUJO DE SECUENCIA DE LOS PROCESOS DE NEGOCIO Los procesos de ingreso, mantenimiento y salida de estibas son dependientes entre ellos, es decir, el proceso de mantenimiento de estibas inicia cuando finaliza el proceso de ingreso de estibas y el proceso de salida de estibas inicia cuando finaliza el proceso de mantenimiento de estibas. D. CONCEPTOS RELEVANTES DE LOS PROCESOS DE NEGOCIO Los conceptos relevantes de los procesos de ingreso, mantenimiento y salida de estibas son: PROCESO CONCEPTO DEFINICIÓN Ingreso de estibas Empresa remitente Empresa que realiza él envió 34

35 Sucursal Distribuidora Foránea Distribuidora Local Lote Estiba Tarea de mantenimiento Stickers de un lote a la bodega de la compañía de estibas. Esta empresa puede ser sucursal, distribuidora local o distribuidora foránea. Empresa que lleva el nombre de la ciudad en la que se encuentra y tiene dentro de sus instalaciones una planta de producción. Empresa que se encuentra fuera de la ciudad de Bogotá y no tiene dentro de sus instalaciones una planta de producción. Empresa que se encuentra dentro de la ciudad de Bogotá y no tiene dentro de sus instalaciones una planta de producción. Vehículo por el cual se transporta una cantidad de estibas. Hilera de 1 a 500 cajas. Creación de una tarea de selección de cajas. Archivo de código de barras que es generado con el fin de ser condicional para el cumplimiento total de la selección de cajas. 35

36 Mantenimiento de estibas Salida de estibas Cajas en buen estado Cajas en mal estado Paquete Color del paquete Motivo del rechazo Planta de producción Cajas que no tienen defectos y pueden servir como envase de los productos. Cajas que tienen defectos y no sirven como envase de los productos. Estos defectos son llamados motivos del rechazo. Hilera de 25 cajas de un color específico. Color representativo del paquete. Cada color representa una serie de productos que pueden ser llevados según su dimensión y peso. Motivo por el cual, el empleado de mantenimiento selecciono una caja en mal estado. Estos motivos de rechazo pueden ser mariposas muertas dentro de la caja, pisones, vidrios, excremento de animales, desgaste, entre otros. Planta que contrata a la compañía de estibas para realizar la selección de las cajas. Tabla 3: Conceptos relevantes de los procesos de negocio A continuación se explican detalladamente los procesos de ingreso, mantenimiento y salida de estibas: 36

37 E. PROCESO DE INGRESO DE ESTIBAS El resultado del diseño As-Is del proceso de ingreso de estibas es: Ilustración 5: Diseño As-Is - Proceso de Ingreso de estibas La especificación de las actividades que deben realizar los roles involucrados en este proceso son: ROL ACTIVIDAD TIPO ACTIVIDAD DE DESCRIPCIÓN El despachador del remitente debe llamar a la bodega de la Despachador remitente del Realizar él envió del lote a la bodega de la compañía de estibas. Tarea manual compañía de estibas para informar sobre él envió de un lote con una cantidad de estibas en una determinada fecha. 37

38 Esta actividad genera un documento con la información del envió del lote explicado en el Anexo 1: Documentos del modelamiento de procesos. El conductor del lote Conductor Transporta las estibas hasta la bodega de la compañía de estibas. Tarea manual transporta las estibas desde la empresa remitente hasta la bodega de la compañía. El operario de estibas Registra la información del envió del lote. Tarea de usuario registra la información del lote y estibas. El sistema genera las Genera las tareas de tareas de mantenimiento y stickers Tarea de servicio mantenimiento y por cada estiba stickers por cada Operario de estibas estiba. El operario de estibas le entrega un recibo Crea un recibo con información de llegada del lote. Tarea manual de la información de llegada del lote. Esta actividad genera un documento con información de llegada del lote 38

39 Tabla 4: Diseño As-Is: Roles y Actividades del proceso de ingreso de estibas explicado en el Anexo 1: Documentos del modelamiento de procesos. Las posibles mejoras del proceso de ingreso de estibas están contenidas en la sección Debilidades del sistema actual de la compañía de estibas de este documento. F. PROCESO DE MANTENIMIENTO DE ESTIBAS El resultado del diseño As-Is del proceso de mantenimiento de estibas es: Ilustración 6: Diseño As-Is - Proceso de mantenimiento de estibas La especificación de las actividades que deben realizar los roles involucrados en este proceso son: ROL ACTIVIDAD TIPO DE ACTIVIDAD DESCRIPCIÓN El empleado de Empleado mantenimiento de Realizar la selección de cajas Tarea manual mantenimiento debe realizar la selección de cada una de las cajas 39

40 de una estiba. El empleado de mantenimiento debe registrar la información de la Registra la selección de las cajas. información de la tarea de Tarea manual Esta actividad genera mantenimiento un documento explicado en el Anexo 1: Documentos del modelamiento de procesos Crea la tarea de mantenimiento y la asocia al empleado de mantenimiento Tarea de servicio El sistema crea una tarea de mantenimiento y la asocia al empleado que la realizó. El coordinador de estibas valida la Valida la información suministrada Tarea manual información suministrada por el empleado de mantenimiento. Coordinador de El sistema elimina la estibas tarea de mantenimiento si la Elimina la tarea de mantenimiento. Tarea de servicio validación incorrecta. es Una validación es incorrecta cuando el empleado de 40

41 Tabla 5: Diseño As-Is - Roles y Actividades del proceso de mantenimiento de estibas mantenimiento no coloco validación verídica. Las posibles mejoras del proceso de mantenimiento de estibas están contenidas en la sección Debilidades del sistema actual de la compañía de estibas de este documento. G. PROCESO DE SALIDA DE ESTIBAS El resultado del diseño As-Is del proceso de salida de estibas es: Ilustración 7: Diseño As-Is - Proceso de salida de estibas La especificación de las actividades que deben realizar los roles involucrados en este proceso son: ROL ACTIVIDAD TIPO DE ACTIVIDAD DESCRIPCIÓN El operario de estibas Recibe la solicitud de recibe una llamada de Operario de estibas una cantidad de Tarea manual un empleado de la paquetes planta de producción y anota la cantidad de 41

42 paquetes que solicitan. Esta actividad genera un documento explicado en el Anexo 1: Documentos del modelamiento de procesos El operario de estibas Valida la existencia de los paquetes Tarea manual valida que exista la cantidad de paquetes solicitada por la planta de producción. El contador debe ingresar la Agrega información información entregada Contador de la solicitud al Tarea manual por el operario de sistema contable estibas sobre la salida de la bodega de una cantidad de paquetes. Tabla 6: Diseño As-Is - Roles y Actividades del proceso de salida de estibas Las posibles mejoras del proceso de mantenimiento de estibas están contenidas en la sección Debilidades del sistema actual de la compañía de estibas de este documento. H. DEBILIDADES DEL SISTEMA ACTUAL DE LA COMPAÑÍA DE ESTIBAS Las debilidades del sistema actual de la compañía tomada como caso de estudios son: Con respecto a la accesibilidad e integridad: - No existe un nombre de usuario y contraseña para cada usuario del sistema. - Cualquier persona puede ingresar al sistema sin pertenecer a la compañía de estibas y se encuentre dentro de la bodega. Con respecto al registro de auditoría: - No hay auditoría de datos por parte de los usuarios del sistema. Con respecto a la mantenibilidad: 42

43 - En la actualidad, la compañía tiene 2 sistemas diferentes que no comparten recursos ni información. El sistema de ingreso y salida de estibas y el sistema de mantenimiento de estibas. - Los sistemas no comparten información ni recursos por lo que es muy costoso mantenerlo. - La lógica de negocio esta mezclada con las interfaces gráficas por lo que es muy costoso mantenerlo. - Toca realizar dos back-ups sobre cada una de las bases de datos por lo que es muy costosa mantenerlas. Con respecto a la portabilidad: - Actualmente cuentan con un sistema de información creado en Microsoft Access, pero la empresa no tiene licenciamiento de software. Con respecto a la disponibilidad: - Se deben utilizar los computadores de la compañía para ingresar al sistema. Con respecto a la confidencialidad - Las empresas remitentes no tienen acceso a la información suministrada por los despachadores y obtenida por los operarios de estibas. El análisis de las debilidades para darle una solución por medio de tecnologías de la información se encuentra en la sección Análisis de las soluciones de las debilidades de este documento DISEÑO TO-BE DE LA EMPRESA TOMADA COMO CASO DE ESTUDIO Basados en la sección Debilidades del sistema actual de la compañía de estibas se realizó el siguiente diseño To-Be (Jak11) de la compañía tomada como caso de estudio: A. ORGANIZACIÓN Con respecto al diseño As-Is presentado en la sección Diseño As-Is de la empresa tomada como caso de estudio se realizó la creación de un administrador de seguridad encargado de gestionar todos los servicios de creación, mantenibilidad de funcionalidades, parámetros del sistema, entre otros. Además se eliminó el rol de relacionista para permitir que cada despachador tuviera un usuario dentro del sistema y perteneciera a una empresa remitente sin necesidad de un intermediario. El administrador de estibas ahora es el encargado de gestionar los empleados de la compañía de estibas y de registrar a los despachadores de las empresas remitentes, como también, a los conductores. La organización quedo de la siguiente forma: 43

44 Gerente Administrador de estibas Contador Administrador de seguridad Coordinador de estibas Empleado de mantenimiento Operario de estibas Despachador del remitente Conductor Ilustración 8: Diseño To-Be - Organización de los roles B. DESCRIPCIÓN DE LOS ROLES Se mantienen las funcionalidades de los empleados de la compañía de estibas, despachadores de las empresas remitentes y conductores. El administrador de estibas es el encargado de gestionar la creación de los usuarios dentro del sistema y el administrador de seguridad es el encargado de gestionar la seguridad de la aplicación y de mantenerla con respecto a los cambios de los procesos de negocio. C. FLUJO DE SECUENCIA DE LOS PROCESOS DE NEGOCIO El flujo de secuencia de los procesos de negocio no presento alteraciones con respecto al explicado en el diseño As-Is. D. CONCEPTOS RELEVANTES DE LOS PROCESO DE NEGOCIO Los conceptos relevantes de los procesos de negocio no presentaron alteraciones con respecto al explicado en el diseño As-Is. E. PROCESO DE INGRESO DE ESTIBAS El proceso de ingreso de estibas solo presento alteraciones con respecto al diagrama de modelamiento de procesos de negocio con respecto al diseño As-Is, explicado a continuación: 44

45 Ilustración 9: Diseño To-Be - Proceso de ingreso de estibas La especificación de las actividades que deben realizar los roles involucrados en este proceso son: ROL ACTIVIDAD TIPO DE ACTIVIDAD DESCRIPCIÓN El despachador del Registra información del envió del lote. Tarea de usuario remitente genera un nuevo envió de un lote por medio del sistema SIBOX. El sistema SIBOX Despachador del remitente genera un documento con información de envió del lote Genera recibo de envió del lote. Tarea de servicio explicado en el Anexo 1: Documentos del modelamiento de procesos. Cada empresa remitente tiene 45

46 protegido sus documentos generados por medio de una contraseña. El conductor transporta por medio Transporta las estibas del lote una cantidad Conductor hasta la bodega de la Tarea manual de estibas desde la compañía de estibas empresa remitente hasta la bodega de la compañía de estibas. El sistema SIBOX le permite al operario de Actualiza información de llegada del lote Tarea de usuario estibas actualizar la cantidad de estibas que llegan a la bodega y la cantidad de cajas por estiba. El sistema SIBOX realiza la actualización Genera cambios en el de la información Operario de estibas registro de envió del Tarea de servicio suministrada por el lote. despachador del remitente y el operario de estibas. El sistema SIBOX realiza la creación de Crea una tarea de una tarea de mantenimiento y Tarea de servicio mantenimiento y genera stickers genera una cantidad aleatoria de stickers por cada estiba. 46

47 Genera recibo de llegada del lote. Tarea de servicio El sistema SIBOX genera un documento con información de llegada del lote explicado en el Anexo 1: Documentos del modelamiento de procesos. Los documentos de la compañía de estibas están protegidos con una contraseña. Tabla 7: Diseño To-Be: Roles y Actividades del proceso de ingreso de estibas F. PROCESO DE MANTENIMIENTO DE ESTIBAS El proceso de mantenimiento de estibas solo presento alteraciones con respecto al diagrama de modelamiento de procesos de negocio con respecto al diseño As-Is, explicado a continuación: Ilustración 10: Diseño To-Be - Proceso de mantenimiento de estibas La especificación de las actividades que deben realizar los roles involucrados en este proceso son: ROL ACTIVIDAD TIPO DE DESCRIPCIÓN 47

48 ACTIVIDAD El empleado de Realiza la selección de cajas Tarea manual mantenimiento debe seleccionar cada una de las cajas de una estiba. Empleado de mantenimiento Registra información de la tarea de mantenimiento. Tarea de usuario El sistema SIBOX permite actualizar la información de una tarea de mantenimiento por parte de los empleados de mantenimiento. El sistema SIBOX le permite al coordinador Valida la información suministrada Tarea de usuario validar la información suministrada por el empleado de mantenimiento. El sistema SIBOX Coordinador de estibas Actualiza la tarea de mantenimiento en el empleado de mantenimiento. Tarea de servicio actualiza la información suministrada por el empleado de mantenimiento y le permite obtener los datos sobre la cantidad de paquetes que ha seleccionado durante un rango de fechas. Tabla 8: Diseño To-Be - Roles y Actividades del proceso de mantenimiento de estibas 48

49 G. PROCESO DE SALIDA DE ESTIBAS El proceso de salida de estibas solo presento alteraciones con respecto al diagrama de modelamiento de procesos de negocio con respecto al diseño As-Is, explicado a continuación: Ilustración 11: Diseño To-Be - Proceso de salida de estibas La especificación de las actividades que deben realizar los roles involucrados en este proceso son: ROL ACTIVIDAD TIPO DE ACTIVIDAD DESCRIPCIÓN El operario de estibas Recibe la solicitud de cantidad de paquetes Tarea manual recibe la solicitud de la cantidad de paquetes. Registra la salida de la cantidad de paquetes de la bodega Tarea de usuario El sistema SIBOX genera una salida de paquetes de la bodega. Operario de estibas Valida existencia de paquetes Tarea de servicio El sistema SIBOX valida la cantidad solicitada versus la cantidad existente. El sistema SIBOX Disminuye la cantidad de paquetes de un color de la bodega. Tarea de servicio disminuye la cantidad de paquetes que fueron solicitados por la planta de producción. 49

50 Genera recibo de salida de la bodega Tarea de servicio El sistema SIBOX genera un recibo con información de la salida de los paquetes de la bodega. Tabla 9: Diseño To-Be - Roles y Actividades del proceso de salida de estibas H. ANÁLISIS DE LAS DEBILIDADES Para cada una de las debilidades encontradas en la empresa en el diseño As-Is (Sección Debilidades del sistema actual de la compañía de estibas) tomada como caso de estudio se realizó el siguiente análisis: DEBILIDAD SOLUCIÓN Con respecto a la accesibilidad e integridad No existe un nombre de usuario y contraseña Se solucionará por medio del módulo de para cada usuario del sistema. seguridad CincoSecurity (Fra09), el cual Cualquier persona puede ingresar al sistema sin pertenecer a la compañía de estibas y se encuentre dentro de la bodega permite proteger los componentes UI de las páginas, las páginas y los EJB por medio de un usuario y contraseña. Con respecto al registro de auditoría Se solucionará por medio del módulo de No hay auditoría de datos por parte de los usuarios del sistema. auditoría, el cual permite conocer qué tipo de alteración fue realizada sobre la base de datos por un usuario dentro del sistema. Con respecto a la mantenibilidad En la actualidad, la compañía tiene 2 sistemas diferentes que no comparten recursos ni información. El sistema de ingreso y salida de estibas y el sistema de mantenimiento de estibas. Los sistemas no comparten información ni recursos por lo que es muy costoso mantenerlo La lógica de negocio esta mezclada con las El sistema de información para el ingreso, mantenimiento y salida de estibas contendrá dentro de sí mismo los procesos de ingreso, mantenimiento y salida de estibas. Este sistema de información está construido en tecnología Java EE5 por lo que usa el meta patrón MVC (Ian05); igualmente se hará uso de un solo motor de base de datos: PostgreSQL (aunque la 50

51 interfaces gráficas por lo que es muy costoso misma tecnología no es dependiente del motor mantenerlo. de base de datos). Toca realizar dos back-ups sobre cada una de las bases de datos por lo que es muy costosa mantenerlas. Con respecto a la portabilidad Actualmente cuentan con un sistema de El sistema de información para el ingreso, información creado en Microsoft Access, pero mantenimiento y salida de estibas esta realizado la empresa no tiene licenciamiento de software. en tecnología JAVA (código libre). Con respecto a la disponibilidad El sistema de información para el ingreso, mantenimiento y salida de estibas puede ser Se deben utilizar los computadores de la desplegado en un servidor de aplicaciones compañía para ingresar al sistema. contenido en un servidor en la nube y accedido desde cualquier equipo conectado a internet. Con respecto a la confidencialidad El sistema de información para el ingreso, mantenimiento y salida de estibas tiene dentro de sus roles finos un despachador del remitente, Las empresas remitentes no tienen acceso a la el cual podrá acceder al sistema y generar el información suministrada por los despachadores envío de un lote a la compañía de estibas. Cada y obtenida por los operarios de estibas. una de las empresas remitentes generará un archivo PDF con información del envío protegida con una contraseña única para cada una de ellas. Tabla 10: Análisis de las soluciones a las debilidades RESULTADOS DEL MODELAMIENTO DE LOS PROCESOS DE NEGOCIO Basados en el análisis de las soluciones de las debilidades del diseño As-Is de la compañía tomada como caso de estudio se realizaron las siguientes observaciones con respecto a que área de la compañía estaba involucrada: OBSERVACIÓN INVOLUCRA A 51

52 Controlar el acceso a los usuarios del sistema Controlar el acceso a las funcionalidades del sistema a los usuarios que pertenezcan a un determinado perfil de seguridad Controlar las modificaciones que realizan los usuarios a los datos del sistema de información. Llevar un registro de los lotes y estibas provenientes de las empresas remitentes a la compañía de estibas Llevar un registro de la selección de cajas de los empleados de mantenimiento de la compañía de estibas Llevar un control de la selección de las cajas por medio de stickers Validar la información suministrada por el empleado de mantenimiento Llevar un registro de la salida de paquetes de la bodega de la compañía de estibas a la planta de producción Generar reportes en PDF Seguridad Seguridad Auditoría Gestión de lotes y estibas Gestión de mantenimiento de estibas Gestión de mantenimiento de estibas Gestión de mantenimiento de estibas Gestión de salidas de paquetes de la bodega Generación de reportes Tabla 11: Resultados del modelamiento de los procesos de negocio Basados en las anteriores observaciones se realizaron varias entrevistas con el gerente de la empresa tomada como caso de estudio (Sr. Joaquín Bautista Torres) (Anexo 13: Entrevistas realizadas al cliente). En estas entrevistas se dio como solución a las debilidades encontradas, la creación de un sistema de información encargado de realizar los procesos de ingreso, mantenimiento y salida de estibas con nombre SIBOX en tecnología JavaEE5- SEAM2 (esta decisión se tomó por la experiencia que tiene los autores de este presente proyecto de grado en el lenguaje JAVA y el framework SEAM). Los procesos de análisis, diseño, construcción y pruebas son explicados en las siguientes secciones ANÁLISIS Y DISEÑO DEL SISTEMA DE INFORMACIÓN: SIBOX En esta sección se describen: 52

53 Los módulos del sistema de información para el ingreso, mantenimiento y salida de estibas. Los requerimientos más relevantes del sistema de información para el ingreso, mantenimiento y salida de estibas. Los casos de uso más relevantes por módulo del sistema de información para el ingreso, mantenimiento y salida de estibas. La descripción del diagrama de modelamiento de entidades del sistema de información para el ingreso, mantenimiento y salida de estibas. Los perfiles de seguridad del sistema de información para el ingreso, mantenimiento y salida de estibas. La descripción de la arquitectura del sistema de información para el ingreso, mantenimiento y salida de estibas MÓDULOS Los módulos del sistema de información para el ingreso, mantenimiento y salida de estiba son: MÓDULO Módulo de seguridad Módulo de auditoría Módulo de gestión de estibas DESCRIPCIÓN El módulo de seguridad presta todos los servicios a los usuarios que controlan los permisos de ingreso a la aplicación y donde se definen a que opciones del sistema tiene acceso un determinado usuario de acuerdo con su perfil de seguridad. El módulo de auditoria es el encargado de registrar las actividades realizadas por los usuarios sobre la base de datos cuando se altera la información que contiene. El módulo de gestión de estibas está dividido en tres sub módulos: ingreso de estibas, mantenimiento de estibas y salida de estibas. El sub módulo de ingreso de estibas se ocupa de realizar el proceso de envió y llegada de lotes y 53

54 estibas a la bodega de la compañía, generar los recibos necesarios para ser entregados a los conductores que realizan el transporte de la mercancía y crear los códigos de barra para la verificación de la tarea de mantenimiento. El sub módulo de mantenimiento de estibas se ocupa del registro de la selección de cajas en buen estado, mal estado y de reciclaje, y el sub Módulo de reportes módulo de salida de estibas se ocupa del envió de los paquetes de la compañía de estibas a la planta de producción. El módulo de reportes está dividido en dos sub módulos: generación de reportes oportunos y generación de reportes en un tiempo específico. El sub módulo de generación de reportes oportunos le permite ver al usuario los reportes de inventario e ingreso de estibas, selección de cajas por empleado de mantenimiento y rechazos de las cajas por empresa remitente con tan solo un click en la aplicación. Mientras que el sub módulo de generación de reportes en un tiempo específico genera automáticamente un reporte de inventario diario enviado al correo electrónico de los interesados. Estos archivos son almacenados en un directorio web. Tabla 12: Módulos del sistema de información para el ingreso, mantenimiento y salida de estibas REQUERIMIENTOS DEL SISTEMA DE INFORMACIÓN POR MÓDULOS Los requerimientos más relevantes del sistema de información de cada uno de los módulos son los siguientes: 54

55 MÓDULO REQUERIMIENTOS DESCRIPCIÓN R01 El sistema debe permitir que un usuario inicie sesión proporcionando el nombre de usuario y contraseña. Módulo de seguridad El sistema debe permitir crear, recuperar, R05 actualizar y eliminar perfiles de seguridad. R13 El sistema debe permitir asociar usuarios del sistema con perfiles de seguridad Módulo de auditoría R37 El sistema debe permitir almacenar las acciones que realizan los usuarios dentro del sistema. R15 El sistema debe permitir crear, recuperar, actualizar y eliminar información de un lote. R16 El sistema debe permitir crear, recuperar, actualizar y eliminar información de una estiba de un lote. R23 El sistema debe permitir generar un archivo con los códigos de barras de la estiba. El sistema debe permitir generar un archivo R27 Módulo de gestión de PDF con la información del envió del lote. estibas El sistema debe permitir generar un reporte R29 PDF de los lotes enviados por una compañía. R30 El sistema debe permitir generar un archivo PDF con la información de la entrega del lote El sistema debe permitir crear, recuperar, R32 actualizar y eliminar tareas de mantenimiento disponibles R36 El sistema debe permitir generar una remisión de venta El sistema debe permitir obtener un reporte de R39 Módulo de reportes ingreso de estibas diario. R40 El sistema debe permitir obtener un reporte de 55

56 R41 R42 R43 selección de cajas. El sistema debe permitir generar y obtener un reporte de inventario diario. El sistema debe permitir generar y obtener un reporte de rechazos de cajas por empresa remitente El sistema debe permitir generar y enviar por correo electrónico el reporte de inventario diario todos los días a las 10 pm (hora colombiana). Tabla 13: Requerimientos más relevantes del sistema de información para el ingreso, mantenimiento y salida de estibas Para ver todos los requerimientos del sistema de información para el ingreso, mantenimiento y salida de estibas ir al Anexo 2: Requerimientos del sistema CASOS DE USO DEL SISTEMA DE INFORMACIÓN POR MÓDULOS Los casos de uso más relevantes del sistema de información para el ingreso, mantenimiento y salida de estibas son: MÓDULO CASO DE USO DESCRIPCIÓN CU01 Gestionar parámetros del sistema Módulo de seguridad CU04 Gestionar perfiles de seguridad CU05 Gestionar usuarios del sistema CU09 Ingresar al sistema CU10 Salir del sistema Módulo de auditoría CU13 Consultar acciones de usuarios CU23 Generar código de barras con información de la estiba Módulo de gestión de estibas Generar recibos de CU26 información de lote enviado a la empresa CU29 Generar recibo de información 56

57 Módulo de reportes CU30 CU32 CU37 CU38 CU39 CU40 CU41 del lote entregado a la empresa Generar reporte de lotes enviados Gestionar tareas de mantenimiento disponibles en el sistema Generar remisión de venta Generar reporte diario de ingreso de estibas Generar reporte de selección de cajas Generar reporte de rechazos de cajas por empresa remitente Generar reporte de inventario diario Tabla 14: Casos de uso relevantes del sistema de información para el ingreso, mantenimiento y salida de estibas Para ver todos los casos de uso del sistema de información para el ingreso, mantenimiento y salida de estibas ir al Anexo 3: Inventario de módulos y casos de uso. Para ver el diagrama de casos de uso por módulos del sistema de información para el ingreso, mantenimiento y salida de estibas ir al Anexo 4: Diagrama de casos de uso PERFILES DE SEGURIDAD Los perfiles de seguridad del sistema de información para el ingreso, mantenimiento y salida de estibas son: PERFIL DE SEGURIDAD DESCRIPCIÓN El objetivo de este perfil de seguridad es Despachador del remitente realizar el registro de un lote en el sistema de información. El objetivo de este perfil de seguridad es Operario de estibas actualizar el registro de un lote en el sistema de información y la generación de las estibas. 57

58 Empleado de mantenimiento Administrador de estibas Coordinador de estibas Administrador de seguridad El objetivo de este perfil de seguridad es actualizar el registro de una tarea de mantenimiento. El objetivo de este perfil de seguridad es crear, actualizar y obtener los empleados de la compañía de estibas. Además de generar los reportes. El objetivo de este perfil de seguridad es actualizar la información de las tareas de mantenimiento. El objetivo de este perfil de seguridad es encargarse de la creación de perfiles, usuarios, casos de uso, servicios, parámetros, entre otros. Tabla 15: Perfiles de seguridad del sistema de información para el ingreso, mantenimiento y salida de estibas MODELAMIENTO DE ENTIDADES Para cumplir con los casos de uso y requerimientos del sistema de información para el ingreso, mantenimiento y salida de estibas: SIBOX, se crearon las siguientes entidades: Empleado: Esta entidad representa un usuario dentro del sistema. Un empleado tiene un nombre de usuario, contraseña, identificación, , nombre, teléfono y estado (si está activo o no dentro de la compañía). CoordinadorEstibas: Esta entidad representa un usuario coordinador de estibas dentro del sistema. AdministradorDeEstibas: Esta entidad representa un usuario administrador de estibas dentro del sistema. DespachadorRemitente: Esta entidad representa un usuario despachador de una empresa remitente dentro del sistema. EmpresaRemitente: Esta entidad representa una empresa remitente que realiza los envíos a la compañía de estibas. Una empresa remitente tiene un identificador, un NIT, una ciudad, una procedencia (sucursal, distribuidora foránea o distribuidora local), un nombre, un estado (si actualmente realiza o no envíos de lotes a la compañía de estibas) y una contraseña para los archivos PDF generados en el sistema (ver Anexo 1: Documentos del modelamiento de procesos). 58

59 OperarioEstibas: Esta entidad representa un usuario operario de estibas dentro del sistema. EmpleadoMantenimientoEstibas: Esta entidad representa un usuario empleado de mantenimiento dentro del sistema. Lote: Esta entidad representa un lote dentro del sistema. Un lote tiene una cantidad de cajas y estibas de madera enviadas desde la empresa remitente y su fecha de envío, una cantidad de cajas y estibas de madera recibidas en la compañía de estibas y su fecha de recibido y una cantidad de cajas faltantes (cajas enviadas cajas recibidas). Además almacena un saldo (cantidad de cajas en una estiba), un estado (si el lote fue entregado o no en la compañía de estibas) y el nombre de dos archivos generados (ver Anexo 1: Documentos del modelamiento de procesos) Conductor: Esta entidad representa un conductor dentro del sistema. Un conductor tiene un identificador y un nombre. Vehículo: Esta entidad representa un vehículo dentro del sistema. Un vehículo tiene un identificador y una placa. Estiba: Esta entidad representa una estiba dentro del sistema. Una estiba tiene un atributo unidades (cantidad de cajas) y el nombre del archivo generado (ver Anexo 1: Documentos del modelamiento de procesos). Sticker: Esta entidad representa un Sticker de una estiba dentro del sistema. Un Sticker tiene un código generado y un código ingresado por el usuario (utilizado para asegurar la revisión de todas las cajas) (ver Anexo 1: Documentos del modelamiento de procesos). Color: Esta entidad representa un color de un paquete y/o una estiba dentro del sistema. Un color tiene un tipo (azul, aguamarina, rosado, entre otros), un estado (si actualmente se realizan solicitudes de ese color) y una cantidad de paquetes de ese color dentro de la bodega. TareaMantenimiento: Esta entidad representa una tarea de mantenimiento dentro del sistema. Una tarea de mantenimiento tiene un desgaste, una fecha, y un booleano que determina si fue o no revisado por el coordinador de estibas. Rechazo: Esta entidad representa un rechazo de una tarea de mantenimiento. Un rechazo tiene el tipo de rechazo y la cantidad de cajas que fueron seleccionadas en ese estado. MotivoRechazo: Esta entidad representa un tipo de rechazo dentro del sistema. Un motivo de rechazo tiene un identificador, un tipo (ganchos, mariposas muertas, excrementos de 59

60 aves, excrementos de roedores, entre otros) y un estado (si actualmente se toma en cuenta ese tipo de rechazo). Paquete: Esta entidad representa un paquete dentro del sistema. Un paquete tiene una cantidad (total de paquetes) y una cantidad de cajas (cantidad de cajas por paquete). Auditoría: Esta entidad representa un registro de la auditoría de acciones de usuarios dentro del sistema. Un registro de auditoría tiene una operación (inserción, eliminación, actualización), un nombre de usuario (usuario que realizó la operación), una entidad (entidad a la cual se le realizó la operación), una fecha (fecha en la cual se realizó la operación) y los cambios (método tostring() de la entidad que fue alterada). Salida: Esta entidad representa una salida de la bodega dentro del sistema. Una salida tiene un identificador, una fecha y un estado (si se realizó o no la salida de la bodega). InventarioSalida: Esta entidad representa la salida por paquete de una solicitud hacia la planta de producción. InventarioEntrada: Esta entidad representa la entrada por paquete de una empresa remitente. El diagrama de entidades completo se encuentra en el Anexo 8: Diagrama de entidades ARQUITECTURA DE LA APLICACIÓN A. DESCRIPCIÓN Se define la arquitectura de software como una serie de patrones que establecen la interacción, el funcionamiento y la estructura de los diferentes componentes del software SIBOX fue diseñado y construido siguiendo el modelo de arquitectura multi-nivel haciendo uso de JSF, EJB3.0 y Seam2. Esta arquitectura hace uso de cuatro capas: la capa de presentación, la capa de aplicación, la capa de servicios y la capa de persistencia. En la capa de presentación se despliega el HTML desde el navegador del cliente, el cual invoca servicios a la capa de aplicación (servidor web) por medio de Servlets JSF y Servlets de Seam. Este servidor web invoca a los EJBs de seam y al Entity Manager (servidor de componentes) de la capa de servicios. La capa de dominio (entidades de negocios) está expuesta tanto a los elementos de la capa de aplicación como a los elementos de la capa de servicios, y la base de datos relacional estiba está en la capa de persistencia Fuente 60

61 especificada no válida.. A continuación se muestra una grafico de la arquitectura de la aplicación SIBOX: Ilustración 12 Fuente especificada no válida.: Arquitectura de una aplicación JavaEE5 Basados en esta arquitectura se diseñaron los diagramas de componentes y despliegue: B. DIAGRAMA DE COMPONENTES A continuación se muestra un diagrama de los diferentes componentes que conforman e interactúan dentro del sistema de información para el ingreso, mantenimiento y salida de estibas SIBOX: 61

62 Ilustración 13: Diagrama de componentes SIBOX 62

63 C. DIAGRAMA DE DESPLIEGUE A continuación se muestra el diagrama de despliegue donde se modela los diferentes componentes de hardware y software que hacen parte del sistema. Ilustración 14: Diagrama de despliegue SIBOX 4.4. CONSTRUCCIÓN Y PRUEBAS DEL SISTEMA DE INFORMACIÓN En esta sección se describe el proceso de construcción y pruebas del sistema de información para el ingreso, mantenimiento y salida de estibas (SIBOX) GENERACIÓN INICIAL DE LA APLICACIÓN MEDIANTE EL USO DE LOS GENERADORES SEAM Y TAYLOR Con la herramienta Taylor se realizó el modelamiento UML y la generación de las entidades JPA. Este framework facilita la creación de aplicaciones JEE mediante un conjunto de plugins para el IDE Eclipse simplificando el modelo UML y la generación de código Java como entidades EJB3 y EJBs de sesión (Mar11) 63

64 Para generar el código JPA del modelo de entidades en Taylor se hizo uso de la tarea Generate By Project Suffix JPA. Esta tarea crea un proyecto con todas las entidades creadas en archivos con extensión.java y con las anotaciones definidas en la misma herramienta. El proceso realizado para la generación y modificaciones de las entidades con el plugin de eclipse Taylor en el proyecto de grado fue el siguiente: Creación del diagrama UML por medio de la herramienta Taylor. Generación JPA de las entidades del diagrama UML por medio de la tarea Generate By Project Suffix JPA). Modificación de las anotaciones de las entidades generadas por la herramienta Taylor (especialmente las entidades que involucran herencia). Después de realizar la generación y las modificaciones de las entidades por medio de la herramienta Taylor, se hizo de uso del generador de CRUDs: Seam2 por medio de la tarea seam-gen, generate-ui y deploy A continuación se muestran los resultados obtenidos después de realizar las tareas del generador SEAM: Ilustración 15: Generación de las páginas CRUD por medio de la tarea generate-ui de la herramienta SEAM (Mar10) 64

65 MÓDULO DE SEGURIDAD BASADO EN ROLES FINOS Y PERFILES A. OBJETIVO El módulo de seguridad en roles finos y perfiles está basado en el modelo de seguridad RBAC (Role-based access control) que introduce el concepto de roles para controlar el acceso a los recursos informáticos. En una aplicación Java EE5, el modelo RBAC es aplicado para controlar la autenticación y autorización por roles. CincoSecurity es un módulo de seguridad que propone el uso de roles finos para crear un permiso sobre un caso de uso, un servicio del caso de uso, un método EJB y las páginas JSF. Este módulo también involucra la definición de perfil de seguridad como un conjunto de roles finos que invocan un conjunto de servicios de múltiples caso de uso (Mar111). Por lo mencionado en el anterior párrafo, este módulo permite gestionar los módulos, casos de uso, servicios y parámetros del sistema, como también, permite cambiar la contraseña de un usuario autenticado y generar reportes en una página web de los usuarios versus los perfiles de seguridad. B. DESCRIPCIÓN Este proyecto de grado hizo uso del módulo de seguridad de código abierto: CincoSecurity (Mar111). Los beneficios que se lograron con la inclusión de este módulo fueron: Protección de los EJBs por roles finos. Protección del acceso a las páginas JSF por roles finos. Protección a los elementos de las páginas JSF por roles finos. Generación dinámica de un menú para un perfil de seguridad específico. Los casos de uso que proporciona este módulo son: Gestión de perfiles de seguridad: Este caso de uso permite definir un perfil de seguridad como un conjunto de roles finos que invocan servicios de varios casos de uso (Fra09) Gestión de usuarios: Este caso de uso permite crear, seleccionar, eliminar y asociar un usuario a uno o varios perfiles de seguridad (Fra09) (Lo cual permite garantizar la accesibilidad e integridad del sistema y los datos y la confidencialidad). Gestión de módulos: Este caso de uso permite crear, seleccionar, eliminar y actualizar un módulo (conjunto de casos de uso relacionados) del sistema de información (Fra09). Gestión de casos de uso: Este caso de uso permite crear, seleccionar, eliminar y actualizar un caso de uso (funcionalidad) del sistema de información (Fra09). Gestión de servicios: Este caso de uso permite crear, seleccionar, eliminar y actualizar servicios (métodos o acciones de los EJBs de sesión) del sistema de información (Fra09). 65

66 Gestión de menús: Este caso de uso permite crear, seleccionar, eliminar y actualizar elementos de menú (asociados a casos de uso y módulos) al sistema de información (Fra09). Gestión de parámetros: Este caso de uso permite crear, seleccionar, eliminar y actualizar parámetros (variables definidas por el usuario que hacen parte de la lógica de negocio) del sistema de información (Fra09). Generación de reportes de perfiles de seguridad versus usuarios: Este caso de uso permite generar un reporte con la información de cada usuario por perfil de seguridad en una página JSF (Fra09). C. PROCEDIMIENTO A continuación se menciona el procedimiento realizado para la inclusión y uso del módulo CincoSecurity en el sistema de información para el ingreso, mantenimiento y salida de estibas (ver procedimiento en el Anexo 5: Manual del usuario): Creación del módulo de seguridad: se realizó la generación del proyecto de CincoSecurity: Skeleton y se añadieron los archivos y carpetas necesarias a la aplicación SIBOX (Mar111). Registro de los módulos del sistema de información para el ingreso, mantenimiento y salida de estibas: Se realizó el registro de los módulos del sistema de información para el ingreso, mantenimiento y salida de estibas (ver módulos en la sección Módulos de este documento). Registro de los casos de uso del sistema de información para el ingreso, mantenimiento y salida de estibas: Se realizó el registro de los casos de uso del sistema de información para el ingreso, mantenimiento y salida de estibas (ver casos de uso en el Anexo 3: Inventario de módulos y casos de uso). Registro de los servicios de los casos de uso del sistema de información para el ingreso, mantenimiento y salida de estibas Se realizó el registro de los servicios de los casos de uso del sistema de información para el ingreso, mantenimiento y salida de estibas. Registro de los menús y sub menús del sistema de información para el ingreso, mantenimiento y salida de estibas Se realizó la creación de los menús y sub menús del sistema de información para el ingreso, mantenimiento y salida de estibas. Re-direccionamiento de las acciones en el descriptor pages.xml: Se describió la navegabilidad y finalización de las conversaciones activas por medio del descriptor XML según las acciones establecidas para cada caso de uso. Los contextos en seam facilitan al 66

67 desarrollador controlar (inicialización y finalización de recursos implicados) el ciclo de vida de la información (componentes) implicada en la realización de una tarea. Los contextos tradicionales eran los de aplicación, sesión y solicitud. JBoss-Seam introduce el contexto de conversación para representar el concepto de tarea (actividad que realiza el usuario en el sistema durante un caso de uso) Al no finalizar una conversación podemos realizar una sobrecarga al sistema. Para finalizar esta conversación debemos agregar en el descriptor pages.xml la siguiente instrucción: <navigation from-action="lotelist"> <redirect view-id="/negocio/lote/listlote.xhtml" /> <end-conversation before-redirect="true"/> </navigation> Creación de las páginas JSF para los casos de uso: Se realizó la creación de las páginas JSF que componen cada caso de uso. Protección de acceso a las páginas JSF: Se realizó la protección de acceso a las páginas JSF por medio de un descriptor XML. En el descriptor XML vemos la usabilidad del framework de CincoSecurity al añadir la seguridad a la página JSF por medio de un servicio del caso de uso. Un ejemplo de este descriptor XML es el siguiente: <?xml version="1.0" encoding="utf-8"?> <page xmlns=" xmlns:xsi=" xsi:schemalocation=" <restrict>#{s:hasrole('administradorlist_create')}</restrict> </page> Protección de los EJBs: Se realizó la protección de los EJBs por medio de anotaciones. En el siguiente ejemplo estamos dando permiso de hacer uso del EJB DespachadorRemitenteEJB al usuario que posee la autorización sobre el servicio DespachadorList, como se muestra @Name("despachadorRemitenteEJB") 67

68 public class DespachadorRemitenteEJB implements Serializable,DespachadorRemitenteLocal{ D. CON RESPECTO A LA SEGURIDAD DE LA INFORMACIÓN A continuación se explica cómo se logró garantizar los objetivos de la seguridad de la información en el aplicativo SIBOX (Sistema de información para el ingreso, mantenimiento y salida de estibas) por medio del módulo de seguridad CincoSecurity (Fra09): PROBLEMA DE LA COMPAÑÍA TOMADA OBJETIVO DE LA CÓMO LO CUMPLE? COMO CASO DE SEGURIDAD ESTUDIO - No existe un nombre de usuario y contraseña para cada El módulo de seguridad de usuario del sistema. CincoSecurity (Fra09) permite - Cualquier persona proteger los EJB, las páginas puede ingresar al JSF y los componentes UI de sistema sin pertenecer cada página, con el fin de a la compañía de garantizar que solo los usuarios estibas y se encuentre autorizados (por medio de un dentro de la bodega. Disponibilidad y accesibilidad login) puedan ingresar a los - Las empresas del sistema y los datos módulos correspondientes del remitentes no tienen sistema (módulo de auditoría, acceso a la módulo de gestión de estibas, información módulo de seguridad y módulo suministrada por los de reportes), como también, a despachadores y los datos que estos se obtenida por los muestren. operarios de estibas. - No existe un nombre Integridad El módulo de seguridad de 68

69 de usuario y contraseña para cada usuario del sistema. - Cualquier persona puede ingresar al sistema sin pertenecer a la compañía de estibas y se encuentre dentro de la bodega. - Las empresas remitentes no tienen acceso a la información suministrada por los despachadores y obtenida por los operarios de estibas. CincoSecurity (Fra09) permite proteger los EJB, las páginas JSF y los componentes UI de cada página, con el fin de garantizar que solo los usuarios autorizados (por medio de un login) puedan ingresar a los módulos correspondientes del sistema (módulo de auditoría, módulo de gestión de estibas, módulo de seguridad y módulo de reportes), como también, a los datos que estos se muestren. - No existe un nombre de usuario y contraseña para cada usuario del sistema. - Cualquier persona puede ingresar al sistema sin pertenecer a la compañía de estibas y se encuentre dentro de la bodega. - Las empresas remitentes no tienen acceso a la información Confidencialidad de los datos y de la información del sistema El módulo de seguridad de CincoSecurity (Fra09) permite proteger los EJB, las páginas JSF y los componentes UI de cada página, con el fin de garantizar que solo los usuarios autorizados (por medio de un login) puedan ingresar a los módulos correspondientes del sistema (módulo de auditoría, módulo de gestión de estibas, módulo de seguridad y módulo de reportes), como también, a los datos que estos se 69

70 suministrada por los despachadores y obtenida por los operarios de estibas. muestren. - No hay auditoría de datos por parte de los usuarios del sistema. Registro de auditoria El aplicativo SIBOX tiene un módulo de auditoría (realizado por medio de métodos callback (Ant10)) para llevar el registro de las alteraciones realizadas por los usuarios sobre la base de datos. Tabla 16: Módulo de seguridad CincoSecurity con respecto a la seguridad de la información MÓDULO DE AUDITORÍA MEDIANTE MÉTODOS CALLBACK A. OBJETIVO El objetivo de este módulo es llevar un registro de las operaciones realizadas sobre la base de datos por parte de los usuarios. Se realiza un registro antes y después de una operación por medio de los métodos callback (Ant10). B. DESCRIPCIÓN Para satisfacer con el objetivo de este módulo fue necesario hacer uso de métodos callback y los EntityListeners explicados a continuación: Métodos callback: Cada operación de inserción, modificación y eliminación que se realiza sobre una entidad tiene un evento pre y un evento post. Estos eventos pueden ser interceptados por el manejador de entidades para invocar un método de negocio (Ant10). Estos métodos de negocio hacen uso de las siguientes anotaciones (Ant10): MÉTODO DESCRIPCIÓN Este método callback se invoca antes de llamar el método persist del manejador de entidades. 70

71 Este método callback se invoca después de llamar el método persist del manejador de entidades. Este método callback se invoca antes de llamar el método merge del manejador de entidades. Este método callback se invoca después de llamar el método merge del manejador de entidades. Este método callback se invoca antes de llamar el método remove del manejador de entidades. Este método callback se invoca después de llamar el método remove del manejador de entidades. Este método callback se invoca antes de llamar el método find del manejador de entidades. Tabla 17: Métodos callback EntityListeners: Un Entitylistener es una clase POJO que contiene la lógica de negocio para los métodos callback de una o varias entidades. Para hacer el llamado de un listener se hace uso de la (Ant10). C. PROCEDIMIENTO Los pasos realizados para satisfacer el objetivo propuesto de este módulo fueron los siguientes: Creación de la entidad Auditoría Se realizó la creación de una entidad Auditoría que almacena la siguiente información: ATRIBUTO DESCRIPCIÓN Id Identificador único del registro de la auditoría. Operación que se realiza sobre la base de datos Operación (UPDATE / DELETE). Nombre del login del usuario dentro del Nombre del usuario sistema. Entidad Entidad sobre la cual se realiza la operación. Fecha Fecha en la cual se realiza la operación. 71

72 Cambios Llamada al método publico tostring de la entidad. Nombre del empleado Nombre del empleado que realiza la operación. Tabla 18: Atributos de la entidad auditoría Para ver el diagrama de entidades ir al Anexo 5: Diagrama de entidades. Creación de una clase EntityListener encargada de implementar los métodos callback Dentro del proyecto se realizó la creación de un EntityListener llamado AuditoriaListener que contiene los Cada uno de estos métodos obtiene programáticamente el manejador de entidades y el nombre de usuario por medio de las variables de contexto de sesión. Al realizar la invocación del método Update del EntityManager se invoca indirectamente el método callback del EntityListener, como se muestra a continuación: public class AuditoriaListener{ private EntityManager em; private String nombreusuario = public void varealizarupdate(object entity){ em = getentitymanager(); if(entity instanceof AdministradorDeEstibas){ AdministradorDeEstibas obj = Llamado del EntityListener dentro de las entidades JPA Cada entidad que fue auditada uso la como se muestra public class Color implements Serializable, Cloneable { MÓDULO DE GESTIÓN DE ESTIBAS A. OBJETIVO El objetivo de este módulo es realizar el registro de los lotes y las estibas, la generación de los códigos de barras, la actualización y revisión de las tareas de mantenimiento, el registro de las salidas y la generación de las remisiones de venta. 72

73 B. DESCRIPCIÓN Para satisfacer el objetivo de este módulo fue necesario hacer uso de validaciones AJAX, anotaciones SEAM y generación de códigos de barra y archivos PDF con itext, explicados a continuación: Validaciones AJAX: Para realizar la creación y actualización de un registro de una entidad se utilizó AJAX (Jon06). Esto se hizo con el fin validar la información desde el lado del cliente. La es una interfaz que brinda operaciones sobre un DataModel JSF Esta anotación permitió mostrar la información de los registros de las entidades en las tablas de las páginas JSF. itext: itext es un framework de código libre que permite generar documentos PDF (Bru11). C. PROCEDIMIENTO Uso para representar listas en DataTable Por medio de la se logran mostrar los registros de una entidad en una tabla JSF desde un EJB, como se muestra @Name("tareaEJB") public class TareaMantenimientoEJB implements TareaMantenimientoLocal, private List<TareaMantenimiento> private List<TareaMantenimiento> private List<Paquete> paquetes; Estas listas son obtenidas desde la página JSF, como se muestra a continuación: <rich:datatable value="#{tareas}" var="tarea" id="tabla" style=" width : 100%;" rows="10" rowkeyvar="row" rendered="#{tareaejb.tareas.size()>0}" > 73

74 Generación de archivos PDF en itext Para la generación de archivos PDF se utilizaron objetos de tipo Document, PdfWriter, PdfPTable y PdfPCell (Bru11) dentro del paquete itext, explicados a continuación: Document: Este objeto permite crear un documento, como se muestra a continuación (Bru11): private void creardocumento(string nomarchivo){ try{ Document document = new Document(); PdfWriter: Este objeto permite crear un documento de tipo PDF protegido. Inicialmente obtenemos la instancia de un objeto Document y el nombre del archivo que será creado. Para agregarle la protección obtenemos la contraseña de la empresa remitente y hacemos uso de un código que descripta la cadena de caracteres, para que finalmente hagamos uso de la encriptación del objeto PdfWriter. A continuación mostramos un ejemplo de la encriptación de un archivo PDF (Bru11): PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(nomArchivo)); String usuario = lote.getdespachadorremitente().getempresaremitente().getnombre().replace(" ", ""); FileSecurity security = new FileSecurity(); String pass = security.descifrar(lote.getdespachadorremitente().getempresaremitente().getpasswordpdf()); writer.setencryption(usuario.getbytes(), pass.getbytes(), PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128); PdfPTable: Este objeto permite crear una tabla dentro de un documento de tipo PDF, como se muestra a continuación (Bru11): PdfPTable table = new PdfPTable(2); PdfPCell: Este objeto permite crear una celda asociada a una tabla dentro de un documento de tipo PDF. Basados en el ejemplo anterior de PdfPTable donde creamos una 74

75 tabla de dos celdas, vamos a crear dos objetos de tipo PdfPCell y los vamos agregar a la tabla, como se muestra a continuación (Bru11): PdfPTable table = new PdfPTable(2); PdfPCell cell1; PdfPCell cell2; cell1 = new PdfPCell(new Paragraph("ID : ", FontFactory.getFont( "calibri", // fuente 12, Font.BOLD, CMYKColor.BLACK))); cell1.setbackgroundcolor(cmykcolor.orange); cell1.sethorizontalalignment(element.align_center); cell2 = new PdfPCell(new Phrase(String.valueOf(lote.getId()))); cell2.sethorizontalalignment(element.align_center); table.addcell(cell1); table.addcell(cell2); Generación de códigos de barra en itext Para la generación de códigos de barra dentro de un documento PDF se hizo uso de un objeto de tipo PdfContentByte y un objeto de tipo Barcode128, explicados a continuación: PdfContentByte: Este objeto permite agregar imágenes dentro de un documento PDF, como se muestra a continuación: Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(nomArchivo)); writer.setencryption(user.getbytes(), password.getbytes(), PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128); document.open(); PdfContentByte cb = writer.getdirectcontent(); Barcode128: Este objeto permite crear códigos de barra de tipo Barcode128 dentro de un documento PDF. Inicialmente creamos un objeto de tipo Barcode128, cambios su código, su tipo, y creamos una imagen asociada a él, como se muestra a continuación: Barcode128 code128 = new Barcode128(); code128.setcode(s.getcodigo().trim()); code128.setcodetype(barcode128.code128); Image code128image = code128.createimagewithbarcode(cb, null, null); code128image.setabsoluteposition(300,700); code128image.scalepercent(500); code128image.setalignment(element.align_middle); document.add(code128image); 75

76 La librería itext permite generar distintos códigos de barra explicados a continuación: NOMBRE DESCRIPCIÓN CÓDIGO DE BARRA EAN UCC 13 Este tipo de código de barra es de chequeo lineal con longitud de 13 caracteres, usado frecuentemente para la industria alimenticia y la venta al detalle Este tipo de código de barra es de chequeo lineal con longitud de 12 EAN UCC 12 caracteres, usado frecuentemente para la industria alimenticia y la venta al detalle Este tipo de código de barra es de chequeo lineal con longitud de 8 EAN UCC 8 caracteres, usado frecuentemente para la industria alimenticia y la venta al detalle Este tipo de código de barra se utiliza cuando es necesaria la ampliación de BARCODE 128 caracteres, usado frecuentemente en la industria de envíos Este tipo de código de barra es usado BARCODE POSTNET solamente por el servicio postal de Estados Unidos CODEBAR Este tipo de código de barra permite codificar solamente números de 76

77 BARCODE PDF417 BARCODE DATAMATRIX BARCODE QRCODE longitud variable. Es usado frecuentemente por bancos de sangre Este tipo de código de barra representa una simbología de alta densidad no lineal, usado frecuénteme por archivos de informaciones portátiles Este tipo de código de barra bidimensional permite almacenar información en un espacio reducido. Un símbolo barcode datamatrix permite almacenar entre uno y 500 caracteres. Es usado frecuentemente para circuitos integrados y tarjetas de circuitos impresos Este tipo de código matriz permite almacenar 7366 caracteres numéricos o 4464 caracteres alfanuméricos. Es usado frecuentemente para el uso de cámaras CD y la tecnología de procesamiento de imágenes Tabla 19: Tipos de códigos de barra generados por itext 77

78 MÓDULO DE REPORTES A. OBJETIVO El objetivo de este módulo es generar y almacenar reportes en formato PDF en un directorio web. B. DESCRIPCIÓN Para cumplir con el objetivo de este módulo fue necesario hacer uso de itext (explicado en la sección Módulo de gestión de estibas de este (explicado en las sección Módulo de gestión de estibas de este documento), Quartz y JavaMail, explicados a continuación: Quartz: Quartz es un framework de código libre que permite realizar agendamiento de tareas en un aplicativo web (Wil05). JavaMail: JavaMail es un framework de código libre que permite componer y enviar un mensaje de correo electrónico, establecer conexiones seguras, definir protocolos, adjuntar archivos y usar flags (Ser). C. PROCEDIMIENTO Agendamiento de tareas por medio de Quartz Para hacer uso de Quartz se creó un controlador que se va auto crear y ejecutar en el despliegue del servidor de aplicaciones JBoss en un tiempo específico determinado por el CRON_INTERVAL, como se muestra public class ReporteQuartz implements ProcesoQuartz Log log; private QuartzTriggerHandle quartztesttriggerhandle; private static String CRON_INTERVAL = " * public void scheduletimer() { quartztesttriggerhandle = processor.createquartztestertimer(new Date(), CRON_INTERVAL); Este controlador hace uso de un componente llamado ProcesoQuartz que ejecuta una tarea asincrónica. Esta tarea llama al EntityManager y obtiene los registros del día en la entidad Salida, y 78

79 a partir de allí, genera un archivo PDF, que será enviado por correo electrónico a los interesados, como se muestra a continuación: Name("processor") public class ProcesoQuartz { private Logger logger; EntityManager entitymanager; private List<Salida> salidas; public QuartzTriggerHandle Date String interval) logger = Logger.getLogger(getClass().getName()); La tarea es ejecutada en un tiempo específico determinado por una cadena de caracteres y asumido por una como se muestra a continuación: Ilustración 16: Cron Quartz Los caracteres representan: segundos, minutos, horas, días del mes, mes, día de la semana y años. Estos caracteres pueden ser números que determinan un tiempo específico o caracteres especiales como CARÁCTER ESPECIAL *? -, DESCRIPCIÓN Carácter especial que representa todas las opciones disponibles. Carácter especial que representa cualquier opción de un campo determinado sobre otro campo. Carácter especial que representa un rango especifico. Carácter especial que representa una adición sobre un campo. 79

80 / Carácter especial que representa incrementos sobre un campo. Tabla 20: Caracteres especiales en CRON - QUARTZ Envió de correo electrónico por medio de JavaMail Para enviar un correo electrónico con un reporte PDF adjunto se hizo uso de la entidad Parameter. Esta entidad almacena los properties de la conexión para usar el API de JavaMail, como se muestra a continuación: public void enviarcorreo(string nombrearchivo){ Properties props = new Properties(); Parameter p = (Parameter) entitymanager.createquery( "select p from Parameter p where p.name =:name").setparameter("name", "mail.smtp.host").getsingleresult(); props.put("mail.smtp.host", p.getvalue()); p = (Parameter) entitymanager.createquery( "select p from Parameter p where p.name =:name").setparameter("name", "starttls.enable").getsingleresult(); props.setproperty("mail.smtp.starttls.enable", p.getvalue()); p = (Parameter) entitymanager.createquery( "select p from Parameter p where p.name =:name").setparameter("name", "port").getsingleresult(); props.setproperty("mail.smtp.port",p.getvalue()); Cuando se tienen las propiedades establecidas, se crea un objeto de tipo Session y se adjuntaban los textos y archivos del correo electrónico, como se muestra a continuación: Session session = Session.getDefaultInstance(props, null); session.setdebug(true); BodyPart texto = new MimeBodyPart(); try{ Date fecha = new Date(); texto.settext(" Reporte de inventario diario generado : "+fecha.tostring()+ "\n"+ " SIBOX (Sistema de información para el ingreso, mantenimiento y salida de estibas) \n" + " Autores : Jeisson Garcia y Mario Lancheros \n " + " Directora de grado : Ing. Maria Consuelo Franky \n" + " Generated by Seam, Quartz, JavaMail, CincoSoft"); BodyPart adjunto = new MimeBodyPart(); adjunto.setdatahandler(new DataHandler(new FileDataSource(nombreArchivo))); adjunto.setfilename("reporteinventariodiario.pdf"); MimeMultipart multiparte = new MimeMultipart(); multiparte.addbodypart(texto); multiparte.addbodypart(adjunto); 80

81 Finalmente se añadieron los correos electrónicos destinatarios y se realizó él envió al correo electrónico, como se muestra a continuación: Transport t = session.gettransport("smtp"); p = (Parameter) entitymanager.createquery( "select p from Parameter p where p.name =:name").setparameter("name", " ").getsingleresult(); Parameter q = (Parameter) entitymanager.createquery( "select p from Parameter p where p.name =:name").setparameter("name", "password").getsingleresult(); FileSecurity file = new FileSecurity(); String password = file.descifrar(q.getvalue()); t.connect(p.getvalue(),password); t.sendmessage(message,message.getallrecipients()); t.close(); Creación del directorio web Tanto los reportes generados como los stickers se mantienen almacenados en un directorio el cual puede ser consultado en la web mediante la dirección: Para habilitar este directorio se creó una carpeta llamada REPORTES.war en la ruta /jboss GA/server/default/deploy. Esta carpeta contiene la siguiente jerarquía de subcarpetas con sus respectivos archivos: REPORTES.WA R META-INF WEB-INF Reportes MANIFIEST.MF jboss-web.xml web.xml EmpresaEstibas EmpresasRemitentes logo.png Recibos Reportes Stickers Recibos Reportes IngresoLotes Inventario Rechazo RemisionVenta Ilustración 17: Jerarquía del directorio web 81

82 En la siguiente tabla se da una descripción de las carpetas y archivos que se encuentran dentro de la carpeta REPORTES.war ARCHIVO o CARPETA DESCRIPCIÓN META-INF Carpeta que contiene archivos de persistencia. Archivo de metadatos especial para definir MANIFEST.MF datos de extensión y paquete Carpeta que contiene archivos de configuración WEB-INF del directorio web. Principal archivo descriptor de despliegue en el jboss-web.xml servidor. En este archivo se define la ruta del servidor web. Este archivo contiene la configuración estándar del servidor web. En este archivo se definen las web.xml restricciones de seguridad y los roles que pueden acceder al directorio. Carpeta que contiene todos los reportes Reportes generados por el sistema. Carpeta que contiene los reportes relacionados con la empresa de estibas y los stickers EmpresaEstibas generados en los procesos de ingreso y mantenimiento de estibas. Carpeta que contiene los reportes relacionados EmpresasRemitentes con las empresas remitentes. logo.png Imagen que aparece en los reportes. Tabla 21 Archivos y carpetas de REPORTES.war A continuación se explica lo que debe tener cada uno de los archivos que contiene la carpeta REPORTES.war como también algunos cambios que se realizaron sobre archivos de Jboss: 1. En el archivo jboss-web.xml de la carpeta /REPORTES.war/WEB_INF se agregaron las anotaciones que definen la ruta del directorio web y la sentencia para habilitar la autenticación para acceder a él, como se muestra a continuación: <security-domain>java:/jaas/estiba</security-domain> 82

83 <context-root>reportes</context-root> 2. En el archivo web.xml de la carpeta /REPORTES.war/WEB_INF se agregaron las anotaciones que definen las restricciones que tiene el directorio web y los roles asociados a ellas, como se muestra a continuación: <security-constraint> <web-resource-collection> <web-resource-name>reportessibox</web-resource-name> <description>roles que pueden acceder a los reportes </description> <url-pattern>*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>administradorlist</role-name> </auth-constraint> </security-constraint> <security-role> <role-name>administradorlist</role-name> </security-role> 3. En el archivo web.xml de la carpeta /Jboss GA/server/default/deployers/jbossweb.deployer se definió el atributo listings en true para habilitar la opción de explorar los directorios web puestos en el servidor de aplicaciones Jboss, como se muestra a continuación: <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> 4. En el archivo login.config de la carpeta /Jboss GA/server/default/conf se agregaron las anotaciones necesarias para acceder a la base de datos y buscar la contraseña y el rol del usuario que se desee autenticar, como se muestra a continuación: 83

84 <application-policy name= estiba"> <authentication> <login-module code="org.jboss.security.auth.spi.databaseserverloginmodule"> <module-option name="dsjndiname">reportesdatasource</module-option> <module-option name="principal">estiba</module-option> <module-option name="principalsquery">select password FROM Usr WHERE username=?</module-option> <module-option name="rolesquery">select name_role, 'Roles' FROM sec_user_role WHERE username=?</moduleoption> <module-option name="hashalgorithm">md5</module-option> </login-module> </authentication> </application-policy> 5. Por último en la carpeta /Jboss GA/server/default/deploy se agregó el datasource de la aplicación reportes para gestionar la conexión con la base de datos, como se muestra a continuación: <datasources> <local-tx-datasource> <jndi-name>reportesdatasource</jndi-name> <use-java-context>false</use-java-context> <security-domain>reportes</security-domain> <connection-url>jdbc:postgresql:estiba</connection-url> <driver-class>org.postgresql.driver</driver-class> <user-name>estiba</user-name> <password>estiba</password> </local-tx-datasource> </datasources> 84

85 PRUEBAS DEL SISTEMA DE INFORMACIÓN PARA EL INGRESO, MANTENIMIENTO Y SALIDA DE ESTIBAS SIBOX Luego de realizar la construcción del sistema de información para el ingreso, mantenimiento y salida de estibas SIBOX se realizaron dos tests de pruebas explicados a continuación: Test de pruebas sobre CRUDS: Este test de pruebas es realizado sobre los casos de uso que son CRUDS dentro del sistema de información para el ingreso, mantenimiento y salida de estibas SIBOX (Los resultados se encuentran en el Anexo 14: Test de pruebas de CRUDS). Test de pruebas sobre casos de uso del negocio: Este test de pruebas es realizado sobre los casos de uso del negocio (No son CRUDS) del sistema de información para el ingreso, mantenimiento y salida de estibas (los resultados se encuentran en el Anexo 15: Test de pruebas de casos de uso de negocio) VALIDACIÓN DEL SISTEMA DE INFORMACIÓN PARA EL INGRESO, MANTENIMIENTO Y SALIDA DE ESTIBAS SIBOX Luego de realizar las pruebas del sistema de información para el ingreso, mantenimiento y salida de estibas SIBOX se realizó la validación con el cliente de la compañía tomada como caso de estudio. Los resultados de esta validación se encuentran en la sección Validación de la aplicación de este documento. 85

86 5. RESULTADOS Como resultado del presente proyecto se generó una aplicación web que facilita el registro y seguimiento de los procesos de ingreso, mantenimiento y salida de estibas. Esta aplicación presenta las siguientes características: CARACTERISTICA Qué mejora realizo sobre la compañía tomada como caso de estudio? Creación de usuarios: Esta característica se Seguridad de la información: Accesibilidad desarrolló con base al módulo de código abierto CincoSecurity, el cual permite una gran flexibilidad para restringir el acceso de usuarios no identificados. Definición de perfiles: Esta característica se Seguridad de la información: Integridad de los desarrolló con base al módulo de código abierto datos y del sistema CincoSecurity, el cual permite una gran flexibilidad para restringir el acceso de los usuarios del sistema a los diferentes servicios 86

87 ofrecidos de acuerdo a los privilegios de cada uno de ellos. Auditoría de datos: Esta característica se Seguridad de la información: Registro de desarrolló con base al módulo de auditoría, auditoría donde se registran las modificaciones de actualización y eliminación hechas sobre la base de datos. Seguridad en archivos generados: Esta Seguridad de la información: Confidencialidad característica se desarrolló con base al módulo y Generación de reportes de reportes, donde se realiza la creación de archivos PDF protegidos con una contraseña única para cada empresa remitente y para la compañía de estibas Control sobre llegada de lotes y estibas: Esta Gestión de lotes y estibas característica se desarrolló con base al módulo de gestión de estibas, donde se realiza la creación de envíos y llegadas del lote y estibas desde una empresa remitente hasta la compañía de estibas. Control sobre las tareas de mantenimiento: Gestión de tareas de mantenimiento Esta característica se desarrolló con base al módulo de gestión de estibas, donde se realiza la creación de tareas de mantenimiento, la generación de stickers y la validación de la información suministrada por un empleado de mantenimiento. Control sobre las salidas de paquetes de la Gestión de salidas de paquetes de la bodega bodega: Esta característica se desarrolló con base al módulo de gestión de estibas, donde se realiza la creación de salidas de paquetes de la bodega a la planta de producción. Generación de reportes: Esta característica se Generación de reportes 87

88 desarrolló con base al módulo de reportes, donde se realiza la creación de archivos PDF con información proveniente de la base de datos y códigos de barra en formato Barcode 128. Agendamiento de tareas: Esta característica se desarrolló con base al módulo de reportes, donde se realiza la creación y el envío de un reporte a las 10:00 pm hora colombiana. Directorio web: Esta característica se desarrolló con base al módulo de reportes, donde se logra acceder a un directorio web por medio del servidor de aplicaciones Jboss. Generación de reportes Generación de reportes Tabla 22: Resultados 5.1. VALIDACIÓN DE LA APLICACIÓN El proceso de validación de la aplicación SIBOX se realizó con la colaboración de la compañía Distribuidora JJ. Esta empresa nos permitió realizar el modelamiento de proceso de negocio, el levantamiento de requerimientos, diseño de casos de uso, modelamiento de entidades y presentación de las primeras tres iteraciones del aplicativo web. Logrando obtener una retroalimentación que sirvió como base para concluir un prototipo de un sistema de información que pueda colaborar en los procesos de ingreso, mantenimiento y salida de estibas, no solo para empresas dedicadas a seleccionar cajas, sino también, para organizaciones que se dediquen a seleccionar cualquier envase y trabajen o se adapten a los proceso mencionados con anterioridad. El gerente de la compañía (Sr Joaquín Bautista Torres) se mostró muy interesado en el aplicativo y espera que a futuro se pueda desarrollar una segunda iteración sobre SIBOX para que realice el proceso de ingreso, mantenimiento y salida para productos como aluminio, cobre rojo, bronce, entre otros. Los resultados de la validación se encuentran en los anexos: Anexo 9: Carta de satisfacción por parte del cliente y Anexo 10: Encuesta de validación por parte del cliente. 88

89 6. CONCLUSIONES Y TRABAJOS FUTUROS 6.1. CONCLUSIONES Las conclusiones del presente proyecto de grado son: Realizar el modelamiento de los procesos de negocio permite garantizar el cumplimiento del objetivo del sistema de información dentro de la empresa. El uso de un servidor de aplicaciones en la construcción de un aplicativo web permite garantizar la escalabilidad y dejar en un segundo plano el manejo transaccional y el cumplimiento de las propiedades ACID. Todos los sistemas de información empresariales deben cumplir con los objetivos principales de seguridad tales como: Disponibilidad y accesibilidad, integridad de los datos y el sistema, auditoría, confidencialidad y confiabilidad, ya que de esto depende el éxito del sistema. El manejo de stickers fue una buena solución para llevar el control sobre la selección de cajas realizada por los empleados de mantenimiento de estibas. 89

90 La creación de usuarios por parte de las empresas remitentes le permitió a la compañía de estibas tomada como caso de estudio llevar un control sobre la cantidad exacta de estibas y lotes provenientes. La validación por parte del sistema de información sobre la cantidad exacta de paquetes de un color de la bodega le permitió ahorrar tiempo en contar manualmente el envío de estos a la planta de producción RECOMENDACIONES Para este tipo de proyectos de aplicación práctica es necesario definir y establecer pautas con un cliente directo, con el fin de garantizar una retroalimentación y generar validaciones sobre el campo en el cual se desarrolla el software TRABAJOS FUTUROS La aplicación está desarrollada para el ingreso, mantenimiento y salida de estibas en empresas colombianas, pero se puede adaptar para compañías que realicen trabajos de selección de objetos. Además se espera que a futuro se pueda: Extender el aplicativo para que trabajar con diferentes sistemas de información como nomina, recursos humanos, entre otros. Extender el aplicativo para el manejo de diferentes envases o productos de reciclaje como aluminio, cobre rojo, antimonio, bronce, baterías, acero, entre otros. Gozar de la generación de códigos de barra para almacenar la información relevante de una estiba/lote y ser obtenidos bajo un lector de códigos de barra. Acoplar el aplicativo bajo suites de BPM (BPMS: Jboss Red Hat) o con un framework de jbpm de Java EE5 SEAM POST-MORTEM METODOLOGÍA PROPUESTA VS. METODOLOGÍA REALMENTE UTILIZADA Para realizar el análisis, diseño y desarrollo de la aplicación web SIBOX: Sistema de información para el ingreso, mantenimiento y salida de estibas fue propuesto el uso de la metodología programación extrema (XP). Esta metodología nos aportó la experiencia de la programación por pares y la entrega por módulos al representante de la compañía que fue tomada como caso de estudio: Distribuidora JJ. 90

91 Dado que la aplicación cuenta con un análisis y un diseño As-Is y To-Be sobre los procesos de negocio de la compañía, se añadió a la metodología propuesta, el primer ciclo de la metodología implementada por IBM: Quickwins [48]. La unión de estas dos metodologías permitía tener ciclos de presentación (por módulos) presentados tanto al cliente de la compañía tomada como caso de estudio como a la directora del trabajo de grado. La metodología final se muestra a continuación: El cronograma del trabajo de grado se planeó para ser realizado por playbacks. Un playback representa una etapa dentro del cronograma. El playback 0 representa las actividades realizadas sobre el levantamiento de la información de los procesos de negocio: organización y roles, objetivos y procedimiento de los procesos de negocio y diagramación BPMN (Ber12). Este playback se realizó de forma iterativa hasta la aceptación por parte del cliente, como se muestra a continuación: Diseño As-Is PlayBack 0 Diseño To - Be Ilustración 18: Playback 0 El playback 1 representa las actividades realizadas sobre el levantamiento de requerimientos, inventario de módulos y casos de uso y el modelamiento de las entidades. Este playback se realizó de forma iterativa hasta la aceptación por parte del cliente, como se muestra a continuación: 91

92 Levantamiento de requerimientos Modelamiento de entidades Playback 1 Plantilla - HACER USOS Inventario de módulos y casos de uso Ilustración 19: Playback 1 El playback 2 representa las actividades realizadas sobre la construcción y las pruebas del sistema de información. Este playback se realizó de forma iterativa por cada conjunto de módulo hasta la aceptación por parte del cliente, como se muestra a continuación: Construcción Playback 2 Pruebas Ilustración 20: Playback TIEMPO DEL PROYECTO PLANEADO VS. TIEMPO DEL PROYECTO EJECUTADO Al iniciar el proyecto de grado teníamos la siguiente estimación: PLAYBACK Actividad inicial administrativa 2 DURACIÓN (DÍAS) 92

93 Playback 0 8 Playback 1 21 Playback 2 63 Actividad final administrativa 4 Total (Días) 98 Tabla 23: Estimación de tiempos del proyecto Esta estimación nos enfrentaba a una etapa crítica del proyecto en el playback 2, concentrándonos completamente en el software del sistema de información y dejando un mínimo de cuatro días para realizar la memoria, manuales y páginas web referentes al trabajo de grado. En el transcurso del proyecto se realizaron variaciones en el cronograma por el rápido aprendizaje de los estudiantes con las tecnologías: itext, Quartz y Seam, finalizando el trabajo de grado con la siguiente duración de días por cada playback: PLAYBACK DURACIÓN (DÍAS) Actividad inicial administrativa 2 Playback 0 8 Playback 1 11 Playback 2 41 Actividad final administrativa 25 Total (Días) 87 Tabla 24: Duración en días por cada playback Este rápido aprendizaje permito al grupo de estudiantes realizar mejoras sobre la memoria del trabajo de grado y crear una máquina virtual para montar el aplicativo y el servidor de aplicaciones en esta. 93

94 7. REFERENCIAS Y author = {Ball, Jennifer and Carson, Debbie and Evans, Ian and Haase, Scott Fordin:Kim and Jendrock, Eric }, address = {California, United States}, title = {Overview}, booktitle = {The Java EE5 Tutorial}, year = {2006}, publisher = {Sun Microsystems}, editor = {Ball, Jennifer and Carson, Debbie and Evans, Ian and Haase, Scott Fordin:Kim and Jendrock, Eric } author = {Caralt, Jordi Conesa and Villach, Jordi Ceballos and Gavidia, Àngels Rius and Jiménez, David Gañán}, title = {La plataforma.net}, booktitle = {Introducción a.net}, year = {2010}, publisher = {UOC}, pages = {15-22}, editor = {Caralt, Jordi Conesa and Villach, Jordi Ceballos and Gavidia, Àngels Rius and 94

95 Jiménez, David Gañán} author = {Goncalves, Antonio }, title = {Beginning Java EE6 plataform with glassfish 3}, booktitle = {Beginning Java EE6 plataform with glassfish 3}, year = {2010}, publisher = {Apress}, pages = {6-7}, editor = {glance, Java EE6 at a} author = {Burns, Ed and Schalk, Chris }, address = {United States}, title = {Introduction to JavaServer Faces}, booktitle = {The complete references JavaServer Faces 2.0}, year = {2010}, publisher = {McGraw-Hill}, pages = {3-4}, editor = {Burns, Ed and Schalk, Chris } author = {Meyer, Bertrand }, title = {.NET is coming}, journal = {Software Technologies}, year = {2001}, month = {2001}, pages = {92-97} author = {Lowagie, Bruno }, address = {Stamford}, title = {Introducing PDF and itext}, booktitle = {itext in action}, year = {2011}, publisher = {Manning Publications Co}, pages = {3}, editor = {Lowagie, Bruno } } 95

96 @inbook{jam09, author = {David, Jamae and Peter, Johnson }, address = {Greenwich}, title = {What is JBoss?}, booktitle = {JBoss in action}, year = {2009}, publisher = {Manning Publications Co}, pages = {4-5}, editor = {David, Jamae and Peter, Johnson } title = {What can Quartz do for you?}, booktitle = {Quartz 2.1.x documentation}, pages = {1}, editor = {Scheduler, Quartz Enterprise Job} title = {Application server purpose}, booktitle = {WebSphere Application}, year = {2009}, publisher = {Redbooks}, pages = {4-5}, editor = {IBM, } } author = {Franky, Maria Consuelo}, title = {Instalación y uso del framework Taylor para el modelaje de entitades JPA}, journal = {Pontificia Universidad Javeriana de Bogotá}, year = {2011}, month = {2011} author = {Franky, Maria Consuelo}, title = {Guía de los generadores del framework SEAM}, journal = {Pontificia Universidad Javeriana de Bogotá}, year = {2010}, month = {2010}, 96

97 volume = {1} author = {Franky, María Consuelo}, title = {CincoSecurity: Automating the security of Java EE Applications with fine-grained roles and security profiles}, journal = {The Sixth International Conference on Internet and Web Applications and Services}, year = {2011} author = {Franky, María Consuelo and Toro, Víctor Manuel and López, Rodrigo }, title = {CincoSecurity Module based on fine roles}, year = {2009} author = {Jacobi, Jonas and Fallows, John R.}, address = {United States}, title = {Converters, Validators, Events and Listeners}, booktitle = {Pro JSF and Ajax: Building Rich Internet Components}, year = {2006}, publisher = {Apress}, pages = {22-23}, editor = {Jonas Jacobi, John R. Fallows} } author = {Iverson, Will }, address = {United States}, title = {Project 5: News Aggregator}, booktitle = {Real World Web Services: Integrating EBay, Google, Amazon, FedEx and more}, year = {2005}, publisher = {Mary Anne Weeks Mayo}, pages = { }, editor = {Iverson, Will } } 97

98 @inbook{ser, author = {Gálves, Sergio and García, Ignacio }, address = {Malaga, España}, title = {Primeros pasos}, booktitle = {JavaMail}, publisher = {Universidad de Malaga}, pages = {16-18}, editor = {Gálves, Sergio and García, Ignacio } } author = {Cao, Lan and Mohan, Kannan and Balasubramaniam, Peng Xu}, address = {Hawaii}, title = {How Extreme does Extreme Programming Have to be? Adapting XP Practices to Large-scale Projects}, year = {2004} author = {English, Arthur }, title = {Extreme Programming: It s Worth a Look}, journal = {Perspectives}, year = {2002}, month = {2002} author = {Sriram, Thota and Rao, K Vishwanatha and Biswas, S and Ahmed, B asheer}, address = {India}, title = {Applications of Barcode technology in Automated Storage & Retrieval Systems}, year = {1996}, pages = { } author = {Azocar, Miguel }, title = {Elección de la mejor herramienta de desarrollo de aplicaciones empresariales, J2EE v/s.net }, journal = {Artículo}, year = {2004} } 98

99 @inbook{sal09, author = {Salter, David }, address = {Birmingham}, title = {Developing web applications}, booktitle = {Introduction to seam}, year = {2009}, publisher = {Pack Publishing LTDA}, pages = {Cp 1} author = {Gupta, Samudra }, address = {New York}, title = {Introduction to application logging}, booktitle = {Pro Apache Log4j}, year = {2005}, publisher = {Appres}, pages = {1-8} author = {tong, Kent ka lok}, address = {New York}, title = {Getting started with JSF}, booktitle = {Beginning JSF 2 APIs and JBoss Seam}, year = {2009}, publisher = {Springer}, pages = {1-28} author = {Aalders, Rob and Hind, Peter }, address = {West Sussex}, title = {Introduction}, booktitle = {The IT Manager's survival guide}, year = {2002}, publisher = {Brittish Library}, pages = {1-10} author = {Hitpass, Bernard }, address = {Santiago de Chile}, title = {Introducción y definición del BPM}, booktitle = {BPM Business Process Management}, 99

100 year = {2012}, publisher = {Hispana}, pages = {3-19} author = {Ferreiro, María }, address = {España}, title = {Ojear Excel: Qué hacer y dónde?}, booktitle = {Microsoft Excel 2007, aprenda a gestionar datos de manera eficaz}, year = {2010}, publisher = {ideaspropias}, pages = {15-28} author = {Freund, Jakob and Rucker, Bernd and Hitpass, Bernhard }, address = {Santiago de Chile}, title = {Introdución}, booktitle = {BPMN 2.0}, year = {2011}, publisher = {Hispana}, pages = {1-16} author = {RichFaces, JBoss }, title = {Introduction}, booktitle = {Richfaces Framework with a huge library of rich components and skinnability support}, year = {2013}, pages = {1-2} } author = {Sommerville, Ian }, address = {Madrid}, title = {Reutilización}, booktitle = {Ingeniería del software}, year = {2005}, publisher = {Pearson Educación}, 100

101 pages = { } } author = {Mora, Sergio Lujan}, address = {España}, title = { Qué es una aplicación web?}, booktitle = {Programación de aplicaciones web: Historia, principios básicos y clientes web}, year = {2002}, publisher = {Editorial Club Universitario}, pages = {48-50}, editor = {Mora, Sergio Lujan} author = {Aeritio, Javier }, address = {Madrid, España}, title = {Fundamentos de la seguridad de la información}, booktitle = {Seguridad de la información: redes, informática y sistemas de información}, year = {2008}, publisher = {Paraninfo}, pages = {1-6}, editor = {Aeritio, Javer } author = {Oracle, }, title = {Learning Oracle GlassFish Server for Tomcat Users}, journal = {Learning Oracle GlassFish Server for Tomcat Users}, year = {2010}, pages = {1-10} author = {Oracle, }, title = {Introduction to Oracle Weblogic Server}, journal = {Introduction to Oracle Weblogic Server}, year = {2011}, month = {2011}, pages = {1-2} } 101

102 @inbook{tim03, author = {Time Francis, Eric Herness, Rob High Jr, Jim Knutson, Kim Rochat, Chris Vignola}, address = {Indianapolis, Canada}, title = {Introduction to WebSphere}, booktitle = {IBM WebSphere 5.0 Application Server}, year = {2003}, publisher = {Wiley Publishing}, pages = {9-16}, editor = {Time Francis, Eric Herness, Rob High Jr, Jim Knutson, Kim Rochat, Chris Vignola} } 102

103 8. ANEXOS Los siguientes documentos forman parte de los anexos y se encuentran disponibles en la página del presente trabajo de grado: ANEXO 1: DOCUMENTOS DEL MODELAMIENTO DE PROCESOS Este anexo contiene los documentos (reportes, informes, recibos) que son generados en el modelamiento de los procesos de ingreso, mantenimiento y salida de estibas en el diseño As-Is y To-Be ANEXO 2: REQUERIMIENTOS DEL SISTEMA Este anexo contiene la plantilla HACER-USOS. Esta plantilla contiene los conceptos, usuarios, y requerimientos del sistema de información para el ingreso, mantenimiento y salida de estibas: SIBOX ANEXO 3: INVENTARIO DE MÓDULOS Y CASOS DE USO Esta plantilla contiene el inventario de módulos y casos de uso con la cantidad de desarrolladores y el costo de la implementación del proyecto ANEXO 4: DIAGRAMA DE CASOS DE USO Este anexo contiene los diagramas de casos de uso por módulos del sistema de información para el ingreso, mantenimiento y salida de estibas: SIBOX ANEXO 5: MANUAL DEL USUARIO Este anexo contiene el manual del usuario del sistema de información para el ingreso, mantenimiento y salida de estibas: SIBOX ANEXO 6: CRONOGRAMA DEL PROYECTO Este anexo contiene el cronograma del proyecto de grado que dio como resultado el aplicativo SIBOX. 103

104 8.7. ANEXO 7: GLOSARIO Este anexo contiene el glosario del proyecto de grado sistema de información para el ingreso, mantenimiento y salida de estibas ANEXO 8: DIAGRAMA DE ENTIDADES Este anexo contiene el diagrama de entidades del sistema de información para el ingreso, mantenimiento y salida de estibas ANEXO 9: CARTA DE SATISFACCIÓN POR PARTE DEL CLIENTE Este anexo contiene la carta de satisfacción por parte del cliente DISTRIBUIDORA JJ ANEXO 10: ENCUESTA DE VALIDACIÓN POR PARTE DEL CLIENTE Este anexo contiene la encuesta de validación por parte del cliente DISTRIBUIDORA JJ ANEXO 11: MANUAL DE INSTALACIÓN Este anexo contiene el manual de instalación del sistema de información para el ingreso, mantenimiento y salida de estibas: SIBOX ANEXO 12: MANUAL DE MANTENIMIENTO Este anexo contiene el manual de mantenimiento del sistema de información para el ingreso, mantenimiento y salida de estibas: SIBOX ANEXO 13: ENTREVISTAS REALIZADAS AL CLIENTE Este anexo contiene las entrevistas realizadas al cliente (Sr Joaquín Bautista Torres) de la compañía tomada como caso de estudio Distribuidora JJ ANEXO 14: TEST DE PRUEBAS DE CRUDS Este anexo contiene las test de pruebas sobre los casos de uso CRUDS del sistema de información para el ingreso, mantenimiento y salida de estibas ANEXO 15: TEST DE PRUEBAS DE CASOS DE USO DE NEGOCIO Este anexo contiene los test de pruebas sobre los casos de uso del negocio del sistema de información para el ingreso, mantenimiento y salida de estibas. 104

SISTEMA DE INFORMACIÓN PARA EL INGRESO, MANTENIMIENTO Y SALIDA DE ESTIBAS

SISTEMA DE INFORMACIÓN PARA EL INGRESO, MANTENIMIENTO Y SALIDA DE ESTIBAS SISTEMA DE INFORMACIÓN PARA EL INGRESO, MANTENIMIENTO Y SALIDA DE ESTIBAS Código: 6843 Jeyson Andrés García Rodríguez Mario Sergio Lancheros Suescún PONTIFICIA UNIVERSIDAD JAVERIANA DE BOGOTÁ D.C. FACULTAD

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

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

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1 Gerardo Lecaros Felipe Díaz Problemática Petición de salas de forma tradicional Solución J2EE Java 2 Platform, Enterprise Edition

Más detalles

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

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Vivimos en un mundo globalizado, donde la eficiencia y productividad de las empresas es un factor crucial para

Más detalles

Diseño dinámico de arquitecturas de información

Diseño dinámico de arquitecturas de información Diseño dinámico de arquitecturas de información CARACTERISTICAS DEL SISTEMA Las organizaciones modernas basan su operación en la gestión del conocimiento, es decir, en el manejo de información que se presenta

Más detalles

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y Capítulo VI Conclusiones En este capítulo abordaremos la comparación de las características principales y de las ventajas cada tecnología Web nos ofrece para el desarrollo de ciertas aplicaciones. También

Más detalles

Beneficios estratégicos para su organización. Beneficios. Características V.2.0907

Beneficios estratégicos para su organización. Beneficios. Características V.2.0907 Herramienta de inventario que automatiza el registro de activos informáticos en detalle y reporta cualquier cambio de hardware o software mediante la generación de alarmas. Beneficios Información actualizada

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

MACROPROCESO GESTIÓN TECNOLÓGICA

MACROPROCESO GESTIÓN TECNOLÓGICA Versión 1.0 Página 1 de 5 1. OBJETIVO Suministrar las fases para la puesta en producción de aplicaciones y sistemas de información desarrollados o adquiridos por el Instituto Colombiano de Bienestar Familiar

Más detalles

CONCLUISIONES Y RECOMENDACIONES

CONCLUISIONES Y RECOMENDACIONES CONCLUISIONES Y RECOMENDACIONES CONTENIDO 7.1 Verificación de Hipótesis 7.2 Conclusiones 7.3 Recomendaciones Mónica Cecilia Gallegos Varela - 145 - VERIFICACIÓN DE HIPÓTESIS La hipótesis planteada al inicio

Más detalles

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP Visual Sale posee módulos especializados para el método de ventas transaccional, donde el pedido de parte de un nuevo cliente

Más detalles

Anexo 4 Documento de Arquitectura

Anexo 4 Documento de Arquitectura Anexo 4 Documento de Arquitectura 1. Introducción El anexo se describe el propósito y alcance referentes al proyecto correspondiente al documento de arquitectura. 2. Propósito El propósito del anexo de

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

Más detalles

CURSO COORDINADOR INNOVADOR

CURSO COORDINADOR INNOVADOR CURSO COORDINADOR INNOVADOR PRESENTACIÓN La tarea que el Ministerio de Educación se propone a través de Enlaces, en relación al aseguramiento del adecuado uso de los recursos, con el fin de lograr un impacto

Más detalles

Windows Server 2012: Infraestructura de Escritorio Virtual

Windows Server 2012: Infraestructura de Escritorio Virtual Windows Server 2012: Infraestructura de Escritorio Virtual Módulo 1: Visión general de Virtualización del Escritorio de Microsoft y la Virtualización del estado de usuario Módulo del Manual Autores: James

Más detalles

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi Gestión de Permisos Bizagi Suite Gestión de Permisos 1 Tabla de Contenido Gestión de Permisos... 3 Definiciones... 3 Rol... 3 Perfil... 3 Permiso... 3 Módulo... 3 Privilegio... 3 Elementos del Proceso...

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red. Comercio electrónico. (e-commerce) Las empresas que ya están utilizando la red para hacer comercio ven como están cambiando las relaciones de la empresa con sus clientes, sus empleados, sus colaboradores

Más detalles

Visión General de GXportal. Última actualización: 2009

Visión General de GXportal. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Capitulo 5. Implementación del sistema MDM

Capitulo 5. Implementación del sistema MDM Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo

Más detalles

Windows Server 2012: Infraestructura de Escritorio Virtual

Windows Server 2012: Infraestructura de Escritorio Virtual Windows Server 2012: Infraestructura de Escritorio Virtual Módulo 1: Application Virtualization Módulo del Manual Autores: James Hamilton-Adams, Content Master Publicado: 5 de Octubre 2012 La información

Más detalles

Sistema de diseño y seguimiento de Procesos WT - WorkFlow.

Sistema de diseño y seguimiento de Procesos WT - WorkFlow. Sistema de diseño y seguimiento de Procesos WT - WorkFlow. Introducción El moderno y veloz ambiente empresarial demanda una gran agilidad en los procesos internos corporativos como clave para la competitividad.

Más detalles

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional.

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional. 1. Definición JBoss es un proyecto de código abierto, con el que se consigue un servidor de aplicaciones basado en J2EE, e implementado al 100% en Java. Por lo tanto al estar basado en Java, JBoss puede

Más detalles

Sesión No. 7. Contextualización: Nombre de la sesión: Intelisis Business Intelligence PAQUETERÍA CONTABLE

Sesión No. 7. Contextualización: Nombre de la sesión: Intelisis Business Intelligence PAQUETERÍA CONTABLE Paquetería contable 1 Sesión No. 7 Nombre de la sesión: Intelisis Business Intelligence Contextualización: Llegamos al tema de los sistemas contables o de paquetería contable basados en los sistemas conocidos

Más detalles

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica)

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Servinet Sistemas y Comunicación S.L. www.softwaregestionsat.com Última Revisión: Octubre 2014 FUNCIONALIDADES SAT

Más detalles

Nombre de la sesión: Intelisis Business Intelligence segunda parte

Nombre de la sesión: Intelisis Business Intelligence segunda parte Paquetería contable 1 Sesión No. 8 Nombre de la sesión: Intelisis Business Intelligence segunda parte Contextualización: Con el crecimiento de un sinnúmero de proyectos en las empresas, se ha generado

Más detalles

UNIVERSIDAD DE OVIEDO

UNIVERSIDAD DE OVIEDO UNIVERSIDAD DE OVIEDO ESCUELA POLITÉCNICA DE INGENIERÍA DE GIJÓN MÁSTER EN INGENIERÍA INFORMÁTICA TRABAJO FIN DE MÁSTER SPRING ROO ADD-ONS PARA PROTOTIPADO RÁPIDO JAVIER MENÉNDEZ ÁLVAREZ JULIO 2014 UNIVERSIDAD

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

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

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO... Tabla de Contenido PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO... 2 1. LA PRESENCIA DE INFORMACIÓN Y AYUDA ÚTIL PARA COMPLETAR LOS TRÁMITES EN LÍNEA.... 2 2. LA DISPONIBILIDAD DE DIVERSOS

Más detalles

Ventajas del software del SIGOB para las instituciones

Ventajas del software del SIGOB para las instituciones Ventajas del software del SIGOB para las instituciones Podemos afirmar que además de la metodología y los enfoques de trabajo que provee el proyecto, el software, eenn ssi i mi issmoo, resulta un gran

Más detalles

Sistema de Gestión de Proyectos Estratégicos.

Sistema de Gestión de Proyectos Estratégicos. [Documento versión 2.0 del 24/06/2015] Sistema de Gestión de Proyectos Estratégicos. El sistema de Gestión de Proyectos Estratégicos (GPE), es una poderosa herramienta para administrar y gestionar los

Más detalles

Windows Server 2003. Windows Server 2003

Windows Server 2003. Windows Server 2003 Windows Server 2003 Windows Server 2003 Es un sistema operativo de la familia Windows de la marca Microsoft para servidores que salió al mercado en el año 2003. Está basada en tecnología NT y su versión

Más detalles

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)

Más detalles

Información de Producto:

Información de Producto: Windows Server 2008 Foundation La nueva tecnología rentable de Windows Server 2008 Foundation La tecnología confiable y comprobada de Windows Server Foundation proporciona una base para ejecutar las aplicaciones

Más detalles

Microsoft Dynamics. Instalación de Management Reporter for Microsoft Dynamics ERP

Microsoft Dynamics. Instalación de Management Reporter for Microsoft Dynamics ERP Microsoft Dynamics Instalación de Management Reporter for Microsoft Dynamics ERP Fecha: mayo de 2010 Tabla de contenido Introducción... 3 Información general... 3 Requisitos del sistema... 3 Instalación

Más detalles

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014

Más detalles

QUE ES COMLINE MENSAJES? QUE TIPO DE MENSAJES PROCESA COMLINE MENSAJES?

QUE ES COMLINE MENSAJES? QUE TIPO DE MENSAJES PROCESA COMLINE MENSAJES? QUE ES COMLINE MENSAJES? Comline Mensajes es una plataforma flexible, ágil y oportuna, que permite el envío MASIVO de MENSAJES DE TEXTO (SMS). Comline Mensajes integra su tecnología a los centros de recepción

Más detalles

SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT

SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT INTRODUCCIÓN La documentación de auditoría ó papeles de trabajo son el respaldo que tiene el auditor para registrar los procedimientos aplicados,

Más detalles

Historia de revisiones

Historia de revisiones Herbert Game Documentación Técnica Versión 1.4 Historia de revisiones Fecha Versión Descripción Autor 6/11/2011 1.0 Primer versión de la Documentación Técnica Hernán Albano 06/11/2011 1.1 Revisión del

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

Infraestructura Tecnológica. Sesión 2: Mejoras adicionales al servidor de archivos

Infraestructura Tecnológica. Sesión 2: Mejoras adicionales al servidor de archivos Infraestructura Tecnológica Sesión 2: Mejoras adicionales al servidor de archivos Contextualización Los servidores como cualquier equipo de cómputo pueden contar con varias mejoras con las que se pueden

Más detalles

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura 1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos

Más detalles

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

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.

Más detalles

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN INTRANET DE UNA EMPRESA Autor: Burgos González, Sergio. Director: Zaforas de Cabo, Juan. Entidad colaboradora: Colegio de Ingenieros del ICAI. RESUMEN DEL PROYECTO El proyecto consiste en el desarrollo

Más detalles

SIMAD CLOUD. La Gestión Documental ahora en la nube, más eficiente SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL

SIMAD CLOUD. La Gestión Documental ahora en la nube, más eficiente SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL La administración documental profesional es una completa herramienta documental dirigida preferiblemente a pequeñas y medianas organizaciones para ganar control sobre sus documentos, con énfasis en la

Más detalles

System Center. la plataforma para una gestión ágil de los entornos de TI IDG COMMUNICATIONS, S.A.

System Center. la plataforma para una gestión ágil de los entornos de TI IDG COMMUNICATIONS, S.A. la plataforma para una gestión ágil de los entornos de TI System Center la plataforma para una gestión ágil de los entornos de TI Introducción En la actualidad son ya muchas las empresas que están experimentando

Más detalles

LANZAMIENTO PROYECTO : INTEGRA Montaje del ERP SIESA Enterprise. Barranquilla - Colombia 2012

LANZAMIENTO PROYECTO : INTEGRA Montaje del ERP SIESA Enterprise. Barranquilla - Colombia 2012 LANZAMIENTO PROYECTO : INTEGRA Montaje del ERP SIESA Enterprise Barranquilla - Colombia 2012 Contenido 1. Que Queremos? 2. Como estamos? 3. Razones para Cambiar? 4. Quien es SIESA? 1. Presentación Video

Más detalles

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para Empresas en Crecimiento Portfolio SAP BusinessObjects Soluciones SAP para Empresas en Crecimiento Resumen Ejecutivo Inteligencia

Más detalles

Familia de Windows Server 2003

Familia de Windows Server 2003 Familia de Windows Server 2003 Windows Server 2003 está disponible en cuatro ediciones. Cada edición se ha desarrollado para una función de servidor específica, como se describe en la tabla siguiente:

Más detalles

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado Capítulo VI Estudio de Caso de Aplicación del Integrador de Información Desarrollado 6.1 Organización elegida La Organización elegida para el caso de aplicación, es la empresa CTM Tours del grupo Costamar,

Más detalles

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0 Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. DEFINICIÓN...

Más detalles

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

Código del programa: PEMDE. Programa Experto en MANEJO DE DATOS CON EXCEL. Modalidad: Virtual. Descripción del programa Código del programa: PEMDE Programa Experto en MANEJO DE DATOS CON EXCEL Modalidad: Virtual Descripción del programa 1 Presentación del programa Justificación Microsoft Excel es la herramienta de manejo

Más detalles

Sesión No. 10. Contextualización: Nombre de la sesión: ClickBalance segunda parte PAQUETERÍA CONTABLE

Sesión No. 10. Contextualización: Nombre de la sesión: ClickBalance segunda parte PAQUETERÍA CONTABLE Paquetería contable 1 Sesión No. 10 Nombre de la sesión: ClickBalance segunda parte Contextualización: Como complemento de este sistema a las demás áreas operativas de una empresa como son recursos humanos,

Más detalles

Empresa Financiera Herramientas de SW Servicios

Empresa Financiera Herramientas de SW Servicios Empresa Financiera Herramientas de SW Servicios Resulta importante mencionar que ésta es una empresa cuya actividad principal está enfocada a satisfacer las necesidades financieras de los clientes, a través

Más detalles

elastic PROJECTS INFORMACIÓN COMERCIAL PROJECTS

elastic PROJECTS INFORMACIÓN COMERCIAL PROJECTS PROJECTS elastic PROJECTS INFORMACIÓN COMERCIAL Inscripción Registro Mercantil de Pontevedra, Tomo 3116, Libro 3116, Folio 30, Hoja PO-38276 C.I.F.: B-36.499.960 contact@imatia.com 1 INTRODUCCIÓN Mediante

Más detalles

Tema 1. Introducción a Java EE

Tema 1. Introducción a Java EE Objetivos del tema Propiedades de las aplicaciones empresariales El Modelo Cliente/Servidor Presentar la Plataforma Java Presentar Java EE y otras tecnologías horizontales Tema 1. Introducción a Java EE

Más detalles

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN Proceso de Negocio (Business Process) Conjunto estructurado, medible de actividades para producir un producto.

Más detalles

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Descripción general de la solución Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Lo que aprenderá A medida que tecnologías como la nube, la movilidad, los medios sociales

Más detalles

Descripción. Este Software cumple los siguientes hitos:

Descripción. Este Software cumple los siguientes hitos: WWWMONITORDBACOM Descripción Este Software cumple los siguientes hitos: a- Consola de Monitoreo b- Envío de Alertas (correo, SMS) c- Gestión de Eventos desatendidos (sea capaz ejecutar script de solución

Más detalles

2.1 Clasificación de los sistemas de Producción.

2.1 Clasificación de los sistemas de Producción. ADMINISTRACION DE OPERACIONES Sesión 2: La Administración de operaciones II Objetivo específico 1: El alumno conocerá la clasificación de los sistemas de producción, los sistemas avanzados de manufactura

Más detalles

Curso de HTML5 y CSS3

Curso de HTML5 y CSS3 Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 1 Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2 2 HTML sin duda, definió

Más detalles

POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE

POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE DESCRIPCIÓN Microsoft es una de las principales empresas dedicada al mundo de las tecnologías, haciendo grandes esfuerzos para ponerse a la cabeza de la actualidad

Más detalles

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS Página 1 de 20 INSTALACIÓ N A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc

Más detalles

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services.

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services. Windows Server 2012: Identidad y Acceso Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services. Manual del Módulo Autor: Andrew J Warren, Content Master Publicado: Septiembre 10 de

Más detalles

Sistema de marketing de proximidad

Sistema de marketing de proximidad Dizan Vasquez Propuesta de proyecto Sistema de marketing de proximidad ACME México Dizan Vasquez Índice general 1. Descripción 3 2. Resúmen ejecutivo 4 2.1. Objetivo.................................................

Más detalles

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

Análisis y diseño del sistema CAPÍTULO 3 Análisis y diseño del sistema CAPÍTULO 3 36 CAPÍTULO 3 Análisis y diseño del sistema En este capítulo se pretende realizar un análisis detallado de los requerimientos del software a desarrollar para la

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

Diseño e Implementación

Diseño e Implementación Datos de la empresa: Actualmente Aliaxis Centroamérica tiene presencia en 13 países y su operación a nivel estratégico y tecnológico es gestionada desde Costa Rica. Dada su dispersión geográfica, se requería

Más detalles

UNIVERSIDAD AUTÓNOMA DEL CARIBE

UNIVERSIDAD AUTÓNOMA DEL CARIBE Página: 1/5 UNIVERSIDAD AUTÓNOMA DEL CARIBE SOPORTE DE PLATAFORMA GESTIÓN INFORMÁTICA Página: 2/5 1. OBJETO El objeto del procedimiento es garantizar una plataforma tecnológica y un sistema de comunicación

Más detalles

Diseño, desarrollo e implementación de una nueva versión de la Herramienta Helpdesk

Diseño, desarrollo e implementación de una nueva versión de la Herramienta Helpdesk Diseño, desarrollo e implementación de una nueva versión de la Herramienta Helpdesk Departamento ID del documento Innovaciones DANA-INNOVACIONES- HerramientaHelpdesk Última revisión Creado por Revisado

Más detalles

http://www.nicasoft.com.ni

http://www.nicasoft.com.ni BSC-RH es un sistema automatizado de planificación estratégica y gestión, utilizado en empresas para direccionar las actividades del negocio a la visión y estrategia de la organización. Mejora la comunicación

Más detalles

Novedades en Q-flow 3.02

Novedades en Q-flow 3.02 Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye

Más detalles

CENTRO DE CONTACTO CON EL CLIENTE MÓDULO DE GESTIÓN DE ACTIVIDADES E INTERACCIONES

CENTRO DE CONTACTO CON EL CLIENTE MÓDULO DE GESTIÓN DE ACTIVIDADES E INTERACCIONES CENTRO DE CONTACTO CON EL CLIENTE MÓDULO DE GESTIÓN DE ACTIVIDADES E INTERACCIONES El asesor comercial tiene como principal misión mantener un contacto personalizado con sus clientes potenciales y actuales.

Más detalles

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

Sistema de Mensajería Empresarial para generación Masiva de DTE Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE

Más detalles

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

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema Capítulo2 Planteamientodelproblema 38 2.1Antecedentesycontextodelproyecto En lo que respecta a los antecedentes del proyecto, se describe inicialmente el contexto donde se utiliza el producto de software.

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Manual de usuario del Centro de Control

Manual de usuario del Centro de Control Manual de usuario del Centro de Control www.ximdex.com Tabla de contenidos 1. Centro de Control...4 2. Gestor de Canales...5 2.1. Añadir un nuevo canal...6 2.2. Modificar las propiedades del canal...6

Más detalles

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV Página 1 de 6 1. OBJETIVO El presente documento tiene la finalidad de citar los beneficios de la migración de la herramienta de análisis de riesgo, mantenimiento e inspección que en lo sucesivo se denominará

Más detalles

ERPUP (Pequeñas y Medianas Empresas)

ERPUP (Pequeñas y Medianas Empresas) ERPUP (Pequeñas y Medianas Empresas) Quiere impulsar su compañía? Posee sistemas de información pero no están acorde a su realidad y necesidades? Finalmente mucha de la información termina administrándola

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 4 Julio 2009 Índice 1. Generalidades... 3 1.1

Más detalles

PROCEDIMIENTO GESTIÓN TICS

PROCEDIMIENTO GESTIÓN TICS . OBJETIVO Asesorar, preservar y mantener toda la infraestructura en tecnologías de la información y de comunicaciones en equipos de programas informáticos y medios de comunicación para reunir, almacenar,

Más detalles

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto Introducción: Sobre casi cualquier tema del quehacer humano que se aborde, existen

Más detalles

OpenProdoc. ECM Open Source

OpenProdoc. ECM Open Source OpenProdoc ECM Open Source Índice Visión General Arquitectura Funciones Seguridad Administración Requerimientos Evolución Visión General OpenProdoc es un gestor documental de código abierto. Cuenta con

Más detalles

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA ACLARACIONES Y RESPUESTAS A CONSULTAS SEGUNDA PARTE De acuerdo a lo señalado en el numeral 11 de las Bases de Licitación, a continuación se presenta

Más detalles

BearSoft. SitodeCloud. Rafael Rios Bascón Web: http://www.bearsoft.com.bo Móvil: +591 77787631 Email: rafael.rios@bearsoft.com.bo

BearSoft. SitodeCloud. Rafael Rios Bascón Web: http://www.bearsoft.com.bo Móvil: +591 77787631 Email: rafael.rios@bearsoft.com.bo BearSoft Rafael Rios Bascón Web: http://www.bearsoft.com.bo Móvil: +591 77787631 Email: rafael.rios@bearsoft.com.bo CONTENIDO 1. Resumen. 3 2. Business Intelligence.. 4 3. Características del software.

Más detalles

ENCUENTA - CONTABILIDAD Net. Definiciones generales

ENCUENTA - CONTABILIDAD Net. Definiciones generales ENCUENTA - CONTABILIDAD Net Definiciones generales 2013 ENCUENTA - CONTABILIDAD Net Definiciones generales Contenido 1 GENERALIDADES... 3 2 DISTRIBUCIÓN GENERAL DE LOS ELEMENTOS DEL SISTEMA... 3 3 REQUERIMIENTOS...

Más detalles

Universidad de Colima Facultad de Ingeniería Mecánica y Eléctrica. Base de Datos I. Maestra: Martha E. Evangelista Salazar

Universidad de Colima Facultad de Ingeniería Mecánica y Eléctrica. Base de Datos I. Maestra: Martha E. Evangelista Salazar Universidad de Colima Facultad de Ingeniería Mecánica y Eléctrica Base de Datos I Maestra: Martha E. Evangelista Salazar Introducción a los conceptos de Bases de Datos a).- Definiciones básicas sobre bases

Más detalles

Novedades de Microsoft Dynamics 2011

Novedades de Microsoft Dynamics 2011 Novedades de Microsoft Dynamics 2011 Microsoft Dynamics CRM 2011 ofrece características nuevas y mejoradas que le ayudarán a aumentar la eficacia y la productividad de su organización. Interfaz de Microsoft

Más detalles

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

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

Microsoft SQL Server Conceptos.

Microsoft SQL Server Conceptos. Microsoft Conceptos. Microsoft 2005 es una plataforma de base de datos a gran escala de procesamiento de transacciones en línea (OLTP) y de procesamiento analítico en línea (OLAP). La siguiente tabla muestra

Más detalles

AVA-QHSE System. Introducción Características del producto Especificaciones Técnicas

AVA-QHSE System. Introducción Características del producto Especificaciones Técnicas Introducción Características del producto Especificaciones Técnicas Introducción Qué es AVA-QHSESystem? AVA-QHSESystem es una solución completa de apoyo a la gestión y cumplimiento de las normas de Seguridad,

Más detalles

APO BPM Software de Automatización de Procesos. Defina, integre y controle sus circuitos de negocio en un solo lugar

APO BPM Software de Automatización de Procesos. Defina, integre y controle sus circuitos de negocio en un solo lugar APO BPM Software de Automatización de Procesos Defina, integre y controle sus circuitos de negocio en un solo lugar APO BPM es una herramienta para la definición dinámica, integración, ejecución y control

Más detalles