• No se han encontrado resultados

Sistema de servicios Web para desarrolladores del MININT

N/A
N/A
Protected

Academic year: 2020

Share "Sistema de servicios Web para desarrolladores del MININT"

Copied!
52
0
0

Texto completo

(1)Universidad Central “Marta Abreu” de Las Villas. Facultad Matemática, Física y Computación Departamento de Ciencia de la Computación. Tesis presentada en opción al grado científico de Licenciado en Ciencia de la Computación. Sistema de Servicios Web para Desarrolladores del MININT Autor: ALEJANDRO DUENAS REAL Tutores: ING. ELIZABETH SÁNCHEZ MORENO ING. REINIER PERALTA VALDÉS. Santa Clara. 27 de junio de 2014. “Año 56 de la Revolución.

(2) DEDICATORIA. DEDICATORIA. A mis padres, a mi hermano, a mi tía Flora y a Viti. Los quiere mucho… Alejandro. II.

(3) AGRADECIMIENTOSDEDICATORIA. AGRADECIMIENTOS. Les agradezco a mis padres porque sin ellos no sería quien soy y por haberme impulsado a estudiar y a superarme. A mi hermano por ayudarme con los regaños de mis padres. A mi tía Flora por haber sido mi ejemplo a seguir. A Viti por ayudarme tantas veces. A mis amigos, Sady, Dainel, Víctor, Luis Javier, Luis Miguel, Luis Felipe, Juan Luis, Jose,el Chacal,Anaisis,Erick,Claudia,Lice. A mis tutores Elizabeth y Reinier por ser parte importante en este trabajo. A mis profesores de la facultad por dedicarme tanto tiempo y esfuerzo para hacerme un profesional.. III.

(4) RESUMEN. RESUMEN La presente investigación tiene como propósito el diseño e implementación del sistema informático de nombre “Sistema de Servicios Web para desarrolladores de MININT”, con el objetivo de lograr calidad y rapidez en los análisis solicitados por los directivos y a la hora de desarrollar nuevas aplicaciones. Se diseñó un Sistema de Servicios Web que satisface las necesidades relacionadas con la obtención de información de los órganos Guardabosques, Cuadro y Prisiones. Se implementó una aplicación Web que consume el servicio creado. Para la implementación de este sistema se utilizó el entorno de desarrollo integrado Oracle JDeveloper perteneciendo a la capa media de Oracle, utilizando así las ventajas de las tecnologías asociadas al mismo, para la simplificación del desarrollo de aplicaciones.. IV.

(5) ¡ERROR! NO SE ENCUENTRA EL ORIGEN DE LA REFERENCIA.. ABSTRACT Present investigation has like purpose the design and implementation of the informationtechnology system of name “Sistema de Servicios Web”, in order to help the developers of software of the MININT in Definite Villa, for the sake of achieving quality and rapidity in the analyses requested by the executives. Satisfying Web designed Server System itself the related needs with the step of the information of the organs Guardabosques, Cuadro and Prisiones. Web that you include between his functionalities harnessed an application itself to visualize to her information of the mentioned organs. Oracle used the surroundings of integrated development himself for the implementation of this system JDeveloper belonging to half an Oracle's cape, using the same advantages of technologies associated to for the simplification of the development of applications that way.. V.

(6) TABLA DE CONTENIDOS. TABLA DE CONTENIDOS DEDICATORIA..............................................................................................................II AGRADECIMIENTOS .................................................................................................. III RESUMEN .................................................................................................................. IV ABSTRACT .................................................................................................................. V TABLA DE CONTENIDOS .......................................................................................... VI LISTA DE FIGURAS ................................................................................................. VIII LISTA DE TABLAS ..................................................................................................... IX INTRODUCCIÓN ........................................................................................................ 10 CAPITULO I. SISTEMA DE SERVICIOS WEB............................................................ 13 1.1 Servicios web ................................................................................................. 13 1.2 Características de los servicios web. .............................................................. 15 1.3 Lenguaje de marcas extensible (XML) ............................................................ 15 1.4 Características de XML................................................................................... 15 1.5 Servidores Web .............................................................................................. 17 1.6 WebLogic ....................................................................................................... 17 1.7 JDeveloper ..................................................................................................... 18 1.7.1 Sistema gestor de base de datos Oracle ....................................................... 19 1.8 Visual Paradigm ................................................................................................ 20 1.9 Arquitecturas orientadas a servicios (SOA)........................................................... 20 1.10 WSDL ........................................................................................................... 23 Conclusiones parciales ........................................................................................ 24 CAPITULO II. PROPUESTA DE SOLUCION .............................................................. 25 2.1 Introducción ................................................................................................... 25 2.2 Propuesta del sistema .................................................................................... 25 2.3 Especificación de los requisitos de software .................................................. 25 2.3.1 Requisitos funcionales........................................................................................ 26 2.3.2 Requisitos no funcionales .................................................................................. 26 2.4 Descripción de los casos de usos del sistema. ............................................... 28 2.5 Diseño del sistema............................................................................................. 28 2.6 Diagrama de clases ........................................................................................ 29 2.7 Diagrama de actividad ....................................................................................... 29 2.8 Diagrama de Componentes ............................................................................ 30 2.9 REPRESENTACIÓN DE SERVICIOS ............................................................ 31 2.10 Diagrama de despliegue ............................................................................... 32 2.11 Conclusiones parciales ................................................................................. 33 CAPITULO III. RESULTADOS .................................................................................... 34 VI.

(7) TABLA DE CONTENIDOS. 3.1 Introducción ..................................................................................................... 34 3.2 Diagrama de Navegación ................................................................................... 34 3.3 Páginas del sitio ............................................................................................. 35 3.4 Pruebas .......................................................................................................... 40 3.5 Métodos de prueba ......................................................................................... 41 3.6 Prueba de caja blanca .................................................................................... 41 3.7 Prueba de caja negra ..................................................................................... 42 3.8 Técnicas de caja negra ................................................................................... 42 3.9 Pruebas realizadas a la aplicación ................................................................. 43 3.10 Conclusiones Parciales ................................................................................. 45 CONCLUSIONES ....................................................................................................... 46 RECOMENDACIONES ............................................................................................... 47 REFERENCIAS BIBLIOGRAFICAS ............................................................................ 48 Introducción ......................................................................................................... 50 Desarrollo ............................................................................................................ 50 Prerrequisitos para el consumo de los servicios ............................................................. 50 Crear el servicio proxy Web ........................................................................................... 50. VII.

(8) LISTA DE TABLASLISTA DE FIGURASTABLA DE CONTENIDOS. LISTA DE FIGURAS Ilustración 1 Diagrama de casos de uso ...................................................................................... 28 Ilustración 2: Diagrama de Clases............................................................................................... 29 Ilustración 3: Diagrama de Actividad para caso de uso Obtener multas de la persona .............. 30 Ilustración 4: Diagrama de Componentes ................................................................................... 31 Ilustración 5: Diagrama de Despliegue ....................................................................................... 32 Ilustración 6: diagrama de Navegación ....................................................................................... 35 Ilustración 7: Índex.jsp ................................................................................................................ 36 Ilustración 8: cuadro.jsp Pestaña Datos ...................................................................................... 37 Ilustración 9: cuadro.jsp Pestaña Datos Personas ....................................................................... 37 Ilustración 10: guardabosque.jsp Pestaña Datos Multa ............................................................... 38 Ilustración 11: prisiones.jsp Pestaña Personas Sanción .............................................................. 39 Ilustración 12: prisiones.jsp Pestaña Datos Expedientes ............................................................ 39 Ilustración 13: prisiones.jsp Pestaña Personas ............................................................................ 40 Ilustración 14: Ciclo completo de las pruebas del Software ....................................................... 41 Ilustración 15 Nuevo Proyecto .................................................................................................... 50 Ilustración 16 : Crear servicio Web Proxy1 ................................................................................ 51 Ilustración 17 : Crear servicio Web Proxy2 ................................................................................ 52 Ilustración 18: Crear servicio Web Proxy3 ................................................................................. 52. VIII.

(9) LISTA DE TABLASLISTA DE FIGURASTABLA DE CONTENIDOS. LISTA DE TABLAS. Tabla 1 Descripción de los actores del negocio .......................................................................... 27 Tabla 2 Descripción de los casos de uso del sistema .................................................................. 28 Tabla 4 Descripción de los componentes del Diagrama de Despliegue. .................................... 33 Tabla 5 Descripción de las páginas del sitio ............................................................................... 35. IX.

(10) INTRODUCCIÓN. INTRODUCCIÓN En los primeros computadores corría un solo programa a la vez, pero en la medida que en un mismo computador podían correr varios programas al mismo tiempo, surgió la necesidad de contar con mecanismo de comunicación entre ellos, estos mecanismos han evolucionado debido que los computadores conforman redes. Por tanto, esta comunicación debe poder efectuarse entre un programa X, que corre en el computador Alfa, y otro programa Y, que corre en el computador Beta. Para que esta comunicación funcione, primero debe existir un medio de comunicación entre el computador Alfa y el computador Beta; esto hoy está resuelto con la Internet. Para que esto ocurra el programador a cargo de X debe conocer de Y. A su vez el programador a cargo de Y debe conocer de X, por lo menos en los que se refiere al intercambio de datos. Esto hace que si no hay acuerdo entre el programador de X y el programador de Y, no hay comunicación posible. La magia de los servicios web está en que el programador de X puede crear un servicios web para transferir datos sin necesidad de conocer al programador Y, ni a los programas que éste tiene a cargo. De modo que quien quiera recibir los datos solo necesita usar el servicio web y punto. Esto significa que pueden existir transferencias de datos entre distintas aplicaciones –programas- que funcionan en varios computadores, con distintos sistemas operativos, y que pertenezcan a diferentes empresas o instituciones. A diferencia de los modelos Cliente/Servidor, tales como un servidor de páginas Web, los servicios web no proveen al usuario una interfaz gráfica (GUI). En vez de ello, los servicios web comparten la lógica del negocio, los datos y los procesos, por medio de una interfaz de programas a través de la red. Es decir conectan programas, por tanto son programas que no interactúan directamente con los usuarios. Los desarrolladores pueden por consiguiente agregar a los servicios web la interfaz para usuarios, por ejemplo mediante una página Web o un programa ejecutable, tal de entregarles a los usuarios una funcionalidad específica que provee un determinado servicio web. Los servicios web permiten a distintas aplicaciones, de diferentes orígenes, comunicarse entre ellos sin necesidad de escribir programas costosos, esto porque la comunicación se hace con XML. No están ligados a ningún Sistema Operativo o Lenguaje de 10.

(11) INTRODUCCIÓN. Programación por eso han crecido en popularidad y han comenzado a mejorar los procesos de negocios. De hecho, están generando la próxima evolución de la Web. Esta flexibilidad será cada vez más importante, ya que la tendencia a construir grandes aplicaciones a partir de componentes distribuidos más pequeños es cada día más utilizada. El MININT hace algún tiempo promueve investigaciones en estas áreas, lo que ha despertado el interés por las facilidades que brinda esta tecnología. Planteamiento del problema En el MININT de Villa Clara existen varios sistemas que surten de información a bases de datos que contienen información de la labor operativa realizada por diferentes unidades, estos sistemas están diseñados con tecnologías obsoletas, por lo que resulta casi imposible agregar nuevas funcionalidades a estos, no tienen una interfaz que liste y obtenga una información en particular. Para agregar funcionalidades de obtención de datos se utiliza servicios web, que acceden directamente a las base de datos y brindan información deseada para ser utilizada por quien la requiera. El MININT está desarrollando nuevas aplicaciones que brinden y complementen a los sistemas que están diseñados con tecnologías obsoletas, por lo que se genera el siguiente objetivo general. Objetivo general Diseñar e Implementar un sistema de servicios web para asistir a los desarrolladores de software del MININT en Villa Clara. Objetivos específicos -. Identificar los requerimientos del sistema de servicio Web.. -. Proponer una arquitectura informática para dicho sistema.. -. Implementar computacionalmente un prototipo de software acorde a la arquitectura propuesta.. 11.

(12) INTRODUCCIÓN. -. Implementar una interfaz web que consuma estos servicios de una forma clara y sencilla.. Preguntas de Investigación A partir de lo expuesto anteriormente se pueden plantear las siguientes preguntas de investigación: 1. ¿Cuáles son los requisitos y funcionalidades del sistema propuesto? 2. ¿Cuál arquitectura resulta adecuada para el sistema de servicios web? 3. ¿Qué ventajas presenta el sistema de servicios web para el MININT de Villa Clara y de qué forma puede repercutir en el trabajo de los desarrolladores de software? Justificación Existe en estos momentos la necesidad de tener un servicio que asista el trabajo de los desarrolladores de software con los sistemas del MININT en Villa Clara. Teniendo en cuenta las ventajas y beneficios de esto, resulta apropiado realizar un servicio web que permita a los especialistas y desarrolladores de software tener una herramienta eficiente para ayudar a desarrollar aplicaciones de forma rápida y precisa. Para el desarrollo de esta investigación se cuenta con personal capacitado y con experiencia técnica suficiente para la realización de la misma. Se dispone además de los recursos, tanto de hardware como de software, necesarios para la realización del proyecto, así como del apoyo de los especialistas de la Delegación del MININT de Villa Clara.. 12.

(13) CAPITULO I SISTEMA DE SERVICIOS WEB.. CAPITULO I. SISTEMA DE SERVICIOS WEB. El presente capítulo está destinado a los conceptos y descripción de los componentes de software del sistema propuesto, framework utilizado para la implementación del mismo, lenguajes de programación implicados, gestor de base de datos, servidor de aplicaciones, etc., todo un conjunto de componentes que integran la Capa Media de Oracle, también se hace referencia a la herramienta de modelado utilizada y a la arquitectura SOA.. 1.1 Servicios web Un servicio web es una pieza de software que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, se pueden utilizar los servicios web para intercambiar datos en redes de ordenadores. Utilizan estándares para el transporte, codificación y protocolo de intercambio de información. Los servicios Web permiten la intercomunicación entre sistemas de cualquier plataforma y se utilizan en una gran variedad de escenarios de integración. La interoperabilidad de estos se consigue mediante la adopción de estándares abiertos. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I (Interoperabilidad de Servicios Web), encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares. (GONZÁLEZ, D. F. 2011) Dentro de la arquitectura SOA para la implementación de Servicios Web, la interoperabilidad es tal vez el principio más importante. Como método de implementación de SOA, Web Services debe ofrecer importantes beneficios de interoperabilidad, y permitir la ejecución de servicios Web distribuidos en múltiples plataformas de software y arquitecturas de hardware. La Organización para la Interoperabilidad de Servicios Web es un esfuerzo de la industria en este sentido. Su objetivo es fomentar y promover la Interoperabilidad de Servicios Web (WS-I) sobre cualquier plataforma, sobre aplicaciones, y sobre lenguajes de programación. Su intención es ser un integrador de estándares para ayudar al avance de los servicios web de una manera estructurada y coherente. La WS-I ha organizado los estándares que afectan a la interoperabilidad de los servicios web en una pila basada en funcionalidades.. 13.

(14) CAPITULO I SISTEMA DE SERVICIOS WEB.. Hay varios estándares que necesitan ser coordinados para llevar a buen término las cuestiones de interoperabilidad de servicios. Dichos estándares se están desarrollando en paralelo y de manera independiente. Para superar estas cuestiones, la WS-I ha desarrollado el concepto de ‘perfil’. La WS-I define un perfil como: Un conjunto de definiciones y especificaciones comúnmente aceptadas por la industria y a partir del apoyo a estándares basados en XML, junto con un conjunto de indicaciones que recomiendan cómo se deben usar las especificaciones para desarrollar servicios web interoperables entre sí. Dado que dicha organización, de carácter abierto, está compuesta por las principales compañías de desarrollo de software, como IBM, Microsoft o Sun Microsystems, hay un claro compromiso por incluir todos estos estándares en el mundo de la programación actual y futura. Estándares empleados . Pila de Protocolo de Servicios Web: Así se le denomina al conjunto de servicios y protocolos de los servicios Web.. . XML: Es el formato estándar para los datos que se vayan a intercambiar.. . SOAP: Protocolo sobre lo que se establece el intercambio.. . Otros protocolos: los datos en XML también pueden enviarse de una aplicación a otra mediante protocolos normales como HTTP, FTP, o SMTP.. . WSDL (Lenguaje de Descripción de Servicios Web): Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con los Servicios Web.. . UDDI (La Descripción Universal, el Descubrimiento y la Integración): Protocolo para publicar la información de los servicios Web. Permite comprobar qué servicios web están disponibles.. . WS-Security (Seguridad en Servicios Web): Protocolo de seguridad aceptado como estándar. Garantiza la autenticación de los actores y la confidencialidad de los mensajes enviados.. 14.

(15) CAPITULO I SISTEMA DE SERVICIOS WEB.. 1.2 Características de los servicios web. . Aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen.. . Los servicios web fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento.. . Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados.. . Permiten comunicar aplicaciones por medios de los mismos protocolos que soportan internet como el lenguaje de marcas extensible (XML).. . Son independientes de la plataforma.. . Son independientes del protocolo.. 1.3 Lenguaje de marcas extensible (XML) XML es un formato universal para documentos y datos estructurados en Internet este estándar. permite el intercambio de información estructurada entre diferentes plataformas. Por lo que se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable. (MICROSOFT, C. 2006). 1.4 Características de XML Sus características más relevantes son: XML es un estándar para escribir datos estructurados en un fichero de texto. XML provee un conjunto de reglas, normas y convenciones para diseñar formatos de texto para datos estructurados que van desde las hojas de cálculo, o las libretas de direcciones de Internet, hasta parámetros de configuración, transacciones financieras o dibujos técnicos. Los programas que los generan, utilizan normalmente formatos binarios o de texto. XML permite resolver problemas comunes, como la falta de extensibilidad, carencias de soporte debido a características de internacionalización, o problemas asociados a plataformas específicas.. 15.

(16) CAPITULO I SISTEMA DE SERVICIOS WEB.. XML parece HTML pero no lo es. Tanto XML como HTML usan marcas y atributos, más su diferencia radica en que, en HTML cada marca y atributo establece un significado a la vez, incluyendo el aspecto que debe tener al verse en un navegador, en XML sólo se usan las marcas para delimitar fragmentos de datos, dejando la interpretación de éstos a la aplicación que los lee. XML está en formato texto, pero no para ser leído. El formato texto puede ser usado en cualquier plataforma, esto le da innumerables ventajas de portabilidad, depuración, independencia de plataforma, e incluso de edición, pero su sintaxis es más estricta que la de HTML: una marca olvidada o un valor de atributo sin comillas convierten el documento en inutilizable. No hay permisividad en la construcción de documentos, ya que esa es la única forma de protegerse contra problemas más graves. XML consta de una familia de tecnologías. La definición (estándar) de XML 1.0 viene de febrero 1998, pero su desarrollo se ha ido enriqueciendo paulatinamente a medida que se veían sus posibilidades: de esa forma, contamos con una especificación Xlink, que describe un modo estándar de añadir hipervínculos a un documento XML. XPointer y XFragments son especificaciones para establecer la forma de vincular partes de un documento XML. Incluso el lenguaje de hojas de estilo (CSS) se puede utilizar con XML al igual que se hace con HMTL. XSL es precisamente, una extensión del anterior, en la que se dispone de todo un lenguaje de programación exclusivamente para definir criterios de selección de los datos almacenados en un documento XML, y que funciona conjuntamente con CSS y HTML para suministrar al programador y al usuario mecanismos de presentación y selección de información que no requieren de la intervención constante del servidor. Se basa en un lenguaje anterior para transformación (XSLT) que permite modificar atributos y marcas de forma dinámica. XML es prolijo, pero eso no supone un problema. Los ficheros resultantes, son casi siempre mayores que sus equivalentes binarios. Esto es intencionado, y las ventajas ya las hemos comentado más arriba, mientras que las desventajas, siempre pueden ser soslayadas mediante técnicas de programación que permite comprimir los datos.. 16.

(17) CAPITULO I SISTEMA DE SERVICIOS WEB.. XML no requiere licencia. Es un estándar abierto independiente de la plataforma, y tiene un amplio soporte extendido a un sinnúmero herramientas y desarrolladores.. 1.5 Servidores Web Todo ordenador tiene un servidor o máquina dedicada, la cual está conectada a Internet para dar disponibilidad a sitios Web, cuando son solicitadas por usuarios de la red. Este ordenador o máquina, es conocida como servidor Web, aunque. la palabra servidor. identifica tanto al programa como a la máquina en la que dicho programa se ejecuta. El mismo acepta las peticiones “http” del navegador Web del usuario, y entrega las páginas Web que se visualizan, las cuales suelen ser páginas Web, hipertextos o páginas HTML: textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de sonidos. La comunicación de estos datos entre cliente y servidor se hace por medio un protocolo, concretamente del protocolo HTTP. Con esto, un servidor Web se mantiene a la espera de peticiones HTTP, que son ejecutadas por un cliente HTTP; lo que solemos conocer como un navegador Web. . Básicamente, cuando se navega por Internet, se está accediendo continuamente a cientos de servidores Web, los cuales constituyen almacenes de información en forma de páginas Web, dispuestas para su rápida entrega.. . Los servidores Web se han convertido en una tecnología que va muy de la mano junto al desarrollo progresivo y acelerado de la llamada red de redes, internet. Ello se debe en gran medida a que mediante estos, los usuarios en todo el mundo pueden recibir una serie de servicios de manera muy fácil y veloz. Algunos tipos de servidores Web son: Internet Información Servers (IIS), Apache y WebLogic.. 1.6 WebLogic WebLogic Server utiliza tecnologías de la plataforma Java 2, Enterprise Edición (J2EE). Esta última es la plataforma estándar para desarrollar aplicaciones multicapa basadas en el lenguaje de programación Java. Las aplicaciones J2EE están basadas en componentes estandarizados y modulares para los cuales WebLogic Server proporciona un conjunto completo de servicios y maneja automáticamente muchos detalles del comportamiento de la aplicación, sin requerir programación. También proporciona características esenciales para desarrollar y desplegar aplicaciones críticas de comercio electrónico a través de entornos de computación distribuidos y heterogéneos. Entre estas características es posible citar: estándares de Liderazgo-Soporte 17.

(18) CAPITULO I SISTEMA DE SERVICIOS WEB.. Comprensivo de Java Enterprise para facilitar la implementación y despliegue de componentes, máxima flexibilidad en el desarrollo y despliegue de cualquier aplicación, escalabilidad de comercio electrónico empresarial, seguridad lista para el comercio electrónico, administración robusta y ricas opciones de cliente. WebLogic Server incluye interoperabilidad .NET y admite las siguientes capacidades de integración nativa: . Mensajería nativa JMS a escala de empresa. . J2EE Conector de la arquitectura.. . Conector WebLogic/Tuxedo.. . Conectividad COM+. . Conectividad CORBA. . Conectividad IBM WebSphere MQ. En esta investigación será empleado WebLogic como servidor de aplicación para la realización del sitio Web por las ventajas antes mencionadas y porque hace uso de java como lenguaje de programación del lado del servidor de manera eficiente. También porque este servidor se encuentra entre las tecnologías que son política del MININT en cuanto a servidores de aplicaciones y porque existe una vasta experiencia de trabajo con este servidor de aplicaciones en el escenario donde se desarrolla el estudio.. 1.7 JDeveloper Desde su lanzamiento inicial como AppBuilder 1.0 para Java, JDeveloper ha seguido las tendencias de la industria y ha incluido características que igualan o superan al más convencional IDE de Java. Aunque JDeveloper ha ganado el favor de muchos críticos de la industria de Java, que ha sido muy popular entre los desarrolladores centrados en los productos de Oracle. Oracle JDeveloper se utiliza para crear el conjunto de Fusion Applications. Por lo tanto, los desarrolladores de aplicaciones de Oracle son una prueba contundente de que JDeveloper puede apoyar a los equipos grandes y desarrollar grandes aplicaciones. Por otra parte, es seguro que la corporación Oracle va a seguir desarrollando y apoyando a JDeveloper. Crear una aplicación en el entorno Java requiere la creación y la organización de cientos de archivos. Si usted es un experimentado o un novato programador de Java, el número de archivos y los requisitos de archivos detallados de cada tecnología puede ser desalentador. Como con cualquier buen IDE, como Oracle Forms o Visual Studio NET, JDeveloper le. 18.

(19) CAPITULO I SISTEMA DE SERVICIOS WEB.. ayuda en sus esfuerzos de desarrollo encargándose de las dos funciones siguientes que pueden tornar el desarrollo lento y tedioso: Creación de código: Cuando utiliza JDeveloper para crear archivos, el IDE utiliza sus plantillas internas para precargar los archivos con el código que todos los archivos de ese tipo requieren. Por ejemplo, cuando se crea un archivo Java Server Faces (JSF), JDeveloper agrega todo el código estándar que crea alias para las bibliotecas de códigos que este tipo de archivos necesitan. También agrega etiquetas estándar requeridas para todos los archivos JSF. Ésta función puede acelerar el desarrollo de manera significativa y que los desarrolladores sean más productivos. JDeveloper también crea automáticamente archivos de soporte para los archivos que cree, al igual que el archivo faces-config.xml necesario para el trabajo con JSF. Organización del código: El gran número de archivos necesarios para un proyecto Java deben trabajar en conjunto y se encuentra en los directorios o paquetes estándar. JDeveloper automatiza las tediosas tareas de mantenimiento de los archivos de la aplicación en los lugares adecuados y montaje en paquetes de despliegue para el servidor de producción.. 1.7.1 Sistema gestor de base de datos Oracle Oracle Database es un sistema de gestión de base de datos objeto-relacional (u ORDBMS por el acrónimo en inglés de Object-Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle Database como uno de los sistemas de bases de datos más completos, destacando: . soporte de transacciones.. . estabilidad.. . escalabilidad.. . soporte multiplataforma.. Todas las ediciones de Oracle Database parten de la misma arquitectura confiable de motor de base de datos y son totalmente compatibles entre ellas. Están disponibles para una variedad de sistemas operativos e incluyen una serie de herramientas en común para el desarrollo de aplicaciones e interfaces de programación. Es un SGBD seguro ya que cuenta con un proceso de sistema de respaldo y recuperación de información, soporta la tecnología de Almacenes de Datos por lo que facilita el acceso a la información y proporciona mayor versatilidad.. 19.

(20) CAPITULO I SISTEMA DE SERVICIOS WEB.. 1.8 Visual Paradigm Visual Paradigm propicia un conjunto de ayudas para el desarrollo de programas informáticos, desde la planificación, pasando por el análisis y el diseño, hasta la generación del código fuente de los programas y la documentación. Visual Paradigm ha sido concebida para soportar el ciclo de vida completo del proceso de desarrollo del software a través de la representación de todo tipo de diagramas. Constituye una herramienta privada disponible en varias ediciones, cada una destinada a unas necesidades. Fue diseñado para una amplia gama de usuarios interesados en la construcción de sistemas de software de forma fiable a través de la utilización de un enfoque Orientado a Objetos. (Pressman, 2002).. Entre sus principales ventajas: . Disponibilidad en múltiples plataformas (Windows, Linux).. . Diseño centrado en casos de uso y enfocado al negocio que generan un software de mayor calidad.. . Uso de un lenguaje estándar común a todo el equipo de desarrollo que facilita la comunicación.. . Capacidades de ingeniería directa e inversa.. . Modelo y código que permanece sincronizado en todo el ciclo de desarrollo.. 1.9 Arquitecturas orientadas a servicios (SOA) La Arquitectura Orientada a Servicios es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio. Permite la creación de sistemas altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma estándar de exposición e invocación de servicios (comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción entre diferentes sistemas propios o de terceros. SOA es una forma de ver y diseñar el software de una empresa. Está basada en la definición de pequeños programas de utilidad para el negocio (servicio) que se pueden combinar fácilmente para construir nuevos servicios con más funcionalidad ofreciendo a la compañía una gran flexibilidad, una reducción del el tiempo a comercializar y una reducción de costes. SOA define las siguientes capas de software:. 20.

(21) CAPITULO I SISTEMA DE SERVICIOS WEB.. . Aplicaciones básicas: Sistemas desarrollados bajo cualquier arquitectura o tecnología, geográficamente dispersos y bajo cualquier figura de propiedad.. . De exposición de funcionalidades: Donde las funcionalidades de la capa aplicativas son expuestas en forma de servicios (servicios web).. . De integración de servicios: Facilitan el intercambio de datos entre elementos de la capa aplicativa orientada a procesos empresariales.. Beneficios de SOA Los beneficios de SOA se plasman a dos niveles distintos: al del usuario y a nivel de la organización. Desde el punto de vista del centro, SOA permite el desarrollo de una nueva generación de aplicaciones dinámicas que resuelven una gran cantidad de problemas de alto nivel, fundamentales para el crecimiento y la competitividad. Las soluciones SOA permiten entre otras cosas(Corporation, 2006): Mejorar la toma de decisiones. Al integrar el acceso a los servicios e información de negocio dentro de un conjunto de aplicaciones dinámicas compuestas, los directivos disponen de más información y de mejor calidad (más exacta y actualizada). Las personas, procesos y sistemas que abarcan múltiples departamentos pueden introducirse de forma más directa en una panorámica unificada, lo que permite conocer mejor los balances de costes y beneficios que se producen en las operaciones de negocio que se realizan a diario. Y al disponer de mejor información en un tiempo menor, las organizaciones pueden reaccionar de manera más ágil y rápida cuando surgen problemas o cambios. Mejorar la productividad de los empleados. Un acceso óptimo a los sistemas y la información y la posibilidad de mejorar los procesos permiten a las empresas aumentar la productividad individual de los empleados. Estos pueden dedicar sus energías a los procesos importantes, los que generan valor añadido y a actividades de colaboración, semiestructuradas, en vez de aceptar las limitaciones y restricciones impuestas por los sistemas de IT rígidos y monolíticos. Más aún: puesto que los usuarios pueden acceder a la información en los formatos y modalidades de presentación (web, cliente avanzado, dispositivo móvil), que necesitan, su productividad se multiplica en una gran cantidad de escenarios de uso, habituales o nuevos. Potenciar las relaciones con clientes y proveedores. Las ventajas de SOA trascienden las fronteras de la organización. Los beneficios que ofrece SOA trascienden los límites de la 21.

(22) CAPITULO I SISTEMA DE SERVICIOS WEB.. propia organización. Los procesos de fusión y compra de empresas se hacen más rentables al ser más sencilla la integración de sistemas y aplicaciones diferentes. La integración con patrones comerciales y la optimización de los procesos de la cadena de suministro son, bajo esta perspectiva, objetivos perfectamente asequibles. Con SOA se puede conseguir mejorar la capacidad de respuesta a los clientes, habilitando por ejemplo portales unificados de servicios. Si los clientes y proveedores externos pueden disponer de acceso a aplicaciones y servicios de negocio dinámicos, no solamente se permite una colaboración avanzada, sino que se aumenta la satisfacción de clientes y proveedores. SOA permite flexibilizar los procesos críticos de compras y gestión de pedidos habilitando modalidades como la subcontratación de ciertas actividades internas- superando las restricciones impuestas por las arquitecturas de IT subyacentes, y con ello consiguiendo un mejor alineamiento de los procesos con la estrategia corporativa. SOA contribuye también a documentar el modelo de negocio de la empresa y a utilizar el modelo de negocio documentado para integrar en él y dar respuesta a las dinámicas de cambio que se produzcan y optimizarlo de acuerdo con ellas. Desde el punto de vista de los departamentos de IT, la orientación a servicios supone un marco conceptual mediante el cual se puede simplificar la creación y mantenimiento de sistemas y aplicaciones integrados, y una fórmula para alinear los recursos de IT con el modelo de negocio y las necesidades y dinámicas de cambio que le afectan(Gregor Hohp, 2004). Aplicaciones más productivas y flexibles. La estrategia de orientación a servicios permite a IT conseguir una mayor productividad de los recursos de IT existentes como pueden ser las aplicaciones y sistemas ya instalados e incluso los más antiguos- y obtener mayor valor de ellos de cara a la organización sin necesidad de aplicar soluciones de integración desarrolladas ex profeso para este fin. La orientación a servicios permite además el desarrollo de una nueva generación de aplicaciones compuestas que ofrecen capacidades avanzadas y multifuncionales para la organización con independencia de las plataformas y lenguajes de programación que soportan los procesos de base. Más aún: puesto que los servicios son entidades independientes de la infraestructura subyacente, una de sus características más importantes es su flexibilidad a la hora del diseño de cualquier solución. Desarrollo de aplicaciones más rápido y económico. El diseño de servicios basado en estándares facilita la creación de un repositorio de servicios reutilizables que se pueden combinar en servicios de mayor nivel y aplicaciones compuestas en respuesta a nuevas 22.

(23) CAPITULO I SISTEMA DE SERVICIOS WEB.. necesidades de la empresa. Con ello se reduce el coste del desarrollo de soluciones y de los ciclos de prueba, se eliminan redundancias y se consigue su puesta en valor en menos tiempo. Y el uso de un entorno y un modelo de desarrollo unificados simplifica y homogeneiza la creación de aplicaciones, desde su diseño y prueba hasta su puesta en marcha y mantenimiento. Aplicaciones más seguras y manejables. Las soluciones orientadas a servicios proporcionan una infraestructura común (y una documentación común también) para desarrollar servicios seguros, predecibles y gestionables. Conforme van evolucionando las necesidades de negocio, SOA facilita la posibilidad de añadir nuevos servicios y funcionalidades para gestionar los procesos de negocio críticos. Se accede a los servicios y no a las aplicaciones, y gracias a ello la arquitectura orientada a servicios optimiza las inversiones realizadas en IT potenciando la capacidad de introducir nuevas capacidades y mejoras. Y además, puesto que se utilizan mecanismos de autenticación y autorización robustos en todos los servicios y puesto que los servicios existen de forma independiente unos de otros y no se interfieren entre ellos la estrategia de SOA permite dotarse de un nivel de seguridad superior.. 1.10 WSDL WSDL son las siglas de Web Services Description Language, un formato XML que se utiliza para describir servicios Web . La versión 1.0 fue la primera recomendación por parte del W3C y la versión 1.1 no alcanzó nunca tal estatus. La versión 2.0 se convirtió en la recomendación actual por parte de dicha entidad. WSDL describe la interfaz pública a los servicios Web. Está basado en XML y describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo. Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje. Así, WSDL se usa a menudo en combinación con SOAP y XML Schema. Un programa cliente que se conecta a un servicio web puede leer el WSDL para determinar qué funciones están disponibles en el servidor. Los tipos de datos especiales se incluyen en el archivo WSDL en forma de XML Schema. El cliente puede usar SOAP para hacer la llamada a una de las funciones listadas en el WSDL.. 23.

(24) CAPITULO I SISTEMA DE SERVICIOS WEB.. Conclusiones parciales En este capítulo se han analizado los principales conceptos y definiciones asociados a la investigación, así como los componentes de software del sistema, lenguajes de programación implicados, todo el conjunto de componentes que integran la Capa Media de Oracle, también se hace referencia a los conceptos y beneficios de la arquitectura de software a utilizar.. 24.

(25) CAPITULO II PROPUESTA DE SOLUCION. CAPITULO II. PROPUESTA DE SOLUCION. 2.1 Introducción En el presente capítulo se describen las características del sistema a desarrollar, se expone el resultado del proceso de captura de requisitos funcionales y no funcionales a los que se debe dar cumplimiento. Se identifican los actores que intervienen en el sistema y se modela el diagrama de casos de uso. Se describirán todos los casos de uso para una mejor comprensión de las funcionalidades del sistema, también el diagrama de clases, el de despliegue y el de componentes. Información que se maneja Se maneja información de la Base de Datos de Guardabosques, Cuadro y Prisiones. Guardabosques: Contiene la información de las multas impuestas por los guardabosques y la ficha de la persona amonestada. Prisiones: Contiene la información referente a los reclusos de la provincia de Villa Clara. Cuadro: Contiene la toda la información referente al personal del MININT en Villa Clara.. 2.2 Propuesta del sistema En la presente investigación se pretende crear un Servicio Web, que cumpla con los estándares web actuales y con las exigencias de la entidad a la cual pertenece. Este sistema automatizado tiene el objetivo de ser utilizado por los programadores de software del MININT, cuentan con la aprobación del jefe del producto, quien ha dado la conformidad de los requerimientos. A continuación se describen los requerimientos del sistema.. 2.3 Especificación de los requisitos de software Los Requisitos Software representan la descripción completa del comportamiento del sistema que se va a desarrollar. Incluye un conjunto de casos de uso que describe todas las interacciones que tendrán los usuarios con el sistema. Los casos de uso también son conocidos como requisitos funcionales. Además de los requisitos funcionales, también contiene requisitos no funcionales que imponen restricciones en el diseño o la implementación.. 25.

(26) CAPITULO II PROPUESTA DE SOLUCION. 2.3.1 Requisitos funcionales  Prisiones RF1. Devolver el estado del recluso. RF2. Devolver la fecha de extinción de una sanción. RF3. Devolver el establecimiento actual. RF4. Devolver el listado de delitos asociados a cada causa. RF5. Devolver los datos generales de la persona. RF6. Devolver todos los expedientes asociados y el estado de cada uno de ellos.  Guardabosques RF7. Obtener si la persona posee multas. RF8. Obtener multas de la persona. RF9. Obtener si la persona es reincidente. RF10. Obtener datos de la multa.  Cuadro RF11. Obtener si la persona es alta o baja. RF12. Obtener datos de la persona. RF13. Obtener si es civil o militar. RF14. Obtener Militancia. RF15. Obtener Distinciones otorgadas a la persona.. 2.3.2 Requisitos no funcionales Los requerimientos no funcionales hacen relación a las características del sistema que aplican de manera general como un todo, más que a rasgos particulares del mismo. Requisitos de Software RNF1. Las computadoras que utilizaran el software deben tener instalado: Windows 2003 Server, Windows 2000 NT, Windows XP Professional o GNU/LINUX en cualquiera de sus distribuciones. RNF2. Navegador Web Mozilla Firefox, Opera o Safari. RNF3. El nodo o servidor que alojara la aplicación deberá tener instalado como servidor de Aplicaciones el WebLogic Server versión 10.3.5.0 o supeior. RNF4. Se necesita la instalación de Oracle Jdeveloper versión 11.1.1.5.0 como IDE de programación con framework ADF.. 26.

(27) CAPITULO II PROPUESTA DE SOLUCION. Requisitos de hardware RNF5. Las computadoras que utilizarán el software a desarrollar deberán tener 512MB de Memoria tipo RAM y 1.0 GHz de velocidad del microprocesador. Requisitos en el diseño y la implementación RNF6. El lenguaje de programación a utilizar es Java. RNF7. La herramienta de desarrollo a utilizar es Jdeveloper. Requisitos de seguridad RNF 8. Se usa una red interna en la cual no hay contacto con ninguna red externa. RNF 9. Se utiliza la Arquitectura Orientada a Servicios (SOA). Requisitos de Rendimiento RNF10. Debe ser eficiente a la hora de gestionar las solicitudes, permitiendo alcanzar los resultados deseados sin hacer un uso extensivo de la navegación por el sitio. RNF11. Debe estar disponible las 24 horas del día. Requisitos de Soporte RNF12. El sistema debe contar con. Manual de Usuario (documentación) para evitar. problemas en caso de fallas. RNF13. Debe ser lo más extensible posible. Puede ser usado por otros servidores. RNF14. Fácil para el mantenimiento, de configuración sencilla y factible para los clientes. Aspectos Legales RNF15. La aplicación y la documentación pertenecen al Órgano de. Informática y. Comunicaciones y Cifras del Ministerio del Interior en Villa Clara.. Modelo de Casos de uso del sistema Un actor del negocio es un rol que algo o alguien juega cuando interactúa con el negocio. Es cualquier individuo, grupo, organización o máquina que interactúa con el negocio. Actor. Descripción Software que consuma el servicio web.. Softwares Consumidor. Tabla 1 Descripción de los actores del negocio. Para tener una visión general del proceso de negocio de la organización, se construyó el diagrama de casos de uso. Este diagrama permite mostrar los límites y el entorno de la organización bajo estudio. 27.

(28) CAPITULO II PROPUESTA DE SOLUCION. Ilustración 1 Diagrama de casos de uso. 2.4 Descripción de los casos de usos del sistema. Caso de Usos del Sistema. Descripción. Obtener Datos de Multas. Obtiene una ficha de las multas.. Obtener Expedientes asociados a cada Obtiene una lista de Expedientes que se causa.. asocian a las causas por lo que los reclusos cumplen sanción.. Obtener Datos de un Recluso. Obtiene las fichas de los reclusos.. Obtener Datos de un Trabajador del Obtiene una ficha detallada de los MININT.. trabajadores de MININT en Villa Clara.. Obtener Datos de una persona multada. Obtiene Datos de las personas y el delito por lo que fueron amonestadas por los guardabosques.. Tabla 2 Descripción de los casos de uso del sistema. 2.5 Diseño del sistema El Diseño de sistema es el arte de definir la arquitectura de hardware y software, componentes, módulos y datos de un sistema computacional para satisfacer los requisitos definidos con anterioridad. Por lo tanto, en esta etapa se investigará, qué procesos se van a implementar y cómo se van a implementar y que interfaces se requieren diseñar y cómo se van a diseñar.. 28.

(29) CAPITULO II PROPUESTA DE SOLUCION. 2.6 Diagrama de clases Un diagrama de clases muestra un conjunto de clases, interfaces y colaboraciones, así como sus relaciones. El sistema cuenta con las siguientes clases: Personas: Existen tres tipos de Persona, . Multada: Datos de la persona que recibe una multa por los guardabosques.. . Oficial: Datos de la persona que trabaja en el MININT.. . Recluso: Datos de un recluso.. Multa: Contiene los datos de una multa. Expediente: Contiene el expediente de un recluso.. Ilustración 2: Diagrama de Clases. 2.7 Diagrama de actividad Un diagrama de actividades es fundamentalmente un diagrama de flujo que muestra el flujo de control entre actividades. Los diagramas de actividades se utilizan para modelar los aspectos dinámicos de un sistema. La mayoría de las veces, esto implica modelar los pasos secuenciales (y posiblemente concurrentes) de un proceso computacional. Con un diagrama de actividades también se puede modelar el flujo de un objeto conforme pasa de estado a estado en diferentes puntos del flujo de control. Los diagramas de actividades pueden utilizarse para visualizar, especificar, construir y documentar la dinámica de una sociedad de objetos, o pueden emplearse para modelar el flujo de control de una operación. Mientras que los diagramas de interacción destacan el flujo de 29.

(30) CAPITULO II PROPUESTA DE SOLUCION. control entre objetos, los diagramas de actividades destacan el flujo de control entre actividades. Una actividad es una ejecución no atómica en curso, dentro de una máquina de estados. Las actividades producen alguna acción, compuesta de computaciones atómicas ejecutables que producen un cambio en el estado del sistema o el retorno de un valor. Los diagramas de actividades no son sólo importantes para modelar los aspectos dinámicos de un sistema, sino también para construir sistemas ejecutables a través de ingeniería directa e inversa (Booch et al.). A continuación se presentan el diagrama de actividades para el proceso correspondiente al caso de uso “Obtener multas de la persona”.. Ilustración 3: Diagrama de Actividad para caso de uso Obtener multas de la persona. 2.8 Diagrama de Componentes Un diagrama de componente muestra la organización y las dependencias entre un conjunto de componentes. Los diagramas de componentes se utilizan para modelar la vista de la implementación estática del sistema. En la presente aplicación se tienen 30.

(31) CAPITULO II PROPUESTA DE SOLUCION. como componente de referencia al que contiene las clases controladoras, relacionándose este con los componentes Servicio Web (donde están las clases de los servicios web), , Útiles (donde se manejan algunas clases de utilidad) y Modelo (donde se mantienen en relación con las tablas de base de datos). El Modelo a su vez se relaciona con el componente Base de datos (donde se encuentran las tablas y datos de interés para el sistema).. Ilustración 4: Diagrama de Componentes. 2.9 REPRESENTACIÓN DE SERVICIOS. 31.

(32) CAPITULO II PROPUESTA DE SOLUCION. 2.10 Diagrama de despliegue Los diagramas de despliegue son uno de los dos tipos de diagramas que aparecen cuando se modelan los aspectos físicos de los sistemas orientados a objetos. Un diagrama de despliegue muestra la configuración de nodos que participan en la ejecución y de los componentes que residen en ellos. Los diagramas de despliegue se utilizan para modelar la vista de despliegue estítica de un sistema. La mayoría de las veces, esto implica modelar la topología del hardware sobre el que se ejecuta el sistema. Los diagramas de despliegue son fundamentarme diagramas de clases que se ocupan de modelar los nodos de un sistema. Un diagrama de despliegue es un diagrama que muestra la configuración de los nodos que participan en la ejecución y de los componentes que residen en ellos. Gráficamente, un diagrama de despliegue es una colección de nodos y arcos (Booch et al.).. Ilustración 5: Diagrama de Despliegue. En la figura se muestra el diagrama de despliegue de la aplicación propuesta. El diagrama está compuesto por un servidor de Aplicaciones Web, un servidor de base de datos y un conjunto de aplicaciones. Las aplicaciones consumidoras permiten a los usuarios interactuar con la aplicación. El servidor Web se encarga de ejecutar el Servicio Web, así como interactuar con el 32.

(33) CAPITULO II PROPUESTA DE SOLUCION. servidor de bases de datos y garantizar una interacción más fuerte entre cliente y servidor. Descripción de los componentes del Diagrama de Despliegue. Componentes. Descripción. Oracle WebLogic es un servidor de Servidor de Aplicaciones Web. aplicaciones Java EE y también un servidor web HTTP. Aplicaciones. Aplicaciones Consumidoras. que. consumen. los. servicios. Oracle es un sistema de gestión de base. Servidor de Base de Datos. de datos objeto-relacional Protocolo utilizado para la. HTTP. conexión. entre las PC Cliente y el servidor de aplicaciones y servicios web. Protocolo utilizado para la conexión. JDBC. entre el servidor de aplicaciones o servicios web y el servidor donde se encuentra ubicada la base de datos. Tabla 3 Descripción de los componentes del Diagrama de Despliegue.. 2.11 Conclusiones parciales En este capítulo se realizó un estudio detallado del comportamiento del negocio actual, ya que comenzó con una explicación descriptiva de las actividades que se desarrollan en el mismo, además se trataron las reglas de carácter inviolable que se presentan en el negocio, se describieron los casos de uso del mismo, se describió cada proceso que se desarrolla en el negocio y para una mejor comprensión de la secuencia de actividades que componen a los mismos se emplearon los diagramas de actividad. Este estudio facilitó la definición de los requerimientos del sistema a desarrollar.. 33.

(34) CAPITULO III. RESULTADOS 3.1 Introducción Este capítulo está dedicado a la exposición de los principales resultados del sistema, así como las pruebas hechas a este. Además de la vista de navegación de ConsumirSSW.. 3.2 Diagrama de Navegación El diagrama de navegación muestra la relación entre las páginas del sitio, es útil para dar una panorámica general del comportamiento del mismo y así poder ver con claridad el flujo de los datos a través de la aplicación. En el diagrama siguiente se muestra como página de inicio a index.jsp, la cual tiene enlaces con todas las páginas que cumplen con los requisitos funcionales del sitio. Estas páginas son cuadro.jsp, guardabosque.jsp y prisiones.jsp. La página cuadro.jsp es la encargada de mostrar la información de Cuadro, teniendo estas dos pestañas, una para datos generales y otra para datos de las personas, y enlaces a las otras páginas. La página guardabosque.jsp es la encargada de mostrar la información de Guardabosque, teniendo estas dos pestañas, una para informaciones generales y otra para datos de las personas, y enlaces a las otras páginas. La página prisiones.jsp es la encargada de mostrar la información de los reclusos, teniendo estas tres pestañas, una para sanciones y otra para datos de las personas, y otra para datos de los expedientes y enlaces a las otras. 34.

(35) páginas.. Ilustración 6: diagrama de Navegación. Descripción de las páginas del sitio.. Paginas index.jsp cuadro.jsp guardabosque.jsp prisiones.jsp. Descripción Página principal del sitio Mostrar la información de Cuadro y tiene enlaces a las otras páginas Mostrar la información de Guardabosque y tiene enlaces a las otras páginas Mostrar la información de Prisiones y tiene enlaces a las otras páginas Tabla 4 Descripción de las páginas del sitio. 3.3 Páginas del sitio. Índex.jsp:. 35.

(36) Ilustración 7: Índex.jsp. Esta es la página principal de la aplicación web, contiene los enlaces a las páginas de guardabosque.jsp, cuadro.jsp y prisiones.jsp.. 36.

(37) cuadro.jsp:. Ilustración 8: cuadro.jsp Pestaña Datos. Ilustración 9: cuadro.jsp Pestaña Datos Personas. Esta página muestra la información de la base de datos Cuadro, contiene dos pestañas, una para los datos generales y otra para datos de personas, y los enlaces a las páginas de guardabosque.jsp, cuadro.jsp y prisiones.jsp.. 37.

(38) guardabosque.jsp:. Imagen 1 guardabosque.jsp Pestaña Personas Multa. Ilustración 10: guardabosque.jsp Pestaña Datos Multa. Esta página muestra la información de la base de datos Guardabosque, contiene dos pestañas, una para loa multas y otra para datos de estas, y enlaces a las páginas de guardabosque.jsp, cuadro.jsp y prisiones.jsp.. 38.

(39) prisiones.jsp:. Ilustración 11: prisiones.jsp Pestaña Personas Sanción. Ilustración 12: prisiones.jsp Pestaña Datos Expedientes. 39.

(40) Ilustración 13: prisiones.jsp Pestaña Personas. Esta página muestra la información de la base de datos Prisiones, contiene tres pestañas, una para las sanciones, otra para datos de expedientes y la otra para datos de las personas, y enlaces a las páginas de guardabosque.jsp, cuadro.jsp y prisiones.jsp.. 3.4 Pruebas Una vez generado el código fuente de la aplicación, el software debe ser probado para corregir el máximo de errores que puede existir antes de la entrega al cliente. Las pruebas de Software no son más que una actividad en la cual un sistema o uno de sus componentes se ejecutan en circunstancias previamente especificadas, los resultados se observan y registran y se realiza una evaluación de algún aspecto. El objetivo de las mismas. es presentar información sobre la calidad del producto a las personas. responsables de este, identificando así los posibles fallos de la implementación (UCI, 2010). A continuación se muestra un diagrama que muestra el ciclo completo de las pruebas de software:. 40.

(41) Ilustración 14: Ciclo completo de las pruebas del Software. 3.5 Métodos de prueba Según UCI (2010) existen tres enfoques principales para el diseño de las pruebas: 1.- El enfoque estructural o de caja blanca. Se centra en la estructura interna del programa (analiza los caminos de ejecución). 2.- El enfoque funcional o de caja negra. Se centra en las funciones, entradas y salidas. 3.- El enfoque aleatorio consiste en utilizar modelos (en muchas ocasiones estadísticos) que representen las posibles entradas al programa para crear a partir de ellos los casos de prueba.. 3.6 Prueba de caja blanca En la prueba de caja blanca se realiza un examen minucioso de los detalles procedimentales, comprobando los caminos lógicos del programa, comprobando los bucles y condiciones, y examinado el estado del programa en varios puntos (UCI, 2010). 41.

(42) 3.7 Prueba de caja negra Los casos de prueba de la caja negra pretenden demostrar que: • Las funciones del software son operativas. • La entrada se acepta de forma correcta. • Se produce una salida correcta. • La integridad de la información externa se mantiene. Resulta relevante destacar que se hace irrealizable la tarea de someter a prueba el software confeccionado para todas las alternativas posibles. Por eso se hace necesario poseer criterios para una buena elección de pruebas para el sistema. Se puede decir que un caso de prueba funcional es bien elegido si se cumple que:. Reduce el número de otros casos necesarios para que la prueba sea razonable. Esto implica que el caso ejecute el máximo número de posibilidades de entrada diferentes para así reducir el total de casos. Cubre un conjunto extenso de otros casos posibles, es decir, no indica algo acerca de la ausencia o la presencia de defectos en el conjunto específico de entradas que prueba, así como de otros conjuntos similares.. 3.8 Técnicas de caja negra Existen varios tipos de técnicas de la caja negra que se pueden aplicar entre las que se puede mencionar:  La técnica de participaciones o clases de equivalencia: se caracteriza porque en ella cada caso debe cubrir el máximo número de entradas. Además, debe tratarse el dominio de valores de entrada dividido en un número finito de clases de equivalencia.  La técnica de análisis de valores al límite (AVL): esta técnica de diseños de casos de prueba complementa las particiones de equivalencia probando los casos límites de un programa produciendo un mejor resultado para detectar.. 42.

(43)  La técnica de conjeturas de errores: consiste en enumerar una lista de posibles equivocaciones típicas que pueden cometer los desarrolladores y de situaciones propensas a ciertos errores, entre estas podremos citar algunas como:  El valor cero tanto en la salida como en la entrada.  En la entrada de valores requeridos, cuando se deja de introducir un valor necesario o no se introduce ninguno.  Interpretación inadecuada del programador en la comprensión del problema.  Entrada errónea de datos al programa por parte del usuario.. 3.9 Pruebas realizadas a la aplicación Se decide utilizar las pruebas de caja negra con la técnica de conjeturas de errores debido a que están muy bien definidos los datos de entrada y de salida, además no se necesita precisar, ni conocer los detalles internos del funcionamiento del sistema. Caso 1: Se entran los datos del CI de una persona (901223323455) y la página devuelve un mensaje informándole que se debe introducir 11 caracteres.. 43.

(44) Caso 2: Se entran los datos del Número de Expediente de un Recluso (DFCJF) y la página devuelve un mensaje informándole que se debe introducir entre 6 y 10 caracteres.. Caso 3: Se entran los datos del Número de Talón de una Multa (NTG45) y la página devuelve un mensaje informándole que se debe introducir 8 caracteres.. 44.

(45) CAPITULO III RESULTADOS. 3.10 Conclusiones Parciales En este capítulo se describieron los principales resultados del sistema, se mostró el diagrama de navegación, la descripción de cada una de las vistas del sistema y los métodos y pruebas realizados al software.. 45.

(46) RECOMENDACIONES. CONCLUSIONES 1. El análisis minucioso de la problemática brindó la posibilidad de definir los requerimientos necesarios para el diseño del sistema. 2. Se diseñó una arquitectura informática para la creación del servicio web. 3. Se logró implementar computacionalmente un prototipo de software acorde a la arquitectura propuesta. 4. Se implementó una interfaz web que consume los servicios creados.. 46.

(47) RECOMENDACIONES. RECOMENDACIONES.  Desarrollar nuevos servicios que brinden estadísticas relacionadas con las otras bases de datos y puedan ser utilizados por los miembros de los diferentes órganos del MININT.  Implementar aplicaciones que consuman los servicios que brinda el Sistema confeccionado.  Perfeccionar el Sistema con el objetivo de aumentar su rendimiento y velocidad a la hora de ser consumido por los diferentes usuarios.. 47.

(48) ¡ERROR! NO SE ENCUENTRA EL ORIGEN DE LA REFERENCIA.. REFERENCIAS BIBLIOGRAFICAS. 2009. Características Oracle [En línea]. 2009. Características Oracle [En línea]. http://www.todoexpertos.com/categorias/tecnología-e-internet/bases-dedatos/oracle/respuestas/252736/características-oracle. BELL, D. Y. P., MIKE. . Entorno de desarrollo integrado. CRUZ QUISPE VÍCTOR FABIO, G. M. E. D., MENDIVIL TORRICO LUÍS BRIAM. Year. Diagrama de Componentes. In, 2010. DUVIEL RODRÍGUEZ RODRÍGUEZ & VALDÉS., L. S. P. 2011. Uso de Sistemas de Información Geográfica (SIG) en el Minint de Villa Clara. FUENTESECA, M. 1997. El delito civil en Roma y en el derecho español. GONZÁLEZ, D. F. 2011. Análisis y Diseño del Sistema para la Gestión de las Aplicaciones Web en la Delegación Provincial del MININT. . Universidad Central de las Villas. HERNÁNDEZ, A. 2004. Un método para el diseño de la base de datos a partir de un modelo orientado a objetos. Computación y Sistemas. [En línea].http://www.visual-paradigm.com/product/vpuml/. JURISTO, N., MORENO, ANA M. Y VEGAS, SIRA. 2006. Técnicas de Evaluación de Software. MARQUES, P. 2000. Las TIC y sus aportaciones a la sociedad. http://dewey.uab.es/pmarques/tic.htm. MICROSOFT, C. 2006. La Arquitectura Orientada a Servicios (SOA) de Microsoft aplicada al mundo real. MULLER, P.-A. 1997. Modelado de objetos con UML, Barcelona, España. PERALTA, S. 2006. El servidor Web. Arquitectura y funcionamiento. http://observatorio.cnice.mec.es/modules.php?op=modload&name=New s&file=article&sid=366. PÉREZ, J. C. C. 2012. Service Oriented Architecture PRESSMAN, R. S. 2002. Ingeniería del software. Un enfoque práctico., Madrid, McGraw-Hill. RIVAS, D. C. 2007. ARQUITECTURA DE APLICACIONES J2EE BASADAS EN EL PATRÓN MVC UTILIZANDO ORACLE ADF. Universidad de San Carlos de Guatemala. RUMBAUHG, J., I. JACOBSON, AND G. BOOCH 2000. El Lenguaje Unificado de Modelado. RUMBAUHG, J. J., I G. BOOCH 2000. El Proceso Unificado de Desarrollo de Software, Madrid, Pearson Educación: Madrid UCI.. 2010. Entorno Virtual de Aprendizaje. [En línea]. Available: http://eva.uci.cu/file.php/259/Curso_20102011/Semana_10/Clase_Practica_6/Materiales_Basicos/Material_de_caj a_b_y_caja_n.pdf.. MUENCH, S. 2010. The Route to Success. Oracle Magazine..

(49) ¡ERROR! NO SE ENCUENTRA EL ORIGEN DE LA REFERENCIA.. KOLAKOWSKI, N. 2009. Oracle Fusion Middleware 11g Embraces Social Networking, Efficiency..

(50) ¡ERROR! NO SE ENCUENTRA EL ORIGEN DE LA REFERENCIA.. Anexo: Manual de usuario Introducción Una parte importante dentro del proceso de desarrollo de un software lo constituye la elaboración del manual de usuario, que no es más que una guía de pasos a seguir por el usuario para interactuar con el sistema. El manual de usuario elaborado en esta investigación persigue facilitarles el trabajo a los clientes consumidores de los servicios que brinda el sistema desarrollado. El mismo está dedicado a la exposición de las principales facilidades que ofrece el sistema a cada uno de sus usuarios, así como las formas de aprovechar dichas facilidades. Se tratan además los prerrequisitos necesarios para el consumo de los mismos.. Desarrollo Prerrequisitos para el consumo de los servicios Para consumir los servicios se necesita que la aplicación este previamente desplegada en un servidor de Aplicaciones Java como el WebLogic. Además se necesita la instalación de Oracle Jdeveloper como IDE de programación con framework ADF. Crear el servicio proxy Web A continuación vamos a seguir los pasos necesarios para generar un proxy de Java para llamar a un servicio Web. Una vez completado los pasos se puede crear un cliente para conectarse a ella y utilizarla. 1. Lo primero que se debe hacer es crear un nuevo proyecto.. Ilustración 15 Nuevo Proyecto.

(51) ¡ERROR! NO SE ENCUENTRA EL ORIGEN DE LA REFERENCIA.. 2. Para el consumo de cada servicio se necesita la dirección de cada servicio a continuación se brinda las direcciones necesarias:  http://<<SERVIDOR>>:7101/SSW-SSW_Cuadro-contextroot/Server_CuadroSoap12HttpPort?WSDL  http://<<SERVIDOR>>:7101/SSW-SSW_Guardabosque-contextroot/Server_GuardabosqueSoap12HttpPort?WSDL  http://<<SERVIDOR>>:7101/SSW-SSW_Prisiones-contextroot/Server_PrisionesSoap12HttpPort?WSDL <<SERVIDOR>>: Nombre o IP del servidor. 3. Para generar el proxy, haga clic en el proyecto creado anteriormente y seleccione Nuevo. En la Nueva Galería, seleccione la ficha todas las tecnologías. Expanda el nodo de nivel de negocios y seleccione Servicios Web en la lista Categorías. Web Service ProxyOK Seleccione el servicio Web Proxy tema y haga clic en Aceptar.. Ilustración 16 : Crear servicio Web Proxy1. Esta acción invoca el asistente Crear servicio Web Proxy. 4. Haga clic en Siguiente para despedir a la página de bienvenida. En la página Seleccionar cliente de Estilo, seleccione el estilo de JAX-WS y continúe al próximo paso..

(52) ¡ERROR! NO SE ENCUENTRA EL ORIGEN DE LA REFERENCIA.. Ilustración 17 : Crear servicio Web Proxy2. En la página Descripción del servicio Web copiar la dirección URL del servicio que se va a utilizar, dichas direcciones se proporcionan anteriormente en este manual y dar clic en continuar.. Ilustración 18: Crear servicio Web Proxy3. 5. Para el resto de las páginas del asistente, los valores por defecto están bien. Puede hacer clic en Siguiente para examinar los pasos restantes, o haga clic en Finalizar para crear el proxy. A partir de aquí ya se puede usar el servicio seleccionado en su nueva aplicación..

(53)

Figure

Tabla 2 Descripción de los casos de uso del sistema
Ilustración 2: Diagrama de Clases
Ilustración 3: Diagrama de Actividad para caso de uso Obtener multas de la persona
Ilustración 4: Diagrama de Componentes
+7

Referencias

Documento similar

En el primer capítulo se realiza el estudio del sistema de dinero electrónico que está propuesto en el Ecuador por el Banco Central, regulaciones, normas, características que

Al mismo tiempo, si un ataque masivo como este fuera destinado a transformar el código de los sitios y tuviera éxito, podrían quedar expuestos los datos privados de miles de

Fuente: Actor Primario de negocios: Administrador Otros actores participantes: Otros involucrados interesados:. Descripción: El Administrador registra la actividad

Para presentar el análisis de los datos, este capítulo está organizado de la siguiente manera: 1 la implementación de un SRCE y la descripción de sus elementos información,

Para ello el arquitecto del software debe pensar en la usabilidad del software y en el dominio en el que el mismo será utilizado desde el inicio del diseño

En este capítulo se llevó a cabo la descripción y el análisis de la solución propuesta, donde se encuentra el análisis de componentes o módulos ya existentes

Este capítulo muestra como se elaboraron los artefactos requeridos por Open UP para el desarrollo de la aplicación, funcionalidades que debe cumplir el software

Materiales y Métodos: En este capítulo se describen las particularidades del software utilizado para la realización de este trabajo así como la descripción de los materiales y