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!!!!


Trabajando con el Placeholder DataControl en ADF11g

0

Los DataControls son la implementación que hace el framework ADF del estándar JSR-227, a través de los cuales creamos la capa llamada ADF Model (ADFm) que básicamente nos permite exponer los servicios de negocio a la capa de interfaz de manera homogénea sin importar la tecnología en que estos servicios fueron creados.

El Placeholder datacontrol fue introducido a partir de ADF11g y su función principal es la de simular una capa de servicios de negocio basada en Business Components de forma rápida e incluyendo todas las operaciones y estructuras con que normalmente se cuentan. Los diseñadores de interfaces pueden sacar provechos de este componente para crear las páginas y taskflows sin necesidad de tener datos reales viniendo de la capa de servicios. En este articulo voy a presentar como hacer uso de esta funcionalidad que nos presenta ADF.

Creando el PlaceHolder:

Lo primero que hacemos en este caso es crear una Fusion Web Application luego todo lo que tenemos que hacer es en el proyecto de servicios de negocio vamos a la categoría Data Controls y escogemos Placeholder DC.ProjectStructure

Con esto estamos generando un DataControl vacio, como si fuera un AppcreateSampleVOlication Module más de nuestra aplicación, ahora vamos a crear los llamados DataTypes o estructuras de datos. Con ellos vamos a simular nuestros ViewObjects, aquí vamos a crear los atributos, definir listas de valores, llaves primarias, Maestros Detalles, UI Hints, etc. Click derecho sobre el Placeholder DC-> Create Placeholder Data Type.

image

Por ejemplo para crear un atributo como una Lista de valores, tenemos que tener un DataType base para basar nuestra lista.Para crear un una relación Maestro Detalle debemos seleccionar la propiedad searchable sobre el atributo y luego creamos un nuevo Data Type partiendo de la estructura que va a ser el padre.

Finalmente procedemos a insertar datos estáticos dentro de las estructuras de datos. Esta información puede ser insertada de forma manual o también a través de un archivos separado por comas CSV. Todos los datos van a quedar almacenados dentro del ResourceBundle en el Modelo.

Una vez creamos todas las estructuras podemos crear cualquier tipo de interfaces con ADF Faces, así mismo podemos simular las operaciones de los BCs.

Al final la estructura que cree contiene maestro-detalle, lista de valores y operaciones.

image

Al utilizarla dentro de las páginas obtengo todas las opciones de acuerdo al tipo de datos y estructura jerárquica que creé.

imageAhora a sacarle provecho a esta utilidad.


Nuevas Carácteristicas en JDeveloper11g R1

0

FMW11g R1 viene con una nueva versión de JDeveloper 11g que se conoce internamente como Bulldog. Esta versión contiene un gran número de nuevas características en todas las áreas funcionales. Así mismo con esta versión se puede desarrollar para todo lo que es SOA Suite y WebCenter que también hacen parte de FMW11g.

En este articulo presentaré algunas de las principales características de esta nueva versión asociadas a JDeveloper y ADF:

ADF Desktop Integration:

image

Un componente de ADF que nos va a permitir extender aplicaciones ADF 11g nuevas y existentes, ofreciendo una integración con hojas de cálculo en excel, las cuales se pueden utilizar para la administración de información que provenga de servicios de negocio expuestos con el ADF model.

Para más información pueden ver un video de introducción aquí y también les dejo el enlace para el tutorial de introducción

Oracle Metadata Services (MDS):

Con MDS se adiciona el tema de personalización de interfaces - los componentes visuales y funcionales de un documento base pueden ser modificados sin necesidad de crear nuevas versiones de un mismo documento.

Organizaciones las cuales requieren distintas versiones de una misma interfaz (e.j. departamentos) o personalizar aplicativos de acuerdo al cliente van a tener grandes beneficios utilizando esta nueva característica de ADF 11g.

Video de introducción y tutorial de ejemplo

Team Productivity Center:

Uno los componentes más grandes de este release. Adiciona funcionalidad para manejar el ciclo de vida de una aplicación a JDeveloper. A través de TPC se pueden utilizar repositorios de Bugs como Jira o MS Project y se puede hacer seguimiento en equipo a los desarrollos. Complementa la oferta de la funcionalidad ya conocida de soporte a controladores de versiones. Es una extensión que aporta bastantes beneficios a los equipos de desarrollo.

La página principal en OTN esta aquí, también tiene un demo de introducción y pueden ir al blog de Susan Duncan para un resumen en ingles

 

Active Data Services:

Funcionalidad del framework para soportar eventos tipo push en las interfaces ADF faces utilizando la plataforma Comet. De tal forma que las interfaces se pueden refrescar en el momento que los eventos del lado del servidor ocurran.

Otras grandes áreas en la que vamos a profundizar más es en las extensiones para WebCenter11g y SOA Suite 11g. Espero desde ya empiecen a trabajar con este release y que sigamos compartiendo conocimiento por este medio. Para la lista completa de las nuevas características en este release pueden ir a OTN en el siguiente enlace.


Oracle Fusion Middleware 11g está en Producción

0

Julio 1ero marca el nacimiento oficial de la más reciente generación de aplicativos de  Middleware de Oracle – FMW11g. Los productos que a partir del día de hoy se encuentran en producción son el resultado de un periodo de adaptación y continua evolución que ha caracterizado a las soluciones de Middleware de Oracle en los últimos años.

FMW 11g cuenta con productos y soluciones en categorias como Herramientas de Desarrollo,  SOA, Interacción con Usuario (Portales y Web2.0), Identity Management, Enterprise Management, Seguridad, Inteligencia de Negocios y Gestión de Contenido.

A partir de hoy pueden hacer uso de las herramientas usadas para la construcción de las Aplicaciones Fusion. Esperamos poder seguir escribiendo sobre esta nuevo release para sacarle todo el provecho y continuar generando un conocimiendo compartido.

image

Por el lado de herramientas de desarrollo estaré explorando la nueva versión de JDeveloper 11g, conocida internamente con el nombre Bulldog en los próximos articulos.


Post navigation