Tag Archives: Oracle 12c

BPEL vs OSB (Oracle Service Bus)

BPEL vs OSB

A continuación voy a traducirles el artículo BPEL vs OSB de The SOA mythbusters blog:

Entonces, ¿trabajas con Oracle SOA Suite ?, eso es genial porque también lo hacemos, todos los días desde hace mucho tiempo. Como profesionales de Oracle, hemos visto a SOA crecer, cambiar, incorporando nuevos productos y tecnología con cada versión, desde la 10g a la 12c.

Somos Rolando Carrasco (Oracle ACE) y Arturo Viveros (Oracle ACE Associate), los SOA Myth Busters de México, y como vamos con esta serie pondremos a prueba una serie de preguntas, mitos y leyendas urbanas con respecto a SOA y la Plataforma SOA de Oracle, en busca de descubrir qué mitos son verdaderos y cuáles no.

BPEL vs OSB

En este episodio, nos sumergiremos en uno de los argumentos más candentes que los practicantes de SOA de Oracle han estado sosteniendo a lo largo de los años: BPEL contra Oracle Service Bus. ¿Pueden y deberían trabajar juntos? ¿Es uno de ellos mejor que el otro? ¿Hay alguna guía bien fundada en la que pueda confiar para decidir entre ellos? ¿Y qué hay de SOA Suite 12c? Alrededor de este tema parece haber un montón de mitos, malentendidos y conceptos erróneos, así que vamos a conseguirlo y descubrir la mayor cantidad de la verdad como sea posible.

Empecemos

En primer lugar, las dos cosas que estamos comparando son más o menos las normas antes que los productos.

BPEL – Business Process Execution Language. Es un estándar para la orquestación de servicios, entregado y mantenido por OASIS. Se hizo popular a principios de los años 2000. Muchas empresas de software, como IBM, Oracle, han estado trabajando activamente en la mejora del estándar. Muchas compañías de software ofrecen productos que soportan este estándar. Por ejemplo: Oracle BPEL PM.

Oracle Service Bus (también conocido como Enterprise Service Bus). Desde los viejos tiempos de integración y EAI, el concepto de tener algo en el medio para poder intercomunicar sistemas heterogéneos y servicios ha estado presente. Este ESB como estándar, debe apoyar: Enrutamiento dinámico, Mediación, Virtualización, Enriquecimiento de Contenido, Invocación de Servicio, etc. Una buena manera de empezar a aprender sobre el estándar de un Bus de Servicio, es el libro de David Chappell “Enterprise Service Bus” http://shop.oreilly.com/product/9780596006754.do ). Este libro ya tiene 10 años, pero David representó muy bien lo que es un Bus de servicio, y todos los conceptos son actuales a nuestros días.

Ahora, ocurre que Oracle tiene un producto con el nombre Oracle BPEL Process Manager y otro llamado Oracle Service Bus. Eso es lo que puede añadir un poco más de confusión a la comparación. Y esta pregunta: ¿debo usar BPEL o Oracle Service Bus? Es una duda común dentro de los profesionales de SOA de Oracle y pensamos en cualquier otra compañía de software que soporte estos dos estándares.

Continue reading

Clausulas de limitación para ’SQL Row’ | Novedades Oracle 12c

Clausulas de limitación

En “Oracle Database 12c los mecanismos para limitar cantidad y modo de extracción de registros han tenido una mejora significativa, proveyéndonos de nuevas clausulas.

Podemos especificar la cantidad de registros a ser retornados utilizando las palabras claves: “FETCH”,”FIRST”,”NEXT”. También podemos especificar la cantidad de registros a ser retornados con la clausula “PERCENT”.

Con la clausula “OFFSET” podemos especificar la cantidad de registros deseados a partir del primer registro de un set de resultados complemento a la data que ya se ha obtenido.

Las consultas que generalmente utilizan este tipo de clausulas son conocidas como: “Top-N Queries”. Veamos un ejemplo práctico de esta característica:

Continue reading

Auto_increment en Oracle | Novedades Oracle 12c

Auto_increment en Oracle

Al momento de pasarte a trabajar con la Base de Datos de Oracle una de las primeras cosas que siempre preguntan los programadores es como hacen el auto_increment en Oracle o el Identity (sql server).

Anteriormente dicho procedimiento pasaba por crear una sequencia y posteriormente utilizarla en cualquier sentencia insert que realizaras sobre la tabla o creando un trigger (before insert for each row) para realizar dicho procedimiento, es decir, hacer lo siguiente:

Sin embargo a partir de ahora existen dos métodos para realizar el auto_increment en Oracle, el primero es asignar por default el valor de una secuencia o el segundo es crear una columna del tipo identidad.

Para mas información pueden consultar la documentación de Oracle

Clausula With | Novedades Oracle 12c

clausula with

Clausula WITH

A pesar de que ya van para 3 años de la salida de Oracle 12c, comenzaré a escribir un conjunto de artículos donde les traeré las novedades de la nueva y robusta base de datos de Oracle.

El día de hoy les hablaré de la clausula WITH, pero ojo no me refiero al ya conocido uso para simplificar sentencia sql complejas que utilizan subquerys, sino al uso de la misma al momento de crear funciones y procedimientos.

La clausula WITH permite la declaración de procedimientos y funciones que serán utilizadas en un mismo bloque de código PL/SQL, como ya se imaginaran se sigue la filosofía del with en consultas dml permitiendo un bloque dinámico de PL/SQL, optimizando los tiempos de ejecución con respecto al modelo de Program Units y sin necesidad de ser almacenados como objetos en la Base de datos.

Después de la teoría, nada mejor que un ejemplo de la clausula WITH