Food Smart

One of the EjbExamples, FoodSmart is a free, open-source, example EJB application available from GemStone Systems, Inc. It and an eval copy of the GemStonej application server can be downloaded from

Here's the blurb from FoodSmart's "about" page:

The FoodSmartTM iGrocer System

FoodSmart is a commercial grade, production quality e-commerce application, intended to show Java developers how to design Java 2 Enterprise Edition applications with the GemStone/J application server. FoodSmart is designed and coded by a development team with extensive experience in distributed systems. The concept of FoodSmart is a hypothetical business-to-customer e-commerce system for the retail grocery industry, in which FoodSmart is a hypothetical grocery chain. FoodSmart would help existing brick-and-mortar grocery chains deliver an increased level of service to their customers, by providing a website where the customers could draw on a database of recipes to create meal plans based on price, nutritional content, and other factors; and order delivery of the associated groceries. Future versions of FoodSmart will offer facilities for tracking grocery orders through their workflow, including financial settlement, fulfillment, and delivery.

Technology Overview

FoodSmart is implemented with Java 2 Enterprise Edition technologies and is served by the GemStone/J 3.2 application server. FoodSmart uses Java Server Pages to dynamically generate its HTML and JavaScript user interface. The business logic upon which the user interface depends is encapsulated by a set of Enterprise Java Beans and implemented in the Java 2 Standard Edition programming language. Internally, these Enterprise Java Beans use GemStone/J's unique Persistent Cache Architecture and JDBC for persistence of objects and their data.

FoodSmart has some interesting features, like the ability to switch between object persistence and relational persistence, and the ability to switch between entity beans encapsulating its domain objects and no entity beans encapsulating its domain objects, based on properties read at start-up time.

GemStone Systems, Inc. intends to run an installation of FoodSmart from its website in the near future.

--RandyStafford (FoodSmart originator and architect)

Does anyone claim this is a good example of Java, Beans, OOP, etc? If so, what specifically are their claims (small code, fast, change-able, etc.) and how can they be tested? (OoBusinessExamples) --top

View edit of January 6, 2006 or FindPage with title or text search