Online Catalog and Ordering System
Highlights: Online products catalog and ordering system
Type: Reengineering
Architecture: 3-tier distributed system
Platform: Java 2, Oracle 8i, Interbase
Technologies: Java, Swing, TOPLink 2.5, Java 2D,JavaMail, Infobus, Object Relational Mapping, RMI, JDBC, XML (SAX), JSP, Servlet API, DHTML/Java Script

NewOSCAR is a business system that provides electronic Internet and Intranet catalog and ordering facilities for consumers in the office products supply chain (Wholesaler - Dealers - Consumers). The system provides the rich set of functionality needed to locate and order any products and is intended to complement or replace usual paper catalogs.

The project comprises of two parts: back-end that serves as data storage, business logic tier and Web server and HTML and Java front ends. The Java client programs intended to use by dealers and experienced consumers while Web browser based client to the majority of customers.

The Java client program allows browsing of catalog, ordering of the products, maintaining of catalog structure and catalog access policy. The program is very powerful and user friendly as it utilizes usual graphic user interface with full drag and drop support, browser-like navigation, shortcuts to most used actions, wizards etc.

The Web based client program has practically the same functionality as the Java one excluding catalogs maintenance facilities. This program is oriented to the majority of customers, which need catalog browsing, ordering and restricted reporting functionality only. They can start working with it right after registering on the site and without having to download and install any big components; having troubles about database integrity and need of periodic versions update.

Both of client programs allow the users (dealers and consumers ones) to browse product catalog using several views starting from product list and ending full-detail product review. The user can find products using simple and sophisticated search functionality that allows easy location of products without need to browse the whole catalog. The programs introduce powerful ordering functionality that allows adding products to order, changing products quantity, orders searching, modifying order and order lines. Authorized orders can be transmitted to the server and start the product delivery chain.

Only the Java client program allows dealers to customize and administer their catalogues using convenient graphic user interface. The dealers can customize the appearance of their catalogue by selection of one of the provided catalogue styles, supplying the company logo and services information. They can change the default catalogue structure, add full product information for own products, including pictures, change properties of existing products, and administer pricing profiles using many price adjustment policies. Dealers can allow or disallow certain activities for their consumers. Powerful reporting facilities are provided for purchasing and connection activity analysis.

In addition to catalog related functionality, consumers may use user administration one, which includes facility for access group management, department management and cost center maintenance.

The project is implemented in Java language using Borland JBuilder 3 as development tool.

The business logic and database access middleware reside on the homegrown application server written in Java as well. The application server exposes its services through Java RMI protocol. To gain object-oriented access to the database, the TOPLink middleware is used. It connects to the Oracle 8i database through JDBC protocol. Having such an object-oriented access simplifies development and isolates developers from low-level API calls and differences between particular relational databases.

The XML is used as primary interchange format that allows communication between running systems, export/import and backup operations etc.

The Java Swing library is used to build GUI Java client application. There are used standard GUI components as well as extended and specially developed ones. The Java InfoBus technology is used to wire together all the data-aware components.

The JSP technology along with Servlet API is used to build Web based client application.