El documento describe varios modelos de procesos de software, incluyendo tres modelos secuenciales (lineal secuencial, iterativo basado en prototipos, y de desarrollo rápido de aplicaciones), tres modelos evolutivos (espiral, de desarrollo concurrente e incremental) y tres modelos ágiles (Scrum, Crystal y Programación Extrema). Define cada modelo y resume brevemente sus características clave.
Este documento compara los modelos Moprosoft y CMMI para el desarrollo de software. Moprosoft es un modelo mexicano con 9 procesos integrados para mejorar los procesos de software, mientras que CMMI es un marco internacional para mejorar la capacidad de una organización. Ambos modelos buscan mejorar la calidad y reducir costos, pero CMMI requiere más esfuerzo de implementación y evaluación. El documento describe las características, ventajas y desventajas de cada modelo.
Tabla comparativa- metodologías de desarrolloitsarellano
Este documento describe varios modelos de desarrollo de software, incluyendo cascada, incremental, prototipado evolutivo, RAD, RUP y XP. Explica las etapas, tipos de proyectos, relación con los usuarios y características de cada modelo.
Normas y Estándares de calidad para el desarrollo de SoftwareEvelinBermeo
Este documento resume varios modelos y estándares de calidad para el desarrollo de software. Describe normas ISO/IEC como ISO 9126 que definen las características de calidad de software y ISO/IEC 25000 (SQuaRE) que armoniza normas anteriores. También cubre el modelo CMMI para mejorar procesos, SPICE para evaluar procesos, PSP/TSP para estimación a nivel individual/grupal y MOPROS para pymes mexicanas. Los diferentes estándares permiten un proceso de mejora continua al implementarlos.
El documento describe los beneficios de aplicar procesos de gestión de la calidad como CMMI. Estos incluyen reducir costos de desarrollo, mejorar la planificación y productividad, reducir defectos, y mejorar la calidad del producto y la imagen de marca. También señala que CMMI puede ser costoso y complejo de implementar, y no se ajusta bien a los enfoques centrados en el servicio.
Este documento trata sobre la ingeniería del software. Define la ingeniería del software como la rama de la ingeniería que crea y mantiene aplicaciones de software usando ciencias de la computación, gestión de proyectos e ingeniería. Explica conceptos clave como software, paradigmas de programación, métodos de desarrollo de software, modelado de sistemas y objetivos de la ingeniería del software. Finalmente, señala que la ingeniería del software permite mejorar la calidad del software mediante un proceso formal, y que los ingenieros de software trabajan
Este documento presenta una propuesta de desarrollo de software para la empresa "nombre de la empresa". Describe el propósito, alcance y objetivos del proyecto, así como la organización del equipo de desarrollo. Incluye estimaciones de costos, el plan de proyecto con fases e hitos, y define los módulos funcionales del sistema de información como ventas, almacén, servicios y reportes. El objetivo general es automatizar los procesos de la empresa para facilitar el flujo de información requerido.
El documento describe varios modelos de procesos de software, incluyendo tres modelos secuenciales (lineal secuencial, iterativo basado en prototipos, y de desarrollo rápido de aplicaciones), tres modelos evolutivos (espiral, de desarrollo concurrente e incremental) y tres modelos ágiles (Scrum, Crystal y Programación Extrema). Define cada modelo y resume brevemente sus características clave.
Este documento compara los modelos Moprosoft y CMMI para el desarrollo de software. Moprosoft es un modelo mexicano con 9 procesos integrados para mejorar los procesos de software, mientras que CMMI es un marco internacional para mejorar la capacidad de una organización. Ambos modelos buscan mejorar la calidad y reducir costos, pero CMMI requiere más esfuerzo de implementación y evaluación. El documento describe las características, ventajas y desventajas de cada modelo.
Tabla comparativa- metodologías de desarrolloitsarellano
Este documento describe varios modelos de desarrollo de software, incluyendo cascada, incremental, prototipado evolutivo, RAD, RUP y XP. Explica las etapas, tipos de proyectos, relación con los usuarios y características de cada modelo.
Normas y Estándares de calidad para el desarrollo de SoftwareEvelinBermeo
Este documento resume varios modelos y estándares de calidad para el desarrollo de software. Describe normas ISO/IEC como ISO 9126 que definen las características de calidad de software y ISO/IEC 25000 (SQuaRE) que armoniza normas anteriores. También cubre el modelo CMMI para mejorar procesos, SPICE para evaluar procesos, PSP/TSP para estimación a nivel individual/grupal y MOPROS para pymes mexicanas. Los diferentes estándares permiten un proceso de mejora continua al implementarlos.
El documento describe los beneficios de aplicar procesos de gestión de la calidad como CMMI. Estos incluyen reducir costos de desarrollo, mejorar la planificación y productividad, reducir defectos, y mejorar la calidad del producto y la imagen de marca. También señala que CMMI puede ser costoso y complejo de implementar, y no se ajusta bien a los enfoques centrados en el servicio.
Este documento trata sobre la ingeniería del software. Define la ingeniería del software como la rama de la ingeniería que crea y mantiene aplicaciones de software usando ciencias de la computación, gestión de proyectos e ingeniería. Explica conceptos clave como software, paradigmas de programación, métodos de desarrollo de software, modelado de sistemas y objetivos de la ingeniería del software. Finalmente, señala que la ingeniería del software permite mejorar la calidad del software mediante un proceso formal, y que los ingenieros de software trabajan
Este documento presenta una propuesta de desarrollo de software para la empresa "nombre de la empresa". Describe el propósito, alcance y objetivos del proyecto, así como la organización del equipo de desarrollo. Incluye estimaciones de costos, el plan de proyecto con fases e hitos, y define los módulos funcionales del sistema de información como ventas, almacén, servicios y reportes. El objetivo general es automatizar los procesos de la empresa para facilitar el flujo de información requerido.
Este documento describe varios modelos de procesos para la ingeniería de software, incluyendo modelos lineales, evolutivos e híbridos. Todos los modelos buscan resolver problemas a través de etapas iterativas de definición de problemas, desarrollo técnico e integración de soluciones. El modelo a elegir depende del proyecto, aplicación, métodos y herramientas disponibles.
Una introducción al Modelado de Negocios que describe sus aplicaciones o usos en el contexto empresarial, su evolución, sus enfoques e introduce el método BMM para modelado de negocios con UML.
Este documento presenta las ventajas y desventajas del modelo Moprosoft para el desarrollo y mantenimiento de software. Las ventajas incluyen que está basado en normas ISO, simplifica la relación entre el modelo de procesos y la organización, cuenta con nueve procesos y es específico para el desarrollo de software. Las desventajas son que define actividades de manera muy general y que el 33% de las prácticas como administración de configuración y medición y análisis no están cubiertas.
El documento habla sobre la importancia de modelar el negocio antes de desarrollar un sistema de software. Explica que modelar el negocio ayuda a comprender los procesos, flujos de trabajo y objetivos de la organización. También describe los conceptos clave para modelar el negocio como casos de uso de negocio, roles, diagramas de secuencia y actividades. El modelo de negocio provee el contexto necesario para analizar requisitos y desarrollar un software que satisfaga realmente las necesidades del negocio.
El documento describe diferentes modelos de procesos de software, incluyendo el modelo en cascada, modelos evolutivos como el desarrollo exploratorio y prototipos desechables, el modelo basado en componentes, y modelos iterativos como el modelo en espiral e incremental. Explica las características y etapas clave de cada modelo.
Este documento presenta las pautas generales para el proceso de la Gerencia de Aseguramiento de la Calidad del Software (SQA) en un proyecto de desarrollo de software. Describe las actividades clave de SQA como la revisión de la documentación, adherencia a estándares y procesos de revisión. También explica cómo estas actividades se aplican en las diferentes fases del proyecto como requerimientos, diseño y pruebas. El objetivo es asegurar que el proyecto cumpla con los estándares de calidad definidos.
Este documento presenta una comparación de varios métodos para el desarrollo de aplicaciones web, incluyendo HDM, WSDM, RMM, OOHDM y SOHDM. Estos métodos proponen diferentes actividades y notaciones para las fases de diseño, modelado conceptual, diseño de navegación e implementación. Algunos métodos como OOHDM y SOHDM se basan en objetos y utilizan UML, mientras que otros como HDM y WSDM proponen sus propias notaciones.
Este documento introduce brevemente varios temas clave de la ingeniería de software, incluyendo una definición de ingeniería de software, los costos asociados, los tipos de productos de software, la especificación de productos, y la ética en la ingeniería de software. También presenta preguntas frecuentes sobre la disciplina y resume los principios fundamentales que se aplican a todo tipo de desarrollo de sistemas de software.
Este documento presenta una visión general del proceso de desarrollo de software. Explica que el proceso de software consiste en una serie de actividades estructuradas como la especificación, el diseño, la implementación y las pruebas para crear un producto de alta calidad a tiempo. También describe que los ingenieros de software y sus gerentes adaptan el proceso a sus necesidades siguiendo pasos predecibles. Finalmente, resalta que un enfoque ágil es importante para ofrecer estabilidad al proceso creativo de desarrollo de software.
El documento introduce el Proceso Unificado de Rational (RUP), describiendo que es un proceso iterativo, centrado en la arquitectura y dirigido por los casos de uso. Explica que el RUP es configurable, soporta técnicas orientadas a objetos y promueve un control de calidad y gestión de riesgos continuos. También presenta los conceptos clave de ciclo de vida del software, modelo de desarrollo, fases y flujos de trabajo del RUP.
El documento describe el diseño estructurado en programación y diseño de algoritmos. El diseño estructurado es una técnica específica para el diseño de programas formados por módulos independientes. Sus elementos incluyen técnicas de documentación como diagramas de flujo y estructura, y sus etapas son la descomposición del problema, la jerarquía de módulos independientes, y asegurar la independencia del diseño. El objetivo del diseño estructurado es producir sistemas fáciles de entender y mantener.
Resumen del Rational Unified Process (RUP) para la materia de Análisis y Diseño de Sistemas de Información (INF - 162) de la carrera de Informática de la Universidad Mayor de San Andrés
Este documento ofrece una introducción a las bases de datos NoSQL y Apache Cassandra. Explica que las bases de datos NoSQL difieren de las bases de datos relacionales tradicionales en que no requieren esquemas fijos, evitan operaciones JOIN y escalan horizontalmente. Luego describe las características clave de Cassandra, incluyendo su modelo de datos orientado a columnas y su capacidad de alta disponibilidad y tolerancia a fallos a través de la replicación distribuida de datos. Finalmente, contrasta el modelo de datos y consultas de Cassandra con las bases de datos rel
El documento resume la metodología Team Software Process (TSP). TSP es un conjunto de procesos estructurados para dirigir el trabajo de equipos de software. El objetivo es maximizar la calidad y minimizar los costos mediante la integración de equipos independientes que planeen y registren su trabajo. TSP también ayuda a los gerentes a monitorear y motivar a sus equipos para alcanzar su máxima productividad.
1. El documento presenta conceptos clave de ingeniería de software como modelo de negocios, procesos de negocio, roles, casos de uso de negocio y diagramas para modelar el negocio. 2. Explica que el modelo de negocios estudia la organización identificando procesos, roles y su interacción para lograr objetivos. 3. Se describen elementos para modelar el negocio como actores, roles, casos de uso, flujos de trabajo y decisiones usando diagramas de casos de uso, secuencias, actividades.
El documento describe las arquitecturas de objetos distribuidos. Elimina la distinción entre cliente y servidor, donde los componentes son objetos que proporcionan y requieren servicios. Los objetos se comunican a través de middleware y pueden distribuirse en varias computadoras de una red. Esto permite retrasar decisiones sobre dónde se proporcionan servicios y añadir nuevos recursos de forma flexible y escalable.
Este documento presenta una introducción al modelo CMMI (Capability Maturity Model Integration). Explica que CMMI es un modelo de evaluación de procesos que provee elementos para mejorar procesos de ingeniería de software y desarrollo organizacional. Describe los niveles de madurez, áreas de proceso, y beneficios de usar CMMI. Finalmente, presenta una tabla que resume el nivel de madurez actual de las áreas de proceso de una organización.
Una serie de pasos predecibles que ayude a crear un resultado de alta calidad y a tiempo.
Es un conjunto estructurado de actividades para: Especificar, diseñar, implementar y probar software.
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?Software Guru
El documento describe las entrevistas para la obtención de requisitos, incluyendo la definición de entrevista, directrices fundamentales, habilidades necesarias, errores comunes, preparación, tipos de preguntas, formatos, registro y ventajas/desventajas. La entrevista es una forma de diálogo entre dos o más personas donde el entrevistador busca respuestas a preguntas planeadas para obtener información del entrevistado. Se requiere preparación, habilidades de comunicación y escucha activa para realizar entrevistas efectivas.
Este documento introduce las arquitecturas orientadas a servicios (SOA). Explica que SOA permite construir sistemas flexibles a partir de componentes modulares llamados servicios. Los servicios son independientes y pueden interactuar mediante interfaces estándar. El documento también presenta varias definiciones de SOA de diferentes autores e instituciones y discute las ventajas de SOA para satisfacer las necesidades cambiantes de las empresas.
Este documento presenta un resumen de 3 oraciones de un trabajo académico sobre Arquitectura Orientada a Servicios realizado por 3 estudiantes de la Universidad Nacional de Trujillo para el curso Tópicos Especiales en Ingeniería de Software. El trabajo describe los conceptos clave de SOA como servicios, repositorio de servicios, bus de servicios y consumidores de servicios, así como las capas y elementos de una arquitectura SOA.
Este documento describe varios modelos de procesos para la ingeniería de software, incluyendo modelos lineales, evolutivos e híbridos. Todos los modelos buscan resolver problemas a través de etapas iterativas de definición de problemas, desarrollo técnico e integración de soluciones. El modelo a elegir depende del proyecto, aplicación, métodos y herramientas disponibles.
Una introducción al Modelado de Negocios que describe sus aplicaciones o usos en el contexto empresarial, su evolución, sus enfoques e introduce el método BMM para modelado de negocios con UML.
Este documento presenta las ventajas y desventajas del modelo Moprosoft para el desarrollo y mantenimiento de software. Las ventajas incluyen que está basado en normas ISO, simplifica la relación entre el modelo de procesos y la organización, cuenta con nueve procesos y es específico para el desarrollo de software. Las desventajas son que define actividades de manera muy general y que el 33% de las prácticas como administración de configuración y medición y análisis no están cubiertas.
El documento habla sobre la importancia de modelar el negocio antes de desarrollar un sistema de software. Explica que modelar el negocio ayuda a comprender los procesos, flujos de trabajo y objetivos de la organización. También describe los conceptos clave para modelar el negocio como casos de uso de negocio, roles, diagramas de secuencia y actividades. El modelo de negocio provee el contexto necesario para analizar requisitos y desarrollar un software que satisfaga realmente las necesidades del negocio.
El documento describe diferentes modelos de procesos de software, incluyendo el modelo en cascada, modelos evolutivos como el desarrollo exploratorio y prototipos desechables, el modelo basado en componentes, y modelos iterativos como el modelo en espiral e incremental. Explica las características y etapas clave de cada modelo.
Este documento presenta las pautas generales para el proceso de la Gerencia de Aseguramiento de la Calidad del Software (SQA) en un proyecto de desarrollo de software. Describe las actividades clave de SQA como la revisión de la documentación, adherencia a estándares y procesos de revisión. También explica cómo estas actividades se aplican en las diferentes fases del proyecto como requerimientos, diseño y pruebas. El objetivo es asegurar que el proyecto cumpla con los estándares de calidad definidos.
Este documento presenta una comparación de varios métodos para el desarrollo de aplicaciones web, incluyendo HDM, WSDM, RMM, OOHDM y SOHDM. Estos métodos proponen diferentes actividades y notaciones para las fases de diseño, modelado conceptual, diseño de navegación e implementación. Algunos métodos como OOHDM y SOHDM se basan en objetos y utilizan UML, mientras que otros como HDM y WSDM proponen sus propias notaciones.
Este documento introduce brevemente varios temas clave de la ingeniería de software, incluyendo una definición de ingeniería de software, los costos asociados, los tipos de productos de software, la especificación de productos, y la ética en la ingeniería de software. También presenta preguntas frecuentes sobre la disciplina y resume los principios fundamentales que se aplican a todo tipo de desarrollo de sistemas de software.
Este documento presenta una visión general del proceso de desarrollo de software. Explica que el proceso de software consiste en una serie de actividades estructuradas como la especificación, el diseño, la implementación y las pruebas para crear un producto de alta calidad a tiempo. También describe que los ingenieros de software y sus gerentes adaptan el proceso a sus necesidades siguiendo pasos predecibles. Finalmente, resalta que un enfoque ágil es importante para ofrecer estabilidad al proceso creativo de desarrollo de software.
El documento introduce el Proceso Unificado de Rational (RUP), describiendo que es un proceso iterativo, centrado en la arquitectura y dirigido por los casos de uso. Explica que el RUP es configurable, soporta técnicas orientadas a objetos y promueve un control de calidad y gestión de riesgos continuos. También presenta los conceptos clave de ciclo de vida del software, modelo de desarrollo, fases y flujos de trabajo del RUP.
El documento describe el diseño estructurado en programación y diseño de algoritmos. El diseño estructurado es una técnica específica para el diseño de programas formados por módulos independientes. Sus elementos incluyen técnicas de documentación como diagramas de flujo y estructura, y sus etapas son la descomposición del problema, la jerarquía de módulos independientes, y asegurar la independencia del diseño. El objetivo del diseño estructurado es producir sistemas fáciles de entender y mantener.
Resumen del Rational Unified Process (RUP) para la materia de Análisis y Diseño de Sistemas de Información (INF - 162) de la carrera de Informática de la Universidad Mayor de San Andrés
Este documento ofrece una introducción a las bases de datos NoSQL y Apache Cassandra. Explica que las bases de datos NoSQL difieren de las bases de datos relacionales tradicionales en que no requieren esquemas fijos, evitan operaciones JOIN y escalan horizontalmente. Luego describe las características clave de Cassandra, incluyendo su modelo de datos orientado a columnas y su capacidad de alta disponibilidad y tolerancia a fallos a través de la replicación distribuida de datos. Finalmente, contrasta el modelo de datos y consultas de Cassandra con las bases de datos rel
El documento resume la metodología Team Software Process (TSP). TSP es un conjunto de procesos estructurados para dirigir el trabajo de equipos de software. El objetivo es maximizar la calidad y minimizar los costos mediante la integración de equipos independientes que planeen y registren su trabajo. TSP también ayuda a los gerentes a monitorear y motivar a sus equipos para alcanzar su máxima productividad.
1. El documento presenta conceptos clave de ingeniería de software como modelo de negocios, procesos de negocio, roles, casos de uso de negocio y diagramas para modelar el negocio. 2. Explica que el modelo de negocios estudia la organización identificando procesos, roles y su interacción para lograr objetivos. 3. Se describen elementos para modelar el negocio como actores, roles, casos de uso, flujos de trabajo y decisiones usando diagramas de casos de uso, secuencias, actividades.
El documento describe las arquitecturas de objetos distribuidos. Elimina la distinción entre cliente y servidor, donde los componentes son objetos que proporcionan y requieren servicios. Los objetos se comunican a través de middleware y pueden distribuirse en varias computadoras de una red. Esto permite retrasar decisiones sobre dónde se proporcionan servicios y añadir nuevos recursos de forma flexible y escalable.
Este documento presenta una introducción al modelo CMMI (Capability Maturity Model Integration). Explica que CMMI es un modelo de evaluación de procesos que provee elementos para mejorar procesos de ingeniería de software y desarrollo organizacional. Describe los niveles de madurez, áreas de proceso, y beneficios de usar CMMI. Finalmente, presenta una tabla que resume el nivel de madurez actual de las áreas de proceso de una organización.
Una serie de pasos predecibles que ayude a crear un resultado de alta calidad y a tiempo.
Es un conjunto estructurado de actividades para: Especificar, diseñar, implementar y probar software.
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?Software Guru
El documento describe las entrevistas para la obtención de requisitos, incluyendo la definición de entrevista, directrices fundamentales, habilidades necesarias, errores comunes, preparación, tipos de preguntas, formatos, registro y ventajas/desventajas. La entrevista es una forma de diálogo entre dos o más personas donde el entrevistador busca respuestas a preguntas planeadas para obtener información del entrevistado. Se requiere preparación, habilidades de comunicación y escucha activa para realizar entrevistas efectivas.
Este documento introduce las arquitecturas orientadas a servicios (SOA). Explica que SOA permite construir sistemas flexibles a partir de componentes modulares llamados servicios. Los servicios son independientes y pueden interactuar mediante interfaces estándar. El documento también presenta varias definiciones de SOA de diferentes autores e instituciones y discute las ventajas de SOA para satisfacer las necesidades cambiantes de las empresas.
Este documento presenta un resumen de 3 oraciones de un trabajo académico sobre Arquitectura Orientada a Servicios realizado por 3 estudiantes de la Universidad Nacional de Trujillo para el curso Tópicos Especiales en Ingeniería de Software. El trabajo describe los conceptos clave de SOA como servicios, repositorio de servicios, bus de servicios y consumidores de servicios, así como las capas y elementos de una arquitectura SOA.
El documento presenta conceptos generales sobre arquitecturas orientadas a servicios (SOA). Explica que una SOA descompone la funcionalidad deseada en unidades de servicio que pueden distribuirse a través de una red. También describe los componentes clave de una SOA como servicios web, SOAP, WSDL y UDDI. Finalmente, presenta un modelo general de cinco fases para definir una arquitectura de software que incluye identificar el problema, entenderlo, definirlo, construirlo y evaluarlo.
Este documento presenta una introducción a la Arquitectura Orientada a Servicios (SOA). Explica que SOA organiza un sistema en términos de servicios autónomos y granulares que interactúan entre sí. Detalla los componentes clave de SOA como servicios web, UDDI para publicación y descubrimiento, y composición de servicios. Finalmente, destaca los beneficios de SOA como flexibilidad, reutilización y reducción de costos.
El documento presenta una introducción a los conceptos de arquitectura orientada a servicios (SOA). Explica brevemente qué es SOA, por qué es importante, qué hay de nuevo en SOA y cómo impacta en las empresas. También resume los beneficios de SOA para el negocio y TI, así como la estrategia y tendencias del mercado en relación a SOA.
El documento presenta una introducción a la Arquitectura Orientada a Servicios (SOA), describiendo sus orígenes, principios, componentes y beneficios. SOA permite crear sistemas de información escalables mediante la exposición de capacidades de negocio como servicios independientes que pueden ser combinados para formar procesos de negocio.
Este documento describe los fundamentos de la arquitectura de software, incluyendo conceptos como el análisis de requisitos, lineamientos de calidad, estilos arquitectónicos como capas y flujo de datos, y métodos para el diseño arquitectónico como mapeo de flujos de datos. La arquitectura de software proporciona un marco coherente para guiar el desarrollo de software mediante el uso de patrones y abstracciones.
El documento describe el diseño de la arquitectura de software. Explica que la arquitectura identifica los elementos e interacciones más importantes de un sistema y provee una visión global. También cubre estilos arquitectónicos como centrados en datos, flujo de datos, llamada y retorno, orientados a objetos y estratificados. El propósito de la arquitectura es facilitar la comunicación, reducir riesgos y considerar alternativas de diseño temprano.
Este documento describe diferentes arquitecturas de sistemas distribuidos, incluyendo arquitecturas multiprocesador, cliente-servidor y de objetos distribuidos. Explica las ventajas de los sistemas distribuidos como compartir recursos y tolerancia a fallos, pero también las desventajas como complejidad, seguridad e impredecibilidad.
The document provides an overview of using Git, including how to install and configure Git, initialize and clone repositories, check the status of and make commits to the local repository, and push/pull changes between local and remote repositories. It also covers additional Git commands and concepts like branching, merging, tagging, and resolving conflicts.
Una red P2P es una red de computadoras donde los nodos funcionan como iguales sin clientes o servidores fijos. Estas redes se usan para intercambiar archivos, sistemas de archivos distribuidos, telefonía por Internet y cálculos científicos. Se caracterizan por su escalabilidad, robustez, descentralización y distribución de costos entre usuarios.
El documento presenta el modelo de casos de uso versión 0.9 para el sistema de nóminas de Gaby Spa y Salón. Describe los actores, casos de uso y flujos principales y alternativos para procesos como login, gestión de empleados, datos de la organización, usuarios, egresos, ingresos y horas extras. El objetivo es automatizar el pago a empleados de forma oportuna y con información personal y laboral precisa.
Este documento presenta una agenda sobre SOA y Cloud Computing. La agenda sobre SOA incluye las definiciones de SOA, sus beneficios y arquitectura de implementación. La agenda sobre Cloud Computing incluye las definiciones de las capas SaaS, PaaS e IaaS, los tipos de nubes y sus ventajas y desventajas. Finalmente, compara SOA y Cloud Computing.
La arquitectura orientada a servicios (SOA) define el uso de servicios para apoyar los requisitos del negocio. Permite la creación de sistemas escalables que reflejen el negocio de la organización y brindan una forma estándar de exponer e invocar servicios, facilitando la interacción entre sistemas. SOA define capas de software que exponen funcionalidades como servicios, facilitan la integración de servicios y definen procesos en términos del negocio.
El documento describe la Arquitectura Orientada a Servicios (SOA) y sus beneficios. Explica que SOA separa los procesos de negocio de las funciones automatizadas y organiza estas últimas en módulos individuales llamados servicios. Esto permite una mayor agilidad y flexibilidad al permitir combinar rápidamente diferentes componentes. También discute que SOA no es solo una tecnología sino una arquitectura que estructura las aplicaciones y tecnología para responder de forma ágil a las demandas del mercado.
Este documento define las tecnologías emergentes como innovaciones científicas que pueden crear nuevas industrias o transformar industrias existentes. Describe algunas de las tecnologías emergentes más conocidas como las tecnologías de la información y comunicación (TIC), la robótica y la inteligencia artificial. También discute las redes inteligentes, la transmisión de información a través de redes eléctricas y computadoras más pequeñas y veloces como ejemplos de tecnologías emergentes en hardware.
Webinar Conceptos SOA & Oracle SOA SuiteatSistemas
Presentación utilizada en el webinar de SOA y Oracle SOA Suite impartido en marzo de 2012.
El vídeo del webinar puede verse en YouTube: http://youtu.be/WHcMT0PgFuQ
El entorno empresarial es más competitivo que nunca. Las empresas necesitan adaptarse más rapidamente a las condiciones del mercado. Es decir, mayor agilidad de
negocio. Obliga a una mayor atención a los procesos de negocio de inicio a fin y la habilidad de adaptarlos agilmente a los cambios. Los procesos de negocio involucran invariablemente a IT, por lo que éste departamento debe ser flexible y adaptable. ¡SOA y los estándares asociados pueden ayudar!
El documento describe el patrón de arquitectura de software conocido como "Broker". El patrón introduce un componente Broker para coordinar la comunicación entre clientes y servidores de forma desacoplada. El Broker se encarga de reenviar solicitudes de clientes a los servidores apropiados y transmitir las respuestas. Esto permite que los clientes y servidores no dependan de detalles específicos del otro, mejorando la portabilidad y flexibilidad del sistema.
El documento describe la arquitectura orientada a servicios (SOA) y cómo Windows Communication Foundation (WCF) y la Web Service Software Factory facilitan su implementación. WCF unifica las tecnologías de comunicación distribuida de Microsoft para permitir el desarrollo de servicios interoperables de forma productiva. La fábrica de software guía la construcción automatizada de aplicaciones SOA siguiendo prácticas probadas para mejorar la calidad, predictibilidad y productividad.
Este documento describe conceptos clave de SOA y arquitectura orientada a servicios. Explica los componentes de una infraestructura SOA como servicios web, ESB, BPM y portales. También discute herramientas open source para implementar SOA como Apache Axis2, ServiceMix, JBoss y Eclipse. El objetivo es proveer una plataforma SOA integrada para desarrolladores.
El documento presenta una introducción a la Arquitectura Orientada a Servicios (SOA). Explica que SOA es un estilo arquitectónico que define la funcionalidad de una aplicación como conjuntos de servicios independientes con interfaces bien definidas. También analiza la relación entre SOA y los servicios web, y compara SOA con estilos arquitectónicos anteriores como los objetos y componentes distribuidos. Finalmente, discute cómo SOA se relaciona con otras tecnologías emergentes como la computación en la nube.
El documento describe la Arquitectura Orientada a Servicios (SOA). Explica que SOA es un estilo arquitectónico que define la funcionalidad de una aplicación como conjuntos de servicios independientes con interfaces bien definidas. También analiza la relación entre SOA y los servicios web, y compara SOA con estilos arquitectónicos anteriores como objetos distribuidos y componentes. Finalmente, presenta algunos estándares y tecnologías clave relacionadas con SOA.
El documento habla sobre Arquitectura Orientada a Servicios (SOA). Explica que SOA es un estilo arquitectónico que promueve el bajo acoplamiento entre componentes a través de servicios con interfaces bien definidas. También analiza la relación entre SOA y servicios web, y compara SOA con estilos arquitectónicos previos como objetos distribuidos y componentes. Finalmente, discute conceptos como principios de SOA, estándares clave y perspectivas sobre SOA y la computación en red.
El documento habla sobre Arquitectura Orientada a Servicios (SOA). Explica que SOA es un estilo arquitectónico que permite la provisión y consumo de funcionalidad a través de servicios con interfaces bien definidas e independientes de su implementación. También analiza la relación entre SOA y los servicios web, y menciona algunos principios clave de SOA como el bajo acoplamiento y la independencia tecnológica.
Este documento describe la Arquitectura Orientada a Servicios (SOA) y cómo la solución Altenia, compuesta por EcoDynamix y EcoLogix, puede implementar una arquitectura SOA. SOA define servicios como módulos de software accesibles por nombre a través de interfaces para integrar procesos de negocio. La solución de Altenia utiliza metodologías ágiles, plataformas escalables y mejores prácticas para desarrollar aplicaciones basadas en servicios que simplifican la comunicación y permiten la reutiliz
A través de esta presentación del webinar "Aquitectura SOA", podrás aprender los conceptos relacionados con las arquitecturas orientadas a servicios y su implementación, utilizando el Framework WSo2.
Este documento describe los conceptos fundamentales de la arquitectura orientada a servicios (SOA) y la computación en la nube. Explica que la SOA define diferentes capas de software, incluidas las capas de aplicaciones básicas, exposición de funcionalidades, integración de servicios, composición de procesos y entrega. También define términos clave como servicio, orquestación y SOAP. Luego proporciona un ejemplo detallado de cómo un servicio de autenticación podría usarse desde diferentes aplicaciones. Finalmente, cubre
Rollbase es la plataforma en la nube que a través de un navegador Web y herramientas de diseño, permite la rápida creación y despliegue de aplicaciones de negocios en el modelo de software como servicio (SaaS) haciendo uso de una mínima cantidad de código.
Rollbase corre sobre cualquier nube o en sitio y sus aplicaciones pueden ser usadas desde cualquier dispositivo.
El documento proporciona una introducción a la arquitectura orientada a servicios (SOA), definiendo conceptos clave como servicios, composiciones e inventario de servicios. Explica que SOA es un paradigma de diseño que se orienta al negocio y la organización, permitiendo automatizar procesos a través de la reutilización de servicios. También destaca las ventajas de SOA como la agilidad, eficiencia y alineación entre TI y el negocio.
Este documento describe los objetivos y beneficios de la Arquitectura Orientada a Servicios (SOA) desde las perspectivas empresarial y tecnológica. También describe los componentes clave de SOA como servicios, repositorio de servicios y bus de servicios. Explica que la Integración de Aplicaciones Corporativas (EAI) permite compartir datos y procesos entre aplicaciones de forma integrada.
La Unión Europea ha acordado un embargo petrolero contra Rusia en respuesta a la invasión de Ucrania. El embargo prohibirá las importaciones marítimas de petróleo ruso a la UE y pondrá fin a las entregas a través de oleoductos dentro de seis meses. Esta medida forma parte de un sexto paquete de sanciones de la UE destinadas a aumentar la presión económica sobre Moscú y privar al Kremlin de fondos para financiar su guerra.
El documento presenta una agenda para una conferencia sobre la evolución de Oracle Forms hacia arquitecturas orientadas a servicios. Se discutirán temas como actualizar aplicaciones Forms, integrarlas con servicios web y procesos BPEL, y desarrollar nuevas aplicaciones con JDeveloper y ADF. Se mostrarán demos sobre cómo invocar procesos BPEL desde Forms y cómo integrar Forms con aplicaciones JSF/ADF.
El documento describe cómo Oracle Forms puede integrarse con una arquitectura orientada a servicios (SOA). Explica que las aplicaciones Forms pueden publicar y consumir servicios web, así como integrarse con procesos BPEL y otras tecnologías SOA. También resume los diferentes niveles de adopción de SOA y cómo Forms puede aprovechar las ventajas de una arquitectura SOA para integrar aplicaciones existentes y nuevos desarrollos de manera flexible.
Este documento presenta una introducción a la arquitectura SOA y las herramientas .NET. Explica brevemente los problemas de integración de sistemas heterogéneos y la necesidad de una arquitectura basada en servicios. Luego resume los principios básicos de SOA como servicios bien definidos y autónomos, y los beneficios como bajo acoplamiento y reuso. Finalmente, describe algunas herramientas .NET como WCF y WF para construir servicios, y otras como BizTalk para integración y procesos empresariales
Rollbase es una plataforma en la nube para el rápido diseño, desarrollo y despliegue de aplicaciones de negocios siguiendo el modelo de software como servicio (SaaS). Permite la construcción visual de aplicaciones mediante arrastrar y soltar sin necesidad de codificar, así como su despliegue en cualquier nube o localmente. Ofrece características como acceso móvil, integración con otras aplicaciones y herramientas para migrar aplicaciones existentes a su plataforma.
El documento presenta una hoja de ruta SOA. Explica la arquitectura SOA, los niveles de adopción SOA y los componentes del modelo de referencia SOA. Luego, propone realizar un estudio del nivel SOA actual de la empresa mediante indicadores, definir acciones para mejorar cada área del modelo de referencia a través de una hoja de ruta SOA, y establecer un calendario para implementar las acciones entre 2012 y 2013 con el objetivo de alcanzar el nivel 1 sistemático.
This document discusses the application of artificial intelligence techniques in cybersecurity. It begins by outlining the motivations for applying AI to cybersecurity, such as the growing amounts of data and connections between devices. It then provides an overview of cybersecurity challenges and common AI techniques like machine learning. The document concludes by presenting several examples of how AI is already being used to enhance cybersecurity, such as through anomaly detection, natural language processing for unstructured threat analysis, and AI-powered security analytics tools.
This document discusses improving forecasting and classification in smart metering systems using neural compute sticks. It presents two models: a consumption and production prediction model using a recurrent neural network, and an energy fraud classification model using decision trees. Both models were tested on a smart metering system with and without neural compute sticks. Using the sticks reduced training times by an average of 30% for the prediction model and 7.5% for the classification model. It concluded that edge computing applications like these are necessary for smart grid systems due to increasing data, and neural compute sticks can significantly improve training times for models based on artificial neural networks.
Este documento habla sobre el análisis de datos usando computadoras de placa única. Explora oportunidades y retos de la memoria, procesamiento y almacenamiento en estas computadoras. También discute conceptos como cómputo en la niebla, latencia de datos en medidores inteligentes, muestreo de señal eléctrica, sistemas operativos embebidos y bases de datos embebidas. El documento concluye proporcionando los contactos del autor.
El documento habla sobre el análisis de datos en dispositivos de Internet de las Cosas. Explica conceptos clave como la industria 4.0, dispositivos conectados e IoT, y los desafíos del análisis de datos IoT como diferentes tipos de datos. También cubre temas como flujos de datos, procesamiento de datos, aprendizaje automático, almacenamiento de datos, y nuevas tendencias como streaming de datos. El autor concluye preguntando si hay alguna pregunta sobre el tema.
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...Juan Carlos Olivares Rojas
Este documento evalúa algoritmos criptográficos para aplicaciones de análisis de datos en sistemas inteligentes de medición. Compara el rendimiento de algoritmos como AES-256, RSA-4096, Blowfish y Twofish midiendo el tiempo de ejecución y uso de memoria. Concluye que algoritmos como Blowfish y Twofish son buenas opciones para aplicaciones de análisis de datos en movimiento o almacenados, mientras que opciones como RSA-4096 no son adecuadas para aplicaciones que requieren tiempo real estricto.
Este documento propone flexibilidad curricular en el Tecnológico Nacional de México para adaptarse a los rápidos cambios tecnológicos. Se analizan los planes de estudio existentes y se proponen nuevas especialidades como Ciencia de Datos y Redes Eléctricas Inteligentes. También se sugiere validar cursos en línea y permitir la movilidad de estudiantes. Finalmente, se recomienda diseñar módulos de especialidad de forma nacional y mejorar el proceso de tutorías.
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteJuan Carlos Olivares Rojas
Este documento presenta un simulador de redes para sistemas de medición inteligente que utiliza analítica de datos. Describe cómo el simulador genera datos de medición que luego se pueden analizar estadísticamente. Concluye que se necesita más desarrollo del simulador y que la gran cantidad de datos generados es difícil de procesar, por lo que se debe completar la infraestructura de simulación.
Este documento propone un mercado eléctrico minorista transactivo en México utilizando blockchain y contratos inteligentes. Presenta un modelo con generadores, clientes residenciales e industriales, almacenamiento, fuentes renovables y un operador de red. La plataforma permitiría la comercialización de energía a través de cadenas de bloques, con medidores e interfaz inteligentes y el uso de criptomonedas. Los contratos inteligentes automatizarían transacciones basadas en precios y demanda.
This document summarizes a student's master's thesis on using blockchain technology to improve cyber security for smart metering systems transactions. The thesis addresses motivation for securing smart metering systems, describing smart cities/grids and AMI architecture. It reviews related works applying blockchain for grid monitoring security and databases. The student proposes a private/public permissioned blockchain architecture called AMI-BC using a hybrid proof-of-efficiency consensus algorithm across cloud, fog and IoT tiers. It would secure smart meter readings and detect energy fraud/anomalies using machine learning models to predict consumption and power quality.
This document summarizes a survey on using blockchain technology for smart metering systems in electric mobility applications. It discusses the motivation and challenges around e-mobility and smart grids, including cybersecurity issues. It then provides an overview of how blockchain could be applied to smart metering systems, including prototypes that have been tested. Finally, it compares different works in this area based on whether they incorporate load signatures, market functions, or other relevant aspects. The document concludes by discussing potential future work around analyzing appliance consumption and distributed energy resource production costs.
Este documento describe un algoritmo para la detección de movimiento usando medidores inteligentes. El algoritmo divide la imagen de video en una cuadrícula de 3x3, descompone la secuencia de video en imágenes individuales, detecta puntos característicos en cada cuadrante, compara los puntos entre cuadros para detectar movimiento, y determina si hubo movimiento real basado en el número de cuadros que se movieron. El documento también discute la implementación y pruebas del algoritmo, y concluye que este sistema podría usarse como una soluc
El documento presenta un estudio sobre sistemas inteligentes de reuniones utilizando la interacción humano-computadora. Explica las limitaciones técnicas actuales y las necesidades de los usuarios, como monitorear estadísticas de consumo eléctrico y recibir alertas sobre fallas de energía. Concluye que se necesita más trabajo en interfaz humano-computadora para mejorar estos sistemas, e involucrar a los usuarios desde el inicio para satisfacer mejor sus necesidades.
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Juan Carlos Olivares Rojas
This document proposes a machine learning model using an edge-fog computing architecture to detect electric energy fraud from smart meter data. It tests various machine learning algorithms on smart meter data from Mexico and finds that a multi-layer perceptron regression model achieves the lowest error rates. The results indicate the model can adequately detect anomalies in energy consumption and production. While human intervention is still needed, the proposed model is designed to operate on embedded devices with limited computing capabilities. The use of fog computing through data centers also improves forecasting performance.
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Juan Carlos Olivares Rojas
This document proposes an edge-fog-cloud computing architecture to forecast electricity consumption using weather data and machine learning models. The architecture implements linear regression models at the edge, fog, and cloud layers to improve forecasting accuracy. Results show forecast accuracy was improved with 91-94% of devices having better forecasts when models were executed across multiple layers. The architecture provides a feasible approach for electricity forecasting considering periodic offline execution of models across layers.
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Juan Carlos Olivares Rojas
Este documento describe la aplicación de técnicas de experiencia de usuario (UX) en el desarrollo de un portal para un sistema de medición eléctrica inteligente. Presenta información sobre UX vs UI, procesos de UX, diseño centrado en el usuario y encuestas realizadas a usuarios. El objetivo es diseñar e implementar un prototipo del portal que brinde una mejor experiencia al usuario basada en sus necesidades y preferencias reveladas en las encuestas.
Este documento describe las redes eléctricas inteligentes (smart grids) y el papel de los medidores inteligentes (smart meters) en ellas. Las smart grids permiten un flujo bidireccional de electricidad e información mediante el uso de tecnologías de la información y comunicaciones. Los smart meters son dispositivos de Internet de las Cosas que permiten la medición y gestión remota del consumo de electricidad de los hogares y empresas. El documento también discute los retos y oportunidades que presentan las smart grids y los smart meters, como la seguridad, ef
Este documento presenta diferentes estrategias de aprendizaje para el desarrollo de competencias, incluyendo aprendizaje basado en problemas, aprendizaje basado en proyectos, proyectos integradores, aula invertida y gamificación. Explica elementos como estilos de aprendizaje, casos de estudio y el diseño de proyectos. El objetivo general es ayudar a los docentes a diseñar estrategias didácticas efectivas considerando factores como las competencias, inteligencias múltiples y entornos de aprendizaje de los estudiant
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Juan Carlos Olivares Rojas
Este documento presenta una propuesta para optimizar la eficiencia energética en los hogares utilizando una arquitectura de medición inteligente. Actualmente, muchos electrodomésticos no tienen controles eficientes para el consumo de energía, lo que aumenta los costos. La propuesta involucra el uso de medidores inteligentes y un sistema de gestión de energía para monitorear y optimizar automáticamente el uso de energía en el hogar. El objetivo es desarrollar una arquitectura que permita mejorar la eficiencia energética y redu
El documento presenta una introducción a la ciberseguridad en redes eléctricas inteligentes. Se describe la arquitectura de las redes eléctricas inteligentes y los componentes como medidores inteligentes. También se discuten las amenazas a la seguridad como ataques a medidores e infraestructura de transmisión, y posibles soluciones como protocolos de seguridad, sistemas de detección de intrusos e implementación de blockchain. Finalmente, se mencionan trabajos de investigación en ciberseguridad de redes elé
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Juan Carlos Olivares Rojas
Este documento presenta una propuesta de investigación para estudiar las vulnerabilidades de los protocolos de comunicación y redes de medidores inteligentes. La metodología incluye investigar vulnerabilidades en redes PLC, comunicaciones inalámbricas, y hardware/software. Se desarrollará un framework de seguridad y una metodología, con productos entregables como artículos y un capítulo de libro. El objetivo es mejorar la seguridad y desempeño de las redes eléctricas inteligentes.
2. Disclaimer
El autor es responsable de toda la información
contenida en esta presentación, la cual no
refleja el punto de vista de toda la Línea de
Investigación de Ingeniería de Software.
Parte del material de esta presentación se ha
obtenido de diversas fuentes cada una de las
cuales tiene propiedad intelectual, por lo que en
esta presentación se tiene solamente algunos
derechos reservados.
3. Agenda
• Introducción
• SOA: una nueva piedra angular en el desarrollo
de software
• Caso Práctico
• Conclusiones
4. Software Hoy en Día
• Mito: los
programadores de
ahora ya no
programan como los
de antes.
• Herramientas más
fáciles y productivas
• El software es cada
día más complejo
9. Arquitectura Windows NT 5.0
Interfaces de Hardware(buses, Dispositivos de E/S , interrupcciones,
intervalos de temporizadores, DMA, control de memoria cache , etc.)
Sistema de Despachador de Sistemas
Admon- de Tareas
Explorer
SvcHost.Exe
WinMgt.Exe
SpoolSv.Exe
Servicio de
Control de
Gestión
LSASS
Manejadorde
Objetos
Windows
USER,
GDI
Cachédel
Sistemade
Archivos
Manejador E/S
Subistema de
Entornos
Aplicaciones de los
Usuarios
Subsistema de DLLs
Procesos del Sistema Servicios Aplicaciones
Hilos de
Sistemas
User
Mode
Kernel
Mode
NTDLL.DLL
Manejador del
Sistema de
Archivos y
Dispositivos
WinLogon
Manejador de
Sesiones
Services.Exe POSIX
Windows DLLs
Administrador
DePlugandPlay
Administrador
DeEnergía
Monitorde
Referencias
DeSeguridad
Memoria
Virtual
Procesose
Hilos
Llamadaa
Procesos
Locales
Manejador
de Gráficos
Kernel
Hardware Abstraction Layer (HAL)
(interfaces invocables en el modo kernel)
Administrador
DeConfiguración
(Registro)
OS/2
Windows
12. Arquitectura de Software
Servicios
(SOA)
Arquitecturas
Monolíticas
Antes 1950’s
hasta 1960’s
1970’s
mediados
1980’s
Mediados1990’s
Comienzo
2000’s
HoyFinales
1990’s
Subrutinas
/Llamadas a
Procedimient
os Remotos
Invocación de
Objetos
Remotos
Procesamient
o de
Mensajes
Web
1980’s
mediados
1990’s
Línea del Tiempo del Desarrollo de Arquitecturas
Mayor Flexibilidad
13. Motivación
“Casas de Perros”
Proyectos Escolares
SIN ARQUITECTURA
Poco $
Casas
Proyecto de PyMES
ARQUITECTURAS SIMPLES
Rentable $
Edificios
Grandes Corporativos
ARQUITECTURAS COMPLEJAS
Mucho $$$$
Desarrollo de Software en la Academia
18. Ejemplo de Servicios en SOA
Contabilidad
Proveedor
Servicios
Compartidos
Divisiones
Cliente
Proceso de Negocio de una Aplicación
19. ¿Qué es SOA?
• “Conjunto de componentes que pueden ser
invocados, cuyas descripciones de interfaces
se pueden publicar y descubrir”
• “SOA es un estilo de arquitectura que
promueve descomponer la lógica funcional de
una aplicación en unidades autónomas
denominadas servicios”
De acuerdo al W3C
20. Arquitectura de Servicios Web
Proveedor del
Servicio
Consumidor el
Servicio
Directorio de
Servicios
Publicación
del Servicio
Descubrimiento
del Servicio
Invocación y
respuesta
1
3
2
UDDI
4
SOAP
Definición
del Servicio
WSDL
21. Características de SOA
Sin SOA Con SOA
Orientado a Función Orientado a Procesos
Construido para Durar Construido para
Cambiar
Ciclo de Desarrollos
Largos
Ciclos de Desarrollo
Incrementales
Aplicaciones Aisladas Aplicaciones
Orquestadas
Fuerte Acoplamiento Bajo Acoplamiento
Orientada a Objetos Orientado a Mensajes
23. ¿Qué es SOA?
Servicios Reutilizables
Crédito Inversiones
CRM
Servicio
Historial
Servicio
de Acceso
Checa
Crédito
Detección
de Fraudes
DWH
Servicio
Clientes
Servicio
Datos
Internet
Historial
Adeudo
s Cheques
Fondo
Retiro
Fuentes de
Información
Cálculo de
Intereses
Checa
Inversiones
Bancos Finanzas
Acceso
Multiplataforma
Componetes
de Negocio
Reutilizables
24. ESBCliente
Administración de
servicios
Ruteo Transacción Orquestación Seguridad Auditoria Otros
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
Middleware de Servicios
25. Composición de Aplicaciones
Servicio A (Verificación de Crédito)
Portlet A
Servicio D
(Colocar una Orden)
Servicio B (Balance de Cuenta)
Servicio C (Verificación de Inventario)
Portlet B
Portlet C
Portlet D
26. Agenda
• Introducción
• SOA: una nueva piedra fundamental en el
desarrollo de software
• Caso Práctico
• Conclusiones
27. Arquitectura SOA de Oracle
Apps Bulk ELT
Adapters
Partners
B2B
RFID
SES
DB
Multi
Protocol Routing
XSLT
Transform
Enterprise Service Bus
Native
BPEL
Business
Rules
Human
Workflow
BPEL Process Manager
ROUTING & ORCHESTRATION
Messaging
UDDI
Policies
Security
Web Services
Manager
Registry
Events Analytics
Business
Monitoring System
Monitoring
EMBAM BI
App Dev
Framework
&
Web Center
JDeveloper
Analyst
Tools
BPA Suite
AIA Foundation PackAIA Foundation Pack
J2EE Application Server
ODI
Process Integration Packs
Enterprise Business
Service & Object Library
SOA Governance
SOA Reference
Architecture
SOA Programming
Model
30. Manages diverse
data and content in a
unified manner
Integrated
environment
for design
and creation
of solution
assets
Manage
and secure
services,
applications
&
resources
Facilitates better decision-making
with real-time business information
Enables collaboration
between people,
processes & information
Orchestrate and
automate business
processes
Connect with trading
partners
Build on a robust,
scaleable, and secure
services environment
Facilitates interactions
with existing information
and application assets
Optimizes throughput,
availability and performance
Arquitectura SOA de IBM
Business Innovation & Optimization Services
Development
Services
Interaction Services Process Services Information Services
Partner Services Business App Services Access Services
Enterprise Service Bus: Facilitates communication between services
ITService
Management
Infrastructure Services
31. Agenda
• Introducción
• SOA: una nueva piedra fundamental en el
desarrollo de software
• Caso Práctico
• Conclusiones
36. Parte Práctica
• Consumir/Construir Servicios Distintas
Plataformas
– Java
– .NET
– Office
• Composición de Servicios Web utilizando
NetBeans
– Hola Mundo
37. Agenda
• Introducción
• SOA: una nueva piedra fundamental en el
desarrollo de software
• Caso Práctico
• Conclusiones
38. Conclusiones
• SOA no es una moda, es un estilo
arquitectónico que tiene muchos años de
madurez.
• El desarrollo de software es un proceso socio-
tecnológico, por lo que para tener éxito
implantando una Arquitectura Orientada a
Servicios no sólo requiere de tecnologías sino
de personas.
• Se debe pensar en grande pero actuar en
pequeño.
39. Conclusiones
• Existen actualmente problemas de
interoperabilidad debido a las diferentes
implementaciones de la arquitectura.
• No hay un estándar “de jure” para SOA.
• Puede ser que en el futuro surjan nuevas
arquitecturas más poderosas.
• Se debe tener cuidado en crear arquitecturas
de tipo espagueti.
La arquitectura del software hace referencia a la estructura global del sistema, dicha estructura es jerárquica en forma de módulos.
La arquitectura de software debe ayudar a definir como interactúan los componentes de software entre sí y las estructuras de los datos.
La partición estructural de una arquitectura de software puede ser horizontal: datos, procesos y control; o bien vertical definiendo una jerarquía de módulos.
El concepto de Arquitectura de Software tiene mucho tiempo de antigüedad, pero no fue hasta la década de los 1990s que comenzó a utilizarse de manera formal.
Analizando los sistemas se puede observar que existen patrones que se repiten conformando lo que se conoce como estilos arquitectónicos.
Los módulos deben programarse de tal forma que los datos no estén accesibles por otros módulos.
Un estilo arquitectónico define un conjunto de familias de patrones de software con una determinada estructura y restricciones.
Generalmente los patrones de diseño y arquitectura definen soluciones para medios repetitivos.
La arquitectura de software es una abstracción del sistema que nos permite ver su estructura y su relaciones.
Para el desarrollo del Diseño Arquitectónico se recomiendan seguir los siguientes pasos:
Estructuración del sistema
Modelado de control
Descomposición modular
Existen diferentes estilos arquitectónicos que a continuación se mencionan.
La Arquitectura de Flujo de Datos parte del DFD para obtener una arquitectura del sistema:
Se establece el tipo de flujo de información
Se indican los límites del flujo
Se convierte el DFD en una estructura del programa
Se define la jerarquía de control mediante particionamiento.
Se refina la estructura resultante utilizando heurísticas de diseño.
La Arquitectura Centrada en Datos tiene como componente principal un repositorio, del cual surgen los demás componentes.
Se define la jerarquía de control mediante particionamiento.
Se refina la estructura resultante utilizando heurísticas de diseño.
La Arquitectura Centrada en Datos tiene como componente principal un repositorio, del cual surgen los demás componentes.
Las Arquitecturas Estratificadas son de las más utilizadas en la actualidad, dado que dividen las actividades y responsabilidades de sistemas por capas.
El software más elaborado como los sistemas operativos, software de base, sistemas distribuidos y otros maneja variantes de esta arquitectura.
El diseño se debe refinar realizando cada uno de los siguientes pasos:
Desarrollar una descripción del procedimiento para cada módulo.
Desarrollar una descripción de la interfaz para cada módulo.
Se definen las estructuras de datos generales y globales.
Se anotan todas las limitaciones/restricciones del sistema.
Se debe refinar el diseño hasta que esté completo. Se recomienda completar la arquitectura con el Diseño de Interfaces.
Fue mencionada por primera vez por Gartner en 1996
SSA Research Note SPA-401-068, 12 de abril, “‘Service Oriented’ Architectures, Part 1”
Empieza a sonar en el mercado en el año 2000
SOA es una arquitectura conceptual.
Organiza funciones de negocio como servicios interoperables.
Permite reutilización de servicios para dar cumplimiento a las necesidades del negocio.
SOA es basado en estándares.
Independencia de fabricantes.
SOA es una estrategia de IT, a nivel empresarial.
Extraída desde la presentación “Software Architecture and UML” de Grady Booch (Rational Software).
Es un componente / programa con el que interactuamos intercambiando mensajes.
En SOA un Sistema equivale a un conjunto de Servicios operando conjuntamente con algún fin específico.
SOA como Estilo de Arquitectura
Componente: Servicio
Conectores: RPC o Message Based
Configuración: Distribuido
Constraint: Bajo acoplamiento, independencia del modelo de programación, independencia de la plataforma, transporte y protocolos estándar.
SOA NO es un nuevo nombre para la Integración de Aplicaciones Empresariales (EAI).
Podemos integrar aplicaciones utilizando servicios pero esto NO inválida los patrones de integración existentes.
Use example service e.g. a Flight selection service
Bring the right services together based on the task at hand
A big myth is that a “Service” (a unint of business activity) needs to be automated to be part of an SOA.
In fact, MOST business services actually involve humans in their execution
And many business services are actually collaborations between a number of participants
The humans USE various IT services in the execution of their tasks
Portals make it possible to make the automated services that assist the accessible in structured ways
Create areas or sections of your portal targeted at specific tasks
SOA Enablement 301 – Introduce Orchestration
Orchestrate the users navigation through “task pages” by applying workflow technology to the management of process state
The Workflow technology can maintain state information about the process, and provide that state to the task pages
Process Integration and Execution
Connecting portals to business processes puts the right composition of services in front of the right users at the right time.
Provides users with a single destination for all their application access.
Ties portal based activity to business procedures
There are two things money cannot buy:
Love(Lennon/McCartney)
An SOA(Webber)
Our brands play across the various elements of the integration platform. It is our brands’ capabilities and products that deliver Integration.
Alta Fallecimiento Persona
El usuario ingresa los datos del fallecimiento
El sistema valida los datos ingresados por el usuario
El sistema verifica la existencia de vínculos y los da de baja
El sistema verifica la existencia de trámites pendientes y finaliza los mismos
El sistema verifica la existencia de relaciones laborales y finaliza las mismas
El sistema graba los datos del fallecimiento
Alta Fallecimiento Persona
Comenzar proceso de alta de fallecimiento
Cerrar los vínculos vigentes
Finalizar los trámites pendientes
Finalizar las relaciones laborales de la persona
Finalizar proceso de alta de fallecimiento
El contrato de uso de un servicio equivale a:
Las operaciones que expone
Los datos que recibe y que retorna cada operación
El contrato de datos determina los datos que mi servicio recibe y los datos que mi servicio retorna
No es orientado a objetos
Datos desnormalizados
Por posibles problemas de interoperabilidad, evitar el uso de tipos específicos de una plataforma por ej. listas, datasets, mapas, etc.
El modelo de dominio representa los datos que maneja internamente la implementación de mi servicio
Puede ser orientado a objetos
Es normalizado
SOA no es:
Tecnología, Webservices, BPM , ESB
SOA es:
Un estilo de arquitectura definido en términos de varios principios de diseño, los cuales buscan implementar unidades de negocio, información e infraestructura flexibles, reusables e interoperables.
Enfoque arquitectónico que busca alinear Negocio y Tecnología a través de piezas de negocio bajamente acopladas y reutilizables que se componen en procesos de negocio flexibles y medibles contra una estrategia de negocio.