Este tema sólo se aplica a la configuración de IBM Business Process Manager Advanced.

Objetos de negocio

Un objeto de negocio es un contenedor de datos de aplicación, por ejemplo un cliente o una factura. Mediante los objetos de negocio se intercambian datos entre componentes. La estructura subyacente de un objeto de negocio es una definición de esquema SML (XSD).

Service Component Architecture (SCA) proporciona la infraestructura para definir un módulo de aplicación, los servicios que proporciona, los servicios que consume y la composición de los componentes que proporcionan la lógica empresarial del módulo de aplicación. Los objetos de negocio juegan un papel importante en la aplicación, definiendo los datos de negocio que se utilizan para describir los contratos de servicio y componente y los datos de negocio que los componentes manipulan.

El siguiente diagrama representa un módulo de aplicación SCA e ilustra muchos de los lugares donde el desarrollador trabaja con objetos de negocio.
Figura 1. Los objetos de negocio representan los datos que fluyen entre los servicios de una aplicación
Ilustración que muestra datos nativos que entran en un módulo de servicio y se transforman en objeto de negocio antes de que los procese el componente de servicio.
Nota: En este tema se describe cómo los módulos de aplicación SCA utilizan los objetos de negocio. Si está utilizando interfaces Java™ los módulos de aplicación SCA también pueden procesar objetos Java.

Un objeto de negocio contiene campos que tienen un nombre, un tipo (tipo escalar u otro tipo de objeto de negocio), un valor predeterminado (para tipos escalares) y una cardinalidad. Los objetos de negocio pueden ampliar (definir un superconjunto de campos) otros objetos de negocio mediante relaciones padre/hijo, pero un objeto de negocio sólo puede heredar de un único padre. Estos objetos también se pueden utilizar entre ellos para realizar una tarea.

Campos del objeto de negocio

Esencialmente, los campos de objetos de negocio son mecanismos a través de los cuales puede definir la información que contendrá un objeto de negocio y cómo se debería acceder a dicha información. Los campos del objeto de negocio se utilizan para definir el contenido de un objeto de negocio. Cada campo tiene un nombre, tipo, cardinalidad y otro tipo de propiedades opcionales. Después de crear un objeto de negocio, puede utilizar el editor de objetos de negocio para crear o cambiar sus campos. Un objeto de negocio simplemente es un contenedor de los datos especificados en sus campos. Un objeto de negocio vacío sin campos no es útil porque no tiene los medios para contener datos.

Si crea un objeto de negocio y añade un campo denominado "customerName" con el tipo "string", ahora podrá realmente hacer cosas con este objeto de negocio. Con la adición de cada campo nuevo, la utilidad del objeto de negocio aumenta. Por ejemplo, si añade "customerID" de tipo "int", customerAddress de tipo "string", ahora tiene un objeto de negocio con información útil para utilizarla como desee. Puede pasarlo a un servicio web, por ejemplo, para ejecutar una comprobación de crédito en un cliente. Incluso puede elegir que el objeto de negocio contenga "salesContact" con el tipo "Employee"; otro objeto de negocio. Un objeto de negocio puede contener otros objetos de negocio como datos, lo cual significa que si es necesario los objetos de negocio pueden ser contenedores de datos muy complejos.

Nota: Cuando cree un objeto de negocio, tiene que decidir si un campo será una matriz o no. Posteriormente es posible que observe que el campo se ha escrito como java.lang.List para el mismo objeto de negocio. El tipo no ha cambiado realmente desde que se ha creado el objeto de negocio, y los campos de términos simples con el recuadro de matriz seleccionado son "lists". Al seleccionar que el campo sea una matriz, está indicando que podría tener más de un elemento. Por ejemplo, pongamos el caso que tiene un campo en CustomerBO denominado "previousOrders" de tipo "OrderBO". Seleccionaría el recuadro de matriz para indicar que un cliente podría tener cualquier número de órdenes anteriores, por lo tanto debería estar preparado para contener una lista de elementos, no sólo un único elemento. Por contraste, algo como "name" no se definiría como una matriz porque un "Customer" (cliente) no necesitaría más de uno. Establecer una matriz simplemente es una manera de distinguir entre campos de objetos de negocio que almacenan un valor y campos que almacenan valores X.

Modelo de programación de objetos de negocio

El modelo de programación de objetos de negocio consta de un conjunto de interfaces Java que representan:
  • La definición de objeto de negocio y los datos de la instancia
  • Un conjunto de servicios que dan soporte a las operaciones en los objetos de negocio

Las definiciones de tipo de objeto de negocio están representadas por las interfaces commonj.sdo.Type y commonj.sdo.Property. El modelo de programación de objetos de negocio proporciona un conjunto de reglas para correlacionar la información de tipo complejo del esquema XML con la interfaz Type y cada uno de los elementos de la definición de tipo complejo con la interfaz Property.

Las instancias de objetos de negocio están representadas por la interfaz commonj.sdo.DataObject. El modelo de programación de objetos de negocio no tiene tipo, lo que significa que puede utilizarse la misma interfaz commonj.sdo.DataObject para representar distintas definiciones de objetos de negocio, tales como Customer y Order. La definición de qué propiedades pueden establecerse y recuperarse de cada objeto de negocio viene determinada por la información de tipo definida en el esquema XML asociado con cada objeto de negocio.

El comportamiento del modelo de programación de objetos de negocio está basado en la especificación Service Data Object 2.1. Para obtener más información, consulte la especificación SDO 2.1 para Java, guías de aprendizaje y javadocs de la web: http://www.oasis-opencsa.org/.

Los servicios de objetos de negocio dan soporte a diversas operaciones de ciclo de vida (tales como creación, igualdad, análisis y serialización) en los objetos de negocio.

Para conocer detalles sobre el modelo de programación de objetos de negocio, consulte Documentación API y SPI generada sobre objetos de negocio.

Enlaces, enlaces de datos y manejadores de datos

Como se muestra en Figura 1, los datos de negocio que se utilizan para invocar servicios proporcionados por módulos de aplicación SCA se transforman en objetos de negocio para que los componentes SCA puedan manipular los datos de negocio. De forma similar, los objetos de negocio manipulados por componentes SCA se convierten al formato de datos que necesitan los servicios externos.

En algunos casos, como en el enlace de servicio web, el enlace utilizado para servicios de exportación e importación transforma automáticamente los datos al formato adecuado. En otros casos, como en el enlace JMS, los desarrolladores pueden proporcionar un enlace de datos o un manejador de datos que convierte los formatos no nativos a objetos de negocio representados por la interfaz DataObject.

Para obtener más información sobre el desarrollo de enlaces de datos y manejadores de datos, consulte Manejadores de datos y Enlaces de datos.