option
Cuestiones
ayuda
daypo
buscar.php

IA UDC FIC

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
IA UDC FIC

Descripción:
Test para preparación de examen de integración de aplicaciones

Fecha de Creación: 2024/01/07

Categoría: Universidad

Número Preguntas: 68

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

Indique cuál es el propósito de la integración a nivel de platafoma de la arquitectura de integración propuesta en la asignatura: Pemite añadir aspectos de seguidad a sevicios existentes. Pemite independizar a las aplicaciones de la lógica de combinación de datos, proporcionando una API única de acceso a datos. Pemite independizar a las aplicaciones de las heterogeneidades de fomato y esquema presentes en los datos de diferentes fuentes de infomación. Pemite independizar a las aplicaciones de la máquina en la que se ejecutan, el sistema operativo concreto de dicha máquina y del lenguaje de programación en el que han sido implementadas.

Indique para cuáles de los siguientes tipos Java y fomatos, la especificación de JAXRS 2.0 establece que cualquier implementación debe proporcionar sopote de MessageBodyReader y MessageBodyWiter Entity Providers): Cualquier clase Java para el fomato XML. Clases JAXB para el fomato XML. Cualquier clase Java para los fomatos XML y JSON. Clases JAXB para los fomatos XML y JSON.

¿Para que siven entonces los Entity Provider?. Para responder a las peticiones realizadas sobre el recurso. Para convetir entre un tipo Java y XML. Para convetir entre un tipo Java y JSON. Para convetir entre un tipo Java y un fomato de representación concreto.

De que se encarga MessageBodyReader?. De mapear el cuerpo de las peticiones a los parámetros de entrada de los métodos de las clases recurso. De ver que métodos tienen especificado un tipo concreto en el Consumes. De ver que métodos tienen especificado un tipo concreto en el Produces. De mapear los valores devueltos por los métodos de las clases recurso al cuerpo de las respuestas. De mapear el cuerpo de las peticiones a los parámetros de entrada de los métodos de las clases recurso y luego mapear lo devuelto por estos al cuerpo de las respuestas.

Es necesaio crear un flujo BPEL para coordinar la invocación a diferentes patner remotos, p1, p2 y p3, de tal modo que la invocación a p1 se realice en paralelo a las invocaciones a p2 y p3 (p3 debe ejecutarse después de p2, lo antes posible). Indique la foma corecta de modelarlo teniendo en cuenta que tiene que poder ejecutarse en la heramienta OpenESB. Utilizar links y actividades invoke (no es necesaio usar la actividad flow). Utilizar la actividad flow para ejecutar en paralelo una actividad invoke sobre p1 y una actividad sequence que agupe dos actividades invoke sobre p2 y p3. Utilizar una actividad pick con links para indicar las dependencias entre las diferentes actividades invoke. Utilizar la actividad flow con links para indicar las dependencias entre las diferentes actividad invoke.

Dado el siguiente fragmento de código, corespondiente a la clase BookResource, que representa a un recurso colección de libros: Path("/books") public class BooksResource { PUT Consumes(MediaType.APPLICATION_XML Path("/{id : \\d+}") public void updateBook(Book book, PathParam(id") long id) throws InputValidationException, InstanceNotFoundException { .... } .... } Indique cual de las siguientes afimaciones es corecta: Cuando se recibe una petición PUT sobre el URL "/books/abc" se devuelve un eror 400. El método updateBook es invocado cuando se recibe cualquier tipo de peticion sobre el URL "/books"1". Cuando se recibe una petición PUT sobre el URL "/books/abc" se devuelve un eror 404. El método updateBook es invocado cuando se recibe una petición PUT sobre el URL "/books/abc".

Dado el siguiente fragmento de código, corespondiente a la clase BookResource, que representa a un recurso colección de libros, y suponiendo que NO utilizamos JAXB para seializar/deseializar objetos Java a/desde XML Path("/books") public class BooksResource { Produces(MediaType.APPLICATION_XML public Book findBookById(PathParam(id") long id) throws InstanceNotFoundException { .... } .... } Y teniendo en cuenta que únicamente se implementa en la capa de sevicios la operación findBookById del sevicio web REST; indique cuál de las siguientes afimaciones es corecta: Es necesaio proporcionar un provider que implemente MessageBodyWiter<Book> y otro que implemente MessageBodyReader<Book>. Únicamente es necesaio proporcionar un provider que implemente ExceptionMapper<InstanceNotFoundException>. Es necesaio proporcionar un provider que implemente MessageBodyWiter<Book> y otro que implemente ExceptionMapper<InstanceNotFoundException>. Es necesaio proporcionar un provider que implemente MessageBodyReader<Book> y otro que implemente ExceptionMapper<InstanceNotFoundException>.

En base a lo estudiado a lo largo de la asignatura, un proceso de negocio: No pemite la realización de esperas asíncronas para la recepción de mensajes. No pemite la ejecución paralela de tareas o actividades. Se divide en una seie de tareas o actividades individuales que se realizan en un orden no definido. Puede modelarse como un flujo, especificando cómo deben de colaborar entre sí las diferentes entidades paticipantes.

. ¿Qué es un proceso de negocio? (escoge la más adecuada). Es cualquier procedimiento que sigue una organización para realizar una tarea. Suele involucrar la interacción entre múltiples aplicaciones preexistentes. Se divide en una seie de tareas o actividades individuales que se realizan en un orden específico. Es cualquier procedimiento que sigue una organización para realizar una tarea. Suele involucrar la interacción entre múltiples aplicaciones preexistentes. Se divide en una seie de tareas o actividades individuales que se realizan en un orden específico. Puede modelarse como un flujo (workflow). Es cualquier procedimiento que sigue una organización para realizar una tarea. Suele involucrar la interacción entre múltiples aplicaciones preexistentes. Puede modelarse como un flujo (workflow). Es cualquier procedimiento que sigue una organización para realizar una tarea. Puede modelarse como un flujo (workflow). Es cualquier procedimiento que sigue una organización para realizar una tarea. Suele involucrar la interacción entre múltiples aplicaciones preexistentes. Desacopla los detalles de interacción. Se divide en una seie de tareas o actividades individuales que se realizan en un orden específico. Puede modelarse como un flujo (workflow).

En el contexto de JAXRS, las clases recurso: Tienen que implementar diferentes intefaces en función de las representaciones que devuelvan como resultado. Son POJOs y deben tener un constuctor público que el entono de ejecución de JAXRS sea capaz de utilizar para instanciar la clase (e.g. constuctor sin argumentos). Deben anotarse con Resource para indicar que es una clase recurso. Tienen métodos pivados decorados con la anotación petinente GET, POST, etc) para responder a las diferentes peticiones realizadas sobre el recurso.

Supóngase una clase BookResource que representa a un recurso colección de libros, a la que se quiere añadir una operación changeStatus que nos pemita cambiar el estado de un libro (los estados podían ser, p.ej., "disponible", "agotado", etc.). Indique cuál de las siguientes altenativas seía corecta siguiendo las recomendaciones para recursos colección/individual vistas en clase: POST Path("/changeStatus/{id}") public void changeStatus(PathParam("id") Sting bookId, QueyParam("newStatus") Sting newStatus) throws ...{...}. POST Path("/{id}/changeStatus") public void changeStatus(PathParam("id") Sting bookId, FomParam("newStatus") Sting newStatus) throws ...{...}. POST Path("/{id}/{newStatus}") public void changeStatus(PathParam("id") Sting bookId, FomParam("newStatus") Sting newStatus) throws ...{...}. POST Path("/{newStatus}/{id}") public void changeStatus(PathParam("id") Sting bookId, QueyParam("newStatus") Sting newStatus) throws ...{...}.

Dado el siguiente fragmento de código, indique cuál de las siguientes afimaciones es corecta: <patnerLinks> <patnerLink name="moviesProvide" patnerLinkType="moviens:moviesProviderLinkType" patnerRole="moviesProviderRole"/> </patnerLinks>. Define un enlace de socio de nombre moviesProviderLinkType, dentro de un fichero de definición de WSBPEL, como una instancia del tipo de enlace de socio moviesProvider. Define un tipo de enlace de socio de nombre moviesProviderLinkType, dentro de un fichero WSDL. Define un enlace de socio de nombre moviesProvider, dentro de un fichero de definición de WSBPEL, como una instancia del tipo de enlace de socio moviesProviderLinkType. Define un enlace de socio de nombre moviesProvider, dentro de un fichero WSDL, como una instancia del tipo de enlace de socio moviesProviderLinkType.

Considérese el proceso de negocio BPEL de su práctica. Indique el elemento BPEL adecuado para implementar la funcionalidad de obtener el estado de ejecución de un flujo que procesa un pedido: Actividad receive. Actividad pick. Manejador de eventos. Actividad invoke.

Indique cuál de las siguientes afimaciones es corecta, refeidas a la versión 2.0 de JAXRS y 2.x de Jersey (las utilizadas en la práctica de la asignatura). Jersey es la implementación de referencia de JAXRS, pero no proporciona ninguna API para implementar la pate sevidora de sevicios web REST. Jersey es la implementación de referencia de JAXRS, y además tiene una API propietaia para implementar la pate cliente de sevicios web REST (la especificación JAXRS 2.0 no define API estándar para clientes de sevicios web REST. Jersey es la implementación de referencia de JAXRS y proporciona una implementación de la API estándar de JAXRS para la constucción de la pate sevidora y la pate cliente de sevicios web REST. Jersey es la implementación de referencia de JAXRS, pero no proporciona ninguna API para implementar la pate cliente de sevicios web REST.

Supóngase una clase BookResource que representa a un recurso colección de libros, a la que se quiere añadir una operación findBooks que nos pemita obtener una lista de libros (clase BookDtoJax) con un deteminado título y autor. Además, la calse BookDtoJaxb se ha anotado con JAXB y se desea que la operación sea capaz de devolver la lista de libros que concuerdan con los citeios de búsqueda tanto en XML como en JSON. Indique cuál de las siguientes altenativas seía corecta en el contexto de JAXRS. GET Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public List<BookDtoJaxb> findBooks(FomParam("title" Sting title, FomParam("autho") Sting author) { ... }. GET Produces({ MediaType.APPLICATION_XML }) Produces({ MediaType.APPLICATION_JSON }) public List<BookDtoJaxb> findBooks(PathParam("title" Sting title, PathParam("autho") Sting author) { ... }. GET Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public List<BookDtoJaxb> findBooks(PathParam("title" Sting title, PathParam("autho") Sting author) { ... }. GET Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public List<BookDtoJaxb> findBooks(QueyParam("title" Sting title, QueyParam("autho") Sting author) { ... }.

Una de las caracteísticas de los sevicios web RESTful es la hipemedia. Indique cuál de las siguientes afimaciones es corecta: JAXRS proporciona la clase Link para incluir enlaces en las cabeceras HTTP de las respuestas, así como enlaces estucturales en las representaciones de los recursos devueltos por un sevicio. JAXRS proporciona la clase Link, solo para incluir enlaces en las cabeceras HTTP de las respuestas de un sevicio. JAXRS no proporciona ningún sopote para hipemedia en la creación de sevicios. JAXRS proporciona la clase Link, pero solo para representar enlaces estucturales en los recursos devueltos por un sevicio.

En el contexto de JAXRS y JAXB, indique cuál de las siguientes afimaciones es corecta: Si se utiliza JAXB para anotar las clases Java devueltas por un sevicio REST implementado con JAXRS, es necesaio utilizar también JAXB en la implementación de un cliente Java con JAXRS para dicho sevicio. Para que un sevicio pueda realizar las transfomaciones de objetos Java a XML de foma automática, además de anotar las clases devueltas con JAXB, es necesaio generar un esquema XML a patir de las clases Java anotadas con JAXB. En la asignatura utilizamos un plugin de JAXB para Apache Maven para generar clases Java anotadas con JAXB a patir de un esquema XML. Para implementar un cliente de JAXRS que utiliza JAXB, es necesaio indicar un fichero de bindings.

Sea un sevicio web RESTful implementado con Jersey. Indique los pasos necesaios para poder utilizar una clase provider en la aplicación. En la pate sevidora es necesaio que la clase esté accesible en el CLASSPATH, y haberla declarado en el fichero web.xml. En la pate cliente es necesaio que la clase esté accesible en el CLASSPATH, y haberla registrado explícitamente en la clase Client de JAXRS. En la pate cliente es necesaio que la clase esté accesible en el CLASSPATH, y haberla declarado en el fichero web.xml. En la pate sevidora es suficiente con que la clase esté accesible en el CLASSPATH del sevicio.

Supóngase una clase BookResource que representa a un recurso colección de libros, a la que se quiere añadir una operación findBooks que nos pemita obtener una lista de libros (clase BookDtoJaxb) con un deteminado titulo y autor. Además, la clase BookDtoJAxb se ha anotado con JAXB y se desea que la operación sea capaz de devolver la lista de libros que concuerdan con los citeios de búsqueda tanto en XML como en JSON. Indique cual de las siguientes altenativas seia corecta en el contexto de JAXRS. GET Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public List<BookDtoJaxb> findBooks(FomParam("title") Sting title, FomParam("autho") Sting author) { ... }. GET Produces({ MediaType.APPLICATION_XML }) Produces({ MediaType.APPLICATION_JSON }) public List<BookDtoJaxb> findBooks(PathParam("title") Sting title, PathParam("autho") Sting author) { ... }. GET Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public List<BookDtoJaxb> findBooks(PathParam("title") Sting title, PathParam("autho") Sting author) { ... }. GET Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public List<BookDtoJaxb> findBooks(QueyParam("title") Sting title, QueyParam("autho") Sting author) { ... }.

Los sistemas empresaiales gestionan infomación procedente de multitud de sistemas: internos y externos. internos. externos. ninguna de las otras.

¿Cuáles son las capas de la arquitectura?. Integración de platafoma, acceso e integración de datos. Integración de platafoma, acceso e integración de datos y gestión de API. Integración de platafoma, acceso e integración de datos , componentes de lógica de negocio y gestión de API. Integración de platafoma, componentes de lógica de negocio, gestión de clientes y gestión de API.

¿Cuál o cuáles son los objetivos de la capa de integración de platafoma?. Independencia de localización, hardware, SO y lenguaje de programación Comunicación de aplicaciones en diferentes máquinas. Independencia de localización, hardware, SO y lenguaje de programación. Monitoización del acceso a fuentes de datos. Independencia de localización, hardware, SO y lenguaje de programación Comunicación de aplicaciones en diferentes máquinas Monitoización del acceso a fuentes de datos.

. ¿Cuál o cuáles son los objetivos de la capa de acceso e integración de datos?. Monitoizar del acceso a fuentes de datos. Independizar las aplicaciones de los datos. Adaptar la intefaz a los potenciales consumidores.

¿Cuál o cuáles son los objetivos de la capa de componentes de lógica de negocio?. Reutilizar lógica de negocio por una o vaias aplicaciones finales. Reutilizar lógica de negocio por una o vaias aplicaciones finales. Adaptar la intefaz a los potenciales consumidores. Ninguna de las otras. Adaptar la intefaz a los potenciales consumidores.

¿Cuál o cuáles son los objetivos de la capa de Gestión de API?. Añadir aspectos transversales a los sevicios, de foma genéica, para adaptar su intefaz a los potenciales consumidores. Añadir aspectos transversales a los sevicios, de foma genéica, para adaptar su intefaz a los potenciales consumidores. Pemitir operar a nivel de la API de sevicios existentes. Adaptar la intefaz a los potenciales consumidores. Ninguna de las otras.

¿Un proceso de negocio es cualquier procedimiento que sigue una organización para realizar una tarea?. Verdadero. Falso.

Un proceso de negocio: Suele involucrar la interacción entre múltiples aplicaciones preexistentes. Podía modelarse como un flujo. Podía modelarse como un flujo, con una seie de actividades en un orden concreto. Suele involucrar la interacción entre múltiples aplicaciones preexistentes. Podía modelarse como un flujo y se divide en una seie de tareas o actividades individuales que se realizan en un orden específico. Involucra la interacción entre múltiples aplicaciones preexistentes.

Dentro de la teminología de Proceso de Negocio, un socio es : Aquel usuario o sevicio exteno que interactúa con el proceso. Aquel usuario o sevicio exteno que interactúa con el proceso. En el flujo debe existir al menos uno. Aquel que almacena los datos que un proceso de negocio utiliza. Ninguna de las otras.

La orquestación de sevicios web: Conecta sevicios web entre sí para crear procesos de negocio de alto nivel. Requiere estándares inter-organización. Conecta sevicios web entre sí para crear procesos de negocio de alto nivel. Requiere estándares inter-organización. Ninguna de las otras.

WSBPEL es un: Lenguaje de ejecución de procesos de negocio basado en XML. Diseñado para el control centralizado de la invocación de diferentes servicios Web, con cierta lógica de negocio añadida. Lenguaje de ejecución de procesos de negocio basado en JSON. Lenguaje de ejecución de procesos de negocio. Diseñado para el control centralizado de la invocación de diferentes sevicios Web, con cieta lógica de negocio añadida. Lenguaje de ejecución de procesos de negocio basado en JSON. Diseñado para el control centralizado de la invocación de diferentes sevicios Web, con cieta lógica de negocio añadida.

Generalmente, un proceso WSBPEL se compone de: Un fichero con el proceso a ejecutar (.BPEL, una seie de ficheros WSDL de apoyo (definiciones) y un fichero para la composite (.comp). Un fichero con el proceso a ejecutar (.BPEL, una seie de ficheros WSDL de apoyo (definiciones). Un fichero con el proceso a ejecutar (.WSBPEL. Un fichero con el proceso a ejecutar (.WSBPEL, una seie de ficheros WSDL de apoyo (definiciones).

Los socios se basan en: PartnerLinkType y PartnerLink. PartnerLinkType y PartnerLink, adicionalmente es necesario indicar el binding del PartnerLink, que indica el servicio web concreto que se utilizara en tiempo de ejecución. PartnerLinkType y PartnerLink, no es necesario indicar el binding del PartnerLink que indica el servicio web concreto que se utilizará en tiempo de ejecución. PartnerLinkType y PartnerLinkRole.

¿Cuál sería la opción correcta de definición de una operación con una entrada, una salida y una excepción en un proceso BPEL?. <operation name="moviesBpelSeviceOperation"> <input name="input1" message="tns:moviesBpelSeviceOperationRequest"/> <output name="output1" message="tns:moviesBpelSeviceOperationResponse"/> <fault name="fault1" message="tns:moviesBpelSeviceOperationFault"/> </operation>. <operation name="moviesBpelSeviceOperation"> <input name="input1" message="tns:moviesBpelSeviceOperationRequest"/> <output name="output1" message="tns:moviesBpelSeviceOperationResponse"/> <exception name="exception1" message="tns:moviesBpelSeviceOperationFault"/> </operation>. <definition name="moviesBpelSeviceOperation"> <input name="input1" message="tns:moviesBpelSeviceOperationRequest"/> <output name="output1" message="tns:moviesBpelSeviceOperationResponse"/> <exception name="exception1" message="tns:moviesBpelSeviceOperationFault"/> </definition>. Ninguna de las otras.

Un proceso de negocio BPEL proporciona sevicio a sus socios a través de actividades de entrada: receive y pick. receive. receive, pick y onEvent. pick y onEvent. receive y onEvent.

En un flujo con correlaciones, ¿en qué actividad iría el createInstance="yes"?. En el pimer receive. En todos los receive. En el receive que arranca el flujo, sino no tendía este atributo. Ninguna de las otras es correcta.

Se deben cachear respuestas que indiquen. Un código de error cualquiera, ya sea permanente o temporal. Un código de error temporal. Un código de error permanente. Sólo los códigos de respuesta satisfactoia.

Los códigos de error 403 y 404 son: Temporales. Permanentes. Temporal y permanente, respectivamente. Permanente y temporal, respectivamente.

Selecciona la afirmación INCORRECTA sobre un proxy: Puede reintentar transparentemente peticiones para proporcionar así tolerancia a fallos. No puede reintentar transparentemente peticiones. Necesita saber si el código de estado de la respuesta es temporal o permanente. Necesita saber si una petición es idempotente o no.

En lo referente a HATEOAS: Una aplicación web REST puede verse como el grafo de transición de estados de un autómata. Una aplicación web REST no puede verse como el grafo de transición de estados de un autómata. Una aplicación web REST diige el estado de las aplicaciones cliente mediante la inclusión de enlaces. Ninguna de las otras.

La representación de un recurso REST puede contener nuevos enlaces hacia otro recursos o controles (similares a fomulaios) para actuar sobre el recurso. Indique cuál de las siguientes afimaciones es corecta: a)El elemento link de ATOM permite representar enlaces, indicando, entre otras cosas, un nombre de relación y un URL. Los nombres de algunas relaciones están estandarizados. b) Por eficiencia, cuando una aplicación solo necesita enlaces de un recurso y no el resto de su representación, es posible incluir los enlaces en cabeceras HTTP en lugar de en el cuerpo de la respuesta de forma integrada con la representación del recurso. a) y b) son correctas. Ninguna de las anteriores.

Sea un servicio web diseñado según enfoque REST que modela un recurso individual pedido como /order/<orderId> (e.g /order/1. Indique cuál de las siguientes opciones es correcta para modelar la funcionalidad de cancelación de un pedido: a) DELETE /order/<orderId>, si la cancelación del pedido tiene como consecuencia la eliminación del pedido. b) POST /order/<orderId>/cancelation , si la cancelación del pedido no tiene como consecuencia la eliminación del mismo, sino simplemente un cambio de estado. a) y b) son correctas. Ninguna de las otras. c) POST /order/cancelation/<orderId> , si la cancelación del pedido no tiene como consecuencia la eliminación del mismo, sino simplemente un cambio de estado. a) y c) son correctas.

En el contexto de JAXRS, indique la afimación corecta: c) Los Entity providers se utilizan para realizar mapeos entre diferentes representaciones (e.g. XML, JSON y los tipos java correspondientes. b) Los Context providers se utilizan para proporcionar información de contexto a los recursos u otros providers. a) Los Exception Mapping providers se utilizan para realizar mapeos entre excepcione y respuestas. a) y b) son corectas. a), b) y c) son correctas. b) y c) son correctas. Ninguna es correcta.

En el contexto de JAXB, indique cuál de las siguientes afimaciones es correcta. a) La herramienta xjc (o el goal equivalente del plugin JAXB2 de Maven) genera un esquema XML a partir de un conjunto de clases Java. b) La herramienta schemagen (o el goal equivalente del plugin JAXB2 de Maven) genera un conjunto de clases Java a partir de un esquema XML. a) y b) son correctas. Ninguna de las anteriores.

Considere el servicio RESTful de películas utilizado como ejemplo a lo largo del curso. Indique cuáles de las siguientes representan formas válidas en JAXRS para devolver un error 404 al realizar una petición GET sobre una película que no existe: a) El método podía devolver un objeto de tipo Response, en el que indicaría 404 como código de respuesta cuando la película no existe. b) El método podía devolver un objeto de tipo Movie, y lanzaría una excepción MovieNotFoundException cuando la película no existe. Además, dicha excepción utilizaría anotaciones de JAXB para indicar el código de error 404 de la respuesta. c) El método podía devolver un objeto Movie, y lanzaía una excepción MovieNotFoundException cuando la película no existe. Además, para dicha excepción se definiría una clase ExceptionMapper para asociarle el código de error 404 de la respuesta. Tanto a) como c) son válidas. A y b) son válidas. B y c) son válidas.

JAXRS 2.0 incluye una API de intercepción- En base a los conocimientos adquiidos en clase, indique cuál de las siguientes afimaciones es corecta: a) Es posible utilizar un interceptor en la capa de implementación del sevicio JAXRS para compatir el cuerpo de todas las respuestas. b) Es posible utilizar un interceptor en la capa de acceso al sevicio JAXRS para descompimir el cuerpo de todas las respuestas. c) Un filtro de sevidor de petición de pre-matching pemite realizar cambios en la petición HTTP que influyan en el método que atenderá la petición. a), b) y c) son correctas. a) y c) son correctas.

Indique cuáles son los paticipantes en un proceso de negocio: a) Un conjunto de socios, que son los usuaios o sevicios externos que interactúan con el proceso. b) Un conjunto de actividades, que definen las tareas de negocio individuales dentro del proceso y cómo se coordinan. c) Un conjunto de variables que permiten almacenar los datos que un proceso de negocio utiliza. a), b) y c son correctas. a) y b) son correctas. Ninguna de las otras.

Sea el siguiente flujo BPEL que utiliza links para especificar dependencias entre actividades. <flow name="flow1"> <links> <link name="L1"/> <link name="L2"/> </links> <invoke name="A1"> <sources><source linkName="L1"/></sources> </invoke> <invoke name="A2"> <sources><source linkName="L2"/></sources> </invoke> <invoke name="A3"> ... </invoke> </flow> Indique la configuración corecta para la actividad A3, considerando que no puede comenzar mientras no haya terminado al menos una de las otras dos actividades: A1 o A2. <targets> <target linkName="L1"/> <target linkName="L2"/> </targets>. <targets> <joinCondition>$L1 and $L2/joinCondition> <target linkName="L1"/> <target linkName="L2"/> </targets>. <sources> <source linkName="L1"/> <source linkName="L2"/> </sources>. <sources> <source linkName="L1"/> <source linkName="L2"/> <transitionCondition>$L1 and $L2/transitionCondition> </sources>.

Sea un servicio web implementado a partir de un flujo BPEL, que juega un rol ligado al siguiente portType: <portTypename="ProductQuoteProvide"> <operationname="approve"> <input name="input1" message="approveRequest"/> <output name = "output1" message="appveResponse"/> <faultname="fault1" message="ProductQuoteException"/> </operation> </potType> Indique la actividad BPEL que es necesario utilizar para que una invocación al servicio devuelva la excepción fault1. <throw faultName="fault1" faultVariable="..."/>. rethrow faultName="fault1" faultVariable="..."/>. <reply patnerLink="..." operation="..." portType="..." faultName="fault1" variable="..."/>. a) y c) son correctas.

Considérese el proceso de negocio BPEL de su práctica, desarollado con OpenESB. El proceso BPEL envía una petición al sevicio de inventaio para determinar si es posible completar el procesamiento de un pedido. En caso de que no haya inventario suficiente, el proceso BPEL se queda a la espera de una notificación de modificación en el inventario para poder continuar. Considerando exclusivamente esta última operación, indique la afirmación correcta: Es necesario haber creado un PartnerLink "servicio" (en la pate derecha en la vista de diseño de flujo) correspondiente al proceso BPEL y utilizar una actividad receive y otra reply. Es necesario haber creado un PartnerLink "cliente" (en la pate izquierda en la vista de diseño de flujo) correspondiente al servicio web de inventario y utilizar una actividad invoke. Es necesario haber creado un PartnerLink "servicio" (en la pate derecha en la vista de diseño de flujo) correspondiente al servicio web de inventario y utilizar una actividad invoke. Es necesario haber creado un PatnerLink "cliente" (en la pate izquierda en la vista de diseño de flujo) correspondiente al proceso BPEL y utilizar una actividad receive y otra reply.

Indique cuál es el proposito de la capa de integración a nivel de plataforma de la arquitectura de integración propuesta en la asignatura: Permite independizar a las aplicaciones de las heterogeneidades de formato y esquema presentes en los datos de diferentes fuentes de información. Permite independizar a las aplicaciones de la máquina en la que se ejecutan,el sistema operativo concreto de dicha máquina y del lenguaje de programación en el que han sido implementadas. Permite independizar a las aplicaciones de la lógica de combinación de datos, proporcionando una API única de acceso a datos. Todas las anteriores.

La representación de un recurso REST puede contener nuevos enlaces hacia otro recursos o controles (similares a formularios) para actuar sobre el recurso. Indique cuál de las siguiente afirmaciones es correcta: El elemento link de ATOM permite representar enlaces, indicando, entre otras cosas, un nombre de relación y un URL. Los nombres de algunas relacones están estandarizados. Por eficiencia, cuando una aplicación solo necesita enlaces de un recurso y no el resto de su representación, es posible incluir los enlaces en cabeceras HTTP en lugar de en el cuerpo de la respuesta de forma integrada con la representación del recurso. Todas las anteriores. Ninguna de las anteriores.

Sea un servicio web diseñado según enfoque REST que modela un recurso individual pedido como /order/<orderId> (e.g /order/1). Indique cuál de las siguientes opciones es correcta para modelar la funcionalidad de cancelación de un pedido: DELETE /order/<orderId>, si la cancelación del pedido tiene como consecuencia la eliminación del pedido. )POST /order/<orderId>/cancelation , si la cancelación del pedido no tiene como consecuencia la eliminación del mismo, sino simplemente un cambio de estado. Todas las anteriores. Ninguna de las anteriores.

Indique cuál de las siguientes afirmaciones es correcta, referidas a la verisión 2.0 de JAX-RS y 2.x de Jersey (las utilizadas en la práctica de la asignatura): Jersey es la implementación de referencia de JAX-RS y por tanto proporciona una implementación de la API estandar de JAX-RS para la construcción de la parte servidora y la parte cliente de servicios REST. Jersey es la implementación de referencia de JAX-RS, y además tiene una API propietaria para implementar la parte cliente de servicios web REST (la especificación JAX-RX 2.0 no define API estandar para clientes de servicios web REST). Jersey es la implementación de referencia de JAX-RS, y por tanto no proporciona ninguna API para implementar la parte cliente de servicios web REST. Ninguna de las anteriores.

En el contexto de JAX-RS, indique la afirmación correcta: Los Entity providers se utilizan para realizar mapeos entre diferentes representaciones (e.g. XML, JSON) y los tipos java correspondientes. Los Context providers se utilizan para proporcionar información de contexto a los recursos u otros providers. Los Exception Mapping providers se utilizan para realizar mapeos entre excepcione y respuestas. Todas las anteriores.

Dado el siguiente fragmento de código, correspondiente a la clase BookResource, que representa a un recurso colección de libros, y suponiendo que NO utilizamos JAXB para serializar/deserializar objetos a/desde XML: @Path("/books") public class BooksResource { @GET @Path ("/{id : \\d+}") @Produces(MediaType.APPLICATION_XML) public Book findBookById(@PathParam("id") long id) Downloaded by Brais (braisgomez86@gmail.com) lOMoARcPSD|7755447 throws InstanceNotFoundException { ... } ... } Y teniendo en cuenta que únicamente se implementa en la capa de servicios la operación findBookById del servicio web REST, indique cu´´al de las siguientes afirmaciones es correcta: Es necesario proporcionar un provider que implemente MessageBodyReader<Book> y otro que implemente ExceptionMapper<InstanceNotFoundException>. Es necesario proporcionar un provider que implemente MessageBodyWriter<Book> y otro que implemente ExceptionMapper<InstanceNotFoundException>. Es necesario proporcionar un provider que implemente MessageBodyWriter<Book> y otro que implemente MessageBodyReader<Book>. Únicamente es necesario proporcionar un provider que implemente ExceptionMapper<InstanceNotFoundException>.

Dado el siguiente fragmento de código, correspondiente a la clase BookResource, qué representa a un recurso colección de libros: @Path("/books") public class BooksResource { @PUT @Consumes(MediaType.APPLICATION_XML) @Path ("/{id : \\d+}") public void updateBook(Book book, @PathParam("id") long id) throws Input ValidationException, InstanceNotFoundException { ... } ... } Indique cuál de las siguientes afirmaciones es correcta: a)El método updateBook es invocado cuando se recibe cualquier tipo de petición sobre el URL "/books/1". b)El método updateBook es invocado cuando se recibe una petición PUT sobre el URL "/books/abc". Cuando se recibe una petición PUT sobre el URL "/books/abc" se devuelve un error (404). a) y c) son correctas.

En el contexto de JAXB, indique cuál de las siguientes afirmaciones es correcta: La herramienta xjc (o el goal equivalente del plugin JAXB-2 de Maven) genera un esquema XML a partir de un conjunto de clases Java. La herramienta schemagen (o el goal equivalente del plugin JAXB-2 de Maven) genera un conjunto de clases Java a partir de un esquema XML. Todas las anteriores. Ninguna de las anteriores.

Dado el siguiente esquema XML: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://ws.udc.es/books/xml" xmlns:tns="http://ws.udc.es/books/xml" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="book" type="tns:bookType"/> <xs:complexType name="bookType"> <xs:sequence> <xs:element name="book-title" type="xs:string"/> <xs:element name="author" type="xs:string" minOccurs="0"/> </xs:sequence> <xs:attribute name="id" tupe="xs:long" use="required"/> </xs:complexType> </xs:schema> Y el siguiente fichero de bindings: <jxb:bindings version="1.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <jxb:bindings schemaLocation="..."> <jxb:bindings node="//xs:complexType[@name='bookType']"> <jbx:class name="MyAppBook"/> <jxb:bindings node=".//xs:element[@name='book-title']"> <jxb:property name="title"/> </jxb:bindings> </jxb:bindings> </jxb:bindings> </jxb:bindings> Indique cuá de las siguientes clases se generaría al ejecutar sobre ellos el compilador de esquemas de JAXB: @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "bookType", propOrder = ("title","author")) Downloaded by Brais (braisgomez86@gmail.com) lOMoARcPSD|7755447 public class MyAppBook{ @XmlElement(name = "book-title", required = true) private String title; @XmlElement private String author; @XmlAttribute(required = true) private long id; ... }. @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "bookType", propOrder = { "title", "author", "id" }) public class Book { @XmlElement(name = "book-title", required = true) private String title; @XmlElement private String author; @XmlAttribute(requierd = true) private long id; ... }. @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "MyAppBook", propOrder = { "book-title", "author" }) public class MyAppBook { @XmlElement(required = true) private String book-title; @XmlElement private String author; @XmlAttribute(requierd = true) private long id; ... }. @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "bookType", propOrder = { "book-title", "author", "id" }) public class MyAppBook { Downloaded by Brais (braisgomez86@gmail.com) lOMoARcPSD|7755447 @XmlElement(name = "book-title", required = true) private String book-title; @XmlElement(requierd = true) private String author; @XmlAttribute(requierd = true) private long id; ... }.

.Supóngase una clase BookResource que representa a un recurso colección de libros, a la que se quiere añadir la operación findBooks que nos permita obtener una lista de libros (clase BookDtoJaxb) con un determinado título y autor. Además, la clase BookDtoJaxb se ha anotado con JAXB y se desea que la operación sea capaz de devolver la lista de libros que concuerdan con los criterios de búsqueda tanto en XML como en JSON. Indique cuál de las siguientes alternativas sería correcta en el contexto de JAX-RS. @GET @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public List<BookDtoJaxb> findBooks(@QueryParam("title") String title, @QueryParam("author") String author) {...}. @GET @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public List<BookDtoJaxb> findBooks(@PathParam("title") String title, @PathParam("author") String author) {...}. @GET @Produces({MediaType.APPLICATION_XML}) @Produces({MediaType.APPLICATION_JSON}) public List<BookDtoJaxb> findBooks(@PathParam("title") String title, @PathParam("author") String author) {...}. @GET @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) Downloaded by Brais (braisgomez86@gmail.com) lOMoARcPSD|7755447 public List<BookDtoJaxb> findBooks(@FormParam("title") String title, @FormParam("author") String author) {...}.

Considere el servicio RESTful de películas utilizado como ejemplo a lo largo del curso. Indique cuáles de las siguientes representan formas válidas en JAX-RS para devolver un error 404 al realizar una petición GET sobre una película que no existe: a)El método podría devolver un objeto de tipo Response, en el que indicaría 404 como código de respuesta cuando la película no existe. b)El método podría devolver un objeto de tipo Movie, y lanzaría una excepción MovieNotFoundException cuando la película no existe. Además, dicha excepción utilizaria anotaciones de JAX-B para indicar el código de error 404 de la respuesta. c)El método podría devolver un objeto Movie, y lanzaría una excepción MovieNotFoundException cuando la película no existe. Además, para dicha excepción se definiría una clase ExceptionMapper para asociarle el código de error 404 de la respuesta. La opción a y c son válidas.

Sea un servicio web RESTful implementado con Jersey. Indique los pasos necesarios para poder utilizar una clase provider en la aplicación: En la parte servidora es suficiente con que la clase esté accesible en el CLASSPATH del servicio. En la parte cliente es necesario que la clase esté accesible en el CLASSPATH, y haberla declarado en el fichero web.xml. En la parte cliente es necesario que la clase esté accesible en el CLASSPATH y haberla registrado explícitamente en la clase Cliente de JAX-RS. Ninguna de las anteriores.

JAX-RS 2.0 incluye una API de intercepción- En base a los conocimientos adquiridos en clase, indique cuál de las siguiente afirmaciones es correcta: Es posible utilizar un interceptor en la capa de implementación del servicio JAX-RS para compartir el cuerpo de todas las respuestas. Es posible utilizar un interceptor en la capa de acceso al servicio JAX-RS para descomprimir el cuerpo de todas las respuestas. Un filtro de servidor de petición de pre-matching permite realizar cambios en la petición HTTP que influyan en el método que antenderá la petición. Todas las anteriores.

Indique cuáles son los participantes en un proceso de negocio: Un conjunto de socios, que son los usuarios o servicios externos que interactúan con el proceso. Un conjunto de actividades, que definen las tareas de negocio individuales dentro del proceso y cómo se coordinan. Un conjunto de variables que permiten almacenar los datos que un proceso de negocio utiliza. Todas las anteriores.

Dado el siguiente fragmento de código. Indique cuál de las siguientes afirmaciones es correcta: <partnerLinks> <partnerLink name="moviesProvider" partnerLinkType="moviens:moviesProviderLinkType" partnerRole="moviesProviderRole"/> </partnerLinks>. Define un enlace de socio de nombre moviesProviderLinkType dentro de un fichero de definición de WS-BPEL, como una instancia del tipo de enlace de socio moviesProvider. Define un enlace de socio de nombre moviesProvider, dentro de un fichero de definición de WS-BPEL, como una instancia del tipo de enlace de socio moviesProviderLinkType. Define un tipo de enlace de socio de nombre moviesProviderLinkType, dentro de un fichero WSDL. Define un enlace de socio de nombre moviesProvider, dentro de un fichero WSDL, como una instancia del tipo de enlace de socio moviesProviderLinkType.

.Sea el siguiente flujo BPEL que utiliza links para especificar dependencias entre actividades. <flow name="flow1"> <links> <link name="L1"/> <link name="L2"/> </links> <invoke name="A1"> <sources><source linkName="L1"/></sources> </invoke> <invoke name="A2"> <sources><source linkName="L2"/></sources> </invoke> <invoke name="A3"> ... </invoke> </flow> Indique la configuración correcta para la actividad A3, considerando que no puede comenzar mientras no haya terminado al menos una de las otras dos actividades: A1 o A2. <targets> <target linkName="L1"/> <target linkName="L2"/> </targets>. <targets> <joinCondition>$L1 and $L2</joinCondition> <target linkName="L1"/> <target linkName="L2"/> </targets>. <sources> <source linkName="L1"/> <source linkName="L2"/> </sources>. <sources> <source linkName="L1"/> <source linkName="L2"/> <transitionCondition>$L1 and $L2</transitionCondition> </sources>.

Es necesario crear un flujo BPEL para coordinar la invocación a diferentes partners remotos p1, p2 y p3, de tal modo que la invocación a p1 se realice en paralelo a las invocaciones a p2 y p3 (p3 debe ejecutarse después de p2, lo antes posible). Indique la forma correcta de modelarlo, suponiendo que tiene que poder ejecutarse en OpenESB: Utilizar la actividad flow con links para indicar las dependencias entre las diferentes actividades invoke. Utilizar la actividad flow para ejecutar en paralelo una actividad invoke sobre p1 y una actividad sequence que agrupe dos actividades invoke sobre p2 y p3. Todas las anteriores. Ninguna de las anteriores.

Sea un servicio web implementado a partir de un flujo BPEL, que juega un rol ligado al siguiente portType: <portTypename="ProductQuoteProvider"> <operationname="approve"> <input name="input1" message="approveRequest"/> <output name = "output1" message="apprveResponse"/> <faultname="fault1" message="ProductQuoteException"/> </operation> </portType> Indique la actividad BPEL que es necesario utilizar para que una invocación al servicio devuelva la excepción fault1: <throw faultName="fault1" faultVariable="..."/>. rethrow faultName="fault1" faultVariable="..."/>. <replu partnerLink="..." operation="..." portType="..." faultName="fault1" variable="..."/>. a) y c) son correctas.

Considérese el proceso de negocio BPEL de su práctica, desarrollado con OpenESB. El proceso BPEL envía una petición al servicio de inventario para determinar si es posible completar el procesamiento de un pedido. En caso de que no haya inventario suficiente, el proceso BPEL se queda a la espera de una notificacion de modificación en el inventario para poder continuar. Considerando exclusivamente esta última operación, indique la afirmación correcta: Es necesario haber creado un PartnerLink "servicio" (en la parte derecha en la vista de diseño de flujo) correspondiente al proceos BPEL y utilizar una actividad receive y otra reply. Es necesario haber creado un PartnerLink "cliente" (en la parte izquierda en la vista de diseño de flujo) correspondiente al servicio web de inventario y utilizar una actividad invoke. Es necesario haber creado un PartnerLink "servicio" (en la parte derecha en la vista de diseño de flujo) correspondiente al servicio web de inventario y utilizar una actividad invoke. Es necesario haber creado un PartnerLink "cliente" (en la parte izquierda en la vista de diseño de flujo) correspondiente al proceos BPEL y utilizar una actividad receive y otra reply.

Denunciar Test