Fragment getdata
Where there are extreme requirements to support ad-hoc data requests, services can be designed, but this may not be an optimal approach. This allows that the service interaction is highly optimized for both consumers and the service. Rather than allowing abstract and unconstrained requests, an effective service will have predefined the allowable data fragments and filters to the service interface and supporting service behavior. Upon receiving the request message, the service unmarshals the filter elements and data values from the message, maps the request values to the service and data access object model, processes the request and acquires the data from the data at rest sources, and returns only the requested data elements in the reply message. For each data fragment that is required by a service consumer, the value of the filter is set to “true” in the request message. Each filter is mapped one-to-one with a data fragment (collection of data elements defined to a parent, complex type element) of the message. Filters are simple XML elements that have an allowable value of “true” (i.e., “on” or “yes”) and “false” (i.e., “off” or “no”). Rather than forcing all consumers of a service to always accept and process every element of the message or service response, the consumers can select which of the elements as data fragments (groups of elements) that they require.Ĭonsumers specify the required data fragments in the request message using filters. James Bean, in SOA and Web Services Interface Design, 2010 Summaryĭata fragmentation is a canonical message and service interface design approach that balances between the scope of information requirements and supporting data elements of the service with individual processing needs of different consumers.