Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Toast
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!
Contents
News
- Sept 24, 2010 - To coincide with the release of Helios SR1, we have updated the Toast code to be Helios based. Get all the new goodness by following the Getting Started guide.
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 and OSGi
- 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, ..
- Modeling
- 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.
Getting started
To get started with Toast do the following
- Connect to the repo at
:pserver:dev.eclipse.org:/cvsroot/technology
using a login name ofanonymous
and no password and navigate to/org.eclipse.examples/toast
(the location changed to git onhttp://git.eclipse.org/c/examples/org.eclipse.examples.toast.git
, resp.https://github.com/eclipse/examples.toast
) - Check out the Toast project
- Open your Target Platform preferences (Window > Preferences > Plugin Development > Target Platform) and select either the Toast Backend Target or the Toast Client Target as the current target. Click OK. **See below for Mac-related topics.
- Find
toast-pserver.psf
and using the context menu Import Project Set... to load all the Toast code into your workspace
A note on Targets
Since the client and backend in Toast use different UI technology (SWT vs RAP, respectively), they require different Targets. When working with the client code, switch your target to the Toast Client Target. Similarly, when working with the backend, switch to the Toast Backend Target. to avoid the target switching you could also have separate workspaces for the client and backend.
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
- 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 for the simple web portal UI. Here you can navigate the various sample vehicles
- Point your browser at 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.
Platform-specific Notes
Mac
- Currently on the Mac the client's Google Earth integration only works on Carbon on a 32-bit VM. 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 on a 32-bit VM). To work around this we provide toast-carbon.target setup for use on Macs. Be sure to use this target if you are on a Mac. Hopefully we can address the base issue and allow Google Earth integration to work on Cocoa but until then...
- Note also that this Toast has nothing to do with that Toast.