Este documento presenta jBPM, una plataforma para modelar, ejecutar y administrar procesos de negocio. Explica conceptos como modelado de procesos de negocio, BPMN, XPDL y WS-BPEL. Luego introduce jPDL, el lenguaje utilizado para describir procesos en jBPM. Finalmente, detalla diversas actividades de control de flujo, automáticas y de eventos que se pueden utilizar en jPDL para modelar procesos complejos con decisiones, concurrencias, tareas, subprocesos,
This document discusses how Swagger can be used to develop APIs faster. It describes what Swagger is, provides an example Swagger YAML file, and discusses how code can be generated from Swagger specifications. It also introduces Swagger Inflector, which uses the Swagger specification as the single source of truth to automatically route controllers, map models, and generate sample data when controllers are not implemented. The document encourages rethinking the DRY principle and maintaining the API specification as the central source.
Introduction to the Spring Framework:
Generar description
IoC container
Dependency Injection
Beans scope and lifecycle
Autowiring
XML and annotation based configuration
Additional features
It is a software testing tool which works of the Glass testing technique. In this presentation people will get to know that how this tool work and help the tester.
Este documento describe cómo GeneXus puede implementar servicios web RESTful. Explica que REST expone recursos en formatos estándar como XML o JSON y define una interfaz uniforme con operaciones como GET, POST, PUT y DELETE. También muestra cómo GeneXus puede exponer listas de entidades, entidades individuales, y permitir la modificación de recursos a través de servicios REST, integrando así aplicaciones y sistemas externos.
The document provides an introduction to the Spring Framework. It discusses that Spring is a lightweight application framework that addresses all tiers of an application and provides services traditionally provided by application servers. It can integrate with J2EE servers and replace some of their services. Spring brings consistency to application structure and provides elegant integration with standard interfaces like Hibernate and Struts. The core of Spring provides inversion of control/dependency injection and an AOP framework. It also includes service abstraction layers for transaction management, data access, emailing, and remoting. Spring integrates well with web frameworks and provides its own MVC framework.
Java Server Faces (JSF) is a component-based MVC framework for building user interfaces in Java web applications. JSF provides UI components that can be used in JSP or Facelets views. It follows a request response lifecycle where the controller handles gathering input, validating, updating models, and rendering responses. Popular JSF components include inputs, outputs, selects, forms, and commands. Facelets is the default view technology in JSF 2 and provides templating capabilities. Key differences between JSF and JSF 2 include replacing JSP with Facelets and adding Ajax and annotation support. Spring MVC has the highest demand and documentation quality while Struts 2 has the lowest learning curve and JSF is in
This document discusses how Swagger can be used to develop APIs faster. It describes what Swagger is, provides an example Swagger YAML file, and discusses how code can be generated from Swagger specifications. It also introduces Swagger Inflector, which uses the Swagger specification as the single source of truth to automatically route controllers, map models, and generate sample data when controllers are not implemented. The document encourages rethinking the DRY principle and maintaining the API specification as the central source.
Introduction to the Spring Framework:
Generar description
IoC container
Dependency Injection
Beans scope and lifecycle
Autowiring
XML and annotation based configuration
Additional features
It is a software testing tool which works of the Glass testing technique. In this presentation people will get to know that how this tool work and help the tester.
Este documento describe cómo GeneXus puede implementar servicios web RESTful. Explica que REST expone recursos en formatos estándar como XML o JSON y define una interfaz uniforme con operaciones como GET, POST, PUT y DELETE. También muestra cómo GeneXus puede exponer listas de entidades, entidades individuales, y permitir la modificación de recursos a través de servicios REST, integrando así aplicaciones y sistemas externos.
The document provides an introduction to the Spring Framework. It discusses that Spring is a lightweight application framework that addresses all tiers of an application and provides services traditionally provided by application servers. It can integrate with J2EE servers and replace some of their services. Spring brings consistency to application structure and provides elegant integration with standard interfaces like Hibernate and Struts. The core of Spring provides inversion of control/dependency injection and an AOP framework. It also includes service abstraction layers for transaction management, data access, emailing, and remoting. Spring integrates well with web frameworks and provides its own MVC framework.
Java Server Faces (JSF) is a component-based MVC framework for building user interfaces in Java web applications. JSF provides UI components that can be used in JSP or Facelets views. It follows a request response lifecycle where the controller handles gathering input, validating, updating models, and rendering responses. Popular JSF components include inputs, outputs, selects, forms, and commands. Facelets is the default view technology in JSF 2 and provides templating capabilities. Key differences between JSF and JSF 2 include replacing JSP with Facelets and adding Ajax and annotation support. Spring MVC has the highest demand and documentation quality while Struts 2 has the lowest learning curve and JSF is in
NGRX provides tools for implementing Redux patterns in Angular applications. The key components are:
- The Store holds the single source of truth application state as plain JavaScript objects and uses reducers to immutable update state in response to actions.
- Actions describe state changes and are dispatched to the Store which passes them to reducers. Reducers pure functions that return new state.
- Selectors allow slices of state to be accessed.
- Additional libraries provide debugging with devtools, routing integration, side effect handling, and entity management functionality. Files can be organized by domain or feature module.
This document discusses Django class-based views and mixins. It begins by explaining function-based views and how they work by taking an HTTP request and returning a response. It then introduces class-based views, which are based on classes and use mixins to add functionality. Mixins provide reusable functionality that can be inherited by multiple classes. The document outlines common Django generic class-based views and how they work with mixins. It notes some potential downsides of mixins, such as losing track of method origins. Finally, it provides guidelines on choosing function-based or class-based views and keeping views and mixins simple.
Wiremock es una herramienta para convertir servicios HTTP en mock y así poder testear tu código aislándolo de servicios HTTP (como servicios Rest).
Slides de apoyo a la charla sobre la herramienta en el Open South Code de 2016 en Málaga (España)
최근 글로벌 혁신의 트렌드인 AI의 다양한 사례를 살펴보고 단계적으로 어떻게 접근하고 준비해야 할지를 알려드립니다. 이미지/비디오 인식 등 AI 어플리케이션의 유형과 트렌드를 전달드립니다. 특히 AWS AI 서비스를 성공적으로 도입하고 활용하기 위한 전략을 살펴보고 사례를 통한 Use Case를 통해 단계별 접근 전략을 소개드립니다. 이번 세미나를 통해 최신 AI트렌드와 정의, 그리고 사례 기반의 도입 유형, 접근 전략과 방법론 등을 알 수 있습니다.
더 많은 AWS 온라인 세미나 알아보기: https://aws.amazon.com/ko/events/webinars/series
The document provides an overview of developing and deploying REST APIs using IBM Integration Bus. It discusses developing a REST API from scratch or by importing a Swagger definition. Key features covered include defining resources, operations, and parameters; implementing operations as subflows; mapping JSON request/response bodies; and pushing the REST API to IBM API Connect for management. The document also demonstrates these features through examples and screenshots.
Apache Kafka® Delivers a Single Source of Truth for The New York Timesconfluent
The New York Times stores every piece of content it has ever published in Apache Kafka. It takes a log-based approach where all content is published as events to a central "Monolog" topic in Kafka. This log becomes the single source of truth, and all applications consume from the log. The content is stored in Kafka as Protobuf messages with a well-defined schema. A separate "Skinny Log" topic contains notifications that content was processed, to enable caching and track service level objectives. This log-based architecture aims to decouple producers and consumers of content and make the system more flexible and scalable.
WebLogic FAQs provide answers to common questions about Oracle WebLogic Server. The document includes questions about what WebLogic Server is, its basic components like domains and managed servers, how administration servers and managed servers interact, and how to configure and use WebLogic Server clusters. Additional questions cover topics like multicast and unicast communication, development versus production modes, and how to start and stop WebLogic Server instances.
How BDD with tools like Cucumber can create a stronger team, a better quality product, and ultimately a more useable API. Given at the #apistrat SF conference 10/24/2013
This document compares popular JavaScript automation frameworks for testing Node.js applications, including Protractor, WebdriverIO, and NightwatchJS. It provides details on each framework, such as supported features, syntax, and advantages. NightwatchJS is highlighted as a good option for end-to-end testing due to its built-in test runner, support for parallel testing, cross-browser testing, and mobile testing. While it requires callbacks, NightwatchJS has an easy syntax, inbuilt debugging, and is overall presented as a strong framework for end-to-end testing of Node.js applications.
The Microservices world in. NET Core and. NET frameworkMassimo Bonanni
This document discusses microservices architecture and how it compares to traditional monolithic applications. It then summarizes common orchestration platforms for microservices including Azure Service Fabric, Docker Swarm, Kubernetes, and Mesosphere DC/OS. Finally, it promotes additional resources on microservices architecture and .NET development, including an eBook and Microsoft documentation site.
Este documento presenta jBPM, una suite de software libre para gestión de procesos de negocio (BPM). Explica que jBPM implementa BPM en la web de forma modular y configurable, con componentes como tareas humanas, persistencia de datos, servicios de integración y modelado de reglas de negocio. También muestra cómo jBPM se puede ejecutar en contenedores Docker de forma portable y en la nube de OpenShift.
Este documento presenta una introducción a jBPM5. Explica que jBPM5 es un sistema de gestión de procesos de negocio que permite modelar procesos usando el estándar BPMN2. Describe los principales componentes de jBPM5 como el motor de procesos, el servidor de tareas humanas y las herramientas. También introduce conceptos como reglas de negocio y procesamiento de eventos complejos, explicando que jBPM5 forma parte de una plataforma más amplia para la representación y ejecución de conocimiento emp
NGRX provides tools for implementing Redux patterns in Angular applications. The key components are:
- The Store holds the single source of truth application state as plain JavaScript objects and uses reducers to immutable update state in response to actions.
- Actions describe state changes and are dispatched to the Store which passes them to reducers. Reducers pure functions that return new state.
- Selectors allow slices of state to be accessed.
- Additional libraries provide debugging with devtools, routing integration, side effect handling, and entity management functionality. Files can be organized by domain or feature module.
This document discusses Django class-based views and mixins. It begins by explaining function-based views and how they work by taking an HTTP request and returning a response. It then introduces class-based views, which are based on classes and use mixins to add functionality. Mixins provide reusable functionality that can be inherited by multiple classes. The document outlines common Django generic class-based views and how they work with mixins. It notes some potential downsides of mixins, such as losing track of method origins. Finally, it provides guidelines on choosing function-based or class-based views and keeping views and mixins simple.
Wiremock es una herramienta para convertir servicios HTTP en mock y así poder testear tu código aislándolo de servicios HTTP (como servicios Rest).
Slides de apoyo a la charla sobre la herramienta en el Open South Code de 2016 en Málaga (España)
최근 글로벌 혁신의 트렌드인 AI의 다양한 사례를 살펴보고 단계적으로 어떻게 접근하고 준비해야 할지를 알려드립니다. 이미지/비디오 인식 등 AI 어플리케이션의 유형과 트렌드를 전달드립니다. 특히 AWS AI 서비스를 성공적으로 도입하고 활용하기 위한 전략을 살펴보고 사례를 통한 Use Case를 통해 단계별 접근 전략을 소개드립니다. 이번 세미나를 통해 최신 AI트렌드와 정의, 그리고 사례 기반의 도입 유형, 접근 전략과 방법론 등을 알 수 있습니다.
더 많은 AWS 온라인 세미나 알아보기: https://aws.amazon.com/ko/events/webinars/series
The document provides an overview of developing and deploying REST APIs using IBM Integration Bus. It discusses developing a REST API from scratch or by importing a Swagger definition. Key features covered include defining resources, operations, and parameters; implementing operations as subflows; mapping JSON request/response bodies; and pushing the REST API to IBM API Connect for management. The document also demonstrates these features through examples and screenshots.
Apache Kafka® Delivers a Single Source of Truth for The New York Timesconfluent
The New York Times stores every piece of content it has ever published in Apache Kafka. It takes a log-based approach where all content is published as events to a central "Monolog" topic in Kafka. This log becomes the single source of truth, and all applications consume from the log. The content is stored in Kafka as Protobuf messages with a well-defined schema. A separate "Skinny Log" topic contains notifications that content was processed, to enable caching and track service level objectives. This log-based architecture aims to decouple producers and consumers of content and make the system more flexible and scalable.
WebLogic FAQs provide answers to common questions about Oracle WebLogic Server. The document includes questions about what WebLogic Server is, its basic components like domains and managed servers, how administration servers and managed servers interact, and how to configure and use WebLogic Server clusters. Additional questions cover topics like multicast and unicast communication, development versus production modes, and how to start and stop WebLogic Server instances.
How BDD with tools like Cucumber can create a stronger team, a better quality product, and ultimately a more useable API. Given at the #apistrat SF conference 10/24/2013
This document compares popular JavaScript automation frameworks for testing Node.js applications, including Protractor, WebdriverIO, and NightwatchJS. It provides details on each framework, such as supported features, syntax, and advantages. NightwatchJS is highlighted as a good option for end-to-end testing due to its built-in test runner, support for parallel testing, cross-browser testing, and mobile testing. While it requires callbacks, NightwatchJS has an easy syntax, inbuilt debugging, and is overall presented as a strong framework for end-to-end testing of Node.js applications.
The Microservices world in. NET Core and. NET frameworkMassimo Bonanni
This document discusses microservices architecture and how it compares to traditional monolithic applications. It then summarizes common orchestration platforms for microservices including Azure Service Fabric, Docker Swarm, Kubernetes, and Mesosphere DC/OS. Finally, it promotes additional resources on microservices architecture and .NET development, including an eBook and Microsoft documentation site.
Este documento presenta jBPM, una suite de software libre para gestión de procesos de negocio (BPM). Explica que jBPM implementa BPM en la web de forma modular y configurable, con componentes como tareas humanas, persistencia de datos, servicios de integración y modelado de reglas de negocio. También muestra cómo jBPM se puede ejecutar en contenedores Docker de forma portable y en la nube de OpenShift.
Este documento presenta una introducción a jBPM5. Explica que jBPM5 es un sistema de gestión de procesos de negocio que permite modelar procesos usando el estándar BPMN2. Describe los principales componentes de jBPM5 como el motor de procesos, el servidor de tareas humanas y las herramientas. También introduce conceptos como reglas de negocio y procesamiento de eventos complejos, explicando que jBPM5 forma parte de una plataforma más amplia para la representación y ejecución de conocimiento emp
Este documento resume Jumpshot, una herramienta para visualizar el rendimiento de programas paralelos basada en registros de bitácoras. Explica que Jumpshot permite el análisis post mortem mediante la visualización de líneas de tiempo y histogramas generados a partir de archivos de registro CLOG. También describe los requisitos para sistemas de visualización, la historia de herramientas similares y las ventajas e inconvenientes del uso de Java para implementar Jumpshot.
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez.NET UY Meetup
Este documento presenta una introducción a los conceptos y técnicas de programación orientada a aspectos (AOP). Explica que AOP permite separar las responsabilidades transversales del código principal mediante la definición de aspectos. Luego describe cómo PostSharp implementa AOP mediante el tejido de código IL que inyecta funcionalidad transversal en tiempo de compilación sin modificar el código objetivo. Finalmente, ofrece consideraciones sobre cómo aplicar aspectos a código existente con PostSharp.
El documento describe las capacidades del software IBM Business Process Manager para mejorar los procesos de negocio de una organización mediante la implementación, ejecución, monitoreo y optimización de procesos de forma rápida e iterativa. El software ofrece una arquitectura centralizada basada en un modelo de procesos compartido que permite la colaboración entre equipos de negocio y TI.
Este documento presenta una introducción al motor de procesos jBPM. Explica conceptos clave como software libre, Java EE, arquitectura de software y SOA. Luego, describe características de jBPM como creación de usuarios y roles, y modelado de datos, reglas y procesos de negocio. Finalmente, cubre temas como formularios, despliegue e integración de proyectos jBPM.
Este documento describe la generación de código sobre plataformas específicas de desarrollo de aplicaciones utilizando las herramientas gvHidra y gvNix. Explica los beneficios de la generación de código, como un desarrollo más rápido y mejora en la calidad. También describe las plataformas soportadas, como las transformaciones para generar entidades, persistencia y la interfaz de usuario para las plataformas gvHidra y gvNix.
1. El documento describe diferentes modelos y procesos de desarrollo de software como el modelo en cascada, prototipado, en espiral, proceso unificado de Rational y Extreme Programming.
2. También habla sobre el modelo CMMI para evaluar la madurez de los procesos de una organización de desarrollo de software, el cual tiene 5 niveles que van desde inicial hasta optimización.
3. Finalmente, resume cada uno de los 5 niveles del modelo CMMI.
El documento describe los conceptos fundamentales de la ingeniería de software, incluyendo las definiciones de ingeniería de software según la IEEE, los pasos típicos en el desarrollo de un sistema de software como el análisis de requisitos y pruebas, y los diferentes ciclos de vida del software como el ciclo de vida clásico y el desarrollo en espiral. También discute brevemente conceptos como prototipado, reutilización de software, y métodos formales e informales para el desarrollo de software.
El documento describe los conceptos fundamentales de la ingeniería de software. Explica que la ingeniería de software implica la aplicación sistemática y cuantificable del desarrollo, operación y mantenimiento del software. También describe los pasos típicos en el desarrollo de un sistema de software, incluyendo el análisis de requisitos, diseño, programación, pruebas y mantenimiento. Además, explica diferentes metodologías, ciclos de vida y niveles de madurez en el proceso de desarrollo de software.
El documento describe los conceptos fundamentales de la ingeniería de software. Explica que la ingeniería de software implica la aplicación sistemática y cuantificable del desarrollo, operación y mantenimiento del software. También describe los pasos típicos en el desarrollo de un sistema de software, incluyendo el análisis de requisitos, diseño, programación, pruebas y mantenimiento. Además, explica diferentes metodologías, ciclos de vida y niveles de madurez en el proceso de desarrollo de software.
El documento describe los conceptos fundamentales de la ingeniería de software. Explica que la ingeniería de software implica la aplicación sistemática y cuantificable del desarrollo, operación y mantenimiento del software. También describe los pasos típicos en el desarrollo de un sistema de software, como el análisis de requisitos, diseño, programación, pruebas y mantenimiento. Además, explica conceptos como los ciclos de vida del software, las metodologías de desarrollo y los niveles de madurez de los procesos
El documento describe los conceptos fundamentales de la ingeniería de software. Explica que la ingeniería de software implica la aplicación sistemática y cuantificable del desarrollo, operación y mantenimiento del software. También describe los pasos típicos en el desarrollo de un sistema de software, como el análisis de requisitos, diseño, programación, pruebas y mantenimiento. Además, explica conceptos como los ciclos de vida del software, las metodologías de desarrollo y los niveles de madurez de los procesos
El documento describe los conceptos fundamentales de la ingeniería de software. Explica que la ingeniería de software implica la aplicación sistemática y cuantificable del desarrollo, operación y mantenimiento del software. También describe los pasos típicos en el desarrollo de un sistema de software, incluyendo el análisis de requisitos, diseño, programación, pruebas y mantenimiento. Además, explica diferentes metodologías, ciclos de vida y niveles de madurez en el proceso de desarrollo de software.
El documento describe los conceptos fundamentales de la ingeniería de software. Explica que la ingeniería de software implica la aplicación sistemática y cuantificable del desarrollo, operación y mantenimiento del software. También describe los pasos típicos en el desarrollo de un sistema de software, incluyendo el análisis de requisitos, diseño, programación, pruebas y mantenimiento. Además, explica diferentes metodologías, ciclos de vida y niveles de madurez en el proceso de desarrollo de software.
El documento describe los conceptos fundamentales de la ingeniería de software, incluyendo las definiciones de ingeniería de software según la IEEE, los pasos típicos en el desarrollo de un sistema de software como el análisis de requisitos y pruebas, y los diferentes ciclos de vida del software como el ciclo de vida clásico y el desarrollo en espiral. También discute brevemente conceptos como prototipado, reutilización de software, y métodos formales e informales para el desarrollo de software.
Modelos De Calidad para proyectos de Software Y Software LibreEQ SOFT EIRL
Esta presentación es una rápida aproximación a que es un modelo de calidad, cuales modelos existen y como el software libre a evolucionado su modelo de desarrollo y utiliza y facilita herramientas que nos permiten automatizar el proceso de adopción de un modelo de calidad.
Este documento proporciona una introducción a la gestión de procesos empresariales (BPM). Explica que BPM involucra el modelado de los procesos de negocio mediante herramientas como workflows para automatizarlos y monitorearlos. También describe los componentes clave de un sistema BPM como el modelado y ejecución de procesos, y los beneficios que proporciona como la automatización, visibilidad y colaboración. Finalmente, presenta una introducción a la notación BPMN, que permite modelar visualmente los flu
Este documento describe los principios básicos de la programación en STEP7, incluyendo la estructura de los programas, los tipos de módulos, y los tipos de procesamiento. Explica que los programas en una CPU consisten en un sistema operativo y un programa de usuario, y que STEP7 permite dividir programas de usuario en módulos funcionales como bloques de función y funciones. También cubre conceptos como la ejecución cíclica, las prioridades de los módulos de organización, y la profundidad de anidamiento.
This document discusses creating domain-specific languages (DSLs) using Xtext. It defines DSLs as programming languages focused on a particular domain, as opposed to general purpose languages. The document outlines how DSLs are classified and stakeholders involved. It describes benefits of DSLs like reducing mistakes and facilitating understanding for non-experts, but also drawbacks like additional development costs. Key aspects of creating DSLs with Xtext are discussed, including defining a grammar to generate a parser and IDE tools to develop models that can then be transformed to other artifacts.
Introduction to architectures based on models, models and metamodels. model d...Vicente García Díaz
This document provides an introduction to model-driven architecture and model-driven engineering. It discusses the motivation for MDE, including reducing software complexity and improving productivity. The key concepts of MDE are models, metamodels, and model transformations to generate code and other artifacts. MDE aims to increase abstraction levels and automate software development processes. The document uses examples like state machines and database schemas to illustrate metamodels, modeling languages and model transformations.
Este documento describe dos lenguajes de marcado, KML y ARML, que se pueden usar para crear mundos de realidad aumentada en Wikitude. Explica los conceptos básicos de Wikitude, y proporciona detalles sobre cómo desarrollar mundos utilizando cada lenguaje, incluidos ejemplos de su estructura y cómo probar los mundos creados.
Este documento presenta el SDK Wikitude ARchitect para crear aplicaciones de realidad aumentada. Explica conceptos básicos como las herramientas ARchitect, la API, el visor móvil y el motor de escritorio. Incluye ejemplos de cómo insertar elementos flotantes en la cámara, usar el contexto AR, crear un círculo superpuesto, añadir y reaccionar a eventos, e insertar imágenes desde archivos. El objetivo es mostrar las capacidades del SDK para desarrollar aplicaciones de realidad aumentada de forma sen
This document discusses various algorithms for sorting data, including:
- Bubble sort, which works by comparing and swapping adjacent elements until the list is fully sorted. Both regular bubble sort and a version with a sentinel are described.
- Bidirectional bubble sort, which works in both directions simultaneously to prevent issues when the data is almost sorted.
The document provides pseudocode examples and discusses the time complexity of different sorting algorithms, including simple algorithms like bubble sort and more sophisticated approaches. It aims to classify and explain sorting techniques.
Este documento presenta una introducción a la ingeniería dirigida por modelos (MDE). Explica conceptos básicos como los modelos, metamodelos y el proceso de desarrollo basado en modelos. También describe ejemplos de aplicación de MDE en diferentes dominios como la telefonía IP, los seguros y los videojuegos. Finalmente, introduce los estándares relacionados con MDE como el estándar Model-Driven Architecture y lenguajes como UML y MOF.
Este documento introduce conceptos básicos de OpenGL como la definición de objetos, luces, cámara y ventanas de visualización. Explica el modelo de programación de OpenGL y conceptos clave como proyecciones, matrices y su uso para transformaciones. Luego, cubre OpenGL 2D para dibujar triángulos, modificar colores, texturas e insertar transformaciones. Finalmente, menciona brevemente las principales diferencias entre OpenGL 2D y 3D.
Este documento proporciona una introducción a la realidad aumentada. Explica conceptos clave como la diferencia entre realidad aumentada y realidad virtual, y provee ejemplos de aplicaciones en entretenimiento, ayuda y comercio. También describe métodos para identificar elementos como el seguimiento de características naturales y la búsqueda visual, y cubre temas como navegadores AR y geolocalización.
El documento proporciona una introducción a ARToolKit, una librería de software para construir aplicaciones de realidad aumentada. Explica los conceptos básicos como el rastreo de posiciones y la superposición de objetos a través de video, y describe cómo funciona a través de la detección de marcadores. También cubre temas como la calibración de cámaras, el desarrollo de aplicaciones simples utilizando las funciones principales de ARToolKit, y proporciona ejemplos de su uso en diferentes sistemas como Android.
Este documento proporciona una introducción al Robot Operating System (ROS). ROS es un framework de código abierto que se utiliza comúnmente para desarrollar aplicaciones robóticas. Proporciona herramientas para la comunicación entre máquinas, simulación y desarrollo de software para robots. El documento explica conceptos clave como nodos, tópicos, servicios y el grafo de computación en ROS.
Este documento describe cómo crear servicios web para proporcionar datos de realidad aumentada a la plataforma Wikitude. Explica conceptos básicos como el almacenamiento externo de datos, la arquitectura de Wikitude y formas de desarrollo. También presenta una biblioteca PHP para trabajar con el formato ARML y muestra un ejemplo de servicio web que se conecta a una base de datos MySQL para obtener y devolver puntos de interés.
Este documento proporciona una introducción a los aspectos básicos del procesamiento de textos con LaTeX. Explica conceptos como la estructura de un documento LaTeX, los diferentes comandos y entornos disponibles, la inserción de caracteres especiales, el formato de fuentes y estilos, y las opciones para alinear y espaciar el texto. El documento servirá como guía para aprender los fundamentos de LaTeX.
Este documento describe cómo automatizar Microsoft Word usando código. Explica que las aplicaciones de Office como Word tienen librerías que permiten acceder y manipular sus objetos como si fueran objetos de programación. Esto permite desarrollar software que controle Word usando lenguajes de programación. Luego detalla los pasos para crear un proyecto .NET, incluir las referencias a las librerías de Word, y escribir código para abrir Word, crear un documento y escribir texto en él.
Este documento trata sobre los árboles como estructura de datos. Explica conceptos básicos sobre árboles como nodos, altura, profundidad y tamaño. Luego se detalla sobre árboles binarios, árboles de búsqueda como los AVL, y árboles multicamino. Finalmente menciona bibliografía sobre el tema.
Este documento presenta conceptos básicos sobre dispersión y estructuras de datos hash. Explica protección activa mediante el uso de buenas funciones hash y protección pasiva cuando varios elementos comparten la misma posición en la tabla. Detalla métodos como tablas hash abiertas y cerradas, y técnicas de exploración lineal y cuadrática para buscar posiciones próximas cuando ocurren colisiones. El documento contiene varios ejercicios para ilustrar estos conceptos.
Este documento presenta varios algoritmos para encontrar caminos óptimos en grafos. Explica el algoritmo de búsqueda en anchura (breadth-first search) para encontrar el camino más corto sin considerar pesos. Luego describe el algoritmo de Dijkstra para encontrar el camino mínimo en grafos con pesos positivos y el algoritmo de Bellman-Ford para grafos con pesos positivos y negativos. Finalmente, proporciona ejemplos y pseudocódigo para cada algoritmo.
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
HPE presenta una competició destinada a estudiants, que busca fomentar habilitats tecnològiques i promoure la innovació en un entorn STEAM (Ciència, Tecnologia, Enginyeria, Arts i Matemàtiques). A través de diverses fases, els equips han de resoldre reptes mensuals basats en àrees com algorísmica, desenvolupament de programari, infraestructures tecnològiques, intel·ligència artificial i altres tecnologies. Els millors equips tenen l'oportunitat de desenvolupar un projecte més gran en una fase presencial final, on han de crear una solució concreta per a un conflicte real relacionat amb la sostenibilitat. Aquesta competició promou la inclusió, la sostenibilitat i l'accessibilitat tecnològica, alineant-se amb els Objectius de Desenvolupament Sostenible de l'ONU.
para programadores y desarrolladores de inteligencia artificial y machine learning, como se automatiza una cadena de valor o cadena de valor gracias a la teoría por Manuel Diaz @manuelmakemoney
KAWARU CONSULTING presenta el projecte amb l'objectiu de permetre als ciutadans realitzar tràmits administratius de manera telemàtica, des de qualsevol lloc i dispositiu, amb seguretat jurídica. Aquesta plataforma redueix els desplaçaments físics i el temps invertit en tràmits, ja que es pot fer tot en línia. A més, proporciona evidències de la correcta realització dels tràmits, garantint-ne la validesa davant d'un jutge si cal. Inicialment concebuda per al Ministeri de Justícia, la plataforma s'ha expandit per adaptar-se a diverses organitzacions i països, oferint una solució flexible i fàcil de desplegar.
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)AbrahamCastillo42
Power point, diseñado por estudiantes de ciclo 1 arquitectura de plataformas, esta con la finalidad de dar a conocer el componente hardware llamado tarjeta de video..
La inteligencia artificial sigue evolucionando rápidamente, prometiendo transformar múltiples aspectos de la sociedad mientras plantea importantes cuestiones que requieren una cuidadosa consideración y regulación.
1. Ingeniería Dirigida por Modelos
jBPM
Modelado de procesos de negocio
Vicente García Díaz – garciavicente@uniovi.es
University of Oviedo, 2013
Model Driven Engineering
Research Group
2. 2
Tabla de contenidos
jBPM
1. Business Process Modeling
2. Instalación de jBPM
3. Instroducción a jBPM
4. jPDL
5. Ejercicios
3.
4. 4
Business Process Modeling
¿Qué es un proceso de negocio?
• Lo que se hace para cumplir con las necesidades y
expectativas de los CLIENTES
▫ Los clientes son consumidores de un producto o servicio
▫ Pueden ser internos o externos
• En la Wikipedia
▫ en.wikipedia.org/wiki/Business_process
▫ “A business process is a recipe for achieving a commercial result.
Each business process has inputs, method and outputs. The
inputs are a pre-requisite that must be in place before the
method can be put into practice. When the method is applied to
the inputs then certain outputs will be created”
6. 6
Business Process Modeling Tecnologías BPM
BPMN - ¿Cómo se ve?
• Business Process Modeling Notation (BPMN)
▫ Estándar del OMG
• Notación gráfica para BPM
• Permite
▫ Que las personas técnicas y las no técnicas se entiendan fácilmente
▫ Especificar la forma en la que los elementos BPMN se mapean a WS-BPEL
7. 7
Business Process Modeling Tecnologías BPM
XPDL - ¿Cómo se guarda?
• XML Process Definition Language (XPDL)
▫ Estándar de WfMC
• Lenguaje XML para persistir diagramas BPMN
• Permite
▫ Intercambiar diagramas realizados con diferentes herramientas
▫ Almacenar incluso las coordinadas de los elementos
▫ Ampliar el lenguaje con extensiones
8. 8
Business Process Modeling Tecnologías BPM
WS-BPEL - ¿Cómo se ejecuta?
• Web Services Business Process Execution Language (WS-BPEL)
▫ Estándar de OASIS
• Lenguaje XML de ejecución de procesos de negocio mediante
servicios Web
• Permite
▫ Orquestar la comunicación entre diferentes servicios Web
▫ Ampliar el lenguaje con extensiones
• Extensiones
▫ BPEL4People
Permite que las personas formen parte del proceso de negocio
▫ BPELJ
Permite ejecutar código Java sin ser expuesto como servicio Web
9. 9
Business Process Modeling Tecnologías BPM
BPDML – Sintaxis abstracta
• Business Process Definition Metamodel (BPDM)
▫ Estándar del OMG
• Metamodelo derivado de MOF para definir procesos de negocio
• Permite
▫ Definir una base común para todos los BPM
▫ Utilizar el estándar XMI para persistir modelos
▫ Hacer los BPM interoperables con las herramientas ya disponibles
MOF M3
BPDM M2
Otro tipo de
BPMN … modelos
M1
12. 12
Instalación de jBPM
Instalación en producción
• La instalación comprende varios pasos
▫ Instalación del servidor de aplicaciones JBoss
▫ Instalación de jBPM
▫ Instalación del servidor de bases de datos
▫ Instalación de Eclipse
▫ Instalación del plugin para Eclipse
▫ Configuración de Eclipse
• Se necesita tener instalado el JDK
13. 13
Instalación de jBPM
Instalación de jBPM
• http://sourceforge.net/projects/jbpm/files/
▫ Versión 4.0
▫ Jbpm-4.0.zip
• Descomprimir la carpeta en una ruta del ordeandor
14. 14
Instalación de jBPM
Instalación de Eclipse
• En este caso estamos trabajando con Eclipse
Indigo
15. 15
Instalación de jBPM
Instalación del plugin para Eclipse (I)
• Buscar la ruta de jbpm-4.0/gpd/jpbm-gpd-site.zip
22. 22
Introducción a jBPM
Procesos e instancias
Process
Process instance Instance
/ Execution
Execution Execution
23. 23
Introducción a jBPM
ProcessEngine (I)
• Se necesita un ProcessEngine para obtener los
diferentes servicios que proporciona jBPM
• Para hacer pruebas con jBPM vamos a crear un proyecto
Java y:
▫ Añadir un paquete jbpm.pruebas
▫ Añadir la librería de usuario jBPM4
▫ Añadir la librería jUnit4
• Las librería se añaden desde la opción del menú
propiedades del proyecto
24. 24
Introducción a jBPM
ProcessEngine (II)
• Se necesita un ProcessEngine para obtener los
diferentes servicios que proporciona jBPM
25. 25
Introducción a jBPM
ProcessEngine (III)
• Jbpm.cfg.xml es el archivo en el que está la
información de configuración básica
• Puede haber otras fuentes
27. 27
Introducción a jBPM
RepositoryService
• Es uno de los servicios más importantes (trabajo con repositorio)
• Cada deployment es un conjunto de recursos
• Cada recurso es un array de bytes
deleteDeploymentCascade borra
todas las instancias de un proceso
• El ID es una mezcla entre una clave y el nº de versión
28. 28
Introducción a jBPM
ExecutionService
• Se utiliza para comenzar una instancia de un
proceso
• Algunas de las alternativas son:
30. 30
jPDL
Process
• Elemento raíz que representa la definición de un proceso
• Atributos
▫ Name
▫ Key
▫ Version
• Elementos
▫ Description (0..1)
▫ Activities (1..*)
31. 31
jPDL Actividades de control de flujo
Start
• Punto inicial de cualquier proceso
▫ Tiene que haber exactamente un punto inicial
• Atributos
▫ Name
• Elementos
▫ Transition (0..*)
Cambio de tipo de vista (gráfica / XML)
32. 32
jPDL Actividades de control de flujo
State – Definición gráfica
• Representa un estado de espera
▫ No hace nada hasta que llega un disparador externo
• Atributos
▫ Name
StateSecuence.jpdl.xml
33. 33
jPDL Actividades de control de flujo
State – Código para recorrer el proceso
Obtiene de la instancia
del proceso una
referencia al estado
actual en ejecución
Se envía una señal al
estado actual en
ejecución para
actualizar a la
instancia del proceso
actual
StateSequence.java
34. 34
jPDL Actividades de control de flujo
State (elección)
EJ: Crear los dos archivos (.jpdl y .java)
y hacer todo el recorrido pasando por la StateChoice.jpdl.xml
StateSecuence.jpdl.xml
transición de “reject” StateChoice.java
35. 35
jPDL Actividades de control de flujo
Decision (conditions)
• Realiza una evaluación automática para decidir el camino
• Atributos
▫ Expr Comilla s simples
▫ Lang
EJ: Crear los dos
archivos (.jpdl y .java) y
hacer todo el recorrido
llegando finalmente al
estado “try again”
StateSecuence.jpdl.xml
DecisionConditions.jpdl.xml
DecisionConditions.java
36. 36
jPDL Actividades de control de flujo
Decision (expressions)
• Realiza una evaluación automática para decidir el camino
• Atributos
▫ Expr
▫ Lang
DecisionExpression.jpdl.xml
DecisionExpression.java
37. 37
jPDL Actividades de control de flujo
Decision (handler)
• Realiza una evaluación automática para decidir el camino
Cambiar según caso.
• Atributos e.g. jbpm.pruebas.ContentEvaluation
▫ Class
EJ: Crear los archivos y
hacer todo el recorrido
llegando finalmente al
estado “submit
document”
DecisionHandler.jpdl.xml
DecisionHandler.java
ContentEvaluation.java
38. 38
jPDL Actividades de control de flujo
Concurrency (I)
• Utiliza las actividades fork y join
Concurrency.jpdl.xml
Concurrency.java
39. 39
jPDL Actividades de control de flujo
Concurrency (II)
• Utiliza las actividades fork y join
EJ: Crear los archivos y
hacer todo el recorrido
hasta el final
Concurrency.jpdl.xml
Concurrency.java
40. 40
jPDL Actividades de control de flujo
End
• Finaliza la ejecución de una instancia
41. 41
jPDL Actividades de control de flujo
End
• Sirve para finalizar una ejecución con diferentes estados
▫ Cancel
▫ Error
EJ: Crear los
archivos y hacer
todo el recorrido,
finalizando con una
cancelación y
comprobándolo
EndState.jpdl.xml
EndState.java
42. 42
jPDL Actividades de control de flujo
Task (assignee) (I)
• Crea una tarea para ser ejecutada por una persona
• Atributos (en pestaña Assigment)
▫ Type
▫ Expression
TaskAssignee.jpdl.xml
TaskAssignee.java
Order.java
43. 43
jPDL Actividades de control de flujo
Task (assignee) (II)
EJ: Crear los archivos y
hacer todo el recorrido
del proceso que aparece TaskAssignee.jpdl.xml
(review es una tarea que TaskAssignee.java
tiene que hacer alguien) Order.java
44. 44
jPDL Actividades de control de flujo
Task (candidate-groups)
• Es una tarea que alguien
de un grupo puede
llevar a cabo
TaskCandidates.jpdl.xml
TaskCandidates.java
45. 45
jPDL Actividades de control de flujo
Task (assigment handler) (I)
• Se utiliza para especificar programáticamente quién
hace/puede hacer una tarea
Cambiar según caso
TaskAssigmentHandler.jpdl.xml
TaskAssigmentHandler.java
AssingTask.java
46. 46
jPDL Actividades de control de flujo
Task (assigment handler) (II)
TaskAssigmentHandler.jpdl.xml
TaskAssigmentHandler.java
AssingTask.java
47. 47
jPDL Actividades de control de flujo
Sub-process (variables) (I)
• Permite contener unos procesos dentro de otros
SubProcessDocument.jpdl.xml
SubProcessReview.jpdl.xml
SubProcessDocument.java
48. 48
jPDL Actividades de control de flujo
Sub-process (variables) (II)
EJ: Crear los archivos y hacer
todo el recorrido destruyendo SubProcessDocument.jpdl.xml
finalmente los dos procesos con SubProcessReview.jpdl.xml
el método deleteDeployment SubProcessDocument.java
49. 49
jPDL Actividades de control de flujo
Sub-process (outcome)
• Permite contener unos procesos dentro de otros
50. 50
jPDL Actividades de control de flujo
Sub-process (outcome activity)
• Permite contener unos procesos dentro de otros
51. 51
jPDL Actividades de control de flujo
Custom
• Permite “personalizar”
el comportamiento de
las actividades
Custom.jpdl.xml
Custom.java
PrintDots.java
52. 52
jPDL Actividades automáticas
Java
• Permite invocar métodos Java
• Atributos
▫ Class
▫ Method
▫ Variable
• Elementos
▫ Field
▫ Arg
Java.jpdl.xml
Java.java
Saludar.java
53. 53
jPDL Actividades automáticas
Scripts
• Permite evaluar un script
• Atributos
▫ Expr
▫ Lang
▫ Var
• Elementos
▫ Text
ScriptExpression.jpdl.xml
ScriptExpression.java
Person.java
54. 54
jPDL Actividades automáticas
HQL / SQL
• Permite hacer consultas a la base de datos
• Atributos
▫ Var
• Elementos
▫ Query
▫ Parameter
EJ: Crear los archivos y verificar
mediante un assert el número de
tareas que hay guardadas en ese Hql.jpdl.xml
momento Hql.java
55. 55
jPDL Actividades automáticas
Mail
• Permite enviar correos electrónicos
• Atributos
▫ Template
• Elementos
▫ From
▫ To
▫ CC
▫ BCC
▫ Subject
▫ Text
▫ Html
▫ Attachments
56. 56
jPDL
Eventos
• Puntos en los que se lanzan eventos
▫ Para conseguirlo se implementa la interfaz EventListener
▫ En una transición
▫ En la entrada/salida de una actividad
Implementa
EJ: Crear los archivos y mostrar un org.jbpm.api.listener.EventListener
mensaje de texto mediante un
evento cuando: comienza y finaliza la EventListener.jpdl.xml
actividad y cuando se ejecuta una EventListener.java
transición a otra actividad LogListener.java
57. 57
jPDL
Asincronismo
• Por defecto, jBPM funciona de forma síncrona
• Ventajas VS Desventajas
• Atributo continue de las actividades de los procesos
▫ Sync
▫ Async
58.
59. Tarea 1
Crear un proceso de negocio
con jPDL que contenga al
menos:
- Inicio
- Decisiones
- Concurrencias
- Tareas
- Al menos un subproceso
- Una tarea Java
- Un script
- Diferentes tipos de finales
- Al menos un evento
OPCIONAL: Instalarlo en un
entorno real utilizando:
• jBoss
• MySQL
• jBPM
Hacer un caso de prueba que
recorra el proceso de inicio a fin