Documento de Arquitectura de Software
|
|
|
- Miguel Ángel Juan Manuel Lagos Calderón
- hace 10 años
- Vistas:
Transcripción
1 Facultad de Ingeniería - Universidad de la República Pablo Alvez, Patricia Foti, Marco Scalone Junio 2006.
2 Índice 1 Introducción Propósito Alcance Definiciones, Acrónimos y Abreviaciones Organización del Documento Representación de la Arquitectura Objetivos y Restricciones Requerimientos Especiales Interoperabilidad Vista de Casos de Uso Introducción Identificación de los Casos de Uso relevantes para la arquitectura Descripción de los Casos de Uso relevantes para la arquitectura Diseño de Proceso de Negocio Transformación e Instalación de Proceso de Negocio Ejecución de Proceso de Negocio Vista Lógica Introducción Descomposición en Subsistemas Descripción de los Subsistemas Diseño de Subsistemas Definición de Procesos Ejecución de Procesos Resolución de Servicios Realización de los Casos de Uso Relevantes para la Arquitectura Diseño de Proceso de Negocio Transformación e Instalación de Proceso de Negocio Ejecución de Proceso de Negocio Vista de Deployment Introducción Distribución y Deployment Arquitectura del Sistema Batuta...21 Versión 2.3 Pág. 2
3 7.1 Introducción Vista Lógica Subsistema de Definición de Procesos Subsistema de Ejecución de Procesos Subsistema de Resolución de Servicios Vista de Deployment Distribución y Deployment Vista de Implementación Estructura del Framework Arquitectura de la Implementación Referencias...29 Versión 2.3 Pág. 3
4 1 Introducción 1.1 Propósito El Documento de Arquitectura de Software presenta la arquitectura del Framework Batuta a través de diferentes vistas, cada una de las cuales ilustra un aspecto en particular del software desarrollado. Se pretende de esta forma que el documento brinde al lector una visión global y comprensible del diseño general del framework desarrollado. Luego de describir en profundidad la arquitectura del Framework Batuta, se incluye una implementación concreta de dicho framework presentando la arquitectura del Sistema Batuta construido como prueba de concepto del modelo y framework desarrollados. 1.2 Alcance El documento se centra en el desarrollo de la vista lógica del framework. Se incluyen los aspectos fundamentales del resto de las vistas y se omiten aquellas que no se consideren pertinentes como ser el caso de la vista de procesos. En cuanto a los componentes externos que se mencionen, se incluye una descripción de los mismos en el nivel que se considere apropiado y se indican las referencias donde consultar más información sobre los mismos. 1.3 Definiciones, Acrónimos y Abreviaciones Ver Glosario [1]. 1.4 Organización del Documento El documento se desarrolla y organiza en base a la plantilla elaborada para el artefacto Software Architecture Document del proceso de desarrollo de software elaborado por RUP [2], adaptada a las características particulares del tipo de proyecto en desarrollo. La sección 2 realiza una introducción a la representación utilizada de la arquitectura de forma de asegurar una comprensión cabal del documento en tal sentido. Las siguientes secciones se abocan a la descripción de la arquitectura del Framework Batuta. Luego de una descripción inicial de los objetivos y restricciones influyentes, se desarrolla cada una de las vistas y se cierra con algunas consideraciones finales importantes. En las secciones finales, y sobre la base de lo desarrollado anteriormente, se incluye la descripción de la arquitectura del Sistema Batuta. Versión 2.3 Pág. 4
5 2 Representación de la Arquitectura El modelo propuesto por RUP [2] para representar la arquitectura utiliza el siguiente conjunto de vistas: Vista de Casos de Uso: lista los casos de uso o escenarios del modelo de casos de uso que representen funcionalidades centrales del sistema final, que requieran una gran cobertura arquitectónica o aquellos que impliquen algún punto especialmente delicado de la arquitectura. Vista Lógica: describe las partes arquitectónicamente significativas del modelo de diseño, como ser la descomposición en capas, subsistemas o paquetes. Una vez presentadas estas unidades lógicas principales, se profundiza en ellas hasta el nivel que se considere adecuado. Vista de Procesos: describe la descomposición del sistema en threads y procesos pesados. Indica que procesos o grupos de procesos se comunican o interactúan entres sí y los modos en que estos se comunican. Vista de Deployment: describe uno o más escenarios de distribución física del sistema sobre los cuales se ejecutará y hará el deploy del mismo. Muestra la comunicación entre los diferentes nodos que componen los escenarios antes mencionados, así como el mapeo de los elementos de la Vista de Procesos en dichos nodos. Vista de Implementación: describe la estructura general del Modelo de Implementación y el mapeo de los subsistemas, paquetes y clases de la Vista Lógica a subsistemas y componentes de implementación. Vista de Datos: describe los elementos principales del Modelo de Datos, brindando un panorama general de dicho modelo en términos de tablas, vistas, índices, etc. Versión 2.3 Pág. 5
6 3 Objetivos y Restricciones Framework Batuta cumple con el modelo propuesto en [3]. Dentro de esta base de desarrollo son propiedades esenciales para la arquitectura a definir: diseño basado en componentes de propósito claro y concreto y con alto grado de cohesión, desacoplamiento entre componentes que permita el fácil reemplazo de los mismos, componentes altamente reutilizables. 3.1 Requerimientos Especiales Interoperabilidad El framework debe soportar la capacidad de interoperar con sistemas externos a nivel de datos y procesos. Versión 2.3 Pág. 6
7 4 Vista de Casos de Uso 4.1 Introducción La Vista de Casos de Uso presenta un subconjunto del Modelo de Caos de Uso. Describe los casos de uso o escenarios que representen funcionalidades centrales del sistema final, que requieran una gran cobertura arquitectónica o aquellos que impliquen algún punto especialmente delicado de la arquitectura. Estos casos de uso, en conjunto con los requerimientos no funcionales, permiten descubrir y diseñar la arquitectura del sistema. 4.2 Identificación de los Casos de Uso relevantes para la arquitectura Para el diseño del Framework Batuta, se identifican como los casos de uso relevantes desde el punto de vista de la arquitectura, los abajo mencionados: 1. Diseño de Proceso de Negocio: Representa una de las funcionalidades más importantes en la gestión de procesos de negocio, el diseño de los mismos. Introduce la necesidad de contar con un lenguaje gráfico de representación de procesos de negocio así como un editor con el cual poder construir dichos procesos. Este componente agrega la complejidad de manejar conceptos semánticos gráficamente de forma amigable e intuitiva para el usuario. Este usuario será en general un analista de negocio que posiblemente no tenga conocimientos profundos a nivel técnico informático. 2. Transformación e Instalación de un Proceso de Negocio Esta funcionalidad es sumamente importante pues permite pasar de un nivel de abstracción a otro dentro del modelo propuesto. Tanto este caso como el anterior genera la necesidad de buscar un formato de representación intermedia para la especificación del proceso de negocio. Una vez fijado dicho formato se debe especificar un mecanismo de transformación de uno al otro. Más precisamente poder generar una representación ejecutable del proceso a partir de su representación intermedia. 3. Ejecución de Proceso de Negocio Funcionalidad básica que debe proveer el framework para posibilitar la ejecución del proceso. La ejecución de un proceso de negocio es iniciada por una aplicación cliente a través de una interfaz de servicio provista por el framework. Como parte esencial de la ejecución de un proceso se debe resolver la invocación de servicios a partir de una descripción semántica de los mismos. Versión 2.3 Pág. 7
8 La invocación de un servicio a partir de una descripción semántica implica tres procesos fundamentales: o o o Búsqueda de servicios que se correspondan semánticamente con la descripción del perfil de servicio requerido. Contar con un mecanismo para la selección del mejor servicio, dentro de los hallados en el proceso anterior, en base a algún criterio preestablecido. Un ejemplo de esto es seleccionar el más adecuado en base a indicadores de la calidad de servicio de los mismos. En la invocación del servicio propiamente dicha se deben manejar los parámetros teniendo en cuenta sus diferentes tipos de datos, incluyendo ontologías. Introduce además la necesidad de especificar un formato de mensaje para la invocación de servicios y para la devolución de resultados. 4.3 Descripción de los Casos de Uso relevantes para la arquitectura Figura 1 Diagrama de los Casos de Uso relevantes para la arquitectura Diseño de Proceso de Negocio Nombre Actores Diseño de Proceso de Negocio Analista de negocio Versión 2.3 Pág. 8
9 Sinopsis El caso de uso comienza cuando el usuario analista de negocio indica al sistema que desea definir un proceso de negocios. El sistema proporciona a tales efectos, un lenguaje de alto nivel y una interfaz gráfica acorde que permiten definir el proceso. Durante la definición del proceso, el usuario puede especificar invocaciones directas: a la descripción semántica de un servicio o indirectas: mediante la especificación de un perfil de servicio deseado Transformación e Instalación de Proceso de Negocio Nombre Actores Sinopsis Transformación e Instalación de Proceso de Negocio Analista de negocio Una vez completada la definición de un proceso de negocio y obtenida la representación intermedia del mismo, el analista de negocio procede a la transformación e instalación del proceso. Para esto el sistema recibe dicha representación intermedia y un nombre para el proceso. Posteriormente, procede a realizar las transformaciones necesarias que dejen el proceso en un formato ejecutable. Finalmente, el proceso junto con los archivos necesarios para la ejecución son empaquetados y deployados en un motor de ejecución Ejecución de Proceso de Negocio Nombre Actores Sinopsis Ejecución de Proceso de Negocio Aplicación Cliente Una aplicación cliente invoca la ejecución de un proceso de negocio a través de la interfaz de servicio expuesta para tal fin. El sistema comienza la ejecución del proceso resolviendo cada una de las invocaciones a servicios especificadas. Dependiendo del tipo de invocación a resolver, y en caso de ser necesario, el sistema busca un servicio concreto que cumpla con un perfil de servicio especificado. Versión 2.3 Pág. 9
10 5 Vista Lógica 5.1 Introducción Se presentan en este punto los sucesivos refinamientos que definen las diferentes unidades lógicas que componen la arquitectura del Framework Batuta. El primer refinamiento realizado consiste en la descomposición en subsistemas. Los subsistemas representan cortes verticales al diseño del sistema. Cada subsistema consiste en el agrupamiento de diferentes funcionalidades relacionadas entre sí y posee la capacidad de funcionar como un sistema en sí mismo. Posteriormente se explora la composición de cada uno de los subsistemas. Finalmente se incluye la realización de los casos de uso descriptos en la sección anterior mediante los componentes arquitectónicos definidos. 5.2 Descomposición en Subsistemas La descomposición propuesta, basada en el modelo Peer to Peer, organiza la arquitectura en un conjunto de subsistemas funcionalmente cohesivos que interactúan entre sí para cumplir sus funciones. Figura 2 Principales componentes del Framework Batuta. 5.3 Descripción de los Subsistemas Definición de Procesos: Este subsistema es el encargado de proporcionar las herramientas adecuadas que le permitan al analista de negocio, diseñar de forma amigable e intuitiva el proceso de negocio. Debe permitir manipular la semántica asociada a los servicios. Finalmente, debe ser capaz de transformar la representación gráfica del proceso a una especificación intermedia del mismo que sirva de entrada para el subsistema de ejecución de procesos de negocio. Versión 2.3 Pág. 10
11 Ejecución de Procesos: Tomando como entrada la representación intermedia de un proceso de negocio, realiza una serie de transformaciones que la llevan a una representación ejecutable. Este subsistema se encarga de la transformación instalación y ejecución del proceso de negocio y utiliza los servicios del subsistema Resolución de Servicios para la invocación de los servicios requeridos por el proceso. Resolución de Servicios: Se encarga de la resolución de un servicio especificado mediante una descripción semántica. La resolución implica la búsqueda y selección del servicio concreto que mejor se adapte al perfil de servicio requerido, y la ejecución del mismo utilizando los parámetros proporcionados. 5.4 Diseño de Subsistemas Definición de Procesos El diseño de este subsistema quedó fuera del alcance del proyecto. Se prescinde del mismo recurriendo a una herramienta externa para la implementación del framework. La salida del trabajo de este subsistema es una representación intermedia del proceso de negocio como se detalla en [3]; dicha representación intermedia es entrada del subsistema Ejecución de Procesos que se describe a continuación Ejecución de Procesos El subsistema Ejecución de Procesos tiene dos grandes componentes como puede verse en la figura 3. Figura 3 Componentes del Subsistema Ejecución de Procesos. Bpm es el componente principal del subsistema. Se encarga de dos tareas fundamentales: la transformación de la entrada: una representación intermedia del proceso de negocio a una representación ejecutable del mismo, y la ejecución del proceso de negocio a partir de la representación ejecutable obtenida en el paso anterior. Durante la ejecución del proceso, el componente recurre al subsistema Resolución de Servicios para resolver las invocaciones a servicios incluidas en el proceso. El resultado de la resolución de un servicio puede ser una ontología; dentro de esta ontología pueden estar contenidos elementos a ser utilizados como resultados intermedios del proceso con los que se precise hacer algún cálculo o ser entrada de una nueva invocación a un servicio. El componente Query es utilizado por Bpm precisamente para consultar una Versión 2.3 Pág. 11
12 ontología en busca de un elemento (o conjunto de elementos) en particular. Por tal motivo, debe utilizarse un lenguaje de consulta desarrollado para tales fines. En la sección se presenta un caso concreto que ejemplifica el funcionamiento y cometido del componente Diseño detallado del subsistema. Componente Bpm. Bpm está integrado por tres módulos tal cual se muestra en la figura 4. Figura 4 Diseño del componente Bpm. Transformer: recibe la representación intermedia de un proceso de negocio y genera un archivo con la representación ejecutable del mismo. Installer: se encarga de tomar la representación ejecutable de un proceso de negocio, resultado del trabajo del módulo Transformer, y dejarla disponible en un motor de ejecución de procesos de negocio de forma que pueda ser ejecutada. Execution Engine: este módulo representa el motor de ejecución de procesos de negocio; los procesos son deployados dentro de este componente y se hacen accesibles para ser ejecutados generando una interfaz para cada uno de ellos; en general son expuestos en forma de web service. La figura 5 presenta la interfaz del componente Bpm y sus subcomponentes. Figura 5 Interfaces componente Bpm. IBpm o o transformandinstall: a partir de la representación intermedia de un proceso y el nombre del mismo se encarga de dejarlo disponible para ser ejecutado; para ello utiliza las operaciones transform de ITransformer e install de IInstaller. uninstallprocess: a través de esta operación se dan de baja procesos disponibles en el motor de ejecución; utiliza la operación uninstall de IInstaller. Como se menciona anteriormente la ejecución de un proceso de negocio se realiza accediendo a la interfaz del mismo expuesta por el motor de ejecución. Por este motivo es que no se encuentra una operación de ejecución en las interfaces presentadas en la figura 5. Versión 2.3 Pág. 12
13 5.4.3 Resolución de Servicios La composición del subsistema Resolución de Servicios se muestra en la figura 6. Figura 6 Componentes del Subsistema Resolución de Servicios. El componente Resolver recibe las solicitudes de resolución de servicios y utiliza los componentes Finder, Selector e Invoker para resolver dichos pedidos. Finder recibe como entrada una descripción semántica de las características del servicio buscado y se encarga de hallar servicios concretos que cumplan con tales características. Para ello debe poder acceder a un repositorio de servicios sobre los cuales consultar y contar con una herramienta que resuelva el macheo semántico deseado: especificación semántica del servicio general buscado vs. descripción semántica de las características de cada uno de los servicios concretos. El resultado del trabajo de este componente es una lista de servicios que machean la especificación semántica indicada. La determinación de si un servicio machea una determinada descripción semántica se resuelve mediante un algoritmo que evalúa de acuerdo a una serie de criterios si existe la correspondencia y en que grado. Es decir que existen diferentes grados de macheo. Por este motivo la lista antes mencionada adjunta a cada servicio hallado un indicador del grado de correspondencia obtenido. El algoritmo y los criterios de macheo dependen del lenguaje de descripción semántica de servicios y la herramienta de resolución de macheo utilizados. Un caso concreto se detalla en [5]. Selector se encarga de seleccionar uno de los servicios de la lista devuelta por el componente Finder. El servicio escogido depende de determinados criterios que puedan haberse especificado en el pedido de resolución de servicio (como ser aspectos de calidad) o definidos en el componente Selector. El criterio inmediato es el de escoger el servicio con mayor grado de macheo pero podrían utilizarse otros más complejos que implicaran una revisión más profunda de la lista de resultados; el aspecto de calidad de servicio antes mencionado es un ejemplo. Una vez seleccionado el servicio adecuado debe procederse a la invocación del mismo. El encargado de resolver dicha tarea es el componente Invoker. Para ello recibe la especificación semántica del servicio seleccionado junto con los parámetros de invocación. La especificación semántica contiene toda la Versión 2.3 Pág. 13
14 información requerida para ejecutar el servicio incluyendo los parámetros de entrada que son instanciados con los valores recibidos Diseño detallado del subsistema. La presenta las interfaces del subsistema. Revisando las operaciones definidas puede verse la realización de lo descrito en la sección anterior. A continuación se repasa cada una de estas operaciones centrando la descripción en los parámetros y tipos de datos manejados. Figura 7 Interfaces Subsistema Resolución de Servicios. resolve: es la operación que dispara la resolución de un servicio. Es invocada por el subsistema Ejecución de Procesos, en particular por el componente Execution Engine según se explica en la sección Recibe como parámetro de entrada un objeto IServiceResolveRequest. La forma de este objeto podrá variar de acuerdo al lenguaje empleado para el manejo semántico de los servicios pero sustancialmente debe contener la descripción semántica del servicio a resolver y los parámetros de invocación. El resultado de esta operación se encapsula en un objeto de tipo IServiceResolveResponse el cual contiene los parámetros de retorno del servicio invocado y el objeto IServiceResolveRequest con el que se realizó la invocación. find: se encarga de hallar el conjunto de servicios que macheen el perfil de servicio deseado. A partir de un parámetro de tipo URI que indica dónde se halla la ontología que describe el tipo de servicio requerido, consulta el repositorio de servicios en busca de los que macheen el perfil y retorna en un objeto de tipo IFinderResultList la lista de servicios obtenida y el grado de macheo de cada servicio. Notar que el parámetro de entrada ServiceProfile que se emplea en esta operación es parte del contenido del objeto IServiceResolveRequest con el cual se invoca la operación resolve. select: se encarga de seleccionar el servicio a invocar de los incluidos en el objeto IFinderResultList devuelto por la función find. El criterio para seleccionar el servicio se representa mediante un objeto ISelectCriterion, el cual permite la parametrización de la selección en caso de que el componente que implemente ISelector así lo permita. El resultado de esta operación es el servicio elegido representado por un objeto IFinderResult; es decir, un elemento de la lista resultlist recibida como entrada. invoke: mediante esta operación se ejecuta el servicio seleccionado en los pasos previos. Como parámetros de entrada recibe una URI apuntando a la ontología Versión 2.3 Pág. 14
15 que describe el servicio seleccionado y la lista de parámetros de invocación. La URI es parte del contenido del objeto IFinderResult devuelto por el componente Selector, mientras que la lista de parámetros es parte del contenido del objeto IServiceResolveRequest con el cual se invoca la operación resolve. El resultado de la operación se encapsula en un objeto de tipo ValueMap el cual contiene una lista de parejas que representan un parámetro de retorno del servicio y su respectivo valor. 5.5 Realización de los Casos de Uso Relevantes para la Arquitectura Diseño de Proceso de Negocio La realización del caso de uso queda a cargo del subsistema Definición de Procesos. Figura 8 Realización del caso de uso Diseño de Proceso de Negocio. Como se mencionó anteriormente el diseño de dicho subsistema no está dentro del alcance del proyecto por lo que no es posible profundizar en la realización del caso de uso Transformación e Instalación de Proceso de Negocio La realización del caso de uso queda a cargo del subsistema Ejecución de Procesos. Figura 9 Realización del caso de uso Transformación e Instalación de Proceso de Negocio. Profundizando en el diseño del subsistema Ejecución de Procesos de acuerdo a lo desarrollado en la sección , se presenta en la figura 10 la realización del caso de uso por parte del componente Bpm. Figura 10 Realización del caso de uso Transform. e Instal. de Proc. de Negocio nivel 2. Bajando un paso más en el nivel de abstracción, la presenta la realización del caso de uso por parte de los subcomponentes del componente Bpm. Versión 2.3 Pág. 15
16 Figura 11 Realización del caso de uso Transform. e Instal. de Proc. de Negocio nivel 3. Finalmente, se incluye el diagrama de secuencia que describe la interacción ente los componentes para realizar el caso de uso en cuestión. La figura 12 presenta dicho diagrama. Figura 12 Diagrama de secuencia realización CU Transform. e Instal. de Proc. de Negocio. El componente Bpm recibe el pedido de transformar e instalar un proceso mediante la operación transformandinstall. A partir de ello, solicita la transformación al componente Transformer y una vez completada dicha acción solicita la instalación al componente Installer el cual deja el proceso disponible para ejecutar en el Execution Engine Ejecución de Proceso de Negocio La realización del caso de uso queda a cargo del subsistema Ejecución de Procesos el cual utiliza para cumplir tal función el subsistema Resolución de Servicios. Bajando en el nivel de abstracción, se presenta en las figuras 14 y 15 la realización del caso de uso de acuerdo a los componentes presentados en las secciones y Versión 2.3 Pág. 16
17 Figura 13 Realización del caso de uso Ejecución de Proceso de Negocio. Figura 14 Realización del caso de uso Ejecución de Proceso de Negocio nivel 2. Figura 15 Realización del caso de uso Ejecución de Proceso de Negocio nivel 3. Finalmente se incluye el diagrama de secuencia que describe la interacción ente los componentes para realizar el caso de uso en cuestión. La figura 16 presenta dicho diagrama. Versión 2.3 Pág. 17
18 Figura 16 Diagrama de secuencia realización CU Ejecución de Proceso de Negocio. El diagrama grafica lo explicado en la sección La interacción se presenta simplificada de forma de ganar claridad en la descripción. A través de la interfaz expuesta por el motor de ejecución para acceder a cada proceso, se invoca la ejecución de un determinado proceso. Dicha ejecución implica, en el caso general, la resolución de servicios, lo cual se solicita al componente Resolver mediante la operación resolve. Resolver utiliza IFinder para obtener la lista de servicios que machean la descripción semántica del servicio a resolver, representada por el parámetro frl en el diagrama. Con esta lista se invoca la operación select de ISelector para escoger el servicio adecuado, el cual es invocado posteriormente utilizando el componente Invoker. El resultado de la resolución del servicio es devuelto al componente Execution Engine el cual eventualmente podría requerir acceder a algún parámetro en particular del resultado para lo cual utiliza el componente Query. Versión 2.3 Pág. 18
19 6 Vista de Deployment 6.1 Introducción Está sección describe una o más configuraciones físicas sobre las cuales se realiza el deploy del software y es ejecutado, así como la infraestructura necesaria para su instalación. Para el caso del Framework Batuta se describe el escenario general de distribución esperado para los componentes de software antes descritos, las características de los nodos presentados y la comunicación entre los mismos. 6.2 Distribución y Deployment La figura 17 presenta el escenario de distribución esperado para la instalación del framework. El mismo se ubica en el contexto de una organización, sobre una LAN privada y se prevé el acceso vía Internet a un repositorio de servicios. Figura 17 Escenario de distribución A continuación se describen los nodos presentes en la figura: Servidor BPM: representa el equipo donde correrá el subsistema Ejecución de Procesos. Por tanto, se ejecutan aquí las funcionalidades de transformación e instalación de procesos de negocio así como el motor de ejecución de procesos. Tales servicios son expuestos mediante respectivas interfaces web service. PC Analista de Negocios: representa la estación de trabajo de un usuario analista de negocio. En este nodo correrá el subsistema Definición de Procesos. Se comunica con el Servidor BPM para la transformación e instalación del proceso definido; la comunicación es vía SOAP a través de la interfaz web service expuesta por dicho nodo. Cliente de Proceso de Negocio: representa el equipo donde corre una aplicación cliente que desea ejecutar un proceso de negocio disponible en el Servidor BPM. No hay Versión 2.3 Pág. 19
20 componentes del framework corriendo en este nodo. Los procesos son ejecutados invocando el web service publicado para cada uno de ellos. Servidor Resolución de Servicios: representa el equipo donde correrá el subsistema Resolución de Servicios. Recibe pedidos del motor de ejecución de servicios corriendo en el Servidor BPM. La comunicación es nuevamente a través de una interfaz web service. Repositorio de Servicios: representa un equipo donde se mantendrá un registro de servicios disponibles a los cuales podrá acceder el subsistema Resolución de Servicios para buscar los servicios adecuados para una determinada solicitud. Podría existir más de una instancia de este nodo a la cual acceder. Las interfaces de comunicación previstas para los nodos, basadas en web services, posibilitan plantear múltiples escenarios de distribución y permiten el planteo de una infraestructura multiplataforma. Versión 2.3 Pág. 20
21 7 Arquitectura del Sistema Batuta 7.1 Introducción Sobre la base arquitectónica presentada, se describe a continuación la arquitectura del Sistema Batuta realizado como prototipo prueba de concepto del Proyecto Batuta. Dicho sistema puede verse como una realización particular del framework general desarrollado y fue construido a partir de la integración de diferentes tecnologías y herramientas presentes en el área de investigación abarcada. La descripción se organiza repasando las vistas presentadas anteriormente, detallando en cada una de ellas como se resolvió la realización de los componentes definidos, que componentes de infraestructura, tecnologías, herramientas y lenguajes se utilizaron. La vista de casos de uso claramente no aplica en esta descripción puesto que no hay nada que haya debido adaptarse respecto a los requerimientos en la solución desarrollada. El Sistema Batuta es una solución particular al problema general planteado y fue construido sobre la arquitectura del framework la cual fue guiada por los casos de uso presentados. Se considera prudente repasar los siguientes puntos para entender el resto del desarrollo de la sección: El lenguaje de modelado de procesos utilizado es BPMN. El lenguaje de ejecución de procesos utilizado es BPEL. El lenguaje de representación semántica de conceptos utilizado es OWL. El lenguaje de descripción semántica de web services utilizado es OWL-S. Los fundamentos de estas decisiones pueden hallarse en Descripción del Modelo Batuta [3] y los conceptos clave de cada lenguaje pueden consultarse en el documento Estado del Arte [4]. 7.2 Vista Lógica La figura 18 presenta una vista global de los subsistemas del framework y las herramientas externas que se utilizaron para lograr cumplir los cometidos definidos para cada subsistema Subsistema de Definición de Procesos Como se menciona en la sección el diseño de este subsistema no está dentro del alcance del proyecto. Para resolver este aspecto se recurrió a la utilización de una herramienta externa. Dada la tarea a cumplir por este subsistema se requería una herramienta que permitiera el modelado de procesos de negocios de forma clara e intuitiva y la posibilidad de manejar aspectos de semántica referidos a los servicios involucrados en el proceso. Ante la no disponibilidad de una herramienta que soportara de forma nativa el manejo de representaciones semánticas (OWL y OWL-S), se recurrió a la utilización de un producto de modelado de procesos de negocio, integrando los aspectos semánticos a través de referencias a ontologías manejadas como parámetros de invocación o retorno de los servicios invocados. Versión 2.3 Pág. 21
22 Figura 18 Vista lógica general de la realización del framework para el Sistema Batuta Más concretamente, ante la invocación de un servicio, se especifica en un parámetro la URI donde hallar la descripción del perfil de servicio requerido (el archivo ServiceProfile), y entre los parámetros de invocación, a los que sean conceptos semánticos se le asigna como valor la URI donde ubicar la instancia de ontología adecuada. El detalle de este manejo puede consultarse en [5] donde se puede encontrar información técnicamente más detallada. El producto utilizado, en calidad de versión de evaluación, es Process Modeler for Microsoft Visio de la compañía ITP Commerce el cual funciona como add-in de MS Visio [6]. La definición de un proceso de negocio mediante este producto puede exportarse a una representación XML la cual dadas sus características es adecuada para ser utilizada como lenguaje de representación intermedia, LRI en la terminología del Modelo Batuta. Este archivo XML es por tanto la salida del Subsistema de Definición de Procesos Subsistema de Ejecución de Procesos Como se explica en la sección 5.4.2, el subsistema se divide en dos componentes: Bpm y Query. Versión 2.3 Pág. 22
23 Componente Bpm Dentro del componente Bpm tenemos tres grandes funcionalidades: transformación de la representación intermedia de un proceso a su representación ejecutable, instalación del proceso en un motor de ejecución y ejecución del proceso de negocio. De acuerdo a lo desarrollado en la sección las funcionalidades de transformación e instalación son resueltas por un módulo que implementa la interfaz IBpm, en particular la operación transformandinstallprocess. La misma recibe una representación intermedia, LRI el archivo XML salida del Subsistema Definición de Procesos - y un nombre de proceso. A partir de tal entrada, transforma la representación LRI hasta obtener una representación ejecutable, en lenguaje BPEL. Para dicha tarea recurre al módulo Transformer el cual mediante transformaciones XSLT logra la salida deseada. Los detalles de las transformaciones realizadas se encuentran en [5]. Una vez obtenida la representación ejecutable BPEL- del proceso de negocio, se recurre al módulo Installer para deployar el proceso en el motor de ejecución. Este módulo empaqueta los archivos resultado de las transformaciones: BPEL, WSDL y descriptores de deployment específicos del motor de ejecución, y realiza el deploy. La funcionalidad de ejecutar un proceso de negocio es realizada mediante una herramienta externa: el motor de ejecución, open source, ActiveBPEL de la compañía Active Endpoints [7]. Los procesos deployados en el motor son expuestos como web services y por tanto son ejecutados invocando el web service adecuado Componente Query Como se menciona en la sección 5.4.2, este componente se encarga de realizar consultas sobre ontologías devueltas como resultado de la resolución de un servicio. El mismo es utilizado por el motor de ejecución de procesos y resuelve su tarea mediante la utilización del Framework Jena para el manejo de ontologías [8]. El componente Query desarrollado para el Sistema Batuta soporta dos lenguajes de consulta de ontologías RDQL y SPARQL [4] Subsistema de Resolución de Servicios Tal cual se detalla en la sección 5.4.3, el subsistema se organiza en cuatro componentes. El componente Resolver recibe las solicitudes de resolución de servicios de parte del motor de ejecución y utiliza los componentes Finder, Selector e Invoker para resolver dichos pedidos Componente Resolver Se resuelve implementando la interfaz IResolver especificada en Tal interfaz es expuesta como web service y de esa forma la funcionalidad de resolución de servicios se hace accesible para el motor ActiveBPEL Componente Finder La búsqueda de los servicios adecuados para una determinada especificación semántica se resuelve en base al lenguaje OWL-S como se menciona previamente. El componente recibe la referencia a un perfil de servicio, la URI de un archivo ServiceProfile, y utiliza el componente externo OWL-S / UDDI Matchmaker [9] para resolver la búsqueda de servicios que macheen el perfil requerido. La interacción con el OWL-S / UDDI Matchmaker Versión 2.3 Pág. 23
24 se realiza a través de una API provista por la misma herramienta. Al realizar una consulta el marchmaker retorna una lista de referencias a los perfiles - ServiceProfile de los servicios que cumplen con el perfil requerido junto con su score de macheo. Dichos perfiles son posteriormente procesados para obtener la referencia al Service, necesario para su posterior la invocación. Los servicios son registrados en un repositorio UDDI extendido por la propia herramienta para soportar el manejo de publicación y consulta de servicios en base a perfiles OWL-S. La implementación de UDDI utilizada por OWL-S/UDDI Matchmaker es juddi [10]. Para el procesamiento semántico OWL-S/UDDI Matchmaker utiliza el razonador Racer de la compañía Racer Systems [11]. Más información sobre la utilización de OWL-S/UDDI Matchmaker, el algoritmo de macheo, y otros detalles pueden consultarse en [5]. La salida del Finder es una lista de resultados donde cada elemento contiene entre otras cosas: la referencia al servicio encontrado y un atributo denominado score que indica el grado de macheo entre el perfil de servicio consultado y el servicio hallado Componente Selector Este componente se encarga de seleccionar uno de los elementos de la lista anterior de acuerdo a un determinado criterio. En el caso del Sistema Batuta el criterio utilizado es el de seleccionar el elemento de mayor score Componente Invoker Una vez seleccionado el servicio que mejor cumple con el perfil, el componente Invoker procede a la invocación del mismo. La ejecución citada, así como la manipulación general de los archivos OWL-S se realiza utilizando el framework OWL-S API de la organización Mindswap [12]. Este componente recibe la referencia al servicio seleccionado con la cual crea una instancia del servicio utilizando la OWL-S API. Una vez que se cuenta con el servicio instanciado se puede realizar la invocación obteniendo su proceso y seteando los valores de los parámetros de invocación. 7.3 Vista de Deployment La figura 19 ilustra el deployment del Sistema Batuta sobre la base del escenario de distribución presentado en la figura 17 como parte del desarrollo de la vista de deployment del Framework Batuta (sección 6) Distribución y Deployment Servidor BPM: en este nodo y sobre el servidor de aplicaciones JBoss [13] se realiza el deploy de los componentes del subsistema Ejecución de Procesos y las herramientas externas utilizadas: el motor de ejecución de procesos ActiveBPEL y el framework Jena API. PC Analista de Negocios: en la estación de trabajo del analista de negocio se instala el componente externo Process Modeler previamente mencionado. Versión 2.3 Pág. 24
25 Figura 19 Deployment del Sistema Batuta. Cliente de Procesos de Negocio: en este nodo corre una aplicación cliente del subsistema Ejecución de Procesos de Negocio la cual accede a los procesos deployados en el motor ActiveBPEL a través de la interfaz de web service que esta herramienta expone para cada servicio. Servidor Resolución de Servicios: en este nodo y sobre el servidor de aplicaciones JBoss se realiza el deploy de los componentes del subsistema Resolución de Servicios y las herramientas externas utilizadas: el componente OWL-S/UDDI Matchmaker y el framework OWL-S API. Así mismo, corren en este nodo el sistema razonador Racer, dependencia del sistema OWL-S/UDDI Matchmaker, y un servicio MySQL donde se encuentra la base de datos registry con el esquema JUDDI adecuado para el registro de los web services que componen el repositorio de servicios. La comunicación entre el matchmaker y MySQL es vía JDBC y con el sistema Racer vía TCP/IP. 7.4 Vista de Implementación En esta sección se presentan los ejecutables y artefactos construidos para la implementación del Sistema Batuta. El sistema aquí planteado es una implementación del framework descrito en las secciones anteriores que cumple con la especificación 1.4 de J2EE Estructura del Framework La implementación del framework se empaquetó en dos JARs independientes, uno para el subsistema Ejecución de Procesos y otro para el subsistema Resolución de Servicios tal como se muestra en la figura 20. La implementación del Sistema Batuta se enmarca en la tecnología J2EE, más precisamente el subsistema Resolución de Servicios está implementado por un conjunto de clases que utilizan los servicios de una serie de session beans que realizan las tareas concretas. Los beans FinderBean, SelectorBean e InvokerBean realizan las tareas de búsqueda, selección e invocación de servicios respectivamente. Versión 2.3 Pág. 25
26 Figura 20 Mapeo de subsistemas El bean ReveiverBean se encarga de recibir los mensajes de solicitud de resolución de servicios. Es el que implementa la interfaz de web service que utiliza el subsistema de ejecución de servicios para resolver los servicios abstractos. Para el subsistema Bpm se cuenta con el session bean BusinessProcessManagerBean que depende de batuta-frameworkimplbpm.jar con la implementación del subsistema de ejecución de procesos de negocio. Estos beans se empaquetaron en JARs separados e independientes de sus interfaces, es decir, sus interfaces local y remota se empaquetaron en un JAR independiente con el sufijo - cliente. Esto es así pues la implementación del framework solo requiere conocer sus interfaces. Todos estos JARs fueron empaquetados en un EAR llamado BatutaEAR.ear Arquitectura de la Implementación Se presenta a continuación un diagrama que muestra las dependencias entre los JARs que contienen la definición de las interfaces y la implementación concreta del framework. Figura 21 Dependencia de JARs del sistema Versión 2.3 Pág. 26
27 Se presenta a continuación la descripción detallada de los artefactos más importantes de los subsistemas Ejecución de Procesos y Resolución de Servicios desde el punto de vista de su implementación Subsistema Ejecución de Procesos El JAR CustomXPathFunctions.jar contiene la implementación de las funciones de XPath creadas como extensión del motor de ejecución, con el fin de dotar a este último de la capacidad de ejecutar consultas sobre ontologías, y manipular el mensaje de invocación del componente Resolución de Servicios. Como se muestra en la la implementación del subsistema presenta una dependencia al paquete XSLT Templates. Este paquete contiene el conjunto de plantillas XSLT que se utilizan para las transformaciones entre LRI y BPEL. Figura 22 Dependencia del subsistema BPM Se puede apreciar también la interfaz de servicio del subsistema Resolución de Servicios. Esta dependencia se da en el componente de transformación ya que las invocaciones abstractas se traducen a invocaciones al componente de resolución de servicios. Se presenta a continuación un fragmento de Batuta.wsdl que describe la interfaz de servicio del subsistema Resolución de Servicios. Se omitieron las definiciones de namespaces y de tipos para simplificar el código. <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" > <wsdl:types>... </wsdl:porttype> <wsdl:binding name="batutasoapbinding" type="impl:receiver"> <wsdlsoap:binding style="document" transport=" <wsdl:operation name="semanticinvoker"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="semanticinvokerrequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="semanticinvokerresponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="receiverservice"> <wsdl:port binding="impl:batutasoapbinding" name="batuta"> <wsdlsoap:address location=" </wsdl:port> </wsdl:service> </wsdl:definitions Versión 2.3 Pág. 27
28 Subsistema Resolución de Servicios Como se mencionó anteriormente, se cuenta con un session bean para cada componente del subsistema de resolución de servicios. Como se ve en la todos los EJBs dependen de batutaframework.jar pues este último contiene las interfaces definidas para el framework. En el diagrama se agregaron las dependencias a las librerías Matchmaker Client y OWL-S API, necesarias para interactuar con el subsistema externo encargado del macheo semántico y para manipular las descripciones semánticas de los servicios respectivamente. Se aprecia también la interfaz de web service que presenta el EJB BatutaReceiverEJB empaquetado en BatutaReceiverEJB.jar. Esta interfaz utiliza el wsdl mencionado en la sección anterior. Figura 23 Dependencia de JARs del subsistema de Resolución de servicios. Versión 2.3 Pág. 28
29 8 Referencias [1] Proyecto de Grado Batuta Generador de Aplicaciones Orquestadoras. Glosario. Facultad de Ingeniería, Universidad de la República, Uruguay, [2] Rational Unified Process. Rational Software, IBM, [3] Proyecto de Grado Batuta Generador de Aplicaciones Orquestadoras. Descripción del Modelo Batuta. Facultad de Ingeniería, Universidad de la República, Uruguay, DescripcionModeloBatuta.pdf [4] Proyecto de Grado Batuta Generador de Aplicaciones Orquestadoras. Estado del Arte. Facultad de Ingeniería, Universidad de la República, Uruguay, EstadoDelArte.pdf [5] Proyecto de Grado Batuta Generador de Aplicaciones Orquestadoras. Especificación Complementaria del Modelo Batuta. Facultad de Ingeniería, Universidad de la República, Uruguay, EspecificacionComplementaria.pdf [6] Process Modeler for Microsoft Visio - ITP Commerce. [7] ActiveBPEL Active Endpoints [8] Jena Framework [9] OWL-S/UDDI Matchmaker [10] juddi [11] Racer [12] OWL-S API - Mindswap - Maryland Information and Network Dynamics Lab Semantic Web Agents Project. [13] JBoss Versión 2.3 Pág. 29
Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:
PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo
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
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
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
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
SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO
SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3
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.
Figure 7-1: Phase A: Architecture Vision
Fase A Figure 7-1: Phase A: Architecture Vision Objetivos: Los objetivos de la fase A son: Enfoque: Desarrollar una visión de alto nivel de las capacidades y el valor del negocio para ser entregado como
RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC
RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC Proyecto Integrador de Tecnologías Computacionales Autor: Roberto García :: A00888485 Director: Jorge A. Torres Jiménez Contenido Introducción
Documentación Técnica Conector
Documentación Técnica Conector Torre Ejecutiva Sur Liniers 1324, piso 4 Montevideo Uruguay Tel/Fax: (+598) 2901.2929* Email: [email protected] www.agesic.gub.uy Indice 1 Introducción...4 2 Casos
Guía Metodológica para el diseño de procesos de negocio
Guía Metodológica para el diseño de procesos de negocio La guía desarrollada para apoyar TBA, se diseñó con base en las metodologías existentes para el desarrollo BPM, principalmente en aquellas que soportan
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
Fundamentos del diseño 3ª edición (2002)
Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software
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
Service Oriented Architecture: Con Biztalk?
Service Oriented Architecture: Con Biztalk? Pablo Abbate Servicios Profesionales Danysoft SOA supone una nueva forma de pensar acerca de la arquitectura IT para las empresas. De hecho, es una asociación
Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC [email protected]
Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC [email protected] Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.
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
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.
3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)
3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.
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)
ARQUITECTURAS DE PROCESOS DE NEGOCIOS INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN
ARQUITECTURAS DE PROCESOS DE NEGOCIOS INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN ARQUITECTURA SOA Services Oriented Arquitecture SOA como arquitectura para BPM Las organizaciones deben
http://www.informatizate.net
http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.
CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO
CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO En la actualidad la mayoría de las grandes empresas cuentan con un sin número de servicios que ofrecen a sus trabajadores y clientes. Muchos de estos servicios
INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones
INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones Univ. Cantabria Fac. de Ciencias Patricia López Modelo de Casos de Uso vs Modelo de Análisis Modelo de Casos de Uso Modelo de Análisis Descrito con el
Capitulo III. Diseño del Sistema.
Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje
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
Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar
Gobierno Municipal del Cantón Bolívar Versión: Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Plan de Desarrollo de Software Universidad
Resumen General del Manual de Organización y Funciones
Gerencia de Tecnologías de Información Resumen General del Manual de Organización y Funciones (El Manual de Organización y Funciones fue aprobado por Resolución Administrativa SBS N 354-2011, del 17 de
Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales
Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail [email protected]
Introducción. Metadatos
Introducción La red crece por momentos las necesidades que parecían cubiertas hace relativamente poco tiempo empiezan a quedarse obsoletas. Deben buscarse nuevas soluciones que dinamicen los sistemas de
DISEÑO DE FUNCIONES (TRATAMIENTOS)
DISEÑO DE FUNCIONES (TRATAMIENTOS) Diseño Estructurado. Estrategias para Derivar el Diagrama de Estructura. Diseño de Módulos Programables. 1. DISEÑO ESTRUCTURADO El Diseño es el proceso por el cual se
7. CONCLUSIONES Y TRABAJOS FUTUROS
7. CONCLUSIONES Y TRABAJOS FUTUROS 7.1 CONCLUSIONES El presente trabajo ha realizado un acercamiento a JBoss AOP, un framework que permite la definición y ejecución de comportamiento aspectual. Consideramos
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
DISEÑO DE COMPONENTES DE SOFTWARE *
DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP * Resumen del capítulo 10 de libro de [Pressman 2010] V:18-11-2008 (c) P. Gomez-Gil, INAOE.
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.
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
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
Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, 2002. Introducción al Diseño de Software
Principio de Diseño Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, 2002 Introducción al Diseño de Software Qué es el diseño? Representación ingenieril
Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta
Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta (Business Process Management, BPM). La Gerencia de los Procesos del Negocio: Se define como: "integración
Geolocalización de Sitios de Interés Para Aplicaciones Móviles G-SIAM. Plan de Aseguramiento de Calidad del Software SQAP
Proyecto de Grado Lic. En Informática Geolocalización de Sitios de Interés Para Aplicaciones Móviles Plan de Aseguramiento de Calidad del Software SQAP VERSIÓN 1.1 Universidad de la Empresa Soriano 959
Workflow, BPM y Java Resumen de la presentación de Tom Baeyens
Workflow, BPM y Java Resumen de la presentación de Tom Baeyens Workflow, BPM y Java Página 1 de 11 1. Introducción Tom Baeyens es el fundador y arquitecto del proyecto de JBoss jbpm, la máquina de workflow
Ingeniería de Software
Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6
Ingeniería de Software. Pruebas
Ingeniería de Software Pruebas Niveles de prueba Pruebas unitarias Niveles Pruebas de integración Pruebas de sistema Pruebas de aceptación Alpha Beta Niveles de pruebas Pruebas unitarias Se enfocan en
4. Programación Paralela
4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios
Introducción a las Redes de Computadoras. Obligatorio 2 2011
Introducción a las Redes de Computadoras Obligatorio 2 2011 Facultad de Ingeniería Instituto de Computación Departamento de Arquitectura de Sistemas Nota previa - IMPORTANTE Se debe cumplir íntegramente
SUPLEMENTO EUROPASS AL TÍTULO
SUPLEMENTO EUROPASS AL TÍTULO DENOMINACIÓN DEL TÍTULO Técnico Superior en Desarrollo de Aplicaciones Multiplataforma --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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
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
Sistema para Gestión Hotelera Visión
Sistema para Gestión Hotelera Visión Tabla de Contenidos 1. Introducción 4 1.1 Propósito 4 1.2 Alcance 4 1.3 Definiciones, Acrónimos, y Abreviaciones 4 1.4 Referencias 4 2. Posicionamiento 4 2.1 Oportunidad
1.1 EL ESTUDIO TÉCNICO
1.1 EL ESTUDIO TÉCNICO 1.1.1 Definición Un estudio técnico permite proponer y analizar las diferentes opciones tecnológicas para producir los bienes o servicios que se requieren, lo que además admite verificar
LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN
LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...
BPMN Business Process Modeling Notation
BPMN (BPMN) es una notación gráfica que describe la lógica de los pasos de un proceso de Negocio. Esta notación ha sido especialmente diseñada para coordinar la secuencia de los procesos y los mensajes
Marco Normativo de IT
Marco Normativo de IT PC0901 - Proceso de control de cambios en software de aplicación provisto por Organismos Gobierno de la Ciudad Autónoma de Buenos Aires PC0901 - Proceso de control de cambios en software
Historia de revisiones Fecha Versión Descripción Autor 12/11/2011 4.0 Versión final con cambios sobre extensión de ArcGIS Viewer y recorte de alcance
EXAV Descripción de la Arquitectura Versión 4.0 Historia de revisiones Fecha Versión Descripción Autor 12/11/2011 4.0 Versión final con cambios sobre extensión de ArcGIS Viewer y recorte de alcance Enrique
Figure 9-1: Phase C: Information Systems Architectures
FASE C Figure 9-1: Phase C: Information Systems Architectures Objetivos Los objetivos de la Fase C son: Desarrollar la arquitectura de sistemas de información objetivo (datos y aplicaciones), que describe
Unidad 1. Fundamentos en Gestión de Riesgos
1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.
UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos
2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven
La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la
Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes
Proyecto Tutelkán. Tutelkan Web Platform (TWP) - Manual de Usuario
Proyecto Tutelkán Tutelkan Web Platform (TWP) - Manual de Usuario MARZO 2009 Tabla de Contenidos 1. INTRODUCCIÓN...4 2. DEFINICIONES IMPORTANTES...5 3. VISTA GENERAL DE TUTELKAN WEB PLATFORM...6 3.1.
Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática
Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Metodología Evolutiva Incremental Mediante Prototipo y Técnicas Orientada a Objeto (MEI/P-OO)
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
Capítulo 1 Introducción
Capítulo 1 Introducción Dentro de los muchos campos que abarca la universidad para la investigación científica, se encuentra el de los Sistemas de Información Geográfica (SIG). Para ello, cuenta con el
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
2 EL DOCUMENTO DE ESPECIFICACIONES
Ingeniería Informática Tecnología de la Programación TEMA 1 Documentación de programas. 1 LA DOCUMENTACIÓN DE PROGRAMAS En la ejecución de un proyecto informático o un programa software se deben de seguir
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
Ingeniería de Software en SOA
Ingeniería de Software en SOA ECSDI LSI-FIB-UPC cbea Curso 2014/2015 ECSDI (LSI-FIB-UPC cbea) Ingeniería de Software en SOA Curso 2014/2015 1 / 51 Índice 1 Directrices para la IS en SOA 2 Modelo de referencia
CAPÍTULO I. Sistemas de Control Distribuido (SCD).
1.1 Sistemas de Control. Un sistema es un ente cuya función es la de recibir acciones externas llamadas variables de entrada que a su vez provocan una o varias reacciones como respuesta llamadas variables
e-mailing Solution La forma más efectiva de llegar a sus clientes.
e-mailing Solution La forma más efectiva de llegar a sus clientes. e-mailing Solution Es muy grato para nosotros presentarles e-mailing Solution, nuestra solución de e-mail Marketing para su empresa. E-Mailing
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
Alfresco permite su integración y personalización en sistemas de gestión documental para implementar funcionalidades específicas
INTRODUCCIÓN La flexibilidad y facilidad de integración de Alfresco en arquitecturas distribuidas de tipo SOA permiten a Mecatena el desarrollo de proyectos de gestión de contenidos, de cara a los nuevos
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á
Service Oriented Architecture
Programación Concurrente y Distribuida Ingeniería en Informática Service Oriented Architecture José Carlos Cortizo Pérez [email protected] http://www.esp.uem.es/jccortizo D. Sistemas Informáticos
Creando Arquitecturas
Creando Arquitecturas orientadas a servicios SOA Suite Abril 2013 Buenos Aires - Argentina Índice 1. Introducción. 2. Nuestro camino para la creación de SOAs. 3. Como justificar el cambio? 4. Nuestras
SISTEMA DE ESPECIICACION DE REQUERIMIENTOS
SISTEMA DE ESPECIICACION DE REQUERIMIENTOS Presentado por: Jefferson Peña Cristian Álvarez Cristian Alzate 10 CONTENIDO 1. INTRODUCCIÓN 1.1. PROPÓSITO 1.2. AMBITO DEL SISTEMA 1.3. DEFINICIONES, ACRÓNIMOS
CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA
CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA Para el desarrollo de la arquitectura interna del subsistema de programación de actividades se utilizó como referencia la Arquitectura de Aplicaciones.NET 105 de Microsoft
1 Vista de Casos de Uso
Vista de Casos de Uso Esta vista describe el proceso de negocio más significativo y el modelo del dominio. Presenta los actores y los casos de uso para el sistema. Es decir que esta vista presenta la percepción
PROYECTOS DE INVESTIGACIÓN EN LAS AULAS DE CLASE, DE ESTUDIANTES PARA ESTUDIANTES - AQUÍ ESTOY! Y USADIR
PROYECTOS DE INVESTIGACIÓN EN LAS AULAS DE CLASE, DE ESTUDIANTES PARA ESTUDIANTES - AQUÍ ESTOY! Y USADIR ARBELÁEZ B; RENDON L. 1 PROYECTOS DE INVESTIGACIÓN EN LAS AULAS DE CLASE, DE ESTUDIANTES PARA ESTUDIANTES
Hacer Realidad BPM en su Organización ADOPTAR BPM A PARTIR DE UN PROYECTO O NECESIDAD DE AUTOMATIZACIÓN
ADOPTAR BPM A PARTIR DE UN PROYECTO O NECESIDAD DE AUTOMATIZACIÓN OBJETIVOS GENERALES 1. Identificar, diseñar, automatizar y habilitar la mejora continua de los procesos relacionados a la necesidad o proyecto
Presentación de Pyramid Data Warehouse
Presentación de Pyramid Data Warehouse Pyramid Data Warehouse tiene hoy una larga historia, desde 1994 tiempo en el que su primera versión fue liberada, hasta la actual versión 8.00. El incontable tiempo
SISTEMAS DE INFORMACIÓN II TEORÍA
CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR
Manual de Usuario Comprador. Módulo Administración de Presupuesto. www.iconstruye.com. Iconstruy e S.A. Serv icio de Atención Telefónica: 486 11 11
Manual de Usuario Comprador www.iconstruye.com Módulo Administración de Presupuesto Iconstruy e S.A. Serv icio de Atención Telefónica: 486 11 11 Índice ÍNDICE...1 DESCRIPCIÓN GENERAL...2 CONFIGURACIÓN...3
ARC 101 Architecture Overview Diagram
ARC 101 Architecture Overview Diagram Estudio de Arquitectura para la evolución tecnológica de los aplicativos de ATyR Banco de Previsión Social ATYR Evolución Tecnológica Pág 1 of 10 Tabla de Contenidos
1 Índice... 1. 2 Introducción... 2. 2.1 Propósito... 2. 2.2 Alcance... 2. 3 Modelo Arquitectónico Inicial... 3
1 Índice 1 Índice... 1 2 Introducción... 2 2.1 Propósito... 2 2.2 Alcance... 2 3 Modelo Arquitectónico Inicial... 3 3.1 Diagrama de alto nivel de la arquitectura... 3 3.2 Vista de Casos de Uso... 5 3.2.1
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
CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar
CAPITULO 4 Requerimientos, Análisis y Diseño El presente capítulo explica los pasos que se realizaron antes de implementar el sistema. Para esto, primero se explicarán los requerimientos que fueron solicitados
Módulo 7: Los activos de Seguridad de la Información
Módulo 7: Los activos de Seguridad de la Información Se explica en este tema cómo deben abordarse la elaboración de un inventario de activos que recoja los principales activos de información de la organización,
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ú
- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013
- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD Rev. 01- FEBRERO 2013 Software de diagnóstico de la seguridad de la información y autoimplantación
INVENTARIO DE LOS DOCUMENTOS QUE SOPORTAN LOS PROCESOS DE LA GUÍA METODOLÓGICA ConstruColectiva. Autores: JOHN EDDIE DÍAZ AGUDELO
INVENTARIO DE LOS DOCUMENTOS QUE SOPORTAN LOS PROCESOS DE LA GUÍA METODOLÓGICA Autores: JOHN EDDIE DÍAZ AGUDELO JUAN FELIPE OLAYA FIGUEROA Dirección: MARIA CONSUELO FRANKY PONTIFICIA UNIVERSIDAD JAVERIANA
Manual del Usuario. Sistema de Help Desk
Manual del Usuario Sistema de Help Desk Objetivo del Manual El siguiente manual tiene como objetivo proveer la información necesaria para la correcta utilización del sistema Help Desk. Describe los procedimientos
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
Curso de Spring Framework
Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su
<Generador de exámenes> Visión preliminar
1. Introducción Proyecto Final del curso Técnicas de Producción de Sistemas Visión preliminar Para la evaluación de algunos temas de las materias que se imparten en diferentes niveles,
MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35. Facultad de Ingeniería, UBA. Junio 2002. Cátedra: Pablo Cosso
MICQ Facultad de Ingeniería, UBA. Junio 2002 Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35 Cátedra: Pablo Cosso Alumno: Diego Fernando Montaldo 75.300 1 de 1 Introducción Este documento
SIGPRE Sistema de Gestión Presupuestaria
SIGPRE Sistema de Gestión Presupuestaria Documento de Arquitectura UTN Histórico de Revisiones Fecha Versión Descripción Autor 11/17/2009 1.0 Borrador de la arquitectura Roberto López Hinojosa 12/14/2009
