Tuesday, June 16, 2009

Design and use business objects and the business object framework

 
 

Design and use business objects and the business object framework API when developing a solution

Business objects

Business objects define the data flowing between components. 
 
They are containers for application data, such as a customer or an invoice. Data is exchanged between components by business objects. The underlying structure of a business object is an XML schema definition (XSD).
 
A business object contains fields which have a name, a type (scalar type or another business object), a default value (for scalar types) and cardinality. Business objects can extend (define a superset of fields) other business objects through parent/child relationships, however, a business object can only inherit from a single parent. These objects can also be used in conjunction with each other to perform a task.

Business object framework API

In WebSphere Process Server, the business object framework is made up of the following elements:
  • Business object definition
  • Business graph definition
  • Business object metadata definition
  • Business object services (service APIs)

Service Data Objects (SDO)

Service data objects complement Service Component Architecture. Service Component Architecture defines the services as components and the connectivity between them. Service data objects define the data flowing between components.
 
Each component passes information as input and output. When a service is invoked, data objects are passed as an XML document with document literal encoding when using a WSDL port type or as a Java™ object when using a Java interface. Data objects are the preferred form for data and metadata in Service Component Architecture services. Similar to components, service data objects separate the data object from its implementation. For example, a component interacts with purchase orders while the purchase order itself might use JDBC, EJB, and so on, to perform the updates to the data. Service data objects let the integration developer focus on working with business artifacts. In fact, service data objects are transparent to the integration developer. They are defined by a service data objects Java Specification Request (JSR).

Service Message Objects (SMO)

Service message objects are enhanced business objects that include the application data and header information related to the transport protocol used to invoke a service such as SOAP or JMS. A service message object is composed of a body that contains the application data (also known as the payload or operation message) in a business object, and headers containing additional context information.
 
Service message objects are used inside mediation flow components. When a mediation flow component is invoked, the business object that is input to the mediation flow is wrapped with additional context and header information and becomes a service message object. This contextual information, such as SOAP header information can be accessed from within the mediation flow component.
 
 

Service Data Objects and business objects

Service Data Objects and business objects define the data flowing between components that are defined in Service Component Architecture.
 
The Service Data Object (SDO) technology is an open standard for enabling applications to handle data from heterogeneous data sources in a uniform way. SDO incorporates J2EE patterns but simplifies the J2EE data programming model.
 
Part of the IBM® WebSphere® Application Server capabilities that are built into WebSphere Process Server, SDOs provide a framework for data application development that simplifies the J2EE data programming model.
 
WebSphere Process Server includes business objects, which are enhanced SDOs, based on the data-access technology. SDOs provide a universal means of describing disparate data (for example, JDBC ResultSet and XML Schema described data). Business objects include some extensions that are important for integration solutions and are used to further describe the data that is being exchanged between Service Component Architecture services. Business objects are part of the Service-oriented architecture (SOA) core of WebSphere Process Server.
 
A business object is a set of attributes that represent a business entity (such as Employee), an action on the data (such as a create or update operation), and instructions for processing the data. Components of the integration application use business objects to exchange information and trigger actions. Business objects are flexible because they can represent many kinds of data. For example, in addition to supporting the data canonicalization model of traditional integration servers, they also can represent data returned from a synchronous EJB Session Bean facade or a synchronous business process, and then they can be bound to IBM WebSphere Portal portlets and JSF components.
 
Business objects are the primary mechanism for representing business entities, or documenting literal message definitions, enabling everything from a simple basic object with scalar properties to a large, complex hierarchy or graph of objects.
 
In WebSphere Process Server, the business object framework is made up of the following elements:
  • Business object definition
  • Business graph definition
  • Business object metadata definition
  • Business object services (service APIs)
 
A business object definition is the name, set of ordered attributes, properties, version number, and application-specific text that specify a type of business object. A business graph definition is the wrapper added around a simple business object or a hierarchy of business objects to provide additional capabilities, such as carrying change summary and event summary information related to the business objects in the business graph. A business object metadata definition is the metadata that can be added to business object definitions to enhance their value when running on WebSphere Process Server. This metadata is added to the business object’s XML schema definition as well known xs:annotation and xs:appinfo elements. Business object services are a set of capabilities provided on top of the basic capabilities provided by Service Data Objects. Examples are services such as create, copy, equality, and serialization.
 
 

No comments: