Arquitectura de Software. Juan Bernardo Quintero

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

Download "Arquitectura de Software. Juan Bernardo Quintero"

Transcripción

1 Arquitectura de Software Juan Bernardo Quintero

2

3

4 Middleware Término usado para referirse a los componentes de software que actúan como intermediarios entre otros componentes de software, generalmente, en el marco de la interacción cliente/servidor. Ejemplos típicos son los programas desarrollados para ejecutar las consultas que diferentes usuarios de la red hacen a una base de datos central que está ubicada en el servidor.

5 Middleware Cliente/Servidor a dos capas Cliente (Front-end) Proceso Cliente Servicios del Sistema Hardware Petición Respuesta Proceso Servidor Usuario Servicios del Sistema Hardware Servidor (Back-end)

6 Middleware Cliente/Servidor a 3 o N capas Cliente (Front-end) Proceso Cliente Servicios del Sistema Hardware Petición Middleware Respuesta Proceso Servidor Usuario Servicios del Sistema Hardware Servidor (Back-end)

7 Middleware A distintos sistemas con diferentes arquitecturas les ha denominado Cliente/Servidor. Sin embargo se clasifican basándose en su funcionalidad: Servidores de Ficheros Servidores de Bases de Datos Servidores de Transacciones Servidores de Objetos Servidores de Web... Clasificación de servidores: Extraído de: R. Orfali, D.Harkey, J. Edwards. Cliente/Servidor y objetos: Guía de Supervivencia 3ra Edición McGraw-Hill Interamericana México, D.F

8 Clasificación de Middleware Propuesta de Clasificación de Middleware Se distinguen 2 niveles: Middleware de Bajo Nivel (Servicios Tecnológico) Se encargan del transito de servicios básicos hacia el cliente. Middleware de Alto Nivel (Servicios de Aplicación) Se encargan del manejo de servicios de infraestructura y de aplicación.

9 Clasificación de Middleware

10 Clasificación de Middleware Middleware de Bajo Nivel Middleware de Base Middleware de Comunicación Middleware de Base de Datos Middleware de Aplicación

11 Clasificación de Middleware Middleware de base: Middleware de Bajo Nivel Estándares y servicios asociados, que sirven de soporte para la construcción del resto del middleware. CORBA COM/COM+/DCOM EJB/J2EE.NET

12 Clasificación de Middleware Middleware de Bajo Nivel Middleware de comunicaciones: Proporciona el medio de comunicación para que las aplicaciones puedan conversar entre sí. HTTP RMI-IIOP SOAP RPC

13 Clasificación de Middleware Middleware de Bajo Nivel Middleware de base de datos: Enmascara las complejidades de acceso a la base de datos, escondiendo los detalles de implementación de cada uno. ODBC JDBC OCI

14 Clasificación de Middleware Middleware de Bajo Nivel Middleware de aplicación: Permite el arranque, extensión, e integración de otras aplicaciones. CGI Servlets/JSP PHP ASP ISAPI/NSAPI

15 Clasificación de Middleware Middleware de Alto Nivel Servidor Web Servidor de Componentes Servidor de Transacciones Servidor de Aplicaciones

16 Clasificación de Middleware Servidores Web: Middleware de Alto Nivel Servicios de publicación de contenidos Apache Netscape Server IIS OmmiHTTPD Sun Server Sambar Server Xitami iplanet Server

17 Clasificación de Middleware Middleware de Alto Nivel Servidores de transacciones: Garantiza transacciones ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad) en el procesamiento distribuido. BEA s Tuxedo IBM CICS Transarc s Encima MTS

18 Clasificación de Middleware Middleware de Alto Nivel Servidores de componentes: Contenedores de objetos que prestas servicios a través de una interface definida. Tomcat Microsoft Servidor de componentes COM.NET Remoting

19 Clasificación de Middleware Middleware de Alto Nivel Servidores de aplicaciones: Servicios de infraestructura y aplicación. Responden a una arquitectura lógica definida, por lo general J2EE. OAS (IAS) Websphere Jboss BEA-Weblogic Jonas Iplanet

20 Cuáles son los servicios de infraestructura? Los servicios de infraestructura típicos incluyen: Messaging (Mensajería y Notificaciones). Pooling. Caching. Clustering. Naming. Logging. etc.

21 Servicios de un servidor de aplicaciones Servicios que debe permiten: Gestión de transacciones. Modelo de interoperabilidad para componentes. Intercambio de datos. Colas de mensajes. Servidor HTTP para clientes Web y clientes móviles. Almacenamiento temporal de base de datos y web. Herramientas de administración.

22 Qué es un servidor de aplicaciones? Conjunto de programas y tecnologías que permiten: Creación de páginas Web dinámicas (ASP en Microsoft o JSP en Java) Componentes que pueden encapsular la lógica del negocio (COM en Microsoft o EJB en Java) Soporte de transacciones Acceso a la aplicación desde clientes HTTP Soporte para invocar métodos remotos Manejo de seguridad Uso de SSL y conexión con Bases de Datos (ODBC en Microsoft o JDBC en Java)

23 Qué es un servidor de aplicaciones? Todos estos servicios simplificarían el desarrollo de software que, en configuraciones distribuidas, se sitúa en la capa intermedia, entre los clientes o usuarios finales y el servidor de datos. Es lo que se conoce corrientemente como Middleware.

24 Características La mayoría de servidores de aplicaciones te permiten hacer algunas de las siguientes tareas. Presentar Contenido Dinámico Administrar Tu Sitio Web Construir un Sistema de Manejo de Contenidos Seguridad y Manejo Correcto Brindar Servicios de Red Integración de diversos sistemas Proveen Escalabilidad

25 Matriz de Servidores de Aplicación

26

27 Perspectivas de la Arquitectura de Referencia A continuación se analizan las más representativas de esas perspectivas: Aplicación Web (Web Application) Aplicaciones con Clientes Ricos (Rich Client Application) Aplicaciones Enriquecidas en Internet (Rich Internet Application) Aplicaciones de Servicios (Service Application) Aplicaciones Móviles (Mobile Application)

28 Web Application Definición: Su núcleo reside en lógica del lado del servidor, que se suele estructurar en varias capas; por ejemplo la arquitectura a tres capas: presentación, negocio y datos. Generalmente accede una base de datos remota y consume servicios expuestos por otras aplicaciones. Beneficios: Amplio alcance UI basada en estándares para múltiples plataformas. Facilidad de despliegue y gestión de cambios. Consideraciones: Dependencia de conectividad continua en la red. Dificultad para proveer una UI enriquecida. Basado en:

29 Web Application Extraído de:

30 Rich Client Application Definición: Puede proporcionar una experiencia de usuario altamente sensible, interactiva, y rica para las aplicaciones que deben funcionar en escenarios stand-alone, conectados, a veces conectado y desconectado. Una aplicación de cliente enriquecido normalmente se estructurará como una aplicación de varias capas: experiencia del usuario (la presentación), negocios y de datos. Beneficios: Potencian los recursos de los clientes. Provee mejor tiempo de respuesta y experiencia de usuario mejorada. Altamente dinámica. Consideraciones: Complejidad de despliegue. Desarrollos especifico de para la plataforma. El control de versiones puede ser complejo. Basado en:

31 Rich Client Application Extraído de:

32 Rich Internet Application Definición: Las aplicaciones de este tipo se pueden desarrollar para múltiples plataformas y múltiples navegadores, multimedia o mostrar contenido gráfico. Las aplicaciones dinámicas de Internet se ejecutan en un navegador lo que restringe el acceso a algunas de las características del cliente. Beneficios: Proveen las mismas características en la IU que los clientes enriquecidos. Soporte para la visualización de contenidos enriquecidos, streaming y gráfica. Actualización y control de versiones simple. Soporte multi-plataforma y multi-navegador. Consideraciones: Tiempo de carga mas lago comparado con las aplicaciones web. Mayor uso de recursos del cliente comparado con las aplicaciones web. Requiere compatibilidad de los motores de script en los clientes. Basado en:

33 Rich Internet Application Extraído de:

34 Service Application Definición: Expone en servicios compartidos, las funcionalidades del negocio y permiten a los clientes acceder a ellas desde un sistema local o remoto. Las operaciones de servicio se invocan usando mensajes, basados en esquemas XML, pasa sobre un canal de transporte. El objetivo de este tipo de aplicación es lograr acoplamiento flexible entre el cliente y el servidor. Beneficios: Provee bajo acoplamiento. Independencia de los consumidores. Soporta interoperabilidad. Consideraciones: No hay soporte de UI. Los clientes dependen de la conectividad de la red. Basado en:

35 Service Application Extraído de:

36 Mobile Application Definición: Pueden ser desarrolladas como cliente ligero o aplicaciones de cliente enriquecido. Las aplicaciones de cliente móvil enriquecido pueden apoyar escenarios desconectados o que se conectan ocasionalmente. Las aplicaciones de cliente ligero o web soportan solo escenarios conectados. Los recursos de los dispositivos puede llegar a ser una restricción al diseñar aplicaciones móviles. Beneficios: Soporta dispositivos portátiles (hand-held). Provee disponibilidad y facilidad de uso para usuarios por fuera de la oficina. Soporta escenarios desconectados y semiconectados. Consideraciones: Limitantes de entrada y navegación. Área de Pantalla limitada. Basado en:

37 Mobile Application Extraído de:

38

39 Según Microsoft Proceso de Desarrollo Arquitectónico Ejemplo actividad 3: Crear visión de la arquitectura Ejemplo actividad 4: Identificar asuntos claves (Seguridad)

40 Según SUN (Suntone) IBM (RUP) Proceso de Desarrollo Arquitectónico Tomado de: Suntone Architecture Methodology: a 3-dimensional approach to architectural design

41 Según el SEI (Software Engineering Institute) Proceso de Desarrollo Arquitectónico Tomado de: Bass, Len and Kazman, Rick. (1999). Architecture-Based Development. CMU/SEI-99-TR-007.

42 Métodos de Apoyo Arquitectónico (SEI) QAW: Quality Attribute Workshop. ATAM: Architecture Tradeoff Analysis Method. ADD: Attribute-Driven Design. ARID: Active Reviews for Intermediate Designs. CBAM: Cost-Benefit Analysis Method.

43 Métodos de Apoyo Arquitectónico (SEI)

44 Factores Claves del Desarrollo Arquitectónico En el Análisis de la Arquitectura: Drivers Arquitectónicos. Principios Arquitectónicos. En el Diseño de la Arquitectura: Patrones Arquitectónicos. Estilos Arquitectónicos.

45

46 Que son los Drivers Arquitectónicos? El proceso de obtención de requisitos se lleva a cabo por un equipo de recogida de requisitos, pero es trabajo del arquitecto evaluar el valor empresarial de los requisitos, para identificar los requisitos que son los más críticos para el éxito de un sistema. Estos requisitos críticos han sido etiquetados como los Drivers Arquitectónicos (Conductores de la Arquitectura), ya que definen la forma del diseño del sistema.

47 Que incluyen los Drivers Arquitectónicos? Una estructuración correcta del sistema permitirá satisfacer la mayoría de estos drivers. Los Drivers Arquitectónicos incluyen principalmente: Atributos de calidad. Un subconjunto de los casos de uso que se consideran como primarios. Los casos de uso primarios son aquellos de mayor importancia o de mayor complejidad para el negocio. Restricciones. El hecho de que los Drivers sean un subconjunto de todos los requerimientos del sistema puede verse como una ventaja, pues es posible comenzar a realizar el diseño de la arquitectura antes de haber terminado de documentar todos los requerimientos. Basado en: Requerimientos y Arquitectura, en

48 Que son los Drivers de Negocio? Los Driver de Negocio son los objetivos de negocio que están motivando el esfuerzo de desarrollo y por lo tanto lo que serán la fuerza motriz principal de arquitectura (por ejemplo: alta disponibilidad, tiempo de salida al mercado o seguridad alta). Típicamente describen: Sus requisitos funcionales más importantes. Sus limitaciones técnicas, administrativas, económicas o políticas. Sus objetivos de negocio y el contexto. Los stakeholders principales. Los Drivers Arquitectónicos (los principales objetivos de los atributo de calidad que dan forma a la arquitectura). Basado en: ATAM (Architecture Tradeoff Analysis Method)

49 Cómo definir los Drivers? El proceso de diferenciar entre los Drivers Arquitectónicos y otros requisitos no es sencillo, ya que requiere una comprensión completa de los objetivos de solución. Un árbol de utilidad, que forma parte ATAM (Architecture Tradeoff Analysis Method), ayuda con la creación de los Drivers Arquitectónicos a partir de los Drivers del Negocio. Según ATAM, un árbol de utilidad proporciona un mecanismo descendente para que de forma directa y eficaz se trasladen los driver de negocio de un sistema en escenarios concretos de los atributo de calidad.

50 Ejemplo de un Árbol de Utilidad Extraido de: ATAM (Architecture Tradeoff Analysis Method)

51 Ejemplo de decisiones basadas en Drivers 1. Por ejemplo, la decisión de utilizar una interfaz de usuario basada en AJAX dependerá de la necesidad de apoyar las conexiones de bajo ancho de banda (el desarrollador de aplicaciones de negocios, está menos interesado en la riqueza de AJAX y más en el hecho de como los datos se transportan por la red). 2. Por ejemplo, un caso de uso primario podría ser el realizar consultas del catálogo de productos. El criterio para elegir este caso de uso como primario es su importancia relativa a la satisfacción del objetivo de negocio y el hecho de que la consulta de catálogos involucra realizar conexiones hacia los sistemas de los fabricantes. 3. Una restricción para un sistema específico, podría ser que se usen librerías y herramientas open source. 2 y 3 basados en: Requerimientos y Arquitectura, en

52 Que son los Principios Arquitectónicos? Los principios son normas y directrices generales, destinados a ser duradera y rara vez modificado, que informan y apoyan la forma en que una organización se propone a cumplir su misión. A su vez, los principios pueden ser sólo un elemento en un conjunto estructurado de ideas que definen y orientan a la organización, a partir de valores a través de acciones y resultados.

53 Tipo de Principios Arquitectónicos Principios Empresariales: Ofrecen una base para la toma de decisiones en toda una empresa, e informar a cómo la organización se propone a cumplir su misión. Principios de TI: Proporcionar orientación sobre el uso y despliegue de todos los recursos de TI y sus activos en toda la empresa. Se desarrollan con el fin de hacer el entorno de la información lo más productiva y rentable como sea posible. Principios Arquitectónicos: Son un subconjunto de los principios de TI que corresponden a trabajos de arquitectura. Reflejan un nivel de consenso en toda la empresa, y encarnan el espíritu y el pensamiento de la arquitectura empresarial. Se dividen en: Principios que rigen el proceso de la arquitectura. Principios que rigen la aplicación de la arquitectura.

54 Ejemplos de Principios Arquitectónicos Ejemplos de Principios Empresariales: Madurez tecnológica. Soluciones a la medida vs genéricas. Grado de autonomía del proveedor. Ejemplos de Principios de TI: Un solo proveedor o varios. Soluciones Open vs Closed. Políticas de outsourcing. Ejemplos de Principios Arquitectónicos: Principios que rigen el proceso de la arquitectura: Todos los servicios y soluciones deben proveer una capa de seguridad. Principios que rigen la aplicación de la arquitectura: Autorización de uso de los servicios y aplicaciones.

55 Consideraciones para definir los Principios Se desarrollan por el arquitecto principal, junto con el CIO, Junta de Arquitectura, y los Stakeholders claves del negocio. Deben estar alineados con los principios de IT y de negocio. Deben estar influenciados por: Planes y misión organizacional. Iniciativas estratégicas organizacionales. Restricciones externas. Sistemas y tecnologías actuales. Tendencias tecnológicas.

56 Plantilla para definir los Principios Nombre: Debe representa la esencia de la norma, y ser fácil de recordar. plataformas específicas de la tecnología no debe ser mencionado en el nombre o la declaración. Declaración: Debe comunicar de manera sucinta y sin ambigüedades lo fundamental de la norma. En su mayor parte, las declaraciones de principios para la gestión de la información son similares de una organización a otra. Justificación: Se enfoca en mostrar los beneficios al negocio usando terminología del negocio. Describe la relación con otros principios y situaciones donde el principio tiene mas prevalencia sobre otros. Implicaciones: Recursos, costos, y las actividades o tareas

57 Ejemplo de definición de Principios Nombre: Cambios basados en requisitos Declaración: Se realizan cambios a aplicaciones y tecnología en respuesta a necesidades del negocio. Justificación: Este principio alentará un ambiente en el cual los cambios en IT se realizan con base a las necesidades del negocio y no permite que el negocio tenga que cambiar en respuesta a los cambios tecnológicos. Implicaciones: Cambios en implementación seguirán un examen detallado de los cambios propuestos usando la arquitectura empresarial. No se establece una mejora tecnológica a menos que exista una necesidad de negocio documentada. Se desarrollará e implementará un proceso de gestión de cambios acorde a este principio. Nombre: Facilidad de Uso Declaración: Las aplicaciones son fáciles de usar. La tecnologías sobre las cuales están soportadas son transparentes para el usuario, de esta manera ellos se concentran en su trabajo. Justificación: Entre mas tenga un usuario que entender la tecnología con la que trabaja, menos productivo será. La facilidad de uso es un incentivo positivo para el uso de aplicaciones. Alienta a los usuarios a trabajar con la información integrada en vez de desarrollar sistemas por fuera del entorno de TI de la organización. El entrenamiento se mantiene al mínimo y el riesgo de usar el sistema indebidamente es bajo. Implicaciones: Tener un look and feel común y soportar requisitos ergonómicos. Los lineamientos de UI no deben restringir los diferentes supuestos sobre ubicación, lenguaje o capacidades físicas.

58

59 Definición de Patrón Un patrón es una solución probada que se puede aplicar con éxito a un determinado tipo de problemas que aparece con frecuencia en un contexto específico. Esqueleto de aplicación básica que el diseñador ha de adaptar a sus necesidades. Un patrón de diseño en software es una colección de objetos que incluye: Relaciones entre estos objetos Desarrollados para resolver un problema concreto Se ha comprobado que funcionan bien (han sido testados).

60 Catálogos de Patrones Catalogo Nombre Uso Referencia POSA Pattern Oriented Software Architecture Definición de la arquitectura Buschmann, 1996 PEEA Pattern of Enterprise Application Architecture Definición de la arquitectura Fowler, 2003 GRASP General Responsability Assignment Software Patterns Paso del análisis al diseño Larman, 2004 GoF Design Patterns (Gang of Four) Diseño Gamma, 1995 J2EE J2EE Patterns 2 Edition. Diseño Alur, 2003 Idioms Patrones de Código Codificación Buschmann, 1996

61 POSA (Pattern-Oriented Software Architecture ) Propósito Del fango a la estructura Sistemas distribuidos Sistemas interactivos Sistemas adaptables Patrones Layers (Capas) Pipes and Filters (Tubería y Filtros) Blackboard (Pizarra) Broker (por ejemplo: CORBA, DCOM, Web Services, WWW) Model-View-Controller Presentation-Abstraction-Control Reflection: meta-nivel que hace al software consciente de sí mismo. Microkernel: núcleo de funcionalidad mínima.

62 Patrones POSA: 1. Layers Layers ayuda a estructurar las aplicaciones que se pueden descomponer en grupos de subtareas en la que cada grupo de subtareas se encuentra en un nivel particular de abstracción. [Buschmann, et al. 1996] Diagrama de Clases Esquemas de Funcionamiento

63 Patrones POSA: 2. Pipes and Filters Pipes and Filters proporciona una estructura para sistemas que procesan un flujo de datos. Cada paso del proceso se encapsula en un componente de filtro. Los datos se pasan a través de tubos entre filtros adyacentes. Recombinación de filtros permite crear familias de sistemas relacionados. [Buschmann, et al. 1996] Diagrama de Clases Esquemas de Funcionamiento

64 Patrones POSA: 3. Blackboard Blackboard es útil para los problemas en los que las estrategias de solución determinista no se conocen. En la Pizarra varios subsistemas especializados reúnen sus conocimientos para construir una posibilidad de solución parcial o aproximada. [Buschmann, et al. 1996] Diagrama de Clases Esquemas de Funcionamiento

65 Patrones POSA: 4. Broker Broker puede ser usado para estructurar sistemas de software distribuidos con componentes desacoplados que interactúan por invocaciones de servicios remotos. Un componente corredor es responsable de coordinar la comunicación, tales como solicitudes de expedición, así como para la transmisión de resultados y excepciones. [Buschmann, et al. 1996] Diagrama de Clases Esquemas de Funcionamiento

66 Patrones POSA: 5. MVC (Model-View-Controller ) MVC divide una aplicación interactiva en tres componentes. El modelo contiene la funcionalidad básica y los datos. Las vistas muestran la información al usuario. Los controladores manejan las entradas del usuario. Las vista y los controladores en conjunto constituyen la interfaz de usuario. Un mecanismo de propagación de cambios puede garantizar la coherencia entre la interfaz de usuario y el modelo. [Buschmann, et al. 1996] Diagrama de Clases Esquemas de Funcionamiento

67 Diagrama de Clases Patrones POSA: 6. PAC (Presentation-Abstraction-Control) PAC define una estructura para los sistemas interactivos en forma de una jerarquía de agentes cooperantes. Cada agente es responsable de un aspecto específico de la funcionalidad de las aplicaciones y consta de presentación, abstracción y control. Esta subdivisión separa los aspectos de la interacción humano-computadora del agente de su núcleo funcional y su comunicación con otros agentes. [Buschmann, et al. 1996] Esquemas de Funcionamiento

68 Patrones POSA: 7. Reflection Reflection provee un mecanismo para cambiar la estructura y el comportamiento de los sistemas de software de forma dinámica. Es compatible con la modificación de los aspectos fundamentales, tales como las estructuras y mecanismos de tipo de llamada a función. En este modelo, una aplicación se divide en dos partes: Un nivel meta proporciona información sobre las propiedades del sistema seleccionado y hace que el software auto-conocido. Un Nivel de base incluye la lógica de la aplicación. Su aplicación se basa en el nivel meta. Los cambios en la información guardada en el nivel meta influyen en el comportamiento posterior de nivel base. [Buschmann, et al. 1996] Diagrama de Clases Ejemplo de Funcionamiento (Patrón ActiveRecord)

69 Patrones POSA: 8. Microkernel Microkernel se aplica a los sistemas de software que debe ser capaz de adaptarse a los cambio en los requisitos del sistema. Separa un núcleo funcional mínimo de la funcionalidad extendida y partes específicas del cliente. El micronúcleo también sirve como un socket para conectar estas extensiones y coordinar su colaboración. [Buschmann, et al. 1996] Esquema de Funcionamiento Básico Diagrama de Clases Esquema de Funcionamiento con un Bus

70 Anti-Patrones Desarrollo de software Arquitectura Gestión The Blob Lava Flow Functional Decomposition Poltergeists Golden Hammer Spaghetti Code Cut and Paste Programming Mini Anti-Patrones Continuous Obsolescence Ambiguous Viewpoint Boat Anchor Dead End Input Kludge Walking through a Minefield Mushroom Management Stovepipe Enterprise Vendor Lock-in Architecture by Implication Design by Committee Reinvent the Wheel Mini Anti-Patrones Autogenerated Stovepipe Jumble Cover your Assets Wolf Ticket Warm Bodies Swiss Army Knife The Grand Old Duke of York Analysis Paralysis Death by Planning Corncob Irrational Management Project Missmanagement Mini Anti-Patrones Blowhard Jamboree Viewgraph Engineering Fear of Success Intellectual Violence Smoke and Mirrors Throw it over the wall Fire Drill The Feud is Dangerous

71 Que es un Estilo Arquitectónico? Una familia de sistemas en términos de un patrón de organización estructural. Más específicamente, un estilo arquitectónico determina el vocabulario de los componentes y conectores que se pueden utilizar en instancias de ese estilo, junto con un conjunto de restricciones sobre cómo pueden ser combinados. Estos pueden incluir restricciones topológicas en las descripciones arquitectónicas (por ejemplo, sin ciclos). Restricciones que tienen que ver con la semántica de la ejecución, también podría ser parte de la definición de estilo. [Garlan y Shaw, 1994]

72 Tipos de Estilos Arquitectónicos Categoría Comunicación Implementación Estilos Arquitectónicos Service-Oriented Architecture (SOA) Message Bus Client/Server 3-Tier / N-Tier Dominio Domain Driven Design Estructura Object-Oriented Component-Based Layered

73 Descripción de los Estilos Arquitectónicos Estilo SOA (Comunicación) Message Bus (Comunicación) Client/Server (Implementación) 3-Tiers / N-Tiers (Implementación) Domain Driven Design (Dominio) Object-Oriented (Estructura) Component-Based (Estructura) Layered (Estructura) Descripción Se refiere a las aplicaciones que exponen y consumen funcionalidad como un servicio a través de contratos y mensajes. Prescribe el uso de un sistema de software que puede recibir y enviar mensajes usando uno o más canales de comunicación, de modo que las aplicaciones puedan interactuar sin necesidad de conocer los detalles específicos de cada uno. Segrega el sistema en dos aplicaciones, donde el cliente realiza peticiones al servidor. En muchos casos, el servidor es una base de datos con la lógica de la aplicación representada en procedimientos almacenados. Segrega funcionalidad en segmentos separados en gran parte de la misma manera como el estilo de capa, pero con cada segmento que es un nivel situado en un equipo separado físicamente. Un estilo orientado a objetos que se centra en el modelado del dominio de negocio y en la definición de objetos de negocio basado en las entidades en el ámbito empresarial Basado en la división de responsabilidades para una aplicación o sistema en cada objetos reutilizables y autosuficientes, cada uno con los datos y el comportamiento de los relevantes para el objeto. Se descompone en el diseño de aplicaciones en funcionalidad reutilizable o componentes lógicos que expongan interfaces de comunicación bien definida. Partición de los asuntos de la aplicación en grupos apilados (capas).

74

75 Basado en: Bachmann, Felix et al.: Software Architecture Documentation in Practice: Documenting Architectural Layers. CMU/SEI-2000-SR Documento de Arquitectura (Definiciones) Un vehículo para comunicar el diseño del sistema a los stakeholders en cada etapa de su evolución. Una base para la realización del análisis por adelantado, para validar (o descubrir las deficiencias en) las decisiones de diseño arquitectónico y perfeccionar o modificar las decisiones cuando sea necesario. El primer artefacto utilizado para lograr la comprensión del sistema.

76 Basado en: Bachmann, Felix et al.: Software Architecture Documentation in Practice: Documenting Architectural Layers. CMU/SEI-2000-SR Documento de Arquitectura (Objetivos) Registrar las decisiones de los arquitectos. Para cumplir con este objetivo, la documentación debe ser completa y sin ambigüedades. Comunicar la arquitectura. Para cada una los stakeholders, considere: Que necesitan saber? Cual es la mejor forma de transmitirle lo que necesitan saber? Un documento único y exhaustivo de la especificación de arquitectura, probablemente va a convertirse en un costoso artefacto y no servirá al objetivo de la comunicación.

77 Basado en: Bachmann, Felix et al.: Software Architecture Documentation in Practice: Documenting Architectural Layers. CMU/SEI-2000-SR Documento de Arquitectura (Características) La documentación debe ser escrita desde el punto de vista del lector, no el escritor. Evite la repetición. Evite la ambigüedad. Utilice una esquema de organización estándar. Registre las justificaciones. Manténgala actualizada. Revisión de la documentación para el ajuste de su propósito.

78 Basado en: Bachmann, Felix et al.: Software Architecture Documentation in Practice: Documenting Architectural Layers. CMU/SEI-2000-SR Documento de Arquitectura (Stakeholders) Stakeholder Diseñadores de bajo nivel e implementadores Probadores e integradores Gerentes técnicos Gerentes de proyecto Diseñadores de sistemas con los que se debe interoperar Arquitectos y diseñadores por parte del cliente Soporte y mantenimiento Los nuevos miembros del proyecto Uso del Documento de Arquitectura "Órdenes de marcha, restricciones inviolables (más libertades explotables) en actividades de desarrollo. Para especificar el correcto comportamiento de caja negra de las piezas que se deben ajustar. Para armar los equipos de desarrollo acorde a las tareas identificadas. Base para una dividir el trabajo, planear, asignar recursos al proyecto y seguir progresos de los equipos. Para definir el conjunto de operaciones que son requeridas y provistas. Para negociar y hacer acuerdos entre requisitos que compiten. Para revelar áreas con cambios a futuro. Primer artefacto para familiarizarse con el diseño de un sistema.

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

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

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

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

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

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

Capítulo 5. Cliente-Servidor.

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

Más detalles

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

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

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

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

Más detalles

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

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web Arquitectura 1.- Aplicaciones Web Definición Contenidos 1.- Aplicaciones Web 2.- Arquitectura de aplicaciones Web Lo que distingue una aplicación Web de una mero sitio Web reside en la posibilidad que

Más detalles

Service Oriented Architecture: Con Biztalk?

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

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

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

Figure 7-1: Phase A: Architecture Vision

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

Más detalles

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

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

ARC 101 Architecture Overview Diagram

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

Más detalles

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

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

Más detalles

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

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

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

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

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

Más detalles

SIGPRE Sistema de Gestión Presupuestaria

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

Más detalles

Consultoría en Arquitectura Empresarial, SOA y de Software

Consultoría en Arquitectura Empresarial, SOA y de Software Consultoría en Arquitectura Empresarial, SOA y de Software Dentro de su propuesta de servicios de consultoría, HEINSOHN ofrece consultoría en planeación de tecnologías de información, donde se define a

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

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

Más detalles

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

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

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

Plataforma de expediente Electrónico @DOC

Plataforma de expediente Electrónico @DOC MINISTERIO DE LA PRESIDENCIA SUBSECRETARÍA SUBDIRECCIÓN GENERAL DE TECNOLOGÍAS Y SERVICIOS DE LA INFORMACIÓN Plataforma de expediente Electrónico @DOC Arquitectura de Sistemas Control de versiones Versión

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

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

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

Más detalles

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

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

Más detalles

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

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

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

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

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

Más detalles

Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez jimezam@gmail.com

Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez jimezam@gmail.com Modelos de los sistemas distribuidos Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/36 Contenidos Modelo arquitectónico

Más detalles

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

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

Más detalles

Temario máster Java. Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas

Temario máster Java. Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas Temario máster Java Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas En este módulo se explicarán las características del lenguaje programación Java. Unidad 1 Entendiendo la tecnología

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 General del Manual de Organización y Funciones

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

Más detalles

Empresa Financiera Herramientas de SW Servicios

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

Más detalles

Ingeniería de Software. Pruebas

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

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

Elementos requeridos para crearlos (ejemplo: el compilador)

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

Más detalles

SISTEMAS DE INFORMACIÓN III TEORÍA

SISTEMAS DE INFORMACIÓN III TEORÍA CONTENIDO: Introducción a los Web services Las bases de los Web services La nueva generación de la Web Interactuando con los Web services La tecnología de Web services XML: Lo fundamental WSDL: Describiendo

Más detalles

Centro de Interoperabilidad Semántica y Sistema de Gestión de Mensajes de Intercambio

Centro de Interoperabilidad Semántica y Sistema de Gestión de Mensajes de Intercambio Centro de Interoperabilidad Semántica y Sistema de Gestión de Mensajes de Intercambio Francisco José Martín Lázaro franciscojose.martin@map.es Consejero Tecnológico de Normas de Tecnología. Ministerio

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

Descripción de Arquitectura Repositorio de metadatos de componentes de software

Descripción de Arquitectura Repositorio de metadatos de componentes de software Descripción de Arquitectura Repositorio de metadatos de componentes de software 1. Introducción. 1.1. Propósito. 1.2. Alcance. 1.3. Definiciones. 1.4 Contexto. 1.5. Referencia. 2. Objetivos y restricciones

Más detalles

Herramienta de Gestión Integral de E-Business

Herramienta de Gestión Integral de E-Business Herramienta de Gestión Integral de E-Business Ingeniería técnica de informática de sistemas Autor: David López Martín Tutor: Antoni Oller Arcas Índice Introducción Metodología Análisis Diseño Planificación

Más detalles

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

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

Más detalles

Integración de AuraPortal con SAP

Integración de AuraPortal con SAP Integración de AuraPortal con SAP Se puede definir como la estrategia empresarial enfocada a gestionar los procesos de negocio. BPM se soporta sobre tecnología de información para automatizar tareas y

Más detalles

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

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

Más detalles

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

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

Más detalles

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008 Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008 Introducción Aunque la estrategia de adquisiciones que Oracle ha seguido en los últimos años siempre ha buscado complementar y fortalecer nuestra oferta

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

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

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

Figure 9-1: Phase C: Information Systems Architectures

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

Más detalles

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

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

Más detalles

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

Más detalles

Creando Arquitecturas

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

Más detalles

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java C/Comandante Zorita 4 28020 Madrid/ info@ceticsa.es 902 425 524 / 91 700 01 17 Plataforma desarrollo Java Formación elearning tutorizada en castellano JAVA00d Ciclo de formación en plataforma Java Curso

Más detalles

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

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

Más detalles

MACROPROCESO GESTIÓN TECNOLÓGICA

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

Más detalles

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1) TECNOLOGÍAS (1/2) (L1) EJB ( Enterprise Java Beans ) JSP ( Java Server Pages ) JNDI ( Java Naming and Directory Interface ) JDBC ( Java Data Base Connectivity ) Java Mail JSF ( Java Server Faces ) TECNOLOGÍAS

Más detalles

Curso de Spring Framework

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

Más detalles

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales

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 josejuan_avina@gmail.com

Más detalles

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

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

Más detalles

3.3.3 Tecnologías Mercados Datos

3.3.3 Tecnologías Mercados Datos 3.3.3 Tecnologías Mercados Datos TECNOLOGIAS DATAMART: Aspect Data Mart es una solución completa de reportes para la empresa, que le proporciona un mayor entendimiento de las operaciones de sus negocios

Más detalles

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

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

Más detalles

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

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

Más detalles

Arquitectura cliente/servidor

Arquitectura cliente/servidor Departamento de Lenguajes y Sistemas Informáticos Arquitectura cliente/servidor Programación en Internet Curso 2007-2008 Índice Introducción Tipos de servidores Ventajas Desventajas Arquitectura de una

Más detalles

CAPÍTULO 5. DESARROLLO Y PRUEBAS

CAPÍTULO 5. DESARROLLO Y PRUEBAS CAPÍTULO 5. DESARROLLO Y PRUEBAS 5.1 Introducción a las Tecnologías 5.1.1 Herramientas 5.1.1.1 SQL Server Es un sistema que sirve para la gestión de base de datos basado en un modelo relacional. Así mismo

Más detalles

VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS. Estructura de Cargos y Competencias Institucionales

VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS. Estructura de Cargos y Competencias Institucionales VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS Estructura de Cargos y Competencias Institucionales Campus San Juan Pablo II Presentación La Universidad Católica

Más detalles

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

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

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Tema 1. Arquitectura Cliente/Servidor

Tema 1. Arquitectura Cliente/Servidor Tema 1. Arquitectura Cliente/Servidor SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs 27 de septiembre de 2009 FJRP, FMBR [sistemas cliente-servidor] CCIA 1.1 Sistemas

Más detalles

Soporte Técnico de Software HP

Soporte Técnico de Software HP Soporte Técnico de Software HP Servicios Tecnológicos HP Servicios contractuales Datos técnicos El Soporte Técnico de Software HP ofrece servicios integrales de soporte remoto de para los productos de

Más detalles

Modelado y Diseño de Arquitectura de Software

Modelado y Diseño de Arquitectura de Software Modelado y Diseño de Arquitectura de Software CONCEPTOS DE MODELADO Fernando Barraza A. MS.c. fernando.barraza@gmail.com 2 Desarrollo de sistemas de software Requisitos funcionales del software Si todo

Más detalles

Sistema de marketing de proximidad

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

Más detalles

Solución GeoSAS. Módulo Mobile

Solución GeoSAS. Módulo Mobile Solución GeoSAS. Módulo Mobile Informe Marzo 2011 ÍNDICE ÍNDICE 3 1. SOLUCION GIS CORPORATIVA. GEOSAS 4 1.1 PLATAFORMA GEOSAS 5 1.1.1 Servidor de datos. 5 1.1.2 Servidor de aplicaciones. 6 1.1.3 Entornos

Más detalles

CARRERA TITULO DEL TRABAJO CURSO

CARRERA TITULO DEL TRABAJO CURSO CARRERA Ingeniería Informática TITULO DEL TRABAJO TOGAF CURSO Tópicos de Ingeniería del Software CÉSAR ESTRADA CONDORI MAYRA GOMEZ QUEVEDO LUIS MUǸOS ESCAPA ALAN A. ROJAS MARROQUIN SEMESTRE IX 2010 Los

Más detalles

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CONCEPTOS DE PRUEBAS DE APLICACIÓN El departamento de Testing se encarga de diseñar, planear y aplicar el rol de pruebas a los sistemas que el PROVEEDOR

Más detalles

GMF Gestor de incidencias

GMF Gestor de incidencias GMF Gestor de incidencias Contenidos Contenidos... 1 Introducción... 2 El módulo de Gestión de Incidencias... 2 Vista del técnico... 2 Vista de usuario... 4 Workflow o flujo de trabajo... 5 Personalización

Más detalles

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

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

Curso: Arquitectura Empresarial basado en TOGAF

Curso: Arquitectura Empresarial basado en TOGAF Metodología para desarrollo de Arquitecturas (ADM) El ADM TOGAF es el resultado de las contribuciones continuas de un gran número de practicantes de arquitectura. Este describe un método para el desarrollo

Más detalles

MSI 533: Modelamiento y gestión de procesos de negocios

MSI 533: Modelamiento y gestión de procesos de negocios Magister en Ingeniería Informática Escuela de Informática Facultad de Ingeniería MSI 533: Modelamiento y gestión de procesos de negocios Clase 1: Introducción Prof. Guillermo E. Badillo Astudillo Los elementos

Más detalles

Introducción a las redes de computadores

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

Más detalles

6 Anexos: 6.1 Definición de Rup:

6 Anexos: 6.1 Definición de Rup: 6 Anexos: 6.1 Definición de Rup: Es un producto del proceso de ingeniería de software que proporciona un enfoque disciplinado para asignar tareas y responsabilidades dentro de una organización del desarrollo.

Más detalles

Ingeniería de Software II Segundo Cuatrimestre 2007

Ingeniería de Software II Segundo Cuatrimestre 2007 Ingeniería de Software II Segundo Cuatrimestre 2007 Clase 4 Parte 1: Introducción a las Arquitecturas de Software Buenos Aires, 3 de Septiembre de 2007 Diagramas de ejemplo Analizando dibujitos Banco 3

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

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA E. SÁEZ, M. ORTIZ, F. QUILES, C. MORENO, L. GÓMEZ Área de Arquitectura y Tecnología de Computadores. Departamento de Arquitectura

Más detalles

Autenticación Centralizada

Autenticación Centralizada Autenticación Centralizada Ing. Carlos Rojas Castro Herramientas de Gestión de Redes Introducción En el mundo actual, pero en especial las organizaciones actuales, los usuarios deben dar pruebas de quiénes

Más detalles

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 FAMILIA PROFESIONAL: INFORMATICA Y COMUNICACIONES MATERIA: 28. DESARROLLO WEB EN ENTORNO SERVIDOR CURSO: 2º DE CFGS DESARROLLO DE APLICACIONES

Más detalles

Componentes de Integración entre Plataformas Información Detallada

Componentes de Integración entre Plataformas Información Detallada Componentes de Integración entre Plataformas Información Detallada Active Directory Integration Integración con el Directorio Activo Active Directory es el servicio de directorio para Windows 2000 Server.

Más detalles

SISTEMAS DE INFORMACIÓN I TEORÍA

SISTEMAS DE INFORMACIÓN I TEORÍA CONTENIDO: CICLO DE VIDA DE DESARROLLO DE SI FASES GENÉRICAS DEL CICLO DE VIDA DE DESARROLLO DE SI VISIÓN TRADICIONAL DEL CICLO DE VIDA DE DESARROLLO DE SI DE DESARROLLO DE SI: ANÁLISIS Material diseñado

Más detalles