Archive for agosto 2009

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.


Presentando en el OTN Developers Days Bolivia 11/08-13/08

0

Como parte de la conformación de la comunidad de desarrolladores en el sur del continente se van a llevar a cabo 2 OTN Developers Days en 11 de Agosto en La Paz y el 13 de Agosto en Santa Cruz de la Sierra en los cuales tendré el placer de presentar!!.

Durante estos eventos vamos a dar un vistazo general de las últimas herramientas de desarrollo que ofrece Oracle y la plataforma de desarrollo para Oracle Fusion. El evento esta dirigido a usuarios que vienen del mundo Forms 4GL, People Tools, Oracle E-business-Suite, JDEdwards y por supuesto Java. Los asistentes podrán apreciar demostraciones en vivo de los productos, a la vez que podrán disfrutar de un evento abierto, relajado, entretenido y de mucho aprendizaje... Como nos gusta a los desarrolladores!!!

Para todos los usuarios de JDeveloper o aquellos que quieren saber como empezar a trabajar con ADF y JDeveloper que viven en Bolivia, este es un evento que no se pueden perder. Los asistentes van a poder apreciar demostraciones en vivo de los productos y tener contacto de primera mano con el recién liberado JDeveloper/ADF 11g Release1.

Pueden registrarse en el evento de la Paz a través del este enlace y para el evento en Santa Cruz de la Sierra en este enlace.

Nos vemos en Bolivia!!!!


Post navigation