Componentes.Terceros.RemObj.../internal/6.0.43.801/1/RemObjects Samples/Data Abstract for Delphi/Combined DA Sample/CombinedSample.Sample.html
2010-01-29 16:17:43 +00:00

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>