Las bondades y penalidades de la tan hablada Oracle Suite SOA

Esta entrada pretende dar una idea del producto Oracle Suite SOA, de sus características y de sus defectos, y que sirve de complemento al anterior post.

En el esquema siguiente podéis ver un diagrama de relación a nivel de mensajería de todos los componentes de la plataforma.

Las principales características de la plataforma son:

· Es extremadamente configurable y escalable a nivel de sistemas.

· Compatible con la especificación BPEL 1.2 aunque la versión 11g será compatible con la BPEL 1.3. También es compatible con XPDL y …..

· Te puedes crear tantos contenedores (oc4j’s) de instancia java como quieras para poder desplegar en estos nuestro procesos BPEL, WS y demás.

· Proporciona todas las funcionalidades de administración de todos los componentes vía web.

· Proporciona SSO (Single-Sing-On) en todos sus sistemas de identificación, además de integración con LDAPs.

· Ofrecen una versión completa de la plataforma para la evaluación sin tiempo de uso determinado a través de www.otn.oracle.com.

· El ESB proporciona la capacidad de recuperación de errores en cada una de las solicitudes o transacciones que pasan por el, por lo que se suele poner como inicio o fin en los procesos empresariales. Esto es posible para todos aquellos procesos que son asíncronos, ya que por definición los asíncronos hacen un rollback y terminan.

· En los procesos ESB hasta que no termina todo el proceso no se hacen un commit en la BBDD.

· Todo proceso desplegado tanto en el ESB como los procesos BPEL, se exponen hacia el exterior mediante un WSDL que representa un WS desplegado en el AS o en el propio ESB.

· Existe un proceso que sirve para importar modelos generados con un BPA a BPEL llamado BluePrint (no lleguemos a utilizarlo).

· Permite el versionado de procesos empresariales BPEL diseñados sobre JDeveloper, publicando un WS por cada versión.

· A nivel de actividades de BPEL, la Oracle Suite SOA incorpora las siguientes extensiones de actividades:

· Decide: Bifurcación condicional.

· Decisión service:

· E-mail:

· Fax:

· FlowN: Ejecuta n veces la actividades que se encuentran en paralelo.

· Human Task:

· Java Embedding: Invocación a procesos Java (no es muy potente)

· Transform: Actibidad para la transformación de datos y mensajes.

· Voice:

· Pager:

· Tiene una gestión de las excepciones muy relacionada a la usada en los lenguajes de programación mediante el uso de scopes (ámbitos).

· Los adapters o conectores a sistemas o recursos de terceros que provee Oracle Suite SOA 10g son:

· De acceso al sistema de ficheros del SO.

· De FTP.

· A servidores de correo corporativos.

· De acceso a BBDD para ejecutar un insert, delete, update, SQL personalizada y procedimientos almacenados.

· Conectores a JDEduars, Siebel, PeopleSoft, Oracle FI, etc.

· Todos los adaptadores que se utilicen en un proceso empresarial, tanto en ESB como en BPEL, se publican como WS.

· Usa el estándar XSLT para la definición de transformaciones tanto en los procesos del ESB como en los de BPEL, así como XPath y XQuery para el acceso a los XML.

· A las transformaciones se le pueden asociar diccionarios de datos para realizar transformaciones masivas automáticamente. Estos diccionarios de datos se pueden sub dividir en dominios para su mejor gestión.

· Los diccionarios se pueden exportar e importar desde/ hacia XML.

· Todas las actividades de BPEL pueden llevar asociado sensores para alimentar al BAM o al BPEL monitor.

· El WSM proporciona entre otras cosas, la parte de seguridad a los procesos y a todos los WS publicados. Esta seguridad se consigue con la definición políticas de seguridad, en donde se define que operaciones y en que condiciones se aplican a cada plantilla, siendo una plantilla el momento en que queremos que se apliquen las políticas, están son: pre-request, request, pre-response, response. Las tareas que proporciona y que son asociadas a las políticas son::

· Autenticación, soporta cualquier forma SAML de autenticación, aq demás de por user/pwd que viene en las cabeceras SOAP.

· Autorización, a nivel de servicio pudiendo acceder a BBDD, LDAP o fichero de autorización, proveedor de seguridad personalizado que signa JAAS y Oracle Indentity Manager.

· Manejador de credenciales, usa los tag user y pwd de la cabecera SOAP para establecer un nivel más de seguridad.

· También se puede hacer mediante certificados X509 v3.

· Cifrado,

· Los algoritmos de firma que soporta son: RSA-SHA1, DSA-SHA1 y RSA-MD5.

· Firmado, permite firma en formato WS-Security. Se puede configurar los algoritmos de transformación y cifrado que deseamos usar para la firma. Se puede seleccionar el almacén de certificados y el certificados que deseamos usar para firmar en este WS.

· Los algoritmos de cifrado que soporta son: 3DES, AES-128 y AES-256.

· Se puede firmar el cuerpo de mensaje también.

· Validación de firmas, se puede configurar los algoritmos de transformación y cifrado que deseamos usar para la validación. También permite validar y requerir que vaya firmado el cuerpo del mensaje (Body).

· Time stamping, validación de sellado de tiempo.

· Log de mensajes, loguea el mensaje.

· Transformación del mensaje, usando transformaciones basadas en XSLT.

· Se puede usar certificados distintos para firmar y para cifrar.

Las principales desventajas de la plataforma son:

· A la hora de dar información de compilación o de ejecución no es muy explicito, siendo a veces tan genérico como “Hay un error”.

· No posibilita la interacción mediante código fuente a bajo nivel para la modificación de WS o por lo menos no nos han contado la forma aunque lo hemos preguntado.

· No permite el cambio de un procedimiento ni en BPEL ni sobre el ESB en caliente, o sea que se modifique los flujos y al salvar los cambios se le pudiera decir que los procesos ya arrancado que hacen si siguen con la anterior versión o con la nueva.

· El BAM de la 10g sólo corre en win 2000 server SP4, no existe versión para Linux ni para Unix. Supuestamente la 11g si va a correr en linux.

· El BAM actual sólo sirve para manejar colas de eventos, por lo que todo sistema que cuya programación de mensajes se haga por colas de mensajes, BAM lo puede monitorizar.

· Todo lo que se puede hacer con el ESB se puede hacer con la modelación de procesos BPEL, menos la gestión de errores en solicitudes asíncronas.

· La interfaz grafica que la actividad Human Task ofrece a los usuarios cuando tienen que interactuar con el proceso es muy pobre. Supuestamente la 11g la va a mejorar bastante.

· No permite una forma de hacer bloque os de procesos ni de semáforos.

· El sistema de reglas no es muy potente, ya que por ejemplo el repositorio de reglas en un fichero plano, y no tiene posibilidad de almacenarlo en un BBDD.

· No permite realizar firma de mensajes según el estándar de firma XML-Dsig. Se podría conseguir desarrollando extensiones que realizarán el firmado con este estándar.

· Sólo permite el uso del algoritmo EXC-C14N para realizar la canonización de mensajes.

· Realmente no he entendido para que sirve el ESB si tenemos la opción de procesos BPEL, ya que se puede hacer todo lo que se hace en ESB sobre BPEL menos los reintentos sobre procesos asíncronos.

· El instalador de la plataforma no está muy logrado, ya que para instalar los modelos de datos se hace mediante un fichero por lotes antes de ejecutar el instalador del paquete software. También el instalador no marca opciones que deben de ir por defecto por que si no, no funciona el sistema.

· Tengo serias dudas de la capacidad de procesamiento sin tener que hacer uso de una configuración de sistema compleja, ya que para procesar una petición los tiempos no son inmediatos.

En siguientes post os iré contando más experiencias con esta plataforma.

4 Respuestas a “Las bondades y penalidades de la tan hablada Oracle Suite SOA

  1. Esta muy bueno el artículo, pero quisiera interactuar mas sobre esta polémica de que si es necesario o no el ESB en la propuesta de Oracle, pero no tengo señas del autor.
    Cuando tenga un tiempo escríbame, o ponga un vía de contacto para poder intercambiar.

  2. hola… Me gustaria contactarte quisiera saber de donde sacaaste informacion o si tienes alguunos ejempplos

  3. En la version 10g de Oracle practicamente los componentes que son utilizados son BPEL y dentro de este se orquestan los servicios web, El ESB es una especie de ruteo a diferentes servicios, que se supone es la parte medular de SOA 10, sin embargo yo siento que la funcion se repite con los BPELs, la parte de Business Rules efectivamente es muy pobre, a lo que le veo fuerza es a los Human Task, BAM realmente le falta mas flexibilidad creo Yo deberia ser una pieza fundamental dentro de SOA como la parte que se muestra al Usuario final, a los ejecutivos o dueños que son los que pagan $$ por esta tecnologia.

    En SOA 11g esta mas interesante estas herramientas y creo cumple con las bondades que se mencionan en 10g.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s