Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Toast"

Line 1: Line 1:
 
Toast is an example application meant to demonstrate a wide range of EclipseRT technologies. It operates in the telematics and fleet management domain. Telematics is the integration of telecommunications and informatics. You will have seen this in car navigation and infotainment devices. A typical telematics system interfaces to the devices in the vehicle and provides a user interface for interacting with or managing the devices. More sophisticated systems connect to a fleet management control center over a wireless network and allow remote control of the devices. For the fleet control center think of a large courier company with vehicles and packages going from place to place. This application domain is extremely rich with technology possibilities. That's why it makes such a great example!  
 
Toast is an example application meant to demonstrate a wide range of EclipseRT technologies. It operates in the telematics and fleet management domain. Telematics is the integration of telecommunications and informatics. You will have seen this in car navigation and infotainment devices. A typical telematics system interfaces to the devices in the vehicle and provides a user interface for interacting with or managing the devices. More sophisticated systems connect to a fleet management control center over a wireless network and allow remote control of the devices. For the fleet control center think of a large courier company with vehicles and packages going from place to place. This application domain is extremely rich with technology possibilities. That's why it makes such a great example!  
  
= Overview =
+
= Overview =
  
 
Toast has its origins as the example application developed throughout the OSGi and Equinox book. What you see in this project is the extension of the Toast found in the book. This example takes Toast far beyond anything that could be covered in just one book and includes the use of:  
 
Toast has its origins as the example application developed throughout the OSGi and Equinox book. What you see in this project is the extension of the Toast found in the book. This example takes Toast far beyond anything that could be covered in just one book and includes the use of:  
  
;Equinox 
+
;Equinox   
 
:Of course Equinox is used as the base runtime across the Toast client, server and embedded elements. The example also demonstrates a wide range of OSGi services such as HttpService, ConfigAdmin, Log, ...  
 
:Of course Equinox is used as the base runtime across the Toast client, server and embedded elements. The example also demonstrates a wide range of OSGi services such as HttpService, ConfigAdmin, Log, ...  
;Server-side 
+
;Server-side   
 
:Toast demonstrates three scenarios for the use of Equinox and OSGi on the server  
 
:Toast demonstrates three scenarios for the use of Equinox and OSGi on the server  
;p2 provisioning 
+
;p2 provisioning   
 
:Various elements of p2 are included in Toast; building, deploying, managing profiles, ...  
 
:Various elements of p2 are included in Toast; building, deploying, managing profiles, ...  
;ECF 
+
;ECF   
 
:Toast is a distributed application and uses ECF to do vehicle discovery, remote services and various other nifty things (Twitter?)  
 
:Toast is a distributed application and uses ECF to do vehicle discovery, remote services and various other nifty things (Twitter?)  
;RAP 
+
;RAP   
 
:The Toast control center runs on servers and presents a rich user interface using RAP including Google Map and Earth integration.  
 
:The Toast control center runs on servers and presents a rich user interface using RAP including Google Map and Earth integration.  
;EclipseLink 
+
;EclipseLink   
 
:The control center needs to store and manage data about vehicles, drivers, packages, ..  
 
:The control center needs to store and manage data about vehicles, drivers, packages, ..  
;EMF 
+
;EMF   
 
:The basic Toast server side data is, of course, modeled using EMF.  
 
:The basic Toast server side data is, of course, modeled using EMF.  
;BIRT 
+
;BIRT   
 
:Toast allows for reporting on the activities of the vehicles, package delivery, ... through RAP integrated reportlets.  
 
:Toast allows for reporting on the activities of the vehicles, package delivery, ... through RAP integrated reportlets.  
;Riena 
+
;Riena   
 
:Riena is used to give users a rich client application experience using remote messaging and focused workflows.
 
:Riena is used to give users a rich client application experience using remote messaging and focused workflows.
  
= Status =
+
= Status =
  
The Toast code has been donated to Eclipse by the authors of the OSGi and Equinox book and a number of people who participated in the development of Toast extensions for EclipseCon 2009. It is currently winding its way through the Eclipse IP process and should pop out the other end any day now. Watch [https://bugs.eclipse.org/bugs/show_bug.cgi?id=289164 Bug 289164] and [https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3536 CQ 3536].
+
The Toast code has been donated to Eclipse by the authors of the OSGi and Equinox book and a number of people who participated in the development of Toast extensions for EclipseCon 2009. It is currently winding its way through the Eclipse IP process and should pop out the other end any day now. Watch [https://bugs.eclipse.org/bugs/show_bug.cgi?id=289164 Bug 289164] and [https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3536 CQ 3536].  
  
= Getting started =
+
= Getting started  =
To get started with Toast do the following
+
# Connect to the repo at :extssh:dev.eclipse.org:/cvsroot/technology and navigate to /org.eclipse.examples/toast
+
# Check out the Toast project
+
# Open your Target Platform preferences (Window > Preferences > Plugin Development > Target Platform) and select the Toast Target as the current target. Click OK.
+
# Find toast.psf and using the context menu Import Project Set... to load all the Toast code into your workspace
+
  
= Running Toast =
+
To get started with Toast do the following
There are several different parts to Toast.  There are client and server bits, provisioning and application bits, RAP and Riena bits, etc. More will evolve over time. Below are the steps to running a basic Toast system.  See the technology-specific documents for instructions on how to run other example setups.
+
  
Fundamentally Toast is split into the Back End and the Client. The back end is a server that has various amounts of function in it depending on the scenario. The client represents a vehicle and has the basic in-dash UI (Crust) and various applications. All configurations are described using Product Description (.product) files. To find the various ways of running, start by looking for *.product files (Ctrl-Shft-R).
+
#Connect to the repo at :extssh:dev.eclipse.org:/cvsroot/technology and navigate to /org.eclipse.examples/toast
 +
#Check out the Toast project
 +
#Open your Target Platform preferences ('''Window &gt; Preferences &gt; Plugin Development &gt; Target Platform''') and select the Toast Target as the current target. Click '''OK'''. **See below for Mac-related topics.<br>
 +
#Find toast.psf and using the context menu Import Project Set... to load all the Toast code into your workspace
  
''See platform-specific below notes for any variations to this process''
+
= Running Toast  =
  
==Back End==
+
There are several different parts to Toast. There are client and server bits, provisioning and application bits, RAP and Riena bits, etc. More will evolve over time. Below are the steps to running a basic Toast system. See the technology-specific documents for instructions on how to run other example setups.  
# Open backend.product
+
# Launch using the green arrow at the top right or the link on the Overview page.
+
# Look at the console to see that the backend has started.  You should see some port and URL registrations
+
# Open a web browser and point it at [http://localhost:8080/toast http://localhost:8080/toast] for the simple web portal UI. Here you can navigate the various sample vehicles
+
# Point your browser at [http://localhost:8080/fleet http://localhost:8080/fleet] to get the RAP back end UI.  
+
  
==Client==
+
Fundamentally Toast is split into the Back End and the Client. The back end is a server that has various amounts of function in it depending on the scenario. The client represents a vehicle and has the basic in-dash UI (Crust) and various applications. All configurations are described using Product Description (.product) files. To find the various ways of running, start by looking for *.product files (Ctrl-Shft-R).
# Open client.product or client-full.product
+
 
# Launch using the green arrow at the top right or the link on the Overview page.
+
''See the platform-specific notes below for any variations to this process''
#
+
 
 +
== Back End ==
 +
 
 +
#Open backend.product  
 +
#Launch using the green arrow at the top right or the link on the Overview page.
 +
#Look at the console to see that the backend has started. You should see some port and URL registrations
 +
#Open a web browser and point it at [http://localhost:8080/toast http://localhost:8080/toast] for the simple web portal UI. Here you can navigate the various sample vehicles
 +
#Point your browser at [http://localhost:8080/fleet http://localhost:8080/fleet] to get the RAP back end UI.
 +
 
 +
== Client ==
 +
 
 +
#Open client-full.product  
 +
#Launch using the green arrow at the top right or the link on the Overview page.  
 +
#You should see the Toast in-dash UI (gray window) with a few applications (CD player, Emergency, ...)
 +
#Look at the console for the backend and notice the registration of client ABC123
 +
#Click the Emergency button (top left) on the client and notice the messages showing up on the server.
 +
 
 +
For more scenarios see the individual technologoy pages listed above.<br>
 +
 
 +
=== Platform-specific Notes ===
 +
 
 +
==== Mac ====
 +
 
 +
*Currently on the Mac the client's Google Earth integration only works on Carbon. Further there is a bug in PDE 3.5.1 that makes it impossible to set the target platform to carbon (unless you are running carbon). To work around this we provide toast-carbon.target setup for use on Macs.&nbsp; If you are running Snow Leopard you have to retrofit an old 32-bit Java 1.5 install to be able to run Carbon. Hopefully we can address the base issue and allow Google Earth integtration to work on Cocoa but until then...
 +
<br>

Revision as of 14:55, 13 October 2009

Toast is an example application meant to demonstrate a wide range of EclipseRT technologies. It operates in the telematics and fleet management domain. Telematics is the integration of telecommunications and informatics. You will have seen this in car navigation and infotainment devices. A typical telematics system interfaces to the devices in the vehicle and provides a user interface for interacting with or managing the devices. More sophisticated systems connect to a fleet management control center over a wireless network and allow remote control of the devices. For the fleet control center think of a large courier company with vehicles and packages going from place to place. This application domain is extremely rich with technology possibilities. That's why it makes such a great example!

Overview

Toast has its origins as the example application developed throughout the OSGi and Equinox book. What you see in this project is the extension of the Toast found in the book. This example takes Toast far beyond anything that could be covered in just one book and includes the use of:

Equinox 
Of course Equinox is used as the base runtime across the Toast client, server and embedded elements. The example also demonstrates a wide range of OSGi services such as HttpService, ConfigAdmin, Log, ...
Server-side 
Toast demonstrates three scenarios for the use of Equinox and OSGi on the server
p2 provisioning 
Various elements of p2 are included in Toast; building, deploying, managing profiles, ...
ECF 
Toast is a distributed application and uses ECF to do vehicle discovery, remote services and various other nifty things (Twitter?)
RAP 
The Toast control center runs on servers and presents a rich user interface using RAP including Google Map and Earth integration.
EclipseLink 
The control center needs to store and manage data about vehicles, drivers, packages, ..
EMF 
The basic Toast server side data is, of course, modeled using EMF.
BIRT 
Toast allows for reporting on the activities of the vehicles, package delivery, ... through RAP integrated reportlets.
Riena 
Riena is used to give users a rich client application experience using remote messaging and focused workflows.

Status

The Toast code has been donated to Eclipse by the authors of the OSGi and Equinox book and a number of people who participated in the development of Toast extensions for EclipseCon 2009. It is currently winding its way through the Eclipse IP process and should pop out the other end any day now. Watch Bug 289164 and CQ 3536.

Getting started

To get started with Toast do the following

  1. Connect to the repo at :extssh:dev.eclipse.org:/cvsroot/technology and navigate to /org.eclipse.examples/toast
  2. Check out the Toast project
  3. Open your Target Platform preferences (Window > Preferences > Plugin Development > Target Platform) and select the Toast Target as the current target. Click OK. **See below for Mac-related topics.
  4. Find toast.psf and using the context menu Import Project Set... to load all the Toast code into your workspace

Running Toast

There are several different parts to Toast. There are client and server bits, provisioning and application bits, RAP and Riena bits, etc. More will evolve over time. Below are the steps to running a basic Toast system. See the technology-specific documents for instructions on how to run other example setups.

Fundamentally Toast is split into the Back End and the Client. The back end is a server that has various amounts of function in it depending on the scenario. The client represents a vehicle and has the basic in-dash UI (Crust) and various applications. All configurations are described using Product Description (.product) files. To find the various ways of running, start by looking for *.product files (Ctrl-Shft-R).

See the platform-specific notes below for any variations to this process

Back End

  1. Open backend.product
  2. Launch using the green arrow at the top right or the link on the Overview page.
  3. Look at the console to see that the backend has started. You should see some port and URL registrations
  4. Open a web browser and point it at http://localhost:8080/toast for the simple web portal UI. Here you can navigate the various sample vehicles
  5. Point your browser at http://localhost:8080/fleet to get the RAP back end UI.

Client

  1. Open client-full.product
  2. Launch using the green arrow at the top right or the link on the Overview page.
  3. You should see the Toast in-dash UI (gray window) with a few applications (CD player, Emergency, ...)
  4. Look at the console for the backend and notice the registration of client ABC123
  5. Click the Emergency button (top left) on the client and notice the messages showing up on the server.

For more scenarios see the individual technologoy pages listed above.

Platform-specific Notes

Mac

  • Currently on the Mac the client's Google Earth integration only works on Carbon. Further there is a bug in PDE 3.5.1 that makes it impossible to set the target platform to carbon (unless you are running carbon). To work around this we provide toast-carbon.target setup for use on Macs.  If you are running Snow Leopard you have to retrofit an old 32-bit Java 1.5 install to be able to run Carbon. Hopefully we can address the base issue and allow Google Earth integtration to work on Cocoa but until then...


Copyright © Eclipse Foundation, Inc. All Rights Reserved.