<html>
<head>
<title>CDO Electronic Restaurant Example</title>
</head>

<body>

<h1>CDO Electronic Restaurant Example</h1>

<ol>
<li><b>Start the server process.</b>
	<ul>
    <li>Start the "GastroServer" launch config. It creates a Derby database at "/gastro".
    <li>Watch the console output.
	</ul>

<li><b>Populate the repository.</b>
	<ul>
    <li>Start the "GastroTestClient1" launch config. It opens a runtime IDE with generic CDO support.
    <li>Open the "CDO Sessions" view.
    <li>Add a new session (green plus button). Enter "tcp://localhost" and "gastro".
    <li>Open a new transaction (right-click on the session).
    <li>Import the /org.gastro.testclient/inventory.xml resource into "/eDine/inventory".
    <li>Commit the transaction (right-click on the transaction or just save the editor).
	</ul>

<li><b>Start the RCP application for table 1 (and optionally for table 2).</b>
	<ul>
    <li>Start the "GastroTable1" launch config. It opens an RCP application.
    <li>Browse through the menu card and select some offerings here and there.
	</ul>

<li><b>Start the RCP application for the bar.</b>
	<ul>
    <li>Start the "GastroDepartment1" launch config. It opens an RCP application for the barkeeper.
    <li>Watch orders coming in.
    <li>Eventually click on order details to mark them SERVED and watch the order disappearing when completed.
 	</ul>

<li><b>Start the RCP application for the kitchen.</b>
	<ul>
    <li>Start the "GastroDepartment2" launch config. It opens an RCP application for the cook.
    <li>Eventually click on order details to mark them SERVED and watch the order disappearing when completed.
 	</ul>

<li><b>Send an order (if the RCP applications are all started, see steps 4-6).</b>
	<ul>
    <li>In the table application open the second shelf pane and send the order.
    <li>Watch how the relevant order details "arrive" in the bar and kitchen applications...
 	</ul>

<li><b>Browse the menu card via Web.</b>
	<ul>
    <li>Start a web browser and point it to <a href="http://localhost:9090/gastro">http://localhost:9090/gastro</a>.
	</ul>
</ol>

</body>
</html>
