git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@68 b6239004-a887-0f4b-9937-50029ccdca16
80 lines
3.5 KiB
HTML
80 lines
3.5 KiB
HTML
<html>
|
|
<head>
|
|
<link rel="stylesheet" type="text/css" href="..\styles.css">
|
|
</head>
|
|
<body>
|
|
<img src="..\..\da.png" alt="" align="right">
|
|
|
|
<!-------------------------------------------------------------------------->
|
|
|
|
<p class="h1">Combined Data Abstract Sample</p>
|
|
|
|
<p>
|
|
This sample shows the combined suite of the main <b>Data Abstract</b> features.
|
|
The sample consists of three parts, each of which is devoted to a particular set of features:
|
|
</p>
|
|
<ul>
|
|
<li>Business Processors and Business Rules,</li>
|
|
<li>Dynamic Select and Dynamic Where and</li>
|
|
<li>Union Tables.</li>
|
|
</ul>
|
|
<p>Also, you have an opportunity to use the <b>Reduced Delta</b> feature concerning any of listed things.</p>
|
|
|
|
<ul>
|
|
<li>
|
|
On the first tab you can test custom business rules, which were specified on the server side.
|
|
You should try to violate these rules and see how the <b>deltas</b> are processed.
|
|
All details concerning the processing of a particular delta can be found in the log on the server main form.
|
|
You can see the content of each delta sent to the server.<br/>
|
|
You can choose how to show this violation: "Show Reconcile", "Raise Exception", "Both" or "None".
|
|
</li>
|
|
<li>
|
|
On the second tab you can appraise how to decrease network traffic and server load, using the <b>Dynamic Select</b> feature
|
|
and retrieving only needed columns. Notice that when you use the <b>Dynamic Select</b> feature the
|
|
"Send Reduced Delta" option will be forced to ON. This page also illustrates the use of <b>Dynamic Where</b> to submit
|
|
secure where clauses to the server in order to filter records fetched by the client.
|
|
</li>
|
|
<li>
|
|
The third tab shows the Union tables feature, that uses <b>Unions</b> defined in the server's Schema to fetch
|
|
data from several tables in the back-end database that is seamlessly combined and available to the client as a unified data table.
|
|
</li>
|
|
</ul>
|
|
|
|
<p class="h2">Examine the code</p>
|
|
<ul>
|
|
<li>
|
|
In order to see how Business Rules are implemented, please review code on the server side.<br/>
|
|
See the <b>TDASampleService.bpBPClientsBeforeProcessChange</b> event handler.
|
|
Notice that if your change does not correspond to a certain rule we just raise an exception in this handler.
|
|
Review what parameters are passed to the handler.
|
|
</li>
|
|
<li>
|
|
Examine <b>TClientForm.btLoadProductsClick</b> and <b>TClientForm.btApplyChangesProductsClick</b> to see how
|
|
<b>Dynamic Where</b> and <b>Dynamic Select</b> features are used there.
|
|
</li>
|
|
<li>
|
|
Take a look at the <b>TClientForm.btLoadAddressesClick</b> and <b>TClientForm.btApplyChangesAddressesClick</b> methods
|
|
to see how the union tables data is loaded and updated.
|
|
</li>
|
|
</ul>
|
|
|
|
<p class="h2">Getting started</p>
|
|
<ul>
|
|
<li>Run the Sample Server.</li>
|
|
<li>Run the Combined Sample.</li>
|
|
<li>
|
|
On the first tab, try to load data and edit it so that it violates business rules and see how it will be processed.
|
|
See the log on the server main form where you can try different Failure Behavior modes of the RemoteDataAdapter.
|
|
</li>
|
|
<li>
|
|
On the second tab, load and edit data. Examine the server log to see the commands performed on the server to process this changes,
|
|
using <b>Dynamic Where</b>, <b>Dynamic Select</b> and <b>Reduced Delta</b> features.
|
|
</li>
|
|
<li>
|
|
Try to fill Addresses on the third tab that are represented as <b>Union table</b>, change some records,
|
|
apply changes to the server using the Update button.
|
|
Examine the Sql command used to load and update data (in the server log).
|
|
</li>
|
|
</ul>
|
|
</body>
|
|
</html> |