[to Dave Torok's Home Page]
JAVA Development Projects (1995-1999) by Dave Torok
Introduction
I have been learning and using Java since the first public release --
JDK 1.0 Alpha 3 -- in April 1995. I have written several large
projects for work and a couple of small (early) applets. I am an advocate
of 100% Pure Java. These projects are a sampling of some of my earlier Java
development work and does NOT include any of my J2EE work post-1999
Web-based Stock Trading application
Description
A 100% Java Servlet-based stock trading application (similar to eTrade,
Ameritrade, etc.) developed for a Brokerage client. The application
includes a custom HTML-generation template engine, and custom high-performance
socket-based connectivity to several legacy trading systems and Oracle databases.
Features
- Custom multi-threaded "Socket Distributor" architecture for connectivity
to legacy systems. Allows for high-throughput asynchronous communication
between the application server and the legacy systems.
- Separation of communication layer, application logic, and HTML/Servlet
layer.
- "Enterprise Java Bean" - ready. Architecture will allow easy
transition to EJB if desired by the client. Alternate: CORBA/RMI distributed
services architecture.
- Custom application-level statistics collected and stored in an Oracle
Database for customer analysis at a higher level than web server "hit"
analysis.
Development environment:
- Symantec Visual Cafe 3.0c (JDK 1.1.7), Weblogic Application Server
(prototype development), Apache JServ 1.0 (production), KL Group JPROBE
2.0
- Developed January 1999 through October 1999.
Data File Validator (not the real name!)
Description
A Java Application, Data File Validator reads, parses, validates, and
writes Fixed-length ASCII database files. These files are typically
80 or 90 columns wide, with well-defined data fields in given columns.
Features
- Data File Validator provides tools to create and edit "Card" descriptions,
"Data Field" types, "Rules" which will be used to validate the data
- Rule-driven engine to validate data.
- Custom GUI components to represent column-based file layouts.
- Simple expression language and GUI-based editor to create validation
"rules"
- Review and edit data in natural field-based format
- Reads and writes Fixed-length ASCII files, with CSV export option
- Save and print validation error logs
- 100% Pure Java
Development environment:
- Symantec Visual Cafe 2.1, KL Group's JClass LiveTable JavaBean,
ObjectSpace's JGL.
- Developed December 1997 through January 1998
Availability:
ShapeFRAME (Shape File Rendering and Modeling Engine)
Description:
Java Applet to render and view GIS Data. ShapeFRAME allows panning,
zooming, feature selection, layer hiding/showing, and simple spatial queries
WITHOUT needing to access the server! ShapeFRAME reads the ArcView ShapeFile
format and the associated Dbase (DBF) attribute file. ShapeFRAME can
work as a full "standalone" viewer ( reading whole ShapeFiles from the web
server) or as Client/Server using RMI, with the server component either reading
shapefiles from the filesystem or from ESRI's SDE application.
Sample Screen Shot:
This
screen shot (100K jpeg) shows four shape layers. State Capitols
are filtered to use the "smiley" icon, Pennsylvania cities are red, New York
zip code polygons are filled yellow, and state outlines are colored gray. These
settings are stored in ".lyr" files which accompany the ".shp" files.
Features:
- ShapeFRAME reads ArcView ShapeFile format (.shp) and Dbase (.dbf)
files.
- 100% Pure Java, tested on Solaris 2.5 with Netscape 3, Windows 95
and NT with Netscape 3 and 4 and IE 3, and Linux with Netscape 3.
- 140K Applet size for easy downloading.
- Multithreaded, with asynchronous background loading of shape/DBF
files
- Only 14000 lines of code (including the server component).
- View, pan, zoom, re-order map layers.
- Full layer-based object model
- Associate icons with attribute values in the .dbf file -- to display,
for example, a "star" for state capitals.
- Full feature "identify" function with shape highlighting
- Scripting language to support auto-loading of layers
- Show/hide a layer based on zoom level
- Includes "standalone" and "client-server" functionality on a layer-by-layer
basis.
Development Environment:
- Originally developed on a SparcStation5 Using JDK 1.0.2; later migrated
to JDK 1.1 for the RMI capability.
- Developed mostly between February and August 1996 with some work
continuing through mid-1997.
Availability:
Not available.
An animated "digital" sine wave moving over any image (here, my old business
card). It is moderately programmable using PARAM tags.
VarAnimator is a slightly-hacked version of Sun's Animator class (v1.5).
Follow the above link for the source and the slider-enabled example. For
the Java animation above, you can perform the following functions:
- Click the mouse to pause/resume animation.
- While running, the "," and "." keys decrease/increase the speed.
- While paused, the "[" and "]" keys show previous/next frames.
If you would like to use the above juggling icon, here is a
TARred and GZIPped file containing the animation frames, the ".class"
files, and the varanim.html page containing examples. NOTE: Source is not
in this tarfile; follow the "VarAnimator Page" link above.
[to Dave Torok's Home Page]