INSTITUTO POLITÉCNICO NACIONAL T E S I S

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

Download "INSTITUTO POLITÉCNICO NACIONAL T E S I S"

Transcripción

1 INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN PATRONES ARQUITECTÓNICOS PARA PROGRAMACIÓN DISTRIBUIDA T E S I S PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS EN INFORMÁTICA P R E S E N T A MICHAEL ROJAS RODRÍGUEZ DIRECTORES: MC. ELIZABETH ACOSTA GONZAGA MC. JESÚS ANTONIO ALVAREZ CEDILLO MEXICO, D.F

2 2

3 INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA DE INVESTIGACIÓN Y POSGRADO CARTA CESIÓN DE DERECHOS En la Ciudad de México D.F el día 26 el mes de Noviembre del año 2010, el que suscribe Michael Rojas Rodríguez alumno del Programa de Maestría en Ciencias en Informática con número de registro B081882, adscrito a la Sección de Estudios de Posgrado de la UPIICSA-IPN, manifiesta que es autor intelectual del presente trabajo de Tesis bajo la dirección de la M. en C. Elizabeth Acosta Gonzaga y el M. en C. Jesús Antonio Álvarez Cedillo y cede los derechos del trabajo intitulado Patrones Arquitectónicos Para Programación Distribuida, al Instituto Politécnico Nacional para su difusión, con fines académicos y de investigación. Los usuarios de la información no deben reproducir el contenido textual, gráficas o datos del trabajo sin el permiso expreso del autor y/o director del trabajo. Este puede ser obtenido escribiendo a la siguiente dirección Si el permiso se otorga, el usuario deberá dar el agradecimiento correspondiente y citar la fuente del mismo. 3

4 AGRADECIMIENTOS El principal agradecimiento es a mis padres quienes siempre me han apoyado y han creído en mi en todo momento, siempre los tengo presentes y en verdad sin ellos no seria la persona que ahora soy, todo el esfuerzo y motivación ellos me lo han otorgado. Muchas gracias Papá y Mamá por sus sabios y sinceros consejos. A mis hermanos Connie y Sergio quienes me guían y apoyan. Se que puedo contar con ustedes siempre. A mis profesores quienes con sus conocimientos, consejos y ayuda he podido lograr un paso más en mi carrera profesional. A mis directores, Maestra Elizabeth Acosta gracias por todo el apoyo y buenos y sabios consejos que me ha dado. Maestro Jesús Álvarez, por la buena disposición y el apoyo en todo momento. Finalmente quiero agradecer a la vida, al destino y a Dios por darme la oportunidad de concluir un paso mas en mi carrera profesional y por ponerme en mi camino siempre a todas las personas que me han guiado. Muchas Gracias Michael Rojas Rodríguez 4

5 Índice Resumen Summary Introducción Planteamiento de la problemática Objetivos Justificación Alcances Resultados Esperados Limitaciones Marco teórico CAPITULO 1, Una visión esencial de la arquitectura de software y patrones Sistemas de información distribuidos Arquitectura de Software Vistas Arquitectónicas Patrones Tipos de Patrones Patrones de diseño Patrones de creación Patrones estructurales Patrones de comportamiento Patrones arquitectónicos El Futuro de los Patrones Lenguajes de Descripción Arquitectónica (ADL s) Lenguaje Acme-Armi CAPITULO 2, Patrones Arquitectónicos desde perspectivas actuales Patrón Arquitectónico Modelo Vista Controlador (MVC) Modelo (Model): Vista (View): Controlador (Controller): Patrón Arquitectónico Broker Objetivo del patrón Broker

6 Motivación Usos Conocidos del patrón arquitectónico Broker Características Benéficas del Patrón Arquitectónico Broker Patrón Arquitectónico Pipes and Filters Contexto Motivación Usos Conocidos CAPITULO 3. Propuesta de solución usando el Patrón Arquitectónico Piramidal y la Arquitectura Piramidal de Sistemas Distribuidos El Patrón Piramidal Características de Niveles Flujo de Operación del Patrón Piramidal Características Generales Ventajas del Patrón Piramidal El Patrón Piramidal desde una perspectiva genérica Introducción al caso de estudio Modelo Básico de Operación Procesamiento de Medios de Pago Electrónicos Problemática Explicación Técnica de la Problemática Propuesta de Solución a la problemática Flujo de Implementación del Patrón Piramidal CAPÍTULO 4, Implementando el Patrón Piramidal Consideraciones Previas Nivel Base Nivel de Interpretación Nivel Fuente Primer Paso, Especificar Reglas a Nivel Base de Datos Definición de Elementos de la Base de Datos Nombre de la Instancia Bases de Datos Tablespace Tablas Columnas

7 Vistas Índices Llaves foráneas Cluster Trigger Procedimiento Función Secuencia Ligas de base de datos (database link) Sinónimo Paquete Usuario Role Profile Segundo Paso, Manipulación de la Base de Datos Tercer Paso, Análisis y Desarrollo del Web Service Cuarto Paso, Protocolos de Comunicación y Conexión con servicios Protocolo de comunicación Estándar ISO 8583, Conexión con el procesador bancario Quinto paso, Lenguaje y medio de comunicación entre el nivel base e interpretación 117 Esquemas XSD como Lenguaje de Interpretación Atributos Ejemplo de un esquema XSD Notación XSD para el nivel de interpretación Solicitud de Cobro bancario Solicitud de cancelación de un Cobro Solicitud de Reimpresión Solicitud de Consulta de Transacciones Sexto Paso, Generar Programas Cliente Creando Objetos para interacción con el nivel de interpretación Componente Activex DLL Solicitud de Cobro bancario a Nivel Base con Activex Solicitud de cancelación de un Cobro a Nivel Base con Activex Solicitud de Reimpresión a Nivel Base con Activex

8 Solicitud de Consulta de Transacciones a Nivel Base con Activex Interfaces a las que aplica el control Activex Descripción de Métodos de clases Descripción de Beans de operación Beans de Función Interfaces a las que aplica el componente JAR Resultados Obtenidos Conclusiones Glosario Bibliografía

9 Índice de Tablas Tabla 1, Características del patrón arquitectónico Broker Tabla 2, Herramientas del Nivel Base Tabla 3, Herramientas del Nivel de Interpretación Tabla 4, Herramientas del Nivel Fuente Tabla 5, Descripción de Procedimientos Tabla 6, Descripción de Clases Tabla 7, Descripción de los Métodos de la Clase XMLServices Tabla 8, Descripción de los Métodos de la Clase ISOServices Tabla 9, Descripción de los Métodos de la Clase ValidateService Tabla 10, Descripción de los Métodos de la Clase DBService Tabla 11, Descripción de los Métodos de la Clase SecurityService Tabla 12, Descripción de los Métodos de la Clase LogService Tabla 13, Descripción de los Métodos de la Clase ComServices Tabla 14, Descripción de los Métodos de la Clase TransactionServices Tabla 15, BitMap de un mensaje ISO Tabla 16, Definición de campos de los Data Elements Tabla 17, elementos del tag business Tabla 18, Elementos del tag transacction de una solicitud de cobro Tabla 19, Elementos del tag transacction de una cancelación Tabla 20, tags complementarios de una reimpresión Tabla 21, Flujo de Operación control Activex del Nivel Base Tabla 22, Descripción de Clases Tabla 23, Descripción de Métodos de Clases Tabla 24, Descripción de Beans de Operación Tabla 25, Beans de Función

10 Índice de Figuras Figura1, Arquitectura de un Sistema de Venta de Productos Figura 2, Arquitectura CORBA Figura 3, Modelo Vista Controlador Figura 4, Pantalla de AcmeStudio Figura 5, Diagrama de secuencias que muestra gráficamente el patrón MVC Figura 6. Niveles del Patrón Piramidal Figura 7, Patrón Piramidal, un enfoque genérico Figura 8, Partes que conforman el modelo base Figura 9, Arquitectura Actual de la aplicación de cobros bancarios Figura 10, Procesamiento Electrónico de Transacciones Figura 11, Componentes del Nivel Base Figura 12, El Lenguaje XML Figura 13, Componentes del Nivel de Interpretación Figura 14, Componentes del Nivel Fuente Figura 15, Patrón Piramidal Figura 16, Flujo de Implementación del Patrón Piramidal Figura 17, Agrupación de tablas transaccionales y no transaccionales Figura 17 Protocolo de Comunicación entre el nivel de interpretación y el nivel fuente. 110 Figura 18, Pasó de mensajes IS entre niveles de interpretación y fuente Figura 19, El estándar ISO Figura 20, elemento business de los esquemas del nivel de interpretación Figura 21, Esquema XSD para la operativa de cobros bancarios Figura 22, Esquema para la cancelación de un cobro Figura 23, Esquema para la reimpresión de un voucher Figura 24, Referencia a componentes Figura 25, Flujo de Operación control Activex del Nivel Base Figura 26, Funciones de entrada en la DLL para generar un mensaje de cobro Figura 27, Funciones de entrada en la DLL para generar un mensaje de cancelación Figura 28, Funciones de entrada en la DLL para generar un mensaje de reimpresión Figura 29, Funciones de entrada en la DLL para generar un mensaje de consulta Figura 30, Aplicación a 32bits del Nivel Base

11 Figura 31, Aplicación basada en Mobile Figura 32, Aplicación Web del Nivel Base Figura 33, Aplicación TPV Nivel Base Figura 34, Patrón Piramidal de Venta de Tiempo Aire

12 Resumen Hoy en día muchos de los grandes sistemas son pensados para operar en forma distribuida, con el fin de centralizar la información y así de llevar cada vez más orden y control en la operación de los comercios, el problema es que normalmente no se piensa en que tan fácil o difícil sería para un comercio adaptarse al sistema. En este trabajo vamos a referirnos principalmente a la arquitectura de sistemas distribuidos y orientados a servicios, en los cuales la misma arquitectura pueda plantearse para diferentes problemas, con esto se pretende llegar a generar un patrón que sirva como base para generar soluciones tomando sus elementos. Los patrones en la ingeniería de software sirven principalmente para dar orden a soluciones y plantear estructuras orientadas a resolver problemas recurrentes. Así también se tiene que los patrones arquitectónicos son un modelo a seguir para lograr objetivos y con esto basar las soluciones en experiencia que ya ha sido probada y en buenas practicas. Dicho lo anterior en este trabajo se pretende también exhortar al uso y creación de patrones con el fin evitar orientar la solución a los problemas en aplicaciones sumamente específicas y en lugar de estos hacer soluciones flexibles y orientadas a la reutilización. Es uno de los principales fines de este trabajo obtener un patrón base y flexible que permita ser implementado en sistemas distribuidos con información centralizada que pretendan ofrecer servicios a una gran cantidad de comercios sin importar que algún comercio maneje alguna infraestructura especial, es decir se pretende que existan componentes adaptables a diferentes necesidades. En resumen tener un patrón genérico a soluciones distribuidas orientadas a servicios. 12

13 Summary Today many large systems are designed to operate in a distributed way, in order to centralize information and have more order and control in the operation of businesses, the problem is that usually we don t think it would be easy or difficult for trade adapt to the system. In this paper we refer mainly to the architecture of distributed systems and serviceoriented, in which the same architecture may be suggested for different problems, with this we pretend to eventually generate a pattern that serves as a basis to build solutions taking its elements. Patterns in software engineering are mainly used to give order to bring solutions and structures for solving recurring problems. This also has the architectural patterns that are a model for achieving this objective and solutions based on experience that has already been proven and best practices. Also in this paper, we encourage the use and creation of patterns to avoid, guiding the solution to the problems in very specific applications and instead they can create flexible solutions designed for reusing. One of the main purposes of this paper to obtain a flexible base pattern, which allows it to be implemented in distributed systems with centralized information seeking to provide services to a large number of businesses regardless of any trade drive a special infrastructure, it was use to said, intended to be components adaptable to different needs. In short, having a generic pattern for distributed solutions, service oriented. 13

14 Introducción La intención de este trabajo nace del esfuerzo de continuar con la creación de generar soluciones genéricas para problemas o situaciones recurrentes y para generación de soluciones que puedan masificarse, principalmente basadas en servicios. Si un mismo problema se presenta en un entorno diferente no se tenga que diseñar de nuevo otra solución. Nace con la necesidad de que un evento se presenta recurrentemente en varios contextos y se puede dar solución una sola vez y con base a un patrón poder reutilizar esa solución exitosamente. Hablamos de la solución como un todo como el esqueleto o la estructura, es decir, se piensa combatir el problema desde una perspectiva más amplia y general. Tenemos que existen situaciones que se pueden presentar en diferentes escenarios y en forma recurrente dentro de un contexto distribuido. Las situaciones pueden ser: Nuevas funcionalidades. Creación de componentes o módulos. Mejoras a las funcionalidades. Para lo cual se propone una forma estándar para crear un patrón arquitectónico que permita replicar una solución de una situación específica dentro de un contexto distribuido. Para lo cual se deben tomar en cuenta varias situaciones que a continuación se describen: 1. Conocer la situación, es decir, hacer un análisis. 2. Identificar si se trata realmente de algo recurrente y se está dando en un contexto distribuido. 14

15 3. Verificar si existen varios escenarios en los que pueda ser aplicada la solución o se trata de una situación única. 4. Evaluar los escenarios en los que se presenta, con el fin de analizar la forma en que podría comportarse el patrón. 5. Identificar si ya existen patrones que puedan adaptarse. 6. Generar una pseudo solución de la situación, es decir hacer un primer acercamiento a la solución. 7. Generar un formato o utilizar uno ya existente para el patrón (GoF, IBM), o incluso hacer una combinación productiva y adaptable 8. Generar el patrón con su conjunto de pasos. 9. Probar el patrón en los diferentes escenarios y evaluar el comportamiento. 10. Hacer una retroalimentación si así lo requiriera. 11. Y por último implementar el patrón. 12. Documentación con respecto a la implementación y mantenimiento. 15

16 Planteamiento de la problemática Es interesante pensar que a menudo en el ámbito empresarial se presentan diversas situaciones en forma recurrente ya sea en el mismo entorno o en entornos distintos, es decir, muchas empresas en ocasiones presentan problemas parecidos en sus procesos de negocio o con sus clientes por ejemplo el llevar en orden un inventario suele ser un problema que presentan más de una empresa de producción de artículos. Es aún más interesante cuando son empresas más grandes o que cuentan con sucursales, es difícil controlar un problema y en ocasiones como anteriormente se menciona suelen presentarse situaciones recurrentes en diferentes entornos. El problema se centra que muchas veces se diseña una solución a la medida para cada entorno y depende de la magnitud de la empresa los módulos, herramientas, infraestructura, costos y funcionalidades adicionales, lo que ocasiona que si el mismo problema se presenta en un entorno diferente se tenga que diseñar de nuevo otra solución para dicho entorno. En las empresas consultoras cuando se enfrentan al diseño de una solución para alguno de sus clientes, a menudo los líderes de proyecto piensan en generar la solución más óptima en el menos tiempo posible, lo que en muchas ocasiones deriva a que se olviden del aspecto de reutilizar y no hablemos exactamente del código o de los componentes sino de la solución como tal. Muchas veces cuando se construye una solución a la medida no se piensa más allá de que satisfaga las necesidades específicas del cliente en ese momento, muchas veces no se considera la reutilización o más común no se piensa en una arquitectura como tal al momento de estar generando la solución. 16

17 Objetivos Motivar al uso y construcción de patrones arquitectónicos principalmente enfocados al desarrollo de aplicaciones distribuidas en problemas empresariales. Demostrar que la construcción correcta de un patrón arquitectónico lleva a la reutilización de la solución en casos recurrentes y su representación en formas como imágenes y diagramas. Exponer los elementos esenciales que debe incluir un patrón arquitectónico al momento de estar siendo construido. Mostrar los diferentes tipos de patrones arquitectónicos y entender en qué momento pueden ser aplicados. Sugerir una técnica para la construcción de patrones arquitectónicos enfocados al desarrollo de aplicaciones distribuidas, con el fin de que al implementar esta sugerencia de técnica se pueda llegar a un mismo resultado en diferentes contextos. 17

18 Justificación En la actualidad por el crecimiento de las empresas y en general por las nuevas necesidades y la masificación del internet y otros recursos, el tipo de soluciones para una empresa está más enfocado al desarrollo de aplicaciones distribuidas, es decir, que funcionen en componentes por separado y que se encuentren en diversas capas, no obstante al momento de generar dichas soluciones es necesario contemplar la posibilidad de reutilizar dicha solución, lo que implica el uso de patrones arquitecticos aplicados a soluciones distribuidas. Con el uso de patrones se abre la posibilidad de llevar una solución a diversos entornos empresariales, implicar a los patrones como parte del diseño y construcción de una aplicación pone en ventaja a la empresa desarrolladora de la solución. En muchas organizaciones que se dedican al desarrollo de sistemas distribuidos la mayoría de las veces no se considera el uso de patrones arquitectónicos, ya que como se comentaba anteriormente, se prefiere basar los esfuerzos en el desarrollo de aplicación rápidas y totalmente a la medida, muchas veces no se considera invertir el tiempo suficiente en diseñar un patrón que en su momento al encontrar algún problema similar puede aplicarse sin volver a centrar esfuerzos en el diseño, puesto que en ese caso la estructura de la aplicación ya estaría lista. Es importante considerar que si una vez se trabaja como se debe no habrá necesidad de hacer lo mismo de nuevo, más cuando el problema se presenta de forma recurrente. 18

19 Alcances Partiendo de la definición de patrones arquitectónicos, que dice que son aquellos que definen la estructura de un sistema software, los cuales a su vez se componen de subsistemas con sus responsabilidades, también tienen una serie de directivas para organizar los componentes del mismo sistema, con el objetivo de facilitar la tarea del diseño de tal sistema, tenemos que este trabajo tiene como fin aportar la idea de la construcción de patrones arquitectónicos principalmente en el desarrollo de aplicaciones distribuidas, con el fin de mostrar que si se trabaja una vez de forma adecuada en el futuro no es necesario centrar todos los esfuerzos en la parte de la construcción y diseño de la solución. El trabajo mostrará los elementos esenciales de un patrón arquitectónico, las formas conocidas de hacerlo y se propondrá una alternativa basada en tres escenarios reales distintos, con el propósito de mostrar que es posible reutilizar una solución si se tiene desde un principio un enfoque genérico. Se mostrará la forma en la que abordan el tema las dos principales empresas dedicadas al software, Microsoft y Sun Microsystems. Es tema de este trabajo el representar los patrones propuestos a través de un ADL (Lenguaje de Descripción Arquitectónica - Architecture Description Language), con el fin de formalizar la forma de representarlo. Adicionalmente a de los ADL también se mostrarán otras formas de representar a los patrones arquitectónicos. Se expondrán los diferentes tipos de patrones y en los casos que estos pueden ser aplicados de marea exitosa. Así de las ventajas y desventajas que tiene la construcción de patrones arquitectónicos en la programación distribuida. 19

20 Resultados Esperados Se espera demostrar que el uso de patrones arquitectónicos en la construcción de aplicaciones específicamente distribuidas es muy importante y permite construir una sola vez la solución para problemas recurrentes recomendablemente en diversos contextos. Se pretende sugerir una técnica en la construcción de patrones para aplicaciones distribuidas. Así también se pretende partir de patrones ya existentes para que sirva como apoyo en la construcción de la técnica sugerida. Se espera demostrar a través de un experimento en tres organizaciones con el mismo problema y aplicando el mismo patrón que es posible lograr la solución del problema planteado en todos los casos. Limitaciones No se expondrán a detalle patrones existentes. No se mostrarán a detalle especificaciones propias de los lenguajes ADL. No se estudiarán a detalle casos de patrones arquitectónicos no orientados a sistemas distribuidos. No se considerarán patrones arquitectónicos para programación paralela. 20

21 Marco teórico En este trabajo se pretende hacer una investigación a base de experimentos para demostrar que la construcción y uso de patrones arquitectónicos enfocados al desarrollo de aplicaciones distribuidas permite la reutilización de la solución en diferentes contextos donde se presente un problema similar o recurrente. El tipo de investigación que se tomará en este trabajo es la investigación aplicada ya que está basada en la búsqueda intencionada de conocimiento o soluciones a problemas y básicamente lo que en este trabajo se está buscando. Se considera que esta investigación es aplicada, porque está relacionada con la generación de conocimientos en forma de teoría o métodos que se estima que en un período mediato podrían desembocar en aplicaciones al sector productivo. Al momento de plantear el método para generar la técnica sugerida para la construcción de patrones arquitectónicos se tomará en cuenta el formato GoF, el cual consiste en encontrar elementos o secciones de una situación que es recurrente. Dicho formato consiste en la consideración de los siguientes elementos: Name Classification Intent Also Known As Motivation Structure Participants Collaborations Consequences Implementation Sample Code Known Uses Related Pattern 21

22 Por otra parte se tomará apoyo de otro formato propuesto por F. Buschmann, R. Meunier, H. Rohnert, P.Sommerlad, y M. Stal, John Wiley and Sons para la construcción de patrones arquitectónicos, el cual consiste en los siguientes elementos: Name Problem Context Forces Solution Resulting Context Examples Rationale Related Patterns Known Uses Se tomará en cuenta también para tomar como base el formato expuesto en el documento U.S. Treasury Architecture Development Guidance (TADG) y que es formalmente conocida como the Treasury Information System Architecture Framework ( TISAF), esta especificación describe el fundamento, estructura y taxonomía para patrones arquitectónicos y considera algunas arquitecturas de patrones enfocados a los sistemas concurrentes y distribuidos y algunos patrones enfocados a sistemas de tiempo real, lo que a este trabajo sirve como referencia para poder proponer la construcción de patrones arquitectónicos basados en aplicaciones distribuidas. El formato definido en el documento TADG para patrones arquitectónicos, especifica que deben contener los siguientes elementos: Name Problem Rationale Assumptions Structure Interactions Consequences Implementation 22

23 El document TADG, considera tambien patrones ya definidos, los cuales en estre trabajo se tomarán en cuenta para apoyo a la aportación. Client-Proxy Server Customer Support Reactor Replicated Servers Layered Architecture Pipe and Filter Architecture Subsystem Interface 23

24 CAPITULO 1, Una visión esencial de la arquitectura de software y patrones En este capítulo se expondrán temas esenciales referentes a la arquitectura de software y de los patrones, así también se busca generar una visión global del tema principal de esta tesis. También se pretende mostrar los enfoques de estudiosos del tema como David Garlan, Paul Clements, entre otros y exponer lo que se llama el estado del arte. Así bien en este capítulo se tocan temas como la Arquitectura de Software desde diferentes perspectivas, definición y tipos de patrones, vitas arquitectónicas, lenguajes de descripción arquitectónica, etcétera. 24

25 Sistemas de información distribuidos Cuando sale a la luz el tema de los patrones arquitectónicos es posible recurrir a las aplicaciones o sistemas en los que su arquitectura está basada en programación distribuida, actualmente la mayoría de los sistemas son basados en arquitecturas distribuidas, son muy pocos los sistemas que se encuentran bajo una arquitectura monolítica. Un sistema de información distribuido es un sistema en el cual sus componentes se transmiten información, del tipo que sea mediante mensajes, pueden intervenir varios actores, los cuales de alguna manera participan en el proceso de circulación de la información entre ellos, de forma independiente el uno del otro. También es posible comentar que un sistema de información distribuido es una colección de elementos de que se encuentran físicamente separados y no comparten una memoria común, se comunican entre sí a través del intercambio de mensajes utilizando un medio de comunicación. En un sistema distribuido, podemos considerar ciertos factores característicos que los definen y distinguen de otros sistemas, los cuales pueden ser: Cada elemento tiene su propia memoria y su propio Sistema Operativo. Control de recursos locales y remotos. Sistemas Abiertos Plataforma no estándar. Medios de comunicación. Capacidad de Procesamiento en paralelo. Dispersión y parcialidad. 25

26 Para que un sistema de información sea construido, deben influir ciertos factores que en su conjunto crean la necesidad de implementar un sistema distribuido, dichos factores pueden ser los siguientes: Avances Tecnológicos. Nuevos requerimientos. Globalización. Aspectos Externos. Integración. Al momento de construir un sistema basado en patrones arquitectónicos distribuidos tenemos ciertas características que adquiere dicho sistema y que por ende lo hacen distinto a otro que no esté basado en este tipo de patrones. Entre dichas características están las siguientes: Las estaciones satisfacen las necesidades de los usuarios. Uso de nuevas interfaces. Disponibilidad de elementos de Comunicación. Desarrollo de nuevas técnicas. Respuesta Rápida. Ejecución Concurrente de procesos. Empleo de técnicas de procesamiento distribuido. Disponibilidad y Confiabilidad. Sistema poco propenso a fallas de arquitectura o definición. Mayores servicios que elevan la funcionalidad. Inclusión rápida de nuevos recursos. Los recursos actuales no afectan. 26

27 Es obvio pensar que el tener sistemas distribuidos implica tanto características benéficas como contraproducentes, entre las cuales podemos citar las siguientes: Se requiere poner más atención al momento del procesamiento de las instrucciones. La velocidad de propagación de información, en ocasiones dependiendo de la infraestructura tiende a ser lenta. Servicios de replicación de datos y servicios con posibilidades de fallas. Se debe poner más atención a los controles de acceso y a la seguridad de las aplicaciones, debido a que se encuentran más propensas a posibles hackeos o introducción de usuarios malintencionados. La administración suele complicarse más. Los costos de construcción y mantenimiento pueden ser elevados, dependiendo la planeación y negociación. Los elementos estructurales incluyen la organización de un sistema como la composición de componentes; estructuras de control global, protocolos de comunicación, la asignación de funcionalidad a los elementos de diseño, distribución física, desempeño. Este es el nivel de arquitectura de software del diseño. La arquitectura de software de un sistema es la estructura o estructuras del sistema, que comprenden componentes de software, las propiedades de esos componentes visibles externamente, y sus relaciones. Las propiedades visibles externamente refieren a los supuestos que ciertos componentes pueden hacer sobre otro, como servicios, performance, manejo de errores, etcétera. Los sistemas pueden tener más de una estructura. La arquitectura de software define componentes, agrupa información sobre cómo los componentes interactúan entre sí lo cual revela la diferencia existente entre la arquitectura de un sistema y su descripción o especificación, el comportamiento de cada componente es parte de ella en tanto es observable o deducible desde el exterior. 27

28 Entre los elementos estructurales que deben tomarse en cuenta existen los supuestos sobre el entorno, es decir el ambiente sobre el cual trabajará el sistema, la confiabilidad, la seguridad, la robustez, requerimientos de espacio, compatibilidad con estándares, etc. Otros aspectos que deben ser considerados son, la naturaleza de las interacciones entre componentes, es decir la manera en la que por definición o implícitamente van a funcionar los componentes del sistema entre sí, el empaquetamiento de los componentes incluye el tipo del componente y los tipos de las interacciones que soporta, la elección es en general independiente de la funcionalidad, pero deben ser empaquetados de formas compatibles si se espera cooperación entre ellos. A la hora de comenzar con el diseño de un patrón arquitectónico, se deben considerar dos elementos necesarios los cuales son los componentes y los conectores, estos pueden definirse como los primeros bloques de construcción de la arquitectura, se entiende que un componente es una entidad computacional que se encuentra activa, como un proceso, un objeto, etc. Un conector se refiere al mecanismo que actúa como intermediario de la comunicación, coordinación o cooperación entre componentes. Es importante mencionar que un patrón permite caracterizar una familia de sistemas que están relacionadas por compartir ciertas propiedades. Un patrón se puede considerar como conjunto de restricciones sobre una arquitectura. Los patrones arquitectónicos en un ambiente distribuido, permiten con facilidad estructurar los componentes de un sistema. Un buen diseño de un sistema de información distribuido basado en patrones arquitectónicos debe de contar con una serie de elementos tales como la transparencia, es decir cuando las peticiones de los usuarios son satisfechas, utilizando una variedad de servidores y además dichos usuarios no notan si existe un cambio en alguno de estos servicios. En otras palabras la transparencia, significa diseñar la interfaz de llamadas al sistema de modo que no sea visible la existencia de varios procesadores. Otro aspecto que se debe considerar en el diseño de sistemas distribuidos es la flexibilidad, es decir, al momento de ser implementado el sistema permitir cambios de 28

Documentando la arquitectura de software Principios básicos por Omar Gómez

Documentando la arquitectura de software Principios básicos por Omar Gómez Documentando la arquitectura de software Principios básicos por Omar Gómez En la actualidad, uno de los temas candentes que se habla dentro de la comunidad de desarrollo de software es el referente a las

Más detalles

Anexo 4 Documento de Arquitectura

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

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

La importancia del desarrollo para el buen diseño del software

La importancia del desarrollo para el buen diseño del software La importancia del desarrollo para el buen diseño del software RESUMEN N L González Morales. 1 En este ensayo se examinan los temas vistos en clase que son Desarrollo de Orientado a Objetos y Arquitectura

Más detalles

Trabajo de Investigación

Trabajo de Investigación Escuela Técnica Superior de Ingeniería Informática Departamento: Ingeniería de Software y Sistemas Informáticos Trabajo de Investigación Arquitecturas Software: Gestión de los atributos de calidad de un

Más detalles

Programación en Capas.

Programación en Capas. Programación en Capas. Ricardo J. Vargas Del Valle Universidad de Costa Rica, Ciencias de Computación e Informática, San José, Costa Rica, 506 ricvargas@gmail.com Juan P. Maltés Granados Universidad de

Más detalles

Introducción. http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art143.asp - Gráfica tomada del Artículo de José David Parra

Introducción. http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art143.asp - Gráfica tomada del Artículo de José David Parra Si en otros tiempos el factor decisivo de la producción era la tierra y luego lo fue el capital... hoy día el factor decisivo es cada vez más el hombre mismo, es decir, su conocimiento... Juan Pablo II

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Contenido de la sesión. Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas

Contenido de la sesión. Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas Contenido de la sesión Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas Diseño de Software Es una descripción de la estructura del software que se va a

Más detalles

Desarrollo de una arquitectura orientada a servicios para un prototipo de una línea de productos de software

Desarrollo de una arquitectura orientada a servicios para un prototipo de una línea de productos de software Desarrollo de una arquitectura orientada a servicios para un prototipo de una línea de productos de software Ramón Gómez-Romero, Karen Cortés Verdin, Juan Carlos Pérez Arriaga, Ángeles Arenas Valdés Universidad

Más detalles

Arquitecturas de Software

Arquitecturas de Software Arquitecturas de Software Diseño y Arquitectura de Software Grado en Ingeniería de Software Carlos E. Cuesta carlos.cuesta@urjc.es Arquitectura de Software Introducción Motivación Incremento en el tamaño

Más detalles

Arquitecturas de Software

Arquitecturas de Software Arquitecturas de Software Ingeniería del Universidad Rey Juan Carlos César Javier Acuña cjacunia@escet.urjc.es Índice Introducción Motivación Definición Pipes and Filters Tipos abstractos de datos y OO

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1 Introducción al Proceso Unificado de Desarrollo de Software Autor: Ing. Silverio Bonilla 1 James Rumbaugh et al. Concepto de Método Una metodología de ingeniería del software es un proceso para producir

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

Más detalles

Qué se entiende por diseño arquitectónico? Comprende el establecimiento de un marco de trabajo estructural básico para un sistema. Alude a la estructura general del software y el modo en que la estructura

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas

CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas CAPITULO 1 Introducción a los Conceptos Generales de 1.1 Preliminares Las empresas necesitan almacenar información. La información puede ser de todo tipo. Cada elemento informativo es lo que se conoce

Más detalles

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R índice Módulo A Unidad didáctica 1: Introducción a las Bases de Datos Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos 3 19 Módulo B Unidad didáctica 1: Fase de análisis de requisitos Modelo

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

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

Más detalles

Tema 5: El Lenguaje Unificado de Modelado. Departamento de Lenguajes y Sistemas Informáticos II www.kybele.urjc.es

Tema 5: El Lenguaje Unificado de Modelado. Departamento de Lenguajes y Sistemas Informáticos II www.kybele.urjc.es Tema 5: El Lenguaje Unificado de Modelado Departamento de Lenguajes y Sistemas Informáticos II Contenidos Introducción Diagramas de UML Modelado de la parte estática Modelado de la parte dinámica Las 4+1

Más detalles

Arquitectura de Software

Arquitectura de Software Arquitectura de Software (Estilos Arquitectónicos) Universidad de los Andes Demián Gutierrez Mayo 2011 1 Diseño Arquitectónico Diseño Arquitectónico Arquitectura del Software Estilos Arquitectónicos Frameworks

Más detalles

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

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

Más detalles

Análisis del Sistema de Información

Análisis del Sistema de Información Análisis del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD ASI 1: DEFINICIÓN DEL SISTEMA... 6 Tarea ASI 1.1: Determinación del Alcance del Sistema... 6 Tarea ASI 1.2: Identificación

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 18 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 5 Situación RD 1201/2007 Actualización

Más detalles

2. DESCRIPCIÓN DEL PROYECTO

2. DESCRIPCIÓN DEL PROYECTO Diseño y desarrollo de un sistema de geolocalización de servicios Mario R. Moreno Sabido 1, Danice D. Cano Barrón 2, Didier R. Moreno Vázquez 1, Grelty del S. Canul Novelo 1, José R. Atoche Enseñat 1 1

Más detalles

Arquitectura de Software III: Elaboración. Contenido del curso. III: Elaboración

Arquitectura de Software III: Elaboración. Contenido del curso. III: Elaboración Arquitectura de Software III: Elaboración Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María Contenido del curso Introducción, motivación y contexto

Más detalles

Estilos Arquitectónicos

Estilos Arquitectónicos Estilos Arquitectónicos Ing. Ariel Cassan 2005 Agenda # Tema Duración 1 Que es un Patrón? 5 min 2 Introducción a estilos arquitectónicos 5 min 2.1 De Estructuración 20 min 2.2 Sistemas distribuidos 5 min

Más detalles

Ingeniería de Software

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

Más detalles

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen A través de este artículo se ofrece un panorama amplio y de alto nivel sobre la especificación y los diferentes diagramas del Lenguaje

Más detalles

Memoria Compartida Distribuida (DSM) Sistema de Archivos

Memoria Compartida Distribuida (DSM) Sistema de Archivos Memoria Compartida Distribuida (DSM) La memoria compartida distribuida es una abstracción que se propone como alternativa a la comunicación por mensajes. Memoria compartida basada en páginas: este esquema

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

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

Más detalles

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga Actividad 2 Unidad 1 Ciclo de vida del software y Diseño Orientado a Objetos Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto

Más detalles

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

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

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

Patrones de software y refactorización de código

Patrones de software y refactorización de código Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.

Más detalles

Índice. http://www.dicampus.es

Índice. http://www.dicampus.es Módulo 2 UML Índice Introducción a UML Lenguaje Unificado de Modelado (UML) Diagramas UML Diagramas de casos de uso Diagramas estructurales: Clases Diagramas estructurales: Objetos Diagramas de interacción:

Más detalles

V. CAPÍTULO: CONTRIBUCIÓN

V. CAPÍTULO: CONTRIBUCIÓN V. CAPÍTULO: CONTRIBUCIÓN Requerimientos del Sistema Para llevar a cabo el desarrollo de nuestro sistema se establecieron tanto los actores como los requerimientos funcionales y no funcionales del sistema.

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización Página 1 de 19 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 6 Situación Contraste externo Actualización

Más detalles

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente Capítulo 5: Aplicaciones cliente 46 5.1 La aplicación cliente en la Pocket PC La aplicación desarrollada para el cliente en un dispositivo móvil como corresponde a la Pocket PC necesita una capa muy delgada

Más detalles

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados

Más detalles

Estilos y Patrones Arquitectónicos

Estilos y Patrones Arquitectónicos Lic. Ariel Trellini Estilos y Patrones Arquitectónicos Llamando a las cosas por su nombre Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Arquitectura y Diseño de Sistemas

Más detalles

Jazmín Hernández jazminpalom@gmail.com. Technical Report COMP-029-2009. Abstract

Jazmín Hernández jazminpalom@gmail.com. Technical Report COMP-029-2009. Abstract Guía para la Documentación de Arquitecturas de Software Como Base Para el Desarrollo de Sistemas de Información en la Iglesia Adventista del Séptimo Día Jazmín Hernández jazminpalom@gmail.com Technical

Más detalles

Fundamentos del diseño 3ª edición (2002)

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

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

Documento de Arquitectura de Software IEEE-1471-2000

Documento de Arquitectura de Software IEEE-1471-2000 Documento de Arquitectura de Software Control del documento IEEE-1471-2000 Proyecto Sistema Restaurant Título Arquitectura del Sistema [v1.0 al 02 de Julio de 2009] Generado por Magister en Informática

Más detalles

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML Diseño Diseño en el PUD Diseño de software Patrones arquitectónicos Diseño Orientado a Objetos en UML 1 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos de uso, Modelo

Más detalles

Resumen. Introducción

Resumen. Introducción Arquitectura de software para Sistemas de Información Ambiental Urciuolo Adriana, Iturraspe Rodolfo, Parson Ariel, Esteban Natalia Universidad Nacional de la Patagonia San Juan Bosco Sede Ushuaia, Darwin

Más detalles

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 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

Más detalles

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática La Necesidad de Modelar Analogía Arquitectónica Tiene sentido poner ladrillos sin hacer antes los planos? El modelo, los planos, ayuda a afrontar la complejidad del proyecto. Cuál es el lenguaje adecuado

Más detalles

Modelado de tácticas de atributos de calidad para la generación de arquitecturas ejecutables.

Modelado de tácticas de atributos de calidad para la generación de arquitecturas ejecutables. Modelado de tácticas de atributos de calidad para la generación de arquitecturas ejecutables. Para obtener el grado de Maestro en Ciencias (Ciencias y Tecnologías de la Información) P R E S E N T A Lic.

Más detalles

UNIVERSIDAD CENTROCCIDENTAL "LISANDRO ALVARADO" DECANATO DE CIENCIAS Y TECNOLOGIA MAESTRIA EN CIENCIAS DE LA COMPUTACION MENCION REDES DE COMPUTADORAS

UNIVERSIDAD CENTROCCIDENTAL LISANDRO ALVARADO DECANATO DE CIENCIAS Y TECNOLOGIA MAESTRIA EN CIENCIAS DE LA COMPUTACION MENCION REDES DE COMPUTADORAS UNIVERSIDAD CENTROCCIDENTAL "LISANDRO ALVARADO" DECANATO DE CIENCIAS Y TECNOLOGIA MAESTRIA EN CIENCIAS DE LA COMPUTACION MENCION REDES DE COMPUTADORAS MODELO DE GESTION WBEM PARA ADMINISTRACION DE REDES

Más detalles

BASES DE DATOS MIS 308

BASES DE DATOS MIS 308 2. MODELOS DE DATOS Introducción 2.1 Entidad relación 2.2 Jerárquico 2.3 De red 2.4 Relacional Introducción Hoy en día las empresas manejan una gran cantidad de datos. Cualquier empresa que se precie debe

Más detalles

8.1 Arquitectura funcional

8.1 Arquitectura funcional 1 Colección de Tesis Digitales Universidad de las Américas Puebla Zuñiga, Víctor Alejandro 8.1 Arquitectura funcional La arquitectura de un sistema define sus componentes básicos y los conceptos importantes,

Más detalles

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA 3.1. Características La tendencia hacia el futuro es el de lograr la integración total de componentes realizados por terceras partes, para lo cual es necesario

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

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

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

Más detalles

Capítulo III. Análisis y diseño.

Capítulo III. Análisis y diseño. Capítulo III. Análisis y diseño. 3.1 Análisis. El análisis es el intermediario entre los requisitos del sistema y el diseño, esta sección definiremos el análisis con una serie de modelos técnicos del sistema,

Más detalles

Unidad Zacatenco Departamento de Computación. Arquitectura de software para aplicaciones Web

Unidad Zacatenco Departamento de Computación. Arquitectura de software para aplicaciones Web Centro de Investigación y de Estudios Avanzados del Instituto Politécnico Nacional Unidad Zacatenco Arquitectura de software para aplicaciones Web Tesis que presenta Juan Tahuiton Mora para obtener el

Más detalles

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Unidad Académica Base de Datos SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS Integrantes: Fidel Gil

Más detalles

BASES DE DATOS. Ivon Tarazona Oriana Gomez

BASES DE DATOS. Ivon Tarazona Oriana Gomez BASES DE DATOS Ivon Tarazona Oriana Gomez Introducción Introducción Ventajas e (Unified Modeling Language) Es un lenguaje usado para especificar, visualizar y documentar los diferentes aspectos relativos

Más detalles

Tecnología de objetos distribuidos y arquitectura de componentes. Índice. Bibliografía. Introducción. Tema V

Tecnología de objetos distribuidos y arquitectura de componentes. Índice. Bibliografía. Introducción. Tema V Bibliografía Tema V Tecnología de objetos distribuidos y arquitectura de componentes. Szyperski, C. 1998. Component Software. Addison-Wesley. Ruiz Cortés, 1998. A. CORBA: Una visión general. http://www.lsi.us.es/~aruiz

Más detalles

Tema 4. Diseño arquitectónico.

Tema 4. Diseño arquitectónico. Tema 4. Diseño arquitectónico. Introducción, Objetivos del Diseño. Ingeniería del Software II 2011 Para la transformación del modelo de análisis en un modelo de diseño del sistema, se definen los objetivos

Más detalles

Primer Taller sobre Aplicaciones Web para la Gestión de Contenidos

Primer Taller sobre Aplicaciones Web para la Gestión de Contenidos Primer Taller sobre Aplicaciones Web para la Gestión de Contenidos Título: Arquitecturas Orientadas a Servicios en los Sistemas de Gestión de Contenidos. Autor: Keilyn Rodríguez Perojo Institución: INFOMED

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

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

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

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

Más detalles

Service Oriented Architecture

Service Oriented Architecture Service Oriented Architecture Isaac Gutiérrez Gómez, Salvador Otón Tortosa Universidad de Alcalá, Departamento de Ciencias de la Computación, 28871 Alcalá de Henares, Spain igutierrez09@yahoo.es, salvador.oton@uah.es

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms Patrones Patrones Es una solución reusable de problemas comunes. Los patrones solucionan problemas que existen en muchos niveles de abstracción. desde el análisis hasta el diseño y desde la arquitectura

Más detalles

Análisis de Requisitos

Análisis de Requisitos Análisis de Requisitos Los requisitos determinan lo que hará el sistema y definen restricciones sobre su operación e implementación. El análisis de requisitos es el proceso del estudio de las necesidades

Más detalles

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases 3.2 TÉCNICA DE MODELADO DE OBJETOS (OMT) (JAMES RUMBAUGH). 3.2.1 Introducción. En este documento se trata tanto el OMT-1 como el OMT-2, el primero contenido en el Libro Modelado y Diseño Orientado (Metodología

Más detalles

Ingeniería de Software en SOA

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

Más detalles

Arquitectura de Proyectos de IT

Arquitectura de Proyectos de IT Arquitectura de Proyectos de IT Apunte: Comunicación de Arquitectura de Software Autores: Ing. Gustavo A. Brey (gbrey@sistemas.frba.utn.edu.ar) Santiago Blanco (santiago.blanco@gmail.com) Versión: 0.8.20081106

Más detalles

a) Cita y comenta brevemente los grados de acoplamiento. Clasifícalos y ordénalos en orden creciente al nivel de acoplamiento asociado.

a) Cita y comenta brevemente los grados de acoplamiento. Clasifícalos y ordénalos en orden creciente al nivel de acoplamiento asociado. Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE II: CONCEPTOS TEÓRICOS Y PRÁCTICOS DNI Apellidos y nombre 1. Responde a las siguientes cuestiones (2 puntos): a) Cita y comenta brevemente

Más detalles

Capítulo I. Marco Teórico

Capítulo I. Marco Teórico 1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende

Más detalles

INTEGRACIÓN DE SISTEMAS HEREDADOS

INTEGRACIÓN DE SISTEMAS HEREDADOS CAPÍTULO 2 INTEGRACIÓN DE SISTEMAS HEREDADOS En el presente capítulo, se presenta el problema de integración de sistemas de Software. Una de cuyas características es la presencia de los llamados Sistemas

Más detalles

Tema 4: Diseño de flujos interaplicación

Tema 4: Diseño de flujos interaplicación Tema 4: Diseño de flujos interaplicación 4.1 Introducción a los Sistemas EAI Modelo de referencia (1) INTEGRACIÓN B2B INTEGRACIÓN DE APLICACIONES Y PROCESOS INTEGRACIÓN DE DATOS INTEGRACIÓN DE PLATAFORMA

Más detalles

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

Estilos Arquitectónicos

Estilos Arquitectónicos Estilos Arquitectónicos Lic. Gastón Coco Ing. Gustavo A. Brey Ing. Juan M. Arias Ing. Jorge García Ing. Santiago Blanco Ing. Fabián Pezet Vila Ing. Ariel Cassan 2005 Agenda # Tema Duración 1 Que es un

Más detalles

CAPÍTULO 1. MARCO TEÓRICO

CAPÍTULO 1. MARCO TEÓRICO CAPÍTULO 1. MARCO TEÓRICO Capítulo 1. Marco teórico 1.1 Ingeniería Web (IWeb) Con el desarrollo de Internet, la mayoría de los proyectos y sistemas están enfocados para las aplicaciones basadas en la Web

Más detalles

SERVICIOS: EXPLORACIONES EN SOA y WEB.

SERVICIOS: EXPLORACIONES EN SOA y WEB. SERVICIOS: EXPLORACIONES EN SOA y WEB. López, G. 1 ; Jeder, I 1.; Echeverría, A 1.; Grossi, M.D. 2 ; Servetto, A 2.; Fierro, P. (PhD.) 3 1. Laboratorio de Informática de Gestión - Facultad de Ingeniería.

Más detalles

El Proceso Unificado

El Proceso Unificado El Proceso Unificado de Desarrollo de Software Prof. Gustavo J. Sabio Alcance de la presentación QA Entradas Proceso de desarrollo Salida equipo Cliente sistemas Cliente necesidades actividades varias

Más detalles

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN Formar profesionales altamente capacitados, desarrollar investigación y realizar actividades de extensión, en Matemáticas y Computación, así

Más detalles

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR En este capítulo se describe el análisis y diseño de un sistema, denominado e-commerce Constructor, el cual cumple con los siguientes objetivos: Fungir

Más detalles

UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN

UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN DOCUMENTACIÓN DE ARQUITECTURAS DE SISTEMAS EN UN BANCO TESIS PARA OPTAR AL GRADO DE MAGISTER EN

Más detalles

Capitulo III. Diseño del Sistema.

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

Más detalles

Enterprise Architect y UML Básico

Enterprise Architect y UML Básico Enterprise Architect y UML Básico Diciembre 2008 Carlos Alexander Zuluaga Agenda Diagrama de despliegue. Introducción. Modelado. Diagrama de estructuras compuestas. Introducción. Modelado. Modelo 4 + 1

Más detalles

Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura

Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura Estilos de Arquitectura y Patrones de Diseño Arquitectónico Gastón Mousqués - AR 1 Patrones de Arquitectura Gastón Mousqués - AR 2 Principales Categorías de Patrones (Software) Patrones de Análisis Expresan

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 6. Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 6. Actualización Página 1 de 19 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 6 Situación Contraste externo Actualización

Más detalles

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

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

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

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

Más detalles

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Base de Datos ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Una base de datos es un conjunto de elementos de datos que se describe a sí mismo, con relaciones entre esos elementos, que presenta

Más detalles

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 16 CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC304_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

Taller de Sistemas de Información 1. Clase 2 Sistemas de información Arquitectura

Taller de Sistemas de Información 1. Clase 2 Sistemas de información Arquitectura Taller de Sistemas de Información 1 Clase 2 Sistemas de información Arquitectura Sistemas Empresariales Es una descripción de las metas de una organización, como estas metas son realizadas a través de

Más detalles

Módulo Profesional 01: Bases de datos (código: 0484).

Módulo Profesional 01: Bases de datos (código: 0484). Módulo Profesional 01: Bases de datos (código: 0484). Actividades de enseñanza-aprendizaje que permiten alcanzar los objetivos del módulo. Interpretar diseños lógicos de bases de datos. Realizar el diseño

Más detalles

UML 2 Iniciación, ejemplos y ejercicios corregidos

UML 2 Iniciación, ejemplos y ejercicios corregidos Ediciones ENI UML 2 Iniciación, ejemplos y ejercicios corregidos (3ª edición) Colección Recursos Informáticos Contenido Contenido 1 Capítulo 1 Introducción 1. Motivaciones de la obra.....................................

Más detalles

Concepto de Procesamiento Distribuido y Centralizado

Concepto de Procesamiento Distribuido y Centralizado Concepto de Procesamiento Distribuido y Centralizado Procesamiento Centralizado: En la década de los años 50 s las computadoras eran máquinas del tamaño de todo un cuarto con las siguientes características:

Más detalles

Administración de Variabilidad en una línea de producto basada en modelos

Administración de Variabilidad en una línea de producto basada en modelos Administración de Variabilidad en una línea de producto basada en modelos Kelly Garcés Carlos Parra Hugo Arboleda Andres Yie Rubby Casallas Universidad de los Andes, Bogotá k-garces @uniandes.edu.co Universidad

Más detalles

con certif icado de profesionalidad

con certif icado de profesionalidad CARACTERÍSTICAS El diseño web está cambiando en poco tiempo. Las nuevas tecnologías y estándares de programación están revolucionando tanto la forma de crear web como de interactuar con ellas. En nuestro

Más detalles