This topic describes how SDO data graphs are used to represent different types of message information in a standard way giving a simple and powerful model for programming mediations.
SDO data graphs are an important concept for mediation programmers. Service Data Objects (SDO) is a technology designed to simplify and unify the way in which applications handle data. Using SDO, you can uniformly access and manipulate data from diverse data sources, including relational databases, XML data sources, Web services, and enterprise information systems.
For a good introduction to SDO, refer to Introduction to Service Data Objects.
SDO is based on data graphs, which are structured collections of data objects. In general, graphs generated from messages will have a tree structure. A mediation retrieves a data graph from a message, transforms the data graph, and the updates to the graph are reflected in the message.
In WebSphere Application Server, data access services connect mediations to data sources, allowing mediations to manipulate an abstract representation of the message, the SIMessage. The SIMessage API provides a method, getDataGraph(), that returns the SDO data graph containing the SIMessage content in a tree representation, or graph of data objects, each of which represents one or more fields in the message, or points to other objects.
When a data graph is requested from a message, the appropriate data access service is identified by a format property in the SIMessage. The format string controls which data access service is used to process the message, and may also contain additional control information for that data access service. In turn, the structure of the message is controlled by the data access service. For more information about the data access services available in WebSphere Application Server, see Mapping of SDO data graphs for Web services messages
You use the SIMessageContext API for access to the SIMessage and its rich set of message manipulation methods, and to the SIMediationSession, for Service Integration technologies functionality. For further information, see SIMessageContext