Data Change Notification Requests

The consolidated database (or cache) can be updated by changed data at the enterprise information system (EIS) level using a data change notification (DCN) request. DCN requests can invoke arbitrary MBO operations, including alternate read operations. DCN requests are typically initiated by the EIS back end.

A DCN request is primarily meant to supply the changed data (at the back end) to Unwired Server as payload to enable updating of Unwired Server cache. The payload can contain inserts, updates, and deletions from the back end.

Unwired Server expects a DCN request via HTTP or HTTPS. The base URL for the request is:

http://<host>:<port>/onepage/servlet/UWPServlet

The mandatory parameters for this URL are:
Though the authenticate.user. authenticate.password and dcn_request parameters can be provided as URL parameters, Sybase recommends that, for security purposes, you instead embed them in the POST body.
DCN requests must be in a specified in a JavaScript Object Notation (JSON) format, which must include:

The format of non-string data is same as the one used in providing default values of parameters in tooling. For example, specify timestamp values in a format similar to 2009-03-04T17:03:00+05:30. Base binding names on MBO names rather than EIS names.

For MBO operations that are executed using DCN, any explicit value specified in the DCN request takes precedence over a personalized value. To use a personalized value in DCN processing, do not include the personalized parameter name and its value in the DCN request. The personalized value is then inferred by the server and added to the supplied bindings. Similarly, omit parameters with default values if the intent is to use previously specified default values.

This sample DCN includes new lines and indentation only for clarity; you need not include them in an actual request:
dcn_request=
 {"pkg":"Mobile Studio",
"messages":[
{
"id":"1",
"mbo":"company",
"op":":upsert",
"cols":
 {
"company_id":"6",
"name":"Sonia",
"so_user":"cjobson"
}
},

{
"id":"2",
"mbo":"contact",
"op":":upsert",
"cols":
 {
"company_id":"7",
"first_name":"Diana",
"contact_id":"5"
}
}
]
}

For providing null values to parameters, the special value null 
should be user, note the absence of quotes -  

"cols":
 {
"company_id":"6",
"name":null,
"so_user":"cjobson"
}
 

The old value parameters can be provided in the DCN request by 
prepending the parameter name with "old:" as follows (marked in
italics) - 
"cols":
 {
"company_id":"6",
"name":"Changed",
"old:name":"Diana"
"so_user":"cjobson"
}