Archive for 2007

Oracle BPEL PM + Oracle Data Integrator

3

En muchos escenarios de integración se requiere pasar altos volúmenes de información de uno o varios repositorios hacia un destino que también puede ser múltiple.

Con herramientas de orquestación de procesos, y con los mismos ESBs puede llegar a ser ésto complicado, sobretodo cuando se tratan de volumenes que se van por arriba de los 10MB de información, y además cuando las transacciones son muy constantes.

Para dicho propósito podemos pensar que una buena opción es utilizar una herramienta de ETL tradicional, el único inconveniente es la dependencia alta sobre el uso de Bases de datos y el uso de servidores intermedios que hagan dicho trabajo.

Oracle ofrece una herramienta de nombre Oracle Data Integrator, que hace una modificación al esquema tradicional de ETL, pues en realidad realiza un ELT (Extract->Load and Transform). La gran diferencia es que la transformación de los datos se puede dar en el mismo destino, lo cual aumenta el peformance y más si pensamos que lo va a hacer de manera nativa con el propio lenguaje que tenga el repositorio destino.

En un ambiente Orientado a Servicios, es altamente probable que la extracción y carga de datos no sea únicamente en Bases de Datos, sino también en Aplicaciones. Esto nos lleva a la necesida de tener un producto que resuelva muy bien la conectivdad a repositorios Relacionales y Multidimensionales tradicionales, pero que también pueda interactuar con Servicios Web y Aplicaciones Empresariales.

Ahora, qué sucede si combinamos la tecnología, pensando en que un Arquitectura Orientada a Servicios tiene un sustento muy importante en el uso de un motor de orquestación de procesos. Si un proceso (pensemos en Oracle BPEL PM) que orquesta esta carga de datos, pero en realidad él no lo hace, él simplemente manda un mensaje al ETL para que se inicie; pero nos interesa saber en todo momento en qué paso se encuentra, pues si no podemos llegar a perder visibilidad de la transacción y gobernabilidad.

Bien, pues Oracle Data Integrator permite publicar Servicios Web y consumirlos. Así Oracle BPEL PM es el orquestador de servicios de integración de datos que publique Oracle Data Integrator (ODI).

De esta manera sabremos exactamente lo que sucede en la extracción de datos, su transformación y carga. Podemos monitorear los tiempos de ejecución, podemos así monitorear SLAs y publicar Tableros de Control en donde se de visiblidad sobre toda esta información. Y estando ésto siendo orquestado se puede correlacionar la información con cualquier otro paso de un proceso de Negocio.

Oracle Data Integrator puede ser descargado del sitio de Tecnología de Oracle (http://www.oracle.com/technology/products/oracle-data-integrator/index.html).

Es una herramienta basada en java que requiere únicamente de tener previamente instalada una BD (que bien pudiera ser Oracle XE si están en modo de pruebas).

Una vez instado el producto, recomendamos que le den una mirada al tutorial (http://www.oracle.com/technology/products/oracle-data-integrator/index.html) de inicalización. Esto les dará una buena idea de qué hace el producto.

La publicación de WS en Oracle Data Integrator es bastante simple, se requiere:

* OC4J - aquí se publicarán dichos servicios. Puedes utilizar el OC4J donde estés ejecutando Oracle BPEL PM
* AXIS 2.0 - tecnología de Apache que permite la publicación de Web Services (http://ws.apache.org/axis2/). Básicamente es publicar un WAR.
* Publicar el paqute de Oracle Data Integrator a través de la consola de Axis (éste lo encuentras en $OH\oracledi\tools\web_services\odi-public-ws.aar)

Para tener las instrucciones detalladas de dicha configuración, pueden consultar la guía de instalación que viene como parte de la instalación del producto.

Una vez instalado Axis2, y haciendo el deployment del paquete (odi-public-ws.aar) de ODI (Oracle Data Integrator), se tiene la posibilidad de revisar el WSDL en la siguiente ubicación:
http://rcarrasc-mx:8888/axis2/services/OdiInvoke?wsdl.

Supongamos que tenemos un proceso en Oracle BPEL PM, que en determinado momento requiere mover grandes volumenes de información entre 3 bases de datos. Oracle Data Integrator hará éste trabajo de mover la información entre éstos
repositorios. Lo primero que hará será consultar la información del repositorio A (Base de datos) y lo pasará al repositorio B (otra Base de datos), y por último pasará lo que tiene en B a un tercero llamado C.
Dado que son millones de registros, hacer uso de los adaptadores de BPEL PM tal vez no sea tan eficiente, pues al transformalo a un formato XML, provocará una gran volumen de datos manejados en memoria, y no será tan peformante.

En ODI, se conocen como escenarios, adentro de los cuales existen interfaces, las cuales son las que en realidad hacen el trabajo de mover los datos y transformarlos.

Supongamos el siguiente escenario de ODI y el flujo BPEL de las imágenes de abajo (haz click en cualquier imagen para que puedas verla en un tamaño más grande):








El flujo BPEL realiza primero una serie de asignaciones de valores que son los necesarios para iniciar el escenario en ODI, se debe crear un mensaje similar al siguiente:




Con estos valores se hace la invocación al Partnerlink (ODIScenario), que inicia la ejecución de ODI.

ODI lo primero que hace es recibir un valor (ID - en el mensaje XML tiene el valor 769) que es el que servirá para correlacionar la instancia con el flujo en BPEL PM. Después se ejecuta una interface que mueve y transforma datos de una BD A a una B, posteriormente envía un mensaje de vuelta al proceso de BPEL que lo inició para informarle que ya terminó la primera interface. BPEL lo recibe en la actividad que en la imagen aparece como receiveIntermediate.

ODI continua su ejecución ejecutando ahora la interface "InterfaceRolando3", y finalmente envia un mensaje al mismo proceso BPEL, el cual lo recibe en la actividad "receiveFinal".

La correlación, como se había comentado, se lleva acabo a través del valor del ID, así el escenario de ODI se puede comunicar con BPEL. En realidad hay un flujo BPEL intermedio que es el que recibe la invocación de ODI, y es el que comunica al proceso BPEL que inicia todo. ¿Esto por qué? Porque ODI en su versión actual no puede consumir procesos asíncronos.



De esta forma mostramos la integración entre ambos productos, y la gran capacidad que se logra al unir ambas tecnologías.


Algunos Tips para Trabajar con JDeveloper

0

El día de ayer estuve escuchando un podcast de Andrew Binstock sobre el mercado de los IDEs de Java durante el 07 y que viene para el 08 sobre el cual escribiré un articulo posterior, sin embargo en el reportaje se menciona que una de las áreas más sobresalientes de JDeveloper es el buen trabajo que se viene haciendo con respecto a la usabilidad del producto y la forma intuitiva en que se trabaja con el IDE de acuerdo a los roles del programador.


No solo la parte de usabilidad ha sido mejorada a través del tiempo sino que hoy en día JDeveloper cuenta con una interfaz rica no solo desde el diseño visual/asistido sino también desde el teclado el desarrollador tiene a disposición una serie de atajos de teclado bastante útiles como también se cuenta con mini asistentes mientras se codifica que ayudan a que la experiencia de productividad sea aún mayor. A continuación presento algunas con las que he estado trabajando últimamente que se encuentran presentes en JDeveloper 11g, así mismo si usted tiene más tips que quiera compartir puede adicionar su comentario o me puede enviar un mail a j c r u i z (arroba) g m a i l y con mucho gusto la publico.


Asistentes:


Quick Outline (ctr + shift + back quote)

quickOutline

Dentro de una clase normal se tienen muchos métodos de acceso a los atributos (getters y setters) así como los métodos propios que se vayan creando, cuando necesitamos buscar un método dentro de ya varias lineas de codigo, podemos hacer un search, mirar dentro del panel de extructura o con JDeveloper podemos utilizar el Quick Outline, el cual nos presenta de manera rápida y sencilla todos los métodos que tenemos en la clase así como también los parámetros de entrada y el retorno.

Tiene una caja de busqueda y al dar doble click sobre un método nos lleva a la definición del mismo dentor de la clase.





Find Usages (ctrl + alt + u)

Usages

Es una excelente herramienta para hacer el seguimiento de código que otros desarrolladores hayan creado y poder hacer debugging. Uno puede buscar las llamadas de los métodos dentro del proyecto o dentro de toda la aplicación. Así mismo ofrece la posibilidad de buscar dentro de código que haya sido comentariado o buscar dentre de librerias.







Opciones de Compleción

autoCompletion

Existen distintas opciones para autocompletar codigo, para acceder a estas opciones

click der -> source

Dentro de las que más me gustan está el Complete statement con el cual uno empieza a definir un Objeto ya existente y con este asistente el auto completa la definición. Comportamientos similares tienen el Parameter y Smart Completion Insight. Ya contamos con más opciones fuera del Completion Insight que ya de por si es bastante útil.

Javadoc Rápido (ctrl + d)

javaDoc

Importante cuando se tienen los objectos propios de la aplicación con sus respectivo Javadocs. El asistente busca dentro de la definición de cualquier objecto para se pueda entender la utilización de algún método. Una herramienta valiosa para aquellos que utilizamos el Javadoc con frecuencia.


Plantillas Pre-definidas


Existen palabras pre-definidas que basicamente son atajos de teclado combinados con una serie de plantillas pre-definidas para ciertas instrucciones que se utilizan frecuentemente en la codificación de clases. En JDeveloper también se puede hacer uso de estas herramientas para aumentar la productividad al momento de programar:


codeTemplates

Para acceder a esta pantalla hay en que entrar

tools-> preferences -> code editor -> code templates

En esta pantalla se pueden ver las plantillas predefinidas así como tambien se puede crear nuevas. por ejemplo si al programar digito sop y luego tecleo ctrl + enter voy a tener toda la sentencia System.out.println();

Si se tienen más tips de JDeveloper que se quieran compartir me los hacen llegar y con mucho gusto los publicaré.


Fusion Middleware 11g disponible

0

La Navidad llego para Oracle junto con el lanzamiento algunos de los productos asociados con la version 11g del Oracle Fusion Middleware que esta programado para salir a producción durante el 2008. Los productos que han sido liberados son en technology preview 3:

  • SOA Suite 11g
  • JDeveloper 11g
  • Webcenter 11g
  • Oracle Container JEE 11g
  • Toplink 11g
Para obtener información sobre estos productos pueden hacer click aqui, puede que muchos estén pensando que productos como JDeveloper el cual ha tenido 3 technology previews los cambios no deben haber sido muchos, sin embargo pueden mirar los release notes y podran darse cuenta que cada uno de los releases contiene muchas carácteristicas nuevas aparte de las correcciones que se hayan encontrado en los TPs iniciales.

Otra buena noticia es que este TP 3 de JDeveloper viene también con nuevos Oracle By Exaples en la actualidad ya pueden tener un tutorial super bueno relacionado con los Data Visualization Components.


Algunos Hands-on del Oracle Develop

0

Bueno como lo prometido en el post anterior aqui les paso algunas practicas que se realizaron durante el Oracle Develop. Estos son algunos de los hands-on correspondientes a ADF y JDeveloper, sin embargo sobre este tema hubo más así como también sobre otras tecnologias de Oracle como SOA, Base de Datos, .Net, etc.

En el OD se presentó tanto JDeveloper 10.1.3.3 como el IDE de desarrollo sugerido para ambientes de producción, así como también JDeveloper 11g Technical Preview 2 el cual pese a ser un preview es una versión a través de la cual se puede tener acceso a los nuevos componentes ricos (Rich Internet Components) de ADF Faces los cuales están basados en tecnologiás como AJAX y Groovy para proporcionar una mayor interacción de la interface con el usuario.

Con ADF Faces en JDeveloper 11g los desarrolladores cuentan con los componentes tradicionales que de ahora en adelante son componentes basados en JSF que encapsulan funcionalidad AJAX lo cual le permite al desarrollador JEE continuar trabajando con componetes estándar y en cualquier momento que requiera contar con funcionalidad Java Script el mismo componente cuenta con un API que les van a hacer la vida más sencilla, pero al utilizar el componente como tal este cuenta con la funcionalidad, no es que sea necesario trabajar siempre con Java Script. Es mas en la mayoria de los casos esto no se va a hacer.

También ahora el Framework proporciona nuevo componentes gráficos los cuales hasta 10.1.3.3 se trabajaban con los BI Bean aunque no se venian impulsando como parte del Framework directamente. Estos componentes en la actualidad se le llama DVTs o Data Visualization Type
los cuales se trabajan ahora como cualquier otro componente del framework y encapsulan gráficas en flash para lo cual no hay que saber flash ni siquiera tocar nada de flash, son componentes JSF que encapsulan la funcionalidad.

10.1.3.3

Desarrollando Servicios de Negocio con ADF Business Components
Desarrollando la Interfaz de usuario con ADF Faces

11g

Desarrollando Interfaces basadas en Ajax con JSF: Una introducción a los componentes ricos
Construya Web Services Utilizando JDeveloper
Configurando los ADF Faces Graph Types


Espero les saquen provecho, si tienen dudas sobre alguno de los tutoriales me la pueden pasar dentro de los comentarios.


Oracle Open World 2007

0

Durante este ultimo mes el ritmo ha estado bastante apretado y han habido algunos cambios que no me han permitido sentarme a colocar nuevos posts. Sin embargo hay algunas noticias al que voy a compartir en este post a parte de contar un poco sobre Oracle OW07.

El primer anuncio es que debido a los cambios que se han dado en el último par de meses es muy probable que el blog cambie de nombre o lo traslademos para otro dominio para lo cual se estara posteando a su momento. Sin embargo esto no va a afectar en absoluto el proposito o el enfoque de los articulos. Digamos que es más un cambio orientado al Marketing.

Ahora veamos OOW07. Durante esta semana se esta desarrollando el evento de tecnología más grande de Oracle a nivel mundia, se esperan cerca de 45 mil asistentes a este evento de magnitudes enormes. A parte de tener las últimas noticas en relación con lo que esta sucediendo dentro del mundo Oracle, poder tener Demos y sesiones para todos los gustos y perfiles. OOW07 también trae el Oracle Develop

OD es un evento desarrollado para la gran comunidad de desarrolladores en Oracle, en OD se puede asistir a toda clase de charlas técnicas así como también se tienen los Hand on Labs en proporciones americanas (100+ desarrolladores en simultanea por auditorio) teniendo contacto directo con la tecnología.

Estaré la próxima semana proporcionando algunos links a los laboratorios que se estén desarrollando por aqui y también si están asistiendo al OOW nos podemos ver el boot de JDeveloper/ADF en Moscone South para mostrarles el nuevo realease de JDeveloper 11g.


Oracle Day Bogota, CO

0



Se que es totalmente tarde dar este anuncio, pero bueno en el mundo del internet las noticias viajan de manera muy rápida y teóricamente aún nos encontramos antes del evento.

El día 19 de Septiembre (o sea en algunas horas), se va a llevar a cabo el Oracle Day en Bogotá, Colombia. Este evento busca mostrar las últimas tecnologías y soluciones de Industria con que cuenta Oracle en la actualidad para todos sus clientes.

En esta oportunidad Rolando Carrasco Product Manager de FMW, co-participante de este blog va a estar dando las siguientes charlas:

11.25-12m Retos y mitos de una arquitectura empresarial orientada a servicios

4.20-5p.m Descubra cómo SOA y BPM ofrecen innovación y cambios reales a su negocio

Por mi parte también voy a estar realizando la charla

5.00-5.40p.m Convierta sus hojas de Excel en aplicativos. Con una interesante demostración en vivo.

Esperamos podernos ver con alguno de los lectores del blog en el evento.

Alla nos vemos!!!


Cómo cambiar de Status un Proceso en Oracle BPEL PM 10.1.3 a través de la API

0

Hola,

aquí un extracto de código en donde se ve cómo se puede cambiar de estatus un proceso que está publicado en Oracle BPEL PM 10.1.3.X:

public static void main(String[] args) {
try{
Properties props = new java.util.Properties();
props.load(new FileInputStream("c:/context.properties"));
Locator locator = new Locator( "default", "bpel", props);
IBPELProcessHandle[] processHandle = locator.listProcesses();
System.out.println("Numero de Procesos " + processHandle.length);
for(int i=0; i < processHandle.length; i++){
BPELProcessId processId = processHandle[i].getProcessId();
String nombre = processId.getProcessId();
System.out.println(i + " " + processId);
if (nombre.equals("GovTest")){
BPELProcessMetaData bpm = processHandle[i].getMetaData();
bpm.setState(2);
System.out.println(bpm.getState());
processHandle[i].updateMetaData(bpm);
}
}
}catch(Exception e){ e.printStackTrace(); } } }

A resaultar la línea de BPELProcessMetaData bpm = .....
ahí es donde se obtiene la metadata de un proces, y después con el método setState ya cambias el estatus. En el Javadoc de la API de BPEL PM puedes ver cuáles son los estados que existen.


Ejecutando Clases Java con Parametros en JDeveloper

0

Para todos aquellos que están comenzando a programar en Java, muchas veces ven IDEs como JDeveloper como una herramienta para utilizar en la medida que se vaya profundizando en el conocimiento del lenguaje. Muchas veces la escogencia de un IDE se da a partir de la herramienta que utiliza el profesor, y en la medida que avanzamos nos volvemos muchas veces reacios a la utilización de otros IDEs.

Este pequeño tutorial presenta como correr una aplicación Java simple con parámetros de ejecución utilizando JDeveloper, lo importante es el de identificar de que manera se pueden pasar parámetroa a una aplicación a través de las opciones. Trabajando de esta forma no hay que entrar a configurar variables como PATH, JAVA_PATH, etc dentro del sistema operativo y dependiendo la versión de JDeveloper que se baje, no habría necesidad de bajar e instalar el JDK dado que ya viene todo junto.

Primerlo que necesitamos es crear una aplicación en JDeveloper y en este caso no asignar ninguna plantilla de desarrollo a la misma

img1


Una vez creada la aplicación y el proyecto se crea la clase java dentro de las opciones disponibles de tecnología disponibles

img3

Se codifica el proyecto y en este caso como es una aplicación que recibe ciertos parámetro de entrada, una vez hemos compilado y verificado que no tiene ningún error. Vamos al menú Run ->Choose Active Run Configuration ->Manage Run Configurations

img5

Creamos una nueva configuración, copiando las cofiguraciones del default
img6


y agregamos los parámetros

img7

Ejecutamos normal el programa
img8



Oracle 11g para Linux Disponible para Bajar

0

A partir del 9 de Agosto se encuentra disponible la versión Oracle 11g lista para ser descargada desde el OTN, varios de ustedes desde hace algunas semanas ya habían mostrado interes en obtener el producto.

Las áreas en donde se tienen las principales mejoras de este release son:

  • Desarrollo de Aplicaciones (XML, JDBC, Multimedia, Spatial, etc...)
  • BI & Data Warehousing
  • Clustering
  • Gestion de Contenido
  • Computacion Grid
  • Alta disponibilidad
  • Integracion de la Información
  • Ciclo de Vida de la Información
  • Administración
  • Desempeño
  • Compliance y Seguridad
En el sitio principal de 11g se puede obtener toda la información sobre las áreas mencionadas anteriormente así como también se pueden descargar articulos técnicos en ingles.

Para descargar el software pueden hacer click directamente aqui


Valores de Variables en Procesos BPEL

3

Hola,
muchos partners me han preguntando cómo desde una aplicación cliente se puede tener acceso al valor de una variable de un proceso en específico. Sea que el proceso ya haya terminado o esté en ejecución.
¿Esto para qué? Bien pues pudiera servir para monitorear algo que está sucediendo en el proceso, para tomar una decisión desde una aplicación cliente: JSP, Swing, etc.

Aquí el código necesario para realizar dicha tarea:

WhereCondition where = WhereConditionHelper.whereInstancesOpen();
WhereCondition whereProcessId = new WhereCondition( "process_id = 'SeguimientoDeProcesos'");
WhereCondition whereInstanceId = new WhereCondition("CIKEY = " + id );
where.append("AND").append(whereProcessId);
where.append("AND").append(whereInstanceId);

// Busca las intancias
IInstanceHandle[] instanceHandles = locator.listInstances( where );
//System.out.println(instanceHandles.length + "
");
String procesos[] = new String[instanceHandles.length];

for (int i = 0; i < instanceHandles.length; i++ ){
IInstanceHandle instanceHandle = instanceHandles[i];
HashMap poe = (HashMap) instanceHandle.getField("inputVariable");
Object obj = poe.get("payload");
//System.out.println(obj.getClass().toString());
XMLElement test = (XMLElement) obj;
Pozo po = new PozoImpl(test);
status = po.getIdEtapa();
}

A considerar es la siguiente línea:
WhereCondition whereInstanceId = new WhereCondition("CIKEY = " + id );

Este id es el ProcessID de tu proceso, siendo así, pudieras buscar directamente en esta instancia.
Si no lo tienes, entonces el FOR que pongo te servirá, pues buscarás en todas las instancias, sólo comenta la línea del WhereCondition.

Después en la línea:
HashMap poe = (HashMap) instanceHandle.getField("inputVariable");

Lo que hace es obtener el valor de la variable "inputVariable" de dicha instancia.

Espero les sea de utilidad.


Lanzamiento Mundial de Oracle 11g

0

El próximo11 de Julio en la ciudad de Nueva York, EU se va realizar el lanzamiento mundial de la base de datos Oracle 11g, para este día se tiene una transmisión en linea a la cual todos están invitados y pueden acceder desde aquí. En el lanzamiento van a estar participando:

  • James Burke, science historian, author, producer, and host of the BBC’s acclaimed series, Connections
  • Charles Phillips, President, Oracle
  • Chuck Rozwat, Executive Vice President, Oracle
  • Andy Mendelsohn, Senior Vice President, Oracle
  • Mark Beyer, Research Director, Gartner
Este atento al lanzamiento local de 11g que se realizará en su país.


JDeveloper 10.1.3.3 Fue Lilberado

0

A finales de la semana pasada fue liberada la versión 10.1.3.3 de JDeveloper este release no contiene nuevas funcionalidades, sino principalmente es una versión de corrección de bugs que se venia trabajando desde que salio el release 10.1.3.2, para todos aquellos que venian trabajando con cualquiera de las versiones 10.1.3.x mi recomendación es la de actualizar a este último release, principalmente para que no se estrellen con problemas que ya están identificados y corregidos.

Así mismo es bueno que todos los seguidores de ADF puedan darle un vistazo a los Componentes Ricos basados en tecnología AJAX que están disponibles en el Tech Preview de JDev 11g, del que hablé en un articulo anterior.


Nuevo Look and Feel

0

Habia algo con la otra plantilla que no gustaba mucho por lo que buscando un poco se encontró otra mucho mejor. Ahora aprovechamos de mejor forma el espacio horizontal y los colores son más orientados a los colores Oracle, a pesar que no es por un lineamiento de Oracle, ni nada por el estilo creemos que le da una nueva vida al Blog. Aunque por supuesto lo principal es el contenido, ustedes como lectores van a sentirse más en contacto con la tecnología de Oracle. ;)

Esperamos les guste a todos el nuevo look & Feel


Plugin de Eclipse para Base de Datos Oracle

0

En pasados días se liberó el plugin de Eclipse que hace parte del Eclipse Data Tool Platform Project, para base de datos Oracle, el cual inicialmente soporta la conectividad con bases de datos Oracle 9i y 10g, navegar a través de todos los objectos de base de datos que se tengan, ejecutar procedimientos almanacenados y ver planes de ejecución de en texto y de manera gráfica.

Para bajar el plugin pueden ir al centro de tecnología de eclipse haciendo click aquí


Matriz de Certificación para Migrar JDeveloper

0

Se que muchas veces cuando hay nuevas versiones de JDeveloper una de las cosas que nos detienen es si podemos tener soporte a lo que veniamos haciendo en la versión que tenemos actualmente.

Afortunadamente a través del blog de Didier Laurent Ingeniero de Soporte Senior de JDeveloper encontré la matriz de certificación para migraciones de JDeveloper. Bastante Util.

La matríz esta públicada en OTN y la pueden acceder aquí
Hasta el momento están unicamente todas las versiones que se encuentran en producción por lo tanto esta hasta la 10.1.3.2. Cuando tengamos el release completo de 11g aparecerá.


Encuesta de Utilizacion de JDeveloper

0

En la actualidad esta abierta una encuesta sobre la usabilidad de JDeveloper como IDE, si alguno de ustedes bajó la última versión de JDeveloper 11g, debió haber recibido un correo informandole de la existencia de la encuesta.

Sin embargo creo que esta es una exelente oportunidad para poder dar una retroalimentación directa al grupo de Product Management de JDeveloper y ADF acerca de la evolución del producto, las cosas que le faltan, todo aquello que creen se debe mejorar o simplemente no se tiene en la herramienta.

Para acceder a la encuesta pueden hacer click aquí

Por otro lado les cuento que despues de terminar con algunas tareas que estoy haciendo durante esta semana estaré empezando a publicar articulos sobre Webcenter y las nuevas carácteristicas de JDeveloper 11g para que estén pendientes.


VB 3.0 y Oracle ESB??

0

Después de un par de meses de no poder actualizar el blog, tengo aquí una nueva entrada en donde pueden encontrar cómo invocar un ESB de Oracle desde VB 3.0.
Por qué habría la necesidad de realizar tal cosa?? Bien, hay clientes que tienen ese tipo de tecnología muy vieja y necesitan integrarse a través de un Bus de mensajería como el de Oracle.

Aquí pongo el código que tendría que ir en un botón de VB:
Sub selectDepartment()
Rem SelectResult.Hide
Rem SelectResult.ListBox1.Clear
Dim Serializer As SoapSerializer
Dim Reader As SoapReader
Dim Connector As SoapConnector

Set Connector = New HttpConnector Connector.Property("EndPointURL") = "http://localhost:1234/event/Samples/SRE/SRE_RS"
Connector.Connect
Connector.Property("SoapAction") = "ejecutaSRE"
Connector.BeginMessage
Set Serializer = New SoapSerializer
Serializer.Init Connector.InputStream
Serializer.startEnvelope
Serializer.SoapAttribute "xmlns:soapenv", , "http://schemas.xmlsoap.org/soap/envelope/"
Serializer.SoapAttribute "xmlns:exam", , "http://www.example.org"
Serializer.startBody
Serializer.startElement "DATOS_CIUDADANO", "http://www.example.org" Serializer.startElement "exam:Nombre"
Serializer.writeString Start.nombre.Text
Serializer.endElement
Serializer.startElement "exam:Apellido"
Serializer.writeString Start.apellido.Text
Serializer.endElement
Serializer.endElement
Serializer.endBody
Serializer.endEnvelope
Connector.EndMessage
Set Reader = New SoapReader
Reader.Load Connector.OutputStream
SelectResult.ListBox1.Clear
Rem Set DeptList = Reader.DOM.getElementsByTagName("TestVBProcessResponse")
Set Respuesta = Reader.DOM.getElementsByTagName("out1:DATOS_CIUDADANO")

For i = 0 To Reader.DOM.getElementsByTagName("out1:DATOS_CIUDADANO").Length - 1
Start.curp.Text = Respuesta.Item(i).selectSingleNode("out1:Apellido").Text
Next i Rem SelectResult.Show
End Sub

Sólo es necesario instalar scripten.exe y SoapToolkit20.exe que pueden descargar de microsoft.com.

En el siguiente post se presentará cómo hacer lo mismo, pero desde Power Builder 6.0 (Sybase),
saludos


Technology Previews de 11g

1

La semana pasada se llevo a cabo el JavaOne 2007 uno de los eventos mas importantes para toda la comunidad de desarrolladores Java a nivel mundial, para Oracle esta es una oportunidad de presentar los ultimos releases de productos y trabajo que se ha realizado en el último año entecnologias Java, J2EE y Web2.0.

Aqui les dejo los links a todas los Technology Previews que han sido liberados durante el JavaOne 2007.

JDeveloper 11g Technology Preview Software:
http://www.oracle.com/technology/products/jdev/11/index.html
Online Demos de JDeveloper:
http://www.oracle.com/technology/products/jdev/viewlets/11/index.html
Tutoriales sobre el nuevo release:
http://www.oracle.com/technology/obe/obe11jdev/11/index.html

Oracle Containers for J2EE (OC4J) 11g Technology Preview.
http://www.oracle.com/technology/software/products/ias/htdocs/utilsoft_preview.html

Oracle TopLink 11g Technology Preview:
http://www.oracle.com/technology/software/products/ias/htdocs/1111topsoft.html

Para ver la grabación del Key Note de Thomas Kurian pueden hacer click aqui

Disfrutenlos


Nuestra Conexión XTrema con los Partners

0

El evento organizado por la linea de PTS que se llevó a cabo en San Francisco, Estados Unidos, fue el primero en su clase y contó con algo más de 300 asistentes todos involucrados con las distintas tecnologías de Oracle, quienes tuvieron la oportunidad de asistir a un evento donde solo se habló de Tecnología Oracle.

El evento contó con la participación de los ejecutivos de Oracle que tienen responsabilidad por el desarrollo de los productos como Thomas Kurian VP de Application Server, Andy Mendelsohn VP de Database y Richard Sarwal VP de Oracle System Management, quienes se enfocaron principalmente en la evolución de los productos y los cambios que vamos a tener en el Release 11g de la plataforma y cuales son los planes de evolución a futuro.

Así mismo los asistentes pudieron asistir a talleres prácticos de más de 25 productos distintos, liderados por el equipo de PTS en conjunto con los distintos Product Managers y Desarrolladores de producto. Fue una semana en la que se respiró tecnología pura de Oracle y sirvió para que los asistentes también pudieran intercambiar experiencias con los productos y sus proyectos.

Para ver las reseñas tanto en español como en ingles pueden ir a los siguientes links:

Press release de Yahoo News


Reseña Asociación Colombiana de Ingenieria


El Centro de Recursos de SOA

0

Los grandes vendedores de Software estan impulsando SOA ya desde hace algún tiempo por lo que los analistas dicen que estamos de frente a la tercera gran ola tecnológica de la historia (Primero fue la tecnología MainFrame, luego vino el mundo Cliente/Servidor).

Oracle desde hace un par de años se ha enfocado en tener una oferta completa, soportando los estándares de industria e integrada a los componentes de capa media como el servidor de aplicaciones y la herramientas de desarrollo. Hoy en día Oracle cuenta con la Oracle SOA Suite que es un conjunto de productos que cubren todo el ciclo de vida de SOA.

Sin embargo cada vez me doy cuenta que los productos no van a ser de gran ayuda para conseguir los beneficios que trae SOA sin que haya un análisis y una planeacion estratégica que permita llever a cabo los proyectos y que permita ascender dentro de un modelo de maduración a futuro.

Es en el área de los servicios donde está el valor agregado que se tiene en los proyectos orientados a SOA, los servicios se complementan con productos de calidad y que satisfagan los requerimientos ya identificados, pero estos entran en juego una vez se tenga claro cual es el tipo de proyecto y como la arquitectura planteada va a soportar los planes a futuro.

Oracle no solo esta trabajando en ofrecer los mejores productos del mercado para poder llevar SOA a las organizaciones sino también esta aportando herramientas para que la implantación de SOA sea un exito, partiendo del entendimiento de los conceptos y metodologías asociadas así como también de casos de estudio con los que se pueden apreciar situaciones reales.

Los invito a todos aquellos que quieran acceder a los casos de estudio y soluciones de los mismos así como también se puede tomar un SOA Assessment en linea que le ayudará definir una estratégia alrededor de SOA en el SOA Resource Center


Tutorial de Integracion ICEFaces con ADF

3

Acaba de ser publicado en OTN un articulo que trabaje junto con Shay Shmeltzer que muestra como realizar la integración de los componentes AJAX de ICEFaces con una capa de negocio construida utilizando JPA dentro de JDeveloper y el componente de integración al IDE que proporciona ICEFaces.

En este tutorial se dan las nociones básicas de como contruir una capa de modelo de negocio utilizando JPA así como también la utilización del desarrollo visual en JSF utilizando el panel de estructura y el asistente de codigo que proporciona JDeveloper.

Para acceder al tutorial puede hacer click aqui


Oracle Open World Latinoamerica esta Cerca

0

El próximo 27 al 29 de Marzo en Sao Paulo, BR se va a llevar a cabo el Oracle Open World para Latinoamérica, con la participación de clientes, socios de negocio y representantes de las distintas líneas de negocio de Oracle.


En este evento se cuenta con la participación de especialistas de producto Oracle y los asistentes podrán participar de las conferencias, laboratorios y demostraciones que se van a llevar a cabo. Dentro de los elementos que se resaltan de ente evento se encuentran los Keynotes como el de Charles Phillips, presidente de Oracle y Thomas Kurian VP de Application Server.


El área de PTS va a estar presente dentro de este evento con charlas y también en los Demogrounds. Para mas información pueden hacer ir aquí.


Un solo Blog que abre las puertas a ADF

0

La comunidad de desarrolladores de ADF crece cada día de
manera exponencial a tal punto que en la actualidad se encuentran constantemente nuevos blogs (como este) en los cuales se comparten las experiencias vividas con la utilización del framework.

Cada vez que tengo una duda sobre ADF y quisiera ver un
ejemplo práctico sobre el tema mis principales fuentes de
información son OBE (Oracle By Example) de JDeveloper y Google, así como tambien intento pasar por los distintos blogs de los Product Managers de ADF para mirar si hay algún ejemplo que se haya publicado y que pueda utilizar.

Sin embargo hay muchos blogs que se quedan por fuera de mi busqueda ya que o no los conozco, o por cuestiones de tiempo no me puedo poner a inspeccionar dentro de cada uno hasta que encuentre la respuesta. Sin embargo Ric Smith PM de ADF creo en su sitio un Blog que se alimenta de los Posts de todos los blogs que existen sobre ADF y JDeveloper en el cual se asocian los enlaces a los distintos posts que se hacen diariamente sobre el tema. Por ende ahora cada vez que necesito buscar sobre los blogs solo voy a un sitio http://thepeninsulasedge.com/adfblog/

Este sitio tambien esta referenciado dentro de los links de este Blog como ADF & JDeveloper Blogs.

Vamos a ver como se van a ver los articulos en español entre todo el mar de contenido en ingles....


Usando la API de Oracle BPEL PM

4

En muchas ocasiones nos preguntan al PTS colombiano, al mexicano o bien a un servidor cómo se utiliza la API de Oracle BPEL PM, sobre todo para iniciar procesos desde una aplicación web (servlet o jsp). Aquí un pedazo de código que les puede servir para hacer pruebas simples:

//Estos son los imports
package rolando.ejemplos;

import java.util.Properties;
import java.util.Map;
import javax.naming.InitialContext;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import com.collaxa.xml.XMLHelper;
import com.oracle.bpel.client.ClientDefs;
import com.oracle.bpel.client.Locator;
import com.oracle.bpel.client.NormalizedMessage;
import com.oracle.bpel.client.delivery.IDeliveryService;

try{
String nombre= "rolando";
System.out.println("Nombre " + nombre);

Properties props = new java.util.Properties();
props.load(new FileInputStream("c:/context.properties")); //Declarar el properties con los datos de conectividad hacia el application server, mas abajo pongo un ejemplo del archivo
System.out.println(props);
// Revisar el namespace del mensaje de entrada al proceso
String xml = "" + nombre+ "";

Locator locator = new Locator("default","bpel",props);

IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );

NormalizedMessage nm = new NormalizedMessage( );
nm.addPart("payload", xml );

NormalizedMessage res = deliveryService.request("HelloService", "process", nm);

Map payload = res.getPayload();

System.out.println( "El proceso se ha iniciado!
" );
Element partEl = (Element) payload.get("payload");
System.out.println( "RESPUESTA" + XMLHelper.toXML(partEl) );
}catch(Exception e)
{
e.printStackTrace();
}

==============
Ejemplo del context.properties:

orabpel.platform=ias_10g
java.naming.factory.initial=com.evermind.server.rmi.RMIInitialContextFactory
java.naming.provider.url=opmn:ormi://rcarras-lap2:6003:oc4j_soa/orabpel
java.naming.security.principal=oc4jadmin
java.naming.security.credentials=welcome1

El puerto es el del opmn (lo encuentran eh $OH/opmn/conf) en el elemento "request", "oc4j_soa" es el nombre del container en donde tienen publicado a BPEL PM y orabpel es la aplicación. Esta es una URL de un container manejado por un midtier, en caso que sea un standalone sería: ormi://localhost/orabpel.

En el siguiente post pondremos cómo conectarse a través de la API al servicio de Workflow Humano de Oracle BPEL PM.


El Blog esta al Aire

0

En el día a día del rol que desempeñamos quienes 
contribuimos a este Blog, trabajamos en la resolución
de dudas, orientación y en general en la construcción de
un conocimiento colectivo para toda la cadena de valor
de Oracle en las distintas áreas de enfoque que manejamos.

Este Blog busca proporcionar información relacionada con
Tecnologías Oracle tales como ADF, Fusion Middleware, SOA,
BI y Base de Datos, principalmente en idioma español,
sin embargo no se descarta la posibilidad de tener artículos
y enlaces a material y documentación oficial de Oracle que se
encuentre en ingles.

Esperamos que este espacio sea del interés de todos los
usuarios de Oracle de habla hispana y sirva para aumentar el
conocimiento y contribuir con material de calidad sobre las
distintas áreas que se van a trabajar.

Cabe aclarar que las opiniones expresadas en este Blog son de
carácter personal y se dan basadas el trabajo que desempeñamos
las personas que estamos contribuyendo a este espacio y no pueden
ser tomadas como posiciones oficiales de Oracle.
Disfruten del Blog!!!!


Post navigation