Este documento proporciona instrucciones paso a paso para crear un proceso BPEL simple. Explica cómo crear un proceso BPEL, un proyecto de aplicación compuesta para desplegar el proceso, y cómo probar el proceso mediante pruebas. También muestra cómo orquestar múltiples servicios web mediante la adición de invocaciones condicionales a servicios externos en el proceso BPEL.
Este documento describe cómo crear un servicio web simple en Java utilizando JAX-WS y cómo crear un cliente para acceder a ese servicio web. Explica los pasos para implementar una clase de servicio web, generar los artefactos de despliegue, publicar el servicio utilizando un endpoint y probarlo localmente. También cubre cómo generar los artefactos del cliente, invocar los métodos del servicio web y probar la comunicación entre el cliente y el servicio.
Este documento explica qué son los Web Workers y para qué sirven. Los Web Workers permiten ejecutar scripts en segundo plano para realizar tareas intensivas sin bloquear la interfaz de usuario. El documento incluye ejemplos de código que muestran cómo crear workers, comunicarse con ellos a través de mensajes y casos prácticos de su uso.
Este documento proporciona una introducción a los servicios web y WCF. Explica la historia de las aplicaciones desde locales a distribuidas y define conceptos clave como servicios, SOA, SOAP y WSDL. También describe los elementos clave de WCF como interfaz, implementación, punto final y enlace. Por último, cubre temas como la implementación de un servicio WCF, su configuración, alojamiento y depuración.
Este documento proporciona una introducción a los servicios web y WCF. Explica la historia de las aplicaciones desde locales a distribuidas y define conceptos clave como servicios, SOA, SOAP y WSDL. También describe los elementos clave de WCF como interfaz, implementación, punto final y enlace. Por último, cubre temas como la implementación de un servicio WCF, su configuración, alojamiento y depuración.
NetBeans es un entorno de desarrollo integrado (IDE) de código abierto que facilita el desarrollo de aplicaciones en Java. Requiere la instalación de Java para funcionar y proporciona herramientas como resaltado de sintaxis, autocompletado de código, compilación y ejecución. También permite diseñar interfaces gráficas arrastrando componentes y agregar plugins que mejoran la funcionalidad.
Este documento describe cómo crear reportes en JDeveloper utilizando JasperReports e IReport. Explica cómo configurar IReport para conectarse a una base de datos, diseñar un reporte simple con un campo de búsqueda, y ejecutar el reporte para generar un archivo JRXML que luego puede usarse en JDeveloper.
Este documento describe cómo crear un servicio web simple en Java utilizando JAX-WS y cómo crear un cliente para acceder a ese servicio web. Explica los pasos para implementar una clase de servicio web, generar los artefactos de despliegue, publicar el servicio utilizando un endpoint y probarlo localmente. También cubre cómo generar los artefactos del cliente, invocar los métodos del servicio web y probar la comunicación entre el cliente y el servicio.
Este documento explica qué son los Web Workers y para qué sirven. Los Web Workers permiten ejecutar scripts en segundo plano para realizar tareas intensivas sin bloquear la interfaz de usuario. El documento incluye ejemplos de código que muestran cómo crear workers, comunicarse con ellos a través de mensajes y casos prácticos de su uso.
Este documento proporciona una introducción a los servicios web y WCF. Explica la historia de las aplicaciones desde locales a distribuidas y define conceptos clave como servicios, SOA, SOAP y WSDL. También describe los elementos clave de WCF como interfaz, implementación, punto final y enlace. Por último, cubre temas como la implementación de un servicio WCF, su configuración, alojamiento y depuración.
Este documento proporciona una introducción a los servicios web y WCF. Explica la historia de las aplicaciones desde locales a distribuidas y define conceptos clave como servicios, SOA, SOAP y WSDL. También describe los elementos clave de WCF como interfaz, implementación, punto final y enlace. Por último, cubre temas como la implementación de un servicio WCF, su configuración, alojamiento y depuración.
NetBeans es un entorno de desarrollo integrado (IDE) de código abierto que facilita el desarrollo de aplicaciones en Java. Requiere la instalación de Java para funcionar y proporciona herramientas como resaltado de sintaxis, autocompletado de código, compilación y ejecución. También permite diseñar interfaces gráficas arrastrando componentes y agregar plugins que mejoran la funcionalidad.
Este documento describe cómo crear reportes en JDeveloper utilizando JasperReports e IReport. Explica cómo configurar IReport para conectarse a una base de datos, diseñar un reporte simple con un campo de búsqueda, y ejecutar el reporte para generar un archivo JRXML que luego puede usarse en JDeveloper.
El documento describe cómo crear un servicio web SOAP en Java utilizando NetBeans. Explica los pasos para crear un nuevo proyecto de aplicación web, agregar un servicio web que incluya una operación para devolver un saludo, implementar el código Java subyacente, probar el servicio web y observar que NetBeans genera automáticamente el archivo WSDL.
Este documento presenta un manual sobre cómo conectar una aplicación Java con Swing a una base de datos MySQL. Explica cómo realizar las operaciones básicas como conexión, inserción, actualización, eliminación y consulta de datos. Primero muestra cómo hacerlo directamente desde la consola de Java y luego cómo crear una interfaz gráfica con Swing para hacer lo mismo de forma más amigable para el usuario.
Este manual describe los procedimientos para comunicar el software LabVIEW 2012 con un PLC S7-1200. Primero se configura la conectividad de red entre la PC y el PLC. Luego se crean canales, dispositivos y variables en NI OPC Server Configuration para establecer la comunicación. Después se genera un proyecto en LabVIEW que incluye una estructura While Loop con controles y visualizadores vinculados a las variables creadas. Finalmente, se prueba la interacción entre LabVIEW y el PLC a través de las entradas y salidas configuradas.
El documento describe cómo conectar una base de datos MySQL a una aplicación Java. Se explica la creación de una clase ConexionDB que establece la conexión y devuelve un objeto Connection. También se muestra el código de una clase Main que llama al método GetConnection de ConexionDB para comprobar que la conexión se realiza correctamente. Finalmente, se detallan los pasos para probar la conexión en NetBeans.
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para DesarrolladoresIvan Luis Jimenez
Este documento describe los pasos para configurar el ambiente de desarrollo para un proyecto web llamado CompuShop. Incluye definir el proyecto en Eclipse, crear una página HTML, configurar preferencias de código, agregar paquetes, y probar la aplicación en un servidor Apache Tomcat. El objetivo del proyecto es crear una tienda en línea para vender artículos de computación.
El documento habla sobre seguridad en aplicaciones web y realización de prácticas de SQL Injection. Explica cómo usar una imagen virtual con aplicaciones vulnerables y herramientas de pentesting como Burp Suite, sqlmap y webScarab. Luego detalla algunas prácticas de SQLi en Webgoat donde se muestra cómo explotar inyecciones y cómo prevenirlas usando consultas parametrizadas.
Cómo consumir un web service SOAP usando jsp sobre un servidor web GlasFish. El ejemplo es un servicio que genera la CURP (DNI) de una persona y un formulario web cliente que lo consume.
Este documento describe cómo crear applets interactivos con GeoGebra mediante el uso de JavaScript. Explica brevemente HTML y JavaScript, y cómo usar formularios, campos de texto y botones para recibir datos del usuario e interactuar con un applet de GeoGebra, enviando comandos como dibujar puntos o polígonos. Finalmente, da un ejemplo de cómo dibujar un punto en GeoGebra después de que el usuario introduzca sus coordenadas a través de un formulario.
Este documento describe cómo usar LINQ to SQL para consultar una base de datos relacional. Explica cómo crear un modelo de datos con LINQ to SQL y cómo usar expresiones LINQ para obtener, filtrar y paginar datos de la base de datos. También muestra cómo enlazar los resultados de las consultas LINQ a controles ASP.NET para mostrar los datos en una aplicación web.
Este documento proporciona instrucciones para conectar Visual Basic 6 a diferentes bases de datos, incluyendo Microsoft Access, Microsoft SQL Server y MySQL. Explica cómo declarar objetos, generar cadenas de conexión y ejecutar consultas SQL. También incluye código de ejemplo para establecer conexiones y realizar operaciones básicas en cada tipo de base de datos.
Este documento describe cómo conectar una base de datos de Access y SQL Server a un programa de Visual Basic 6.0, incluyendo los pasos para configurar la cadena de conexión, seleccionar la base de datos, y agregar el código para realizar operaciones básicas como agregar, editar y eliminar registros. También explica cómo crear una aplicación en Visual Studio .NET para conectarse a una base de datos MySQL e incluye un ejemplo básico de código para establecer la conexión.
El documento habla sobre los servicios web y cómo crearlos en diferentes lenguajes como Java, Perl y PHP. Explica que un servicio web permite el intercambio de datos entre aplicaciones a través de protocolos estandarizados. También menciona cómo crear servicios web sencillos en estos lenguajes de programación así como las diferencias entre las arquitecturas SOAP/WSDL y REST.
El documento habla sobre los servicios web y cómo crearlos en diferentes lenguajes como Java, Perl y PHP. Explica que un servicio web permite el intercambio de datos entre aplicaciones a través de protocolos estandarizados. También menciona cómo crear servicios web sencillos en estos lenguajes para realizar operaciones matemáticas o recuperar datos de una base de datos.
Work para explicar la creación de una App Rails:
* Creando la aplicación Rails
* Utilizando el Scaffold
* Migrando la base de datos
* Agregando validaciones
* Agregando relaciones entre los modelos
* Utilizando Nested Routes
* Utilizando View Helpers
* Agregando AJAX
Este documento describe los pasos para integrar Apache y Tomcat mediante el módulo JK. Se instala y configura el módulo JK, se modifican los archivos de configuración server.xml, workers.properties y jk.conf, y se reinician Apache y Tomcat para que funcionen conjuntamente.
Este documento presenta una guía de 7 días para aprender ASP.NET MVC mediante la creación de laboratorios prácticos. Explica conceptos clave como el uso de controladores y vistas para separar la lógica de presentación, y cómo MVC permite una mejor prueba unitaria y reutilización de código en comparación con el enfoque tradicional de ASP.NET con code-behind. A lo largo de 5 laboratorios, muestra cómo crear una aplicación MVC básica, pasar datos entre controladores y vistas, usar modelos, crear formul
Este documento proporciona instrucciones paso a paso para conectar bases de datos de Access 2003, SQL Server 2008 y MySQL a un programa Visual Basic 6.0. Describe los pasos para importar las librerías necesarias, crear la conexión, abrir la base de datos y programar la interfaz gráfica para interactuar con los datos.
Este documento presenta un resumen del Tratado de los principios de Orígenes. En 3 oraciones:
El tratado explora temas teológicos fundamentales como Dios, Cristo, el Espíritu Santo, el alma, los ángeles y la creación. Aborda cuestiones como la naturaleza de Dios, la preexistencia de Cristo, la libertad y el determinismo, y la consumación final. El documento proporciona un índice de los capítulos del tratado que cubren estas cuestiones teológicas.
Este documento presenta un tutorial introductorio sobre Python. Explica brevemente qué es Python, por qué es un lenguaje popular, cómo instalarlo e incluye un ejemplo de "Hola Mundo". Luego procede a explicar conceptos básicos de Python como tipos de datos, control de flujo, orientación a objetos y más temas avanzados. El documento parece estar dirigido a principiantes con el objetivo de enseñar los fundamentos del lenguaje Python de una manera simple y didáctica.
El documento describe cómo crear un servicio web SOAP en Java utilizando NetBeans. Explica los pasos para crear un nuevo proyecto de aplicación web, agregar un servicio web que incluya una operación para devolver un saludo, implementar el código Java subyacente, probar el servicio web y observar que NetBeans genera automáticamente el archivo WSDL.
Este documento presenta un manual sobre cómo conectar una aplicación Java con Swing a una base de datos MySQL. Explica cómo realizar las operaciones básicas como conexión, inserción, actualización, eliminación y consulta de datos. Primero muestra cómo hacerlo directamente desde la consola de Java y luego cómo crear una interfaz gráfica con Swing para hacer lo mismo de forma más amigable para el usuario.
Este manual describe los procedimientos para comunicar el software LabVIEW 2012 con un PLC S7-1200. Primero se configura la conectividad de red entre la PC y el PLC. Luego se crean canales, dispositivos y variables en NI OPC Server Configuration para establecer la comunicación. Después se genera un proyecto en LabVIEW que incluye una estructura While Loop con controles y visualizadores vinculados a las variables creadas. Finalmente, se prueba la interacción entre LabVIEW y el PLC a través de las entradas y salidas configuradas.
El documento describe cómo conectar una base de datos MySQL a una aplicación Java. Se explica la creación de una clase ConexionDB que establece la conexión y devuelve un objeto Connection. También se muestra el código de una clase Main que llama al método GetConnection de ConexionDB para comprobar que la conexión se realiza correctamente. Finalmente, se detallan los pasos para probar la conexión en NetBeans.
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para DesarrolladoresIvan Luis Jimenez
Este documento describe los pasos para configurar el ambiente de desarrollo para un proyecto web llamado CompuShop. Incluye definir el proyecto en Eclipse, crear una página HTML, configurar preferencias de código, agregar paquetes, y probar la aplicación en un servidor Apache Tomcat. El objetivo del proyecto es crear una tienda en línea para vender artículos de computación.
El documento habla sobre seguridad en aplicaciones web y realización de prácticas de SQL Injection. Explica cómo usar una imagen virtual con aplicaciones vulnerables y herramientas de pentesting como Burp Suite, sqlmap y webScarab. Luego detalla algunas prácticas de SQLi en Webgoat donde se muestra cómo explotar inyecciones y cómo prevenirlas usando consultas parametrizadas.
Cómo consumir un web service SOAP usando jsp sobre un servidor web GlasFish. El ejemplo es un servicio que genera la CURP (DNI) de una persona y un formulario web cliente que lo consume.
Este documento describe cómo crear applets interactivos con GeoGebra mediante el uso de JavaScript. Explica brevemente HTML y JavaScript, y cómo usar formularios, campos de texto y botones para recibir datos del usuario e interactuar con un applet de GeoGebra, enviando comandos como dibujar puntos o polígonos. Finalmente, da un ejemplo de cómo dibujar un punto en GeoGebra después de que el usuario introduzca sus coordenadas a través de un formulario.
Este documento describe cómo usar LINQ to SQL para consultar una base de datos relacional. Explica cómo crear un modelo de datos con LINQ to SQL y cómo usar expresiones LINQ para obtener, filtrar y paginar datos de la base de datos. También muestra cómo enlazar los resultados de las consultas LINQ a controles ASP.NET para mostrar los datos en una aplicación web.
Este documento proporciona instrucciones para conectar Visual Basic 6 a diferentes bases de datos, incluyendo Microsoft Access, Microsoft SQL Server y MySQL. Explica cómo declarar objetos, generar cadenas de conexión y ejecutar consultas SQL. También incluye código de ejemplo para establecer conexiones y realizar operaciones básicas en cada tipo de base de datos.
Este documento describe cómo conectar una base de datos de Access y SQL Server a un programa de Visual Basic 6.0, incluyendo los pasos para configurar la cadena de conexión, seleccionar la base de datos, y agregar el código para realizar operaciones básicas como agregar, editar y eliminar registros. También explica cómo crear una aplicación en Visual Studio .NET para conectarse a una base de datos MySQL e incluye un ejemplo básico de código para establecer la conexión.
El documento habla sobre los servicios web y cómo crearlos en diferentes lenguajes como Java, Perl y PHP. Explica que un servicio web permite el intercambio de datos entre aplicaciones a través de protocolos estandarizados. También menciona cómo crear servicios web sencillos en estos lenguajes de programación así como las diferencias entre las arquitecturas SOAP/WSDL y REST.
El documento habla sobre los servicios web y cómo crearlos en diferentes lenguajes como Java, Perl y PHP. Explica que un servicio web permite el intercambio de datos entre aplicaciones a través de protocolos estandarizados. También menciona cómo crear servicios web sencillos en estos lenguajes para realizar operaciones matemáticas o recuperar datos de una base de datos.
Work para explicar la creación de una App Rails:
* Creando la aplicación Rails
* Utilizando el Scaffold
* Migrando la base de datos
* Agregando validaciones
* Agregando relaciones entre los modelos
* Utilizando Nested Routes
* Utilizando View Helpers
* Agregando AJAX
Este documento describe los pasos para integrar Apache y Tomcat mediante el módulo JK. Se instala y configura el módulo JK, se modifican los archivos de configuración server.xml, workers.properties y jk.conf, y se reinician Apache y Tomcat para que funcionen conjuntamente.
Este documento presenta una guía de 7 días para aprender ASP.NET MVC mediante la creación de laboratorios prácticos. Explica conceptos clave como el uso de controladores y vistas para separar la lógica de presentación, y cómo MVC permite una mejor prueba unitaria y reutilización de código en comparación con el enfoque tradicional de ASP.NET con code-behind. A lo largo de 5 laboratorios, muestra cómo crear una aplicación MVC básica, pasar datos entre controladores y vistas, usar modelos, crear formul
Este documento proporciona instrucciones paso a paso para conectar bases de datos de Access 2003, SQL Server 2008 y MySQL a un programa Visual Basic 6.0. Describe los pasos para importar las librerías necesarias, crear la conexión, abrir la base de datos y programar la interfaz gráfica para interactuar con los datos.
Este documento presenta un resumen del Tratado de los principios de Orígenes. En 3 oraciones:
El tratado explora temas teológicos fundamentales como Dios, Cristo, el Espíritu Santo, el alma, los ángeles y la creación. Aborda cuestiones como la naturaleza de Dios, la preexistencia de Cristo, la libertad y el determinismo, y la consumación final. El documento proporciona un índice de los capítulos del tratado que cubren estas cuestiones teológicas.
Este documento presenta un tutorial introductorio sobre Python. Explica brevemente qué es Python, por qué es un lenguaje popular, cómo instalarlo e incluye un ejemplo de "Hola Mundo". Luego procede a explicar conceptos básicos de Python como tipos de datos, control de flujo, orientación a objetos y más temas avanzados. El documento parece estar dirigido a principiantes con el objetivo de enseñar los fundamentos del lenguaje Python de una manera simple y didáctica.
Lista de precios VERANO 1 2020 CCTV ORO Y MSRP.pdfcharles requena
Este documento presenta una lista de precios de cámaras de vigilancia, grabadoras de video y accesorios de seguridad de las marcas EZVIZ y Hikvision. Incluye especificaciones técnicas, características y precios en dólares de diferentes modelos de cámaras IP, domos, NVR y accesorios como detectores de movimiento, controles remotos y memorias. Los precios son válidos desde el 17 de enero hasta el 29 de febrero de 2020 o hasta agotar stock.
Este documento es una cotización de un sistema de video vigilancia de 8 cámaras HD 1080p con un DVR de 8 canales. Incluye cámaras domo y tubo, un disco duro de 2TB, cargadores, transmisores, instalación y 1 año de mantenimiento y garantía. El costo total es S/2800. Advierten sobre empresas que ofrecen precios bajos pero con equipos de mala calidad y sin servicio técnico.
La carta solicita la apertura de una cuenta corriente en el Banco de la Nación, adjuntando los documentos requeridos como el DNI, copia del RUC actualizado y registro de firma de la persona autorizada para el manejo de la cuenta. También autoriza al banco a entregar la información a SUNAT cuando lo requiera y declara que los datos proporcionados son correctos.
El comunicado informa a los padres que las evaluaciones escritas de matemáticas y comunicación se llevarán a cabo el 1 y 2 de diciembre, respectivamente, e incluirán tópicos como números, vocales y rimas. También recuerda a los padres el pago de la mensualidad de noviembre.
El documento argumenta que la sociedad actual se preocupa demasiado por cosas materiales y ha olvidado los valores espirituales y familiares, sin creer en un Dios vivo y en Jesús que murió por nuestros pecados. Insta a los lectores a creer en Jesús como su salvador, permitir que entre en su corazón y dejar que el Espíritu de Dios more en ellos, porque Dios está vivo y quiere perdonarlos y hacerlos nuevas personas.
Este documento presenta un resumen de una encuesta realizada a 10 estudiantes de la Universidad ULADECH sobre temas relacionados a la ética ambiental y la contaminación. Se incluyen preguntas sobre las acciones humanas y contaminación, el botar basura en la calle, los lugares más contaminados, campañas comunitarias y actividades efectivas para contrarrestar la contaminación. Los resultados muestran que la mayoría piensa que todas las acciones generan contaminación y que botar basura en la calle no es ético, y que actividades como charlas y si
El documento presenta una introducción a los derechos humanos y su evolución histórica. Explica que los derechos humanos son inherentes a la persona humana y surgen de la naturaleza del hombre. Detalla la evolución histórica de los derechos humanos desde las antiguas civilizaciones hasta la actualidad, incluyendo documentos como la Declaración de Derechos del Hombre y del Ciudadano de 1789. Finalmente, señala que existen distintas acepciones para referirse a los derechos humanos como derechos del hombre, dere
El documento presenta una introducción y seis capítulos sobre la teoría de los derechos humanos. El capítulo 1 habla sobre qué son los derechos humanos y la evolución histórica desde el siglo XVIII. El capítulo 2 cubre las distintas acepciones de los derechos humanos y su fundamento universal. Los capítulos 3 y 4 analizan la filosofía, ciencia e internacionalización de los derechos humanos. El capítulo 5 trata las vías tutelares y fuentes de los derechos. Finalmente, el capítulo 6
El documento presenta una introducción a los derechos humanos y su evolución histórica. Explica que los derechos humanos son inherentes a la persona humana y surgen de la naturaleza del hombre. Detalla la evolución histórica de los derechos humanos desde las antiguas civilizaciones hasta la actualidad, incluyendo documentos como la Declaración de Derechos del Hombre y del Ciudadano de 1789. Finalmente, señala que existen distintas acepciones para referirse a los derechos humanos como derechos del hombre, dere
Este documento presenta una unidad didáctica sobre ecuaciones de primer y segundo grado. La unidad contiene objetivos, contenidos, actividades y una temporalización en 9 sesiones. Los contenidos incluyen conceptos como incógnita y ecuación, así como procedimientos para resolver ecuaciones de primer y segundo grado. Las actividades están diseñadas para que los estudiantes practiquen y apliquen los conceptos.
Business Plan -rAIces - Agro Business Techjohnyamg20
Innovación y transparencia se unen en un nuevo modelo de negocio para transformar la economia popular agraria en una agroindustria. Facilitamos el acceso a recursos crediticios, mejoramos la calidad de los productos y cultivamos un futuro agrícola eficiente y sostenible con tecnología inteligente.
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxOsiris Urbano
Evaluación de principales hallazgos de la Historia Clínica utiles en la orientación diagnóstica de Hemorragia Digestiva en el abordaje inicial del paciente.
En la ciudad de Pasto, estamos revolucionando el acceso a microcréditos y la formalización de microempresarios informales con nuestra aplicación CrediAvanza. Nuestro objetivo es empoderar a los emprendedores locales proporcionándoles una plataforma integral que facilite el acceso a servicios financieros y asesoría profesional.
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMJuan Martín Martín
Examen de Selectividad de la EvAU de Geografía de junio de 2023 en Castilla La Mancha. UCLM . (Convocatoria ordinaria)
Más información en el Blog de Geografía de Juan Martín Martín
http://blogdegeografiadejuan.blogspot.com/
Este documento presenta un examen de geografía para el Acceso a la universidad (EVAU). Consta de cuatro secciones. La primera sección ofrece tres ejercicios prácticos sobre paisajes, mapas o hábitats. La segunda sección contiene preguntas teóricas sobre unidades de relieve, transporte o demografía. La tercera sección pide definir conceptos geográficos. La cuarta sección implica identificar elementos geográficos en un mapa. El examen evalúa conocimientos fundamentales de geografía.
José Luis Jiménez Rodríguez
Junio 2024.
“La pedagogía es la metodología de la educación. Constituye una problemática de medios y fines, y en esa problemática estudia las situaciones educativas, las selecciona y luego organiza y asegura su explotación situacional”. Louis Not. 1993.
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...JAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA crea y desarrolla el “DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARIS”. Esta actividad de aprendizaje propone el reto de descubrir el la secuencia números para abrir un candado, el cual destaca la percepción geométrica y conceptual. La intención de esta actividad de aprendizaje lúdico es, promover los pensamientos lógico (convergente) y creativo (divergente o lateral), mediante modelos mentales de: atención, memoria, imaginación, percepción (Geométrica y conceptual), perspicacia, inferencia y viso-espacialidad. Didácticamente, ésta actividad de aprendizaje es transversal, y que integra áreas del conocimiento: matemático, Lenguaje, artístico y las neurociencias. Acertijo dedicado a los Juegos Olímpicos de París 2024.
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
cursoTutorialBPEL.pdf
1. Web 2.0: Arquitectura Orientada a Servicios en Java
Tutorial
de BPEL
Pablo García Sánchez
pgarcia@atc.ugr.es
Curso: Web 2.0. Arquitectura Orientada a Servicios en Java
Escuela de Posgrado
Febrero/Marzo de 2010
Pablo García Sánchez – Febrero/Marzo de 2010 1
2. Web 2.0: Arquitectura Orientada a Servicios en Java
Introducción:
En este documento vamos a explicar pasito a pasito cómo crear un proceso BPEL simplón.
El resumen de los pasos sería:
1) Crear proceso BPEL
2) Crear Composite Application y meterle dentro el proceso
3) Desplegar y Testear
URLs de servicios a atacar:
http://evorq.ugr.es:8080/evorqServices/ejemploServiceService?wsdl
http://evorq.ugr.es:8080/evorqLogin/loginServiceService?wsdl
Ejemplos a realizar:
1) SynchronousSample
2) Ejemplo del tutorial (el que dice “Hola”)
3) Ejemplo avanzado del tutorial (llama a los WS de la primera URL)
4) Ejercicio: cambiar el if por un flow y arreglar lo que pasa
5) Ejercicio: llamar a la operación getTicket de la segunda URL con datos correctos o
incorrectos. Añadir manejador de faltas.
6) Llamar a la operación diHora con el ticket obtenido.
1. Crear Proceso BPEL
1) Crear Nuevo Proyecto:
Simplemente vamos a New Project, elegimos SOA y luego BPEL Module.
Pablo García Sánchez – Febrero/Marzo de 2010 2
3. Web 2.0: Arquitectura Orientada a Servicios en Java
2) Crear WSDL
En el proyecto recién creado pulsamos en el menú contextual New->WSDL Document,
apareciendo el siguiente asistente:
Elegimos un nombre para el WSDL y el target namespace (el que sale automático está bien, lo
importante es que no se repita en otros proyectos para que no se líe la cosa).
Creamos una operación de nombre “hablarme” con un string y booleano de parámetros de entrada y
un string de salida, como vemos en la siguiente imagen:
Pablo García Sánchez – Febrero/Marzo de 2010 3
4. Web 2.0: Arquitectura Orientada a Servicios en Java
En la siguiente ventana dejamos todo como está (ya depende el tema del proyecto en el que estemos
trabajando!).
Podemos ver el resultado de nuestro WSDL recién generado, que tendrá esta pinta más o menos:
2) Crear proceso BPEL
Al igual que al crear el WSDL anterior seleccionamos en este caso New-> BPEL Process como
se ve en la siguiente imagen:
Pablo García Sánchez – Febrero/Marzo de 2010 4
5. Web 2.0: Arquitectura Orientada a Servicios en Java
Ahora:
1) Arrastramos el WSDL anterior a la izquierda del proceso BPEL, será el WSDL que
describe al proceso.
2) Arrastramos las actividades Receive y Reply al proceso. Serán la entrada y salida del
mismo.
Unimos las actividades Assign y Reply a la operación WSDL que habíamos creado antes arrastrando
los sobrecillos:
Pablo García Sánchez – Febrero/Marzo de 2010 5
6. Web 2.0: Arquitectura Orientada a Servicios en Java
Como podemos ver, sigue dando errores (los receives y replies necesitan variables que recibir o
enviar, claro). Hacemos doble clic en cada uno de ellos y le damos a “Create”:
Como puede verse la nomenclatura por defecto es OperacionIn u OperacionOut. Es recomendable
seguirla. Hay que hacer lo mismo en el reply, ojo!
Ahora tenemos que hacer algo con las variables que hemos creado, que si no menuda gracia tendría
BPEL. Por ejemplo vamos a probar la actividad Assign, arrastrándola al proceso.
Pablo García Sánchez – Febrero/Marzo de 2010 6
7. Web 2.0: Arquitectura Orientada a Servicios en Java
En este instante uno empieza a darse cuenta de que las aspas rojas son errores, por lo que tenemos
que deshacernos de ellas. Así hacemos doble clic en la actividad “Assign” para hacer la asignación,
apareciendo la siguiente ventana: El mapeador (mapper).
Vamos a añadir un “Hola” a la variable que recibamos de entrada y devolver la cadena resultante.
Para ello seguimos los siguientes pasos:
1) Crear una operación Concat del menú String (como muestra la imagen siguiente).
2) De ese menú creamos un String Literal con la palabra “Hola”.
3) Arrastrar la flecha del “Hola” al primer hueco del Concat y la parte “quien” de la variable
HablarmeIn a la segunda parte del Concat (el resto de huecos se pueden rellenar con más
strings si quisieramos).
4) Arrastramos la salida a la parte “respuesta” de la variable “HablarmeOut”
Pablo García Sánchez – Febrero/Marzo de 2010 7
8. Web 2.0: Arquitectura Orientada a Servicios en Java
OJO! Antes de nada tenemos que fijarnos que la variable que queremos asignar tiene que estar
seleccionada (en este caso es “respuesta”).
Y listo, tenemos un proceso BPEL que implementa una operación de un WSDL recibe un String y
un Booleano y devuelve “Hola”+String. No es muy impresionante pero por algo se empieza.
2) Crear Composite Application
Como hemos visto anteriormente en el curso JBI se basa en las Composite Applications para
desplegar componentes en Glassfish, así que tenemos que crear una para poder desplegarla en
nuestro servidor.
Vamos a New->Project->SOA->Composite Application y la llamamos en un alarde de
originalidad PruebaBPELcomposite.
Después añadimos el proceso BPEL con “Add JBI Module”:
Y seleccionamos nuestro proceso:
A continuación hacemos “Clean and Build” en el menú contextual del proyecto y la aplicación se
Pablo García Sánchez – Febrero/Marzo de 2010 8
9. Web 2.0: Arquitectura Orientada a Servicios en Java
refrescará:
3) Desplegar y testear la aplicación
Dentro de la carpeta “Test” añadimos un nuevo Test Case.
Seleccionamos el WSDL (el único que hay, claro):
Y seleccionamos la operación (la única que hay, claro):
Pablo García Sánchez – Febrero/Marzo de 2010 9
10. Web 2.0: Arquitectura Orientada a Servicios en Java
Se nos ha creado el test con un Input.xml y un Output.xml. El primero es la llamada SOAP al
WSDL y el segundo está vacío. Un test se considera correcto si la salida del test coincide con el
fichero Output.xml. Como está vacío, aunque la cosa funcione no van a ser iguales, por lo que el
test fallará a propósito.
Tras rellenar las partes del Input.xml que queremos enviar ejecutamos el test con el comando Run:
Si no se ha hecho antes la aplicación se desplegará en Glassfish y tras un rato hará la llamada SOAP
al servicio del WSDL del BPEL.
Como hemos dicho la primera vez que hagamos tests NetBeans nos indicará que se está
comparando con un Output.xml vacío, así que nos propone que el que acabamos de recibir sea el
Pablo García Sánchez – Febrero/Marzo de 2010 10
11. Web 2.0: Arquitectura Orientada a Servicios en Java
bueno. Le decimos que sí, que vale.
Para ver el resultado de los tests hacemos doble clic en el sobre que los representa. Vemos que la
cosa ha ido bien (obviando que no he puesto un espacio al lado del “Hola” de la asignación anterior,
y que por eso no queda tan elegante la respuesta).
Gestión de la Composite Application
Hemos dicho que se ha desplegado la aplicación en Glassfish y que hemos llamado a un WS a una
dirección que no sabemos aún. ¿Cómo podemos quitar la aplicación de Glassfish y saber más cosas
sobre ella?
Simplemente nos vamos a la pestaña Services (al lado de la de Projects). Vemos que el servidor
GlassFish está arrancado (tiene un play al lado del pescao). Si desplegamos el nodo JBI podemos
ver los Services Engines que tenemos instalados (en este caso el de BPEL y el de JavaEE, pero
podemos añadir muchos más) y que tenemos desplegada una Composite Application llamada
PruebaBPELcomposite. ¡La nuestra!
Pablo García Sánchez – Febrero/Marzo de 2010 11
12. Web 2.0: Arquitectura Orientada a Servicios en Java
Vemos que tenemos un Binding Component para comunicarse por HTTP (podríamos instalar otro
para SMTP, JMS o incluso Bluetooth si quisieramos desarrollarlo!), pero vamos a ver su
información para ver cómo podemos llamar a los servicios web JBI de Glassfish.
Vemos que el puerto SOAP que usa es el 9148, así que ya sabemos donde mirar. Comprobamos la
url del servicio en el propio archivo WSDL del proyecto:
Pablo García Sánchez – Febrero/Marzo de 2010 12
13. Web 2.0: Arquitectura Orientada a Servicios en Java
<service name="EjemploBPELService">
<port name="EjemploBPELPort" binding="tns:EjemploBPELBinding">
<soap:address location="http://localhost:$
{HttpDefaultPort}/EjemploBPELService/EjemploBPELPort"/>
</port>
</service>
Y sustituimos el puerto por el que hemos visto en la imagen anterior, el 9148.
Pablo García Sánchez – Febrero/Marzo de 2010 13
14. Web 2.0: Arquitectura Orientada a Servicios en Java
Fíjate como actualiza automáticamente la location del servicio con mi IP (150.214.221.124:9148)
Pablo García Sánchez – Febrero/Marzo de 2010 14
15. Web 2.0: Arquitectura Orientada a Servicios en Java
Podemos testearlo con SoapUI utilizando este WSDL:
También funciona!
SEGUNDA PARTE: Orquestando Servicios
Bueno, pero la gracia de BPEL es orquestar servicios, ¿no? Vamos a añadirle por tanto alguna
funcionalidad interesante a nuestra aplicación.
Añadimos un WSDL externo con los servicios que vamos a utilizar, desde New File->External
WSDL Document:
Ahora arrastramos el WSDL desde el proyecto a la parte derecha del proceso. Ya podemos ver las
operaciones a las que el BPEL puede llamar.
Vamos a probar también a llamar a una de las dos operaciones dependiendo del booleano de la
entrada, así que añadimos un if arrastrándolo:
Pablo García Sánchez – Febrero/Marzo de 2010 15
16. Web 2.0: Arquitectura Orientada a Servicios en Java
Y asignamos la variable de entrada del if a la condición en el mapper que se muestra al hacer doble
clic en él:
Después añadimos los invokes:
Pablo García Sánchez – Febrero/Marzo de 2010 16
Arrastrar el
WSDL
recién
creado
Arrastrar el
IF
17. Web 2.0: Arquitectura Orientada a Servicios en Java
Y los unimos con las operaciones con los sobrecillos, creando las variables:
Pablo García Sánchez – Febrero/Marzo de 2010 17
18. Web 2.0: Arquitectura Orientada a Servicios en Java
Añadimos assigns antes y después de los invokes
Y en cada uno de ellos metemos el nombre del HablarmeIn en la parte que corresponda:
Para decir Hola:
Pablo García Sánchez – Febrero/Marzo de 2010 18
19. Web 2.0: Arquitectura Orientada a Servicios en Java
Para decir adios.
Y luego en los otros assigns la salida:
Pablo García Sánchez – Febrero/Marzo de 2010 19
20. Web 2.0: Arquitectura Orientada a Servicios en Java
Hacemos lo mismo con la operación diAdios:
Y listo, podemos volver a ejecutar tests pasándole un booleano para que nos diga “Hola” o “Adios”.
No es muy impresionante pero para empezar no está mal.
Nota: ¿Os dice siempre “Hola”? Eso es que el flujo tiene algo mal que no habéis quitado... mirad el
recorrido que hace el proceso BPEL, a ver si hay algo que sobra...
Ah! Los ejemplos resueltos están en http://evorq.ugr.es/cursows/bpel/
Pablo García Sánchez – Febrero/Marzo de 2010 20
21. Web 2.0: Arquitectura Orientada a Servicios en Java
Ejercicio: Servicio Web de Ticket
En este ejercicio vamos utilizar gestión de tickets. El uso de tickets sirve para centralizar el acceso a
servicios web que requieran autentificación: en vez de usar usuario y contraseña en cada operación
segura utilizamos un ticket autogenerado por el sistema.
Vamos a crear un nuevo proyecto. El WSDL de entrada del proceso BPEL tendrá una operación con
dos strings de entrada (ususario/contraseña) y uno de salida que devuelve la hora.
El WSDL a llamar está en http://evorq.ugr.es:8080/evorqLogin/loginServiceService?wsdl
Hay que llamar primero a la operación “getTicket” que devuelve un ticket que será utilizado en la
operación “diHora”.
El proceso tiene que quedar así:
Comprobar que funciona con el usuario batman y la contraseña joker. Comprobad qué pasa si
metemos algún parámetro mal. Utilizar el manejador de faltas para corregir el error: añadir un
scope, pulsar en él, añadir el fault handler, añadir un catch all, y asignar un error al reply.
Pablo García Sánchez – Febrero/Marzo de 2010 21
22. Web 2.0: Arquitectura Orientada a Servicios en Java
Pablo García Sánchez – Febrero/Marzo de 2010 22