Componentes.Terceros.RemObj.../internal/5.0.23.613/1/RemObjects SDK for Delphi/Samples/Samples.html
david d99a44999f - Modificación del paquete RemObjects_Core_D10 para que sea un paquete de runtime/designtime (antes era designtime sólo)
- Recompilación en Delphi10 de todos los paquetes de RO para generar las DCU's en Lib\D10

git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@7 b6239004-a887-0f4b-9937-50029ccdca16
2007-09-10 13:36:58 +00:00

395 lines
14 KiB
HTML

<html>
<head>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<img src="..\ro.png" alt="" align="right">
<!-------------------------------------------------------------------------->
<h2 class="h1">
RemObjects SDK Samples for Delphi
</h2>
<p>
Please keep the following things in mind when working with the samples:
</p>
<ul>
<li>
To help you find the sample you need and also to provide a suggested start order,
the samples are listed in one or more categories followed by the actual sample descriptions
in alphabetical order.&nbsp;</li>
<li>There may be samples shipped that are not listed below.
Samples are not added to the list until they have passed our final quality inspection.
This doesn't mean they are faulty, only that they are still pending final inspection. </li>
</ul>
<h2 class="h1">
<span style="font-size: 14pt">Getting Started</span></h2>
Most of the samples provide a project group containing server and client projects.
The standard procedure for testing these is as follows:
<ul>
<li>Build or compile both projects.</li>
<li> Ensure that the server is the current project. <strong>Note:</strong> if there is
only one RemObjects SDK server contained within the project group, this step is
not needed because the next step will still work even if the lient is the current
project.&nbsp;</li><li> Launch the server (IDE menu: <b>RemObjects | Launch Server Executable</b>).</li>
<li> Examine the server window. Some samples require that you activate one or more channels.</li>
<li> Make the client the current project.</li>
<li> Run the client.</li>
</ul>
Having tested the sample, next examine the services provided. Do this by examining the RODL
via the <b> Service Builder</b> tool provided:
<ul>
<li> Ensure that the server is the current project.</li>
<li> Open the Service Builder (IDE menu: <b>RemObjects | Edit Service Library</b>).</li>
</ul>
<!==========================================================================><h2 class="h1">
<span style="font-size: 14pt">Sample Categories</span></h2>
<ul>
<li>Some samples are shown below in more than one category.</li>
<li>The <strong>Dynamic Request</strong>, &nbsp;<strong>RODL</strong> and <strong>Named Pipe</strong> samples do not ship with
the trial version of the RemObjects SDK.
</ul>
<table border="1" style="WIDTH: 100%" cellspacing="0" cellpadding="5"><tbody>
<tr>
<th style="WIDTH: 50%"><p>Category </p></th>
<th style="WIDTH: 50%"><p>Samples </p></th>
</tr>
<tr>
<td>Introduction</td>
<td>
<p> First Sample </p>
<p>Multi Channel</p>
<p> Super TCP Channel Chat </p>
<p> RODL <span style="color: #ff0000">(not shipped with the trial version)</span></p>
<p> Async </p>
<p> Auto Server </p>
<p> Dynamic Request <span style="color: #ff0000">(not shipped with the trial version)</span>&nbsp;</p>
<p> Session Types </p>
<p>
<strong><span style="color: #ff0000"></span></strong>Time Server
</p>
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Channels</td>
<td>
<p> MegaDemo </p>
<p> Multi Channel </p>
<p> Super TCP Channel Chat </p>
<p> HTTP Chat </p>
<p> Named Pipes <span style="color: red">(not shipped with the trial version)</span></p>
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Web Services</td>
<td>
<p> xMethods </p>
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Intermediate</td>
<td>
<p> Arrays</p>
<p>
Broadcast Chat
</p>
<p> Extended File Transfer </p>
<p> xMethods </p>
<p> Named Pipes <span style="color: #ff0000">(not shipped with the trial version)</span></p>
<p> Service Discovery </p>
<p> Variants </p>
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Architecture</td>
<td>
<p> Session Types </p>
<p>
<strong><span style="color: #ff0000"></span></strong>Class Factories
</p>
<p> DataSnap </p>
<p> Dispatch Notifier </p>
<p> Auto Server </p>
<p> Multi Channel </p>
<p> Proxy Server </p>
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Advanced</td>
<td>
<p> Class Factories </p>
<p> COM </p>
<p> Dispatch Notifier </p>
<p> Proxy Server </p>
</td>
</tr>
</tbody></table>
<!==========================================================================><h2 class="h1">
<span style="font-size: 14pt">Sample Descriptions</span></h2>
<table border="2" cellpadding=8 cellspacing=0 style="WIDTH: 100%"><tbody>
<tr>
<th style="WIDTH: 20%">Name</th>
<th style="WIDTH: 15%">Category</th>
<th>Description</th>
</tr>
<!---------------------------------------------->
<tr>
<td>
Arrays</td>
<td>
Intermediate</td>
<td>
This sample shows how to use TROArray for presentating DB tables in a master/detail
relationship.</td>
</tr>
<tr>
<td>Async</td>
<td>Introduction</td>
<td>This sample shows how to call methods on a RemObjects SDK server asynchronously.<br>
There may be times where you want to submit a request for information and defer receiving the result
until a bit later. A very simple calculation (Sum) is performed,
but this has a built in ten second delay so that it is possible to query the
server before the calculation is completed.<br>
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Auto Server</td>
<td>Introduction<br>Architecture</td>
<td>This sample shows how a client can control its server when they are both running locally.
This is useful if you want to provide a simple standard alone solution which is easily
upgraded to multi-tier (or you might want to provide both options).
</td>
</tr>
<!---------------------------------------------->
<!---------------------------------------------->
<tr>
<td>Broadcast Chat</td>
<td>Intermediate</td>
<td>
This example shows how to use the <strong>TROBroadcastServer</strong> and <strong>TROBroadcastChannel</strong>
channels to write an <strong>UDP</strong> broadcasting chat program.</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Class Factories</td>
<td>Architecture<br>Advanced</td>
<td>
This example shows how to use a <strong>Class Factory </strong>to generate three
types of server:<ul>
<li><strong>Singleton</strong>: all clients access a single server object. </li>
<li><strong>Single Call</strong>: server instances are created on demand and destroyed
after processing the method call. </li>
<li><strong>Pooled</strong>: multiple server instances are accessible by clients. This
works exactly the same as Singleton, unless the first server instance is busy.</li></ul>
<p>
<strong>Note</strong>: to test this sample properly, you need to run at least two
clients.
</p>
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>COM</td>
<td>Advanced</td>
<td>
This sample shows how to call an existing RemObjects SDK server using COM.</td>
</tr>
<!---------------------------------------------->
<tr>
<td>DataSnap</td>
<td>Architecture</td>
<td>
Standard example of the use of the <b>TRODataSnapModule</b> and <b>TRODataSnapConnection</b>
components.</td>
</tr>
<!---------------------------------------------->
<!---------------------------------------------->
<tr>
<td>Dispatch Notifier</td>
<td>Architecture<br>Advanced</td>
<td>
This example shows how to customize message dispatching. <strong>IRODispatchNotifier</strong>
is a special interface that <strong>TROInvoker</strong> classes know and look for.
<br />
If your server side object implements it, the IRODispatchNotifier.GetDispatchInfo
method will be called before the target method is invoked.</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Dynamic Request<br />
<span style="color: #ff0000">(not shipped with the trial version)</span></td>
<td>Introduction</td>
<td>
This example shows how to use the <b>TRODynamicRequest</b> component to execute
server methods.</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Extended File Transfer</td>
<td>Intermediate</td>
<td>
This example shows how to transfer files to and from a RemObjects SDK Server in
chunks and how to monitor new files via server events. Note: needs at least two
clients open. File(s) uploaded from one client are downloaded to the other(s).</td>
</tr>
<!---------------------------------------------->
<tr>
<td>First Sample</td>
<td>Introduction</td>
<td>
This sample provides an introduction to using the Delphi edition of the RemObjects SDK product.
The example shows how to define/implement methods on the server and how to access them from the client.
The data consists of name information and four simple methods are provided by the
service: Nicknames, VerifyName, CheckName and FullNames.
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>HTTP Chat</td>
<td>Channels</td>
<td>
This shows how to use polled events to create an HTTP based chat program.
<br />
The clients poll every few seconds for new messages and the server distributes the
messages to the appropriate client(s).</td>
</tr>
<!---------------------------------------------->
<tr>
<td>MegaDemo</td>
<td>Channels</td>
<td>This comprehensive example illustrates many of the features of the RemObjects SDK by
providing benchmark facilities for the various <strong>protocols</strong> and
<strong>channels</strong> supported.
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Multi Channel</td>
<td>Introduction<br>Channels<br>Architecture</td>
<td>This example provides an introduction to using the Delphi edition of the RemObjects SDK product.
It shows how to use different channels to connect to the server application.
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Named Pipes
<br />
<span style="color: #ff0000">(not shipped with the trial version)</span></td>
<td>Channels<br>Intermediate</td>
<td>This example shows the use of a named pipe connection.
It creates a named pipe server as a <strong>Windows service</strong>.
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Proxy Server</td>
<td>Architecture<br>Advanced</td>
<td>This example shows how to create a proxy server to redirect the calls to another
server without having to recreate the <strong>RODL</strong> file, thus allowing the use of the same types
of the original server.<br>
This provides total control. As every call will pass from the proxy class before going to the real server,
you can even stop methods from being dispatched any further.
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>RODL<br />
<span style="color: #ff0000">(not shipped with the trial version)</span></td>
<td>Introduction</td>
<td>
<em>&lt;to follow&gt;</em></td>
</tr>
<!---------------------------------------------->
<tr>
<td>Service Discovery</td>
<td>Intermediate</td>
<td>This sample illustrates how to use the <strong>TRODiscoveryClient</strong> and <strong>
TRODiscoveryServer</strong> components.
<br />
Each instance of the application acts both as a server and as a client.
For the server, you can modify the list of services supported on the right-hand side, while for the client you can enter a service name and get a list of the servers available on your LAN to support it.
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Session Types<br />
<span style="color: red"></span></td>
<td>Architecture<br>Introduction</td>
<td>
This example shows the use of sessions and illustrates several SessionManagers: <b>TROEventSessionManager,
<br />
TROInMemorySessionManager,<br />
TROMasterServerSessionManager</b> and
<br />
<b>TRODBSessionManager</b>.
<br />
<b><span style="color: red">I</span><span style="color: red">mportant note</span>:</b> this sample needs a "<strong>Sessions"</strong> table to be created in one of your databases.
By default, the sample looks for the Sessions table in MSSQL's Northwind Database,
but you can easily change to connect to any other database.
</td>
</tr>
<!---------------------------------------------->
<!---------------------------------------------->
<tr>
<td>
Super TCP Channel Chat</td>
<td>Introduction<br>Channels</td>
<td>
This sample shows how the <strong>Super TCP Channel</strong> can be used to create
a chat server and clients.
<br />
Unlike the HTTP Chat sample, this sample <strong>doesn't poll the server</strong>
but sends events back to clients directly.
</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Time Server</td>
<td>Introduction</td>
<td>
This is an extremely basic sample illustrating how to use the <b>TROBroadcastServer</b>
and <b>TROBroadcastChannel</b> components.</td>
</tr>
<!---------------------------------------------->
<tr>
<td>Variants</td>
<td>Intermediate</td>
<td>
This example shows how the RemObjects SDK can transfer <strong>variants </strong>
and <strong>array of variants</strong> from the client and server using the <strong>
TROBinMessage</strong> and <strong>TROSOAPMessage</strong> message types.</td>
</tr>
<!---------------------------------------------->
<tr>
<td>xMethods</td>
<td>Web Services</td>
<td>
This demo application shows how to access existing <b>SOAP Web Services</b> using
the <b>RemObjects SDK</b>.</td>
</tr>
</tbody></table>
<br />
<span style="font-size: 14pt"><strong> </strong></span>
<h2>
<span style="font-size: 14pt"><strong>Support</strong></span></h2>
<p>
If you encounter any problems or have questions regarding the samples, please feel
free to ask on our newsgroup at <a href="news://news.remobjects.com/remobjects.public.sdk.delphi">
news://news.remobjects.com/remobjects.public.sdk.delphi</a>.
</p>
<p>
Thank you very much,<br />
Your RemObjects Team<br />
<a href="http://www.remobjects.com">http://www.remobjects.com</a>
</p>
</body>
</html>