SOA Manifesto??

0

Mi buen amigo René Figueroa, uno de los Top SOA Architects que tiene Oracle en Latinoamérica me sugirió entrar a este sitio http://soa-manifesto.org/ , hace sólo unas horas.

A todos aquellos que les toca estar frente a los clientes sugiriendo Arquitecturas Orientadas a Servicios este manifesto les debe representar algo importante.

Yo ya lo firmé y espero que ustedes también lo hagan.

Ahora igualmente pueden seguirme en twitter.com/brimful_ofasha


Actualizaciones en vivo del OOW y Mi Horario en Demos

0

Por esta semana los lectores de nuestro blog van a poder tener actualizaciones en vivo de las distintas noticias y pormenores que se den durante el Oracle Open World 09 a través canal de twitter de la Comunidad Hispana Oracle @cohispana. A partir de hoy hasta el próximo Jueves los visitantes al blog tendrán una columna a mano izquierda con las actualizaciones en vivo que se estén dando al canal.

Por otro lado al igual que Rolando aquí les dejo mi horario de los demo grounds que se encuentran ubicados en Moscone West:

Lunes Oct 12:

4.30 p.m – 6.30 p.m. En el booth de JDeveloper

Martes Oct 13:

2.30 p.m – 4.30 p.m. En el booth de ADF Faces

Miercoles Oct 14:

9.15 a.m – 11.15 a.m. En el booth de ADF Faces.

Y algo que les había quedado debiendo este año fue la imagen previa de los preparativos del OOW. Esta es en la casa matriz de Oracle en el auditorio donde los empleados estábamos recogiendo nuestras credenciales de acceso al evento…. miren el tamaño de las personas con relación a la pancarta.



La Guía de ADF para el Oracle Open World 2009

0

Tres semanas nos alejan del Oracle Open World uno de los eventos más grandes a nivel mundial en la industria de tecnología; una semana completa llena de presentaciones, laboratorios, demostraciones y anuncios sobre los avances y el futuro de los productos de Oracle.

Por segundo año consecutivo seré unos de los presentadores del equipo de JDeveloper y ADF para lo cual estoy poniendo el todo por el todo. Para todos aquellos que se encuentren asistiendo a este evento y sean seguidores del blog les dejo en este post el horario de mis presentaciones y mis actividades a lo largo de la semana así como también les dejaré una guía completa de todas las actividades que vamos a tener tanto en el Oracle Develop como en el Open World en torno a ADF.

Las sesiones que estaré liderando son:

Domingo 11 de Octubre

S309420 – Hands-On-Lab: Developing Rich Internet Applications and Rich Enterprise Applications with Oracle ADF Faces

Lunes 12 de Octubre

S312744 – Hands-On-Lab: Developing Ajax-Based User Interfaces with JSF

Martes 13 de Octubre

S309420 – Hands-On-Lab: Developing Rich Internet Applications and Rich Enterprise Applications with Oracle ADF Faces

S307624 – Developing Microsoft Office Front Ends for Enterprise Java Applications

Miércoles 14 de Octubre

ADF Unconference Day – Integrating ADF with SOA (Estoy mirando si le doy otro enfoque a esta presentación)

Aparte de estas sesiones me encontraré también en la zona de los DemoGrounds en el Pod de JDeveloper o en el de ADF Faces para que podamos conversar con más calma. 

Este año tenemos muchas más sesiones formales (agendadas) y también hemos querido tomar la iniciativa de crear un día dedicado a ADF dentro del evento que corre en paralelo llamado el Unconference donde cualquier persona que participe del OOW puede hacer una presentación de manera libre sobre cualquier tema que le parezca interesante.

En el este enlace van a poder tener el listado completo de sesiones de ADF durante el evento.

Así que nos vemos en San Francisco!!!!


Un diagrama útil...

0

Este es un diagrama útil que he creado que les puede ayudar para explicar los conceptos de SOA y BPM.

Igualmente se puede hacer énfasis en las diferentes piezas de una arquitectura como esta:

  • Tecnología de Orquestación y Exposición de Servicios ( Service Bus y BPEL )
  • Tecnología para establecer conectividad con diversos aplications (Adaptadores)
  • Seguridad de Servicios
  • Capa de Análisis y Gestión de Procesos
  • Capa de Monitoreo en Tiempo Real
  • Capa de Gobernabilidad de Procesos y Servicios
  • Gestión y Desarrollo Centralizado
  • Capa de exposición de Aplicaciones Compuestas. Portales y Enterprise 2.0



En términos de Productos de Oracle, estamos hablando de :
  • Oracle BPM
  • Oracle BPA Suite
  • Oracle SOA Suite
  • Oracle Service Bus
  • Oracle Enterprise Repository
  • Oracle Webcenter

Se sugiere hacer la descarga de SOA Suite 11g, pues es una pieza clave para la composición de Servicios. Esto es clave para una arquitectura SOA , pues en verdad te da la posibilidad de componer y gestionar servicios compuestos, no piezas aisladas.

Se sugiere también hacer la publicación del Fusion Order Demo 11g. La pueden encontrar aquí.


Pequeña Guía para trabajar con ADF Swing en JDeveloper 11g

2

Hace pocos días alguien me pregunto como empaquetar y ejecutar aplicaciones creadas con ADF Swing en JDeveloper 11g. Después de un intento fallido a las carreras, me puse en la tarea de probar este modulo de ADF del cual no se escucha mucho normalmente. Este es un pequeño tutorial que muestra como empaquetar y ejecutar una aplicación sencilla creada con ADF Swing.

Al tener ya un tutorial en ingles para crear aplicaciones en swing, no voy a especificar como crear la aplicación por lo cual nuestro punto de partida es una aplicación lista, con algo de lógica y que corre dentro de JDeveloper11g.

image

Ahora para empaquetar esta aplicación vamos a crear un Deployment Profile. Click derecho en el proyecto –>Project Properties –>Deployment y damos New. El tipo de paquete para una aplicación Swing es jar image No hay mucho mas que dar el nombre al deployment que va a ser el nombre de nuestro paquete. Luego en las propiedades lo único que nos tenemos que asegurar es que en las JAR Options este seleccionado Include Manifiest File (META-INF/MANIFEST.MF) y luego en el Main class seleccionamos la clase de nuestra aplicación que contiene el main. Para este ejemplo basado en el tutorial en ingles el valor es client.Application1

Luego salvamos toda la información y damos click derecho sobre el proyecto –> Deploy –>MyApp–>To jar file.

Y finalmente nos vamos en una ventana de comandos y damos java –jar miAplicación.jar

image


JDeveloper 10.1.3.5 liberado

0

El día de ayer fue liberada la versión 10.1.3.5 de JDeveloper la cual es una versión de mantenimiento que resuelve bugs abiertos y beneficia a todos aquellos que se encuentran trabajando aplicaciones en FMW 10g. La lista de bugs corregidos se encuentra en el este enlace y el software lo pueden descargar directamente desde OTN.


Filtrando Colecciones de Datos con ViewCriterias Utilizando Programación

1

Desde las primeras versiones de ADF 11g les había hablado acerca de uno de los componentes de los ViewObjects llamado ViewCriteria a través de los cuales podemos definir sentencias “FindBy” o en otras palabras sentencias para filtrar los datos de una colección con base en uno o más criterios.

En este articulo vamos a ver como trabajar con ViewCriterias utilizando programación para manualmente filtrar los resultados de una colección de datos, producto de una pregunta que se dio en el foro de OTN.

Nuestro punto de partida es una aplicación que tiene sus servicios de negocio basados en Business Components en donde tenemos un VO de Empleados el cual tiene 2 ViewCriterias definidas EmployeeViewCriteria1 y EmployeeViewCriteria2 –la primera filtra los salarios superiores a 10000 y la segunda filtra los empleados que tengan comisión por Ventas asignada (no null). Cabe aclarar que el comportamiento por defecto de las ViewCriterias es que al ser aplicadas van a sobre escribir cualquier otra ViewCriteria que se haya ejecutado previamente, sin embargo también se pueden configurar de tal forma que la ejecución de las mismas sea acumulable.

Lo primero que vamos a hacer es crear algunos métodos propios sobre nuestro VOImpl a través de los cuales vamos a invocar el API de los ViewObjects y de esta forma poder aplicar y remover VCs

    //En la clase EmployeesVOImpl.java
    public void applyVC(String name){
        setApplyViewCriteriaName(name,true);
        executeQuery();
    }
    public void removeVC(String name){
        removeApplyViewCriteriaName(name);
        executeQuery();
    }


Exponemos estos métodos para que hagan parte de las operaciones que se pueden invocar desde la interfaz. Luego necesitamos crear la lógica en la vista para invocar estos métodos y pasar los parámetros adecuados.



Para este ejemplo hemos creado una página sencilla que contiene 4 links – 2 para aplicar las VCs y otros 2 para removerlas.



image



Dentro de cada uno de los links hago uso de la operación setPropertyListener la cual me sirve para asignar el valor de la VC que quiero invocar a una variable dentro de un managed bean. El código de mi página queda entonces de la siguiente forma:



<af:commandLink text="applyVC1" id="cl1"
                actionListener="#{HRTestBean.applyVC_action}">
  <af:setPropertyListener from="EmployeesViewCriteria1"
                          to="#{HRTestBean.criteriaName}"
                          type="action"/>
</af:commandLink>
<af:commandLink text="applyVC2" id="cl1"
                actionListener="#{HRTestBean.applyVC_action}">
  <af:setPropertyListener from="EmployeesViewCriteria2"
                          to="#{HRTestBean.criteriaName}"
                          type="action"/>
</af:commandLink>


Dentro de mi managed bean todo lo que tengo que hacer es invocar el método respectivo por medio del OperationBindingContainer.



public class HRTestBean {
  
  public String criteriaName;
  
  public HRTestBean() {
  }
    public void setCriteriaName(String criteriaName) {
        this.criteriaName = criteriaName;
    }
    public String getCriteriaName() {
        return criteriaName;
    }
    public void applyVC_action(ActionEvent actionEvent) {
       executeCriteria("applyVC");
    }
    public void removeVC_action(ActionEvent actionEvent) {
        executeCriteria("removeVC");
    }
    
    public void executeCriteria(String name){
        String cName = getCriteriaName();
        BindingContext bctx = BindingContext.getCurrent();
        DCBindingContainer bc = (DCBindingContainer)bctx.getCurrentBindingsEntry();
        OperationBinding opb = (OperationBinding)bc.getOperationBinding(name);
        opb.getParamsMap().put("name",cName);
        opb.execute(); 
    }
}


Y finalmente asigno un partialTrigger a mi tabla para que se refresque cada vez que doy click a uno de los links.


SOA Suite 11g

0

Desde el 1ero de Julio de 2009 está disponible en otn.oracle.com una nueva versión de SOA Suite. Tiene mejoras sustanciales relacionadas a:

  1. Un monitoreo unificado utilizando Oracle Fusion Middleware Control 11g
  2. Un modelador de Aplicaciones Compuestas basado en SCA
  3. Nueva interface para la definición de reglas de negocio. Todo desde Oracle JDeveloper, soportando Tablas de decisión y algoritmos de validación de reglas
  4. Seguridad unificada de Web Services
  5. Soporte a Human Taks utilizando ADF 11g
  6. Business Activity Monitoring sobre Weblogic y soportando múltiples Sistemas Operativos
  7. Framework de Eventos que evita al desarrollador tener que lidear con Tópicos y Colas. Este framework es muy poderoso para interactuar con eventos que se generan en BDs Oracle ,así como en ADF
  8. También se introduce el concepto de Mediator que te permite: Realizar enrutamiento de mensajes en base a contenido, filtrar mensajes, enriquecerlos, así como manejar excepciones.
  9. Se agregaron conectores para: Sockets, BAM y para llamadas a Java (Spring)
  10. Se mejoraron las capacidades de transformación de mensajes, continuando con el soporte de XSLT

Estas y mas mejoras las pueden encontar en: http://www.oracle.com/technology/products/soa/soasuite/index.html

Otro punto importante es la capacidad de hacer update de versiones previas (10.1.3.X) de una manera simple. Por ejemplo: proyectos construidos con Oracle BPEL PM basta con que se abran con el JDeveloper 11g y se publiquen al nuevo BPEL Server y se habrá hecho la migración. En la documentación se ha incluido toda una guía de cómo hacerlo:

http://download.oracle.com/docs/cd/E12839_01/upgrade.1111/e10127/toc.htm

Oracle SOA Suite 11g contiene todo lo necesario para que puedas crear servicios, protegerlos, orquestarlos, así como monitorearlos. Además de sus capacidades mejoradas de Business Rules; todo esto la hace aún mas poderosa de lo que ya era. Si a esto le agregamos el soprote a SCA, simplemente no hay nada similar que se pueda encontrar en el mercado.


Dominios de Oracle BPEL 10.1.3.x con letras Mayúsculas?

1

Crear Dominios en Oracle BPEL PM con letras mayúsculas no está soportado.
Si están teniendo problemas al entrar a la consola de BPEL (http://maquina:puerto/BPELConsole) y les genera un problema de redireccionamiento es porque alguno de sus dominios está creado con una palabra que tenga mayúsculas.

El síntoma es querer entrar a la consola y que ésta al hacer login tenga un problema de redirección y no pueda darte acceso.

Otra situación que sucede es que desde el BPELAdmin sí te dejará entrar, pues directamente estarás seleccionándolo y hará el redirect; pero en realidad el problema está en que directo del BPELConsole nunca conseguirás accederlo.


Post navigation