Duda Arquitectura SOA

Temas relacionados con el examen del caso práctico
Cerrado
Avatar de Usuario
rimai
PreparaTIC XVII
Mensajes: 39
Registrado: 20 Mar 2007, 15:10
Agradecido: 0
Agradecimiento recibido: 0

Duda Arquitectura SOA

Mensaje por rimai »

Buenas a todos,

no soy para nada experto en el mundo SOA y tengo una duda acerca de cómo se relaciona un portal web con los servicios web que tiene implementados el sistema. Me refiero un caso en el que la aplicación está formada por numerosos servicios web para realizar cualquier proceso de negocio o trámite y quiero mostrar la información resultante en el portal o incluso que el portal funcione como osquestrador de los servicios web, que también lo he oído. ¿Qué tecnologías existen para realizarlo?¿Hay estándares?¿Qué productos me recomendais?

Muchas gracias y suerte a todos. :D

Cansino
PreparaTIC XVI
Mensajes: 87
Registrado: 19 Oct 2004, 12:48
Agradecido: 0
Agradecimiento recibido: 0

RE: Duda Arquitectura SOA

Mensaje por Cansino »

Los servidores de portales vienen a cumplir esa función. Permiten configurar un portal Web a partir de múltiples aplicaciones, a las cuales se les ofrece un módulo con su interfaz Web integrado en el portal (portlet) que permite al usuario interactuar con dichas aplicaciones.

En Java EE, el estándar JSR-168 estandariza cómo se construyen y empaquetan portlets en Java, para permitir que puedan ser reutilizados por diferentes servidores de portales.

Luego hay otro estándar de OASIS denominado "Web Services for Remote Portlets" (WSRP). Éste permite definir portlets que se consumen remotamente a través de unos servicios Web estandarizados. Los portlets en este caso pueden residir en otra máquina, y el servidor de portales permite incrustarlos en el portal invocando los servicios Web de dichos portlets (por ejemplo, para recibir el HTML de su interfaz).

La diferencia con los portlets de JSR-168 es que éstos se ejecutan en local con el servidor de portales y además que JSR-168 es tecnología Java EE. Mientras que WSRP es un estándar de OASIS (permite que el suministrador de los portlets sea una aplicación .NET por ejemplo).

Un servidor de portales conocido es JBoss Portal (de la misma empresa que el servidor de aplicaciones J2EE JBoss). Soporta ambos: JSR-168 y WSRP.

Para mostrar los resultados de invocar a un servicio Web en el interfaz de tu sistema, puedes hacer un portlet JSR-168 que se encargue de invocar a dicho servicio y que se encargue de formatear el resultado. En este caso no te valdría WSRP, puesto que WSRP no vale para mostrar la respuesta de un servicio Web, sino para hacer específicamente servicios Web que generen contenido remotamente para mostrar en un portal.

Lo de orquestar servicios Web... mmm a mí me suena a motores de Workflow que cumplan con el estándar BPEL (http://en.wikipedia.org/wiki/BPEL). Lo del portal utilizado para orquestar servicios Web me suena raro. Igual es porque los grandes fabricantes como Vignette, ofrecen soluciones para todo (de CMS, Servidor de portales, editor de procesos y motor de workflow...), pero son cosas distintas.

Avatar de Usuario
AXiS
PreparaTIC XVIII
Mensajes: 327
Registrado: 08 Feb 2007, 00:45
Agradecido: 0
Agradecimiento recibido: 0

RE: Duda Arquitectura SOA

Mensaje por AXiS »

Cansino for president! Eres un crack, macho! :wink:

Avatar de Usuario
Lord Wilmore
Usuario registrado
Mensajes: 172
Registrado: 22 Abr 2007, 22:47
Agradecido: 0
Agradecimiento recibido: 0

RE: Duda Arquitectura SOA

Mensaje por Lord Wilmore »

Una duda que me queda del tema de los portlets. Si uso Apache en lugar de JBoss Portal, ¿necesito extenderlo con algún tipo de complemento para soportar JSR-168?

Al respecto de los motores de workflow, dentro de la gama de productos de JBoss está también JBoss ESB. Si echas un vistazo a la documentación que tienen al respecto creo que te será de ayuda.

consuerte
PreparaTIC XVI
Mensajes: 18
Registrado: 20 Mar 2007, 13:03
Agradecido: 0
Agradecimiento recibido: 0

RE: Duda Arquitectura SOA

Mensaje por consuerte »

Lord Wilmore,

Como bien ha explicado mi compañero Cansino, JBoss Portal es un servidor de portales que permite la construcción de un portal como "composición" de múltiples aplicaciones.

Difiere mucho de un "simple" servidor web como es Apache. Para poder ofrecer la funcionalidad de servir portlets, ya sean locales vía JSR-168 o remotos con WSRP, es necesario la existencia de nuevos módulos, en concreto para el caso de Apache, Apache Pluto o WSRP4J.

Recomiendo la consulta del siguiente enlace http://portals.apache.org/, donde es posible consultar los proyectos de desarrollo de Apache destinados a crear herramientas de portales. Aunque su objetivo no es sólo Java y se contempla PHP y Perl, el resultado es mayoritariamente para Java.

Respecto a lo último que comentas, es importante tener claro lo que es un ESB del concepto de BPM y BPEL, que generalmente tienden a relacionarse en los productos comerciales pero son distintos.

Un ESB es una infraestructura de integración que ofrece numerosos servicios para la construcción de arquitecturas SOA (seguridad, transaccionalidad, mensajería, monitorización, etc.)

El concepto de BPM (Business Process Management) va más asociado al concepto de workflow y de gestión de los procesos de negocio, se implementen o no en una arquitectura SOA.

BPEL es un lenguaje XML que permite el modelado y la ejecución de procesos de negocio. Generalmente, es interpretado por un motor BPM, que es en realidad un motor de workflow

Muchos productos comerciales de ESB contienen motores de workflow BPM para poder orquestar y coordinar la ejecución de servicios web, que actúan como las tareas ejecutadas por el workflow.

En la misma línea, como comentaba mi compañero Cansino, muchas empresas (Oracle, IBM, BEA, por citar algunas) tienden a vender sus soluciones de portal junto a sus soluciones de ESB o de workflow, y muchos gestores de contenido (Vignette, Documentum) tienden a extender sus productos o módulos de workflow para comunicarse con servicios web, provocando que las diferencias entre unos y otros tiendan a disminuir.

Saludos

Avatar de Usuario
Lord Wilmore
Usuario registrado
Mensajes: 172
Registrado: 22 Abr 2007, 22:47
Agradecido: 0
Agradecimiento recibido: 0

Re: RE: Duda Arquitectura SOA

Mensaje por Lord Wilmore »

Lord Wilmore escribió:Una duda que me queda del tema de los portlets. Si uso Apache en lugar de JBoss Portal, ¿necesito extenderlo con algún tipo de complemento para soportar JSR-168?

Al respecto de los motores de workflow, dentro de la gama de productos de JBoss está también JBoss ESB. Si echas un vistazo a la documentación que tienen al respecto creo que te será de ayuda.
Por evitar confusiones, JBoss ESB es, como su nombre indica, un ESB. El motor de workflow de JBoss es jBPM.

Marisa
Usuario registrado
Mensajes: 26
Registrado: 15 Mar 2006, 18:44
Agradecido: 0
Agradecimiento recibido: 0

Re: RE: Duda Arquitectura SOA

Mensaje por Marisa »

consuerte escribió: BPEL es un lenguaje XML que permite el modelado y la ejecución de procesos de negocio. Generalmente, es interpretado por un motor BPM, que es en realidad un motor de workflow

Muchos productos comerciales de ESB contienen motores de workflow BPM para poder orquestar y coordinar la ejecución de servicios web, que actúan como las tareas ejecutadas por el workflow.
Lo que yo tengo entendido es el motor de BPEL no es un motor BPM. Es posible que algún motor de BPM interprete BPEL como funcionalidad adicional (si sabes de alguno, ¿puedes darnos la referencia/nombre?), pero un flujo BPM no tengo claro que se pueda representar en BPEL. En BPM se pueden representar interacciones de usuario que en BPEL no se puede (sólo para orquestar servicios).

No conozco en detalle las diferencias entre ambos (y tampoco sé dónde buscarlas), ya que desde un BPM se pueden llamar a servicios web; pero diría que son distintos.

Saludos

consuerte
PreparaTIC XVI
Mensajes: 18
Registrado: 20 Mar 2007, 13:03
Agradecido: 0
Agradecimiento recibido: 0

RE: Duda Arquitectura SOA

Mensaje por consuerte »

BPM es la disciplina o el área de conocimiento relativa a los procesos de negocio. Es la evolución de los conocidos sistemas de workflow, si bien existe todavía un gap entre ellos y los sistemas BPM.

BPM esta sustentado sobre estándares como BPMN (Business Process Modelling Notation) que define la notación para el diseño de los procesos, BPEL (Business Process Execution Language) como lenguaje para la ejecución del proceso, y otros como BAM (Business Activity Monitoring) para medir el desempeño de los procesos, actividades y recursos disponibles.

BPEL es por tanto sólo un lenguaje para representar procesos, lo que no implica que sea capaz de representar todos ni que BPEL = BPM.
De hecho, una de sus conocidas limitaciones es la imposibilidad de reflejar interacciones de usuario como bien indicas (por lo que han surgido extensiones como BPEL4People).

Cerrado

Volver a “CUARTO EXAMEN 2007”