Welcome to SOFIA! SOFIA Home Page

The Salmon Open Framework for Internet Applications (SOFIA) is a J2EE based framework and tag library designed to speed the development of database web applications and web sites. But it is much more than just a bundle of source code. It provides integration with best of breed off the shelf tools to create a complete environment for developing web applications quickly, efficiently and enjoyably in an open, platform independent and vendor neutral manner. SOFIA is free open-source code. Try it today and let us know what you think!

This application provides some information about and demonstrates some of the features in SOFIA. For more information check out the overview white paper, the complete documentation or the Salmon LLC web site. Also, to help developers build and deploy the best SOFIA applications possible Salmon LLC provides mentoring, training and support. Please contact us at sofia@salmonllc.com with any question that you may have about our services. If you are interested in supporting SOFIA through donations, please visit The open source project donations page on SourceForge.

Example Code

Example Description  
News List and Detail An example of a web page that lists news articles retrieved from a database table. Source Code
JSP Custom Tag Example An example of encapsulating complex presentation functionality into a custom tag. This example demonstrates a custom tag that allows the user to select tables and columns from the database. Source Code
Interactive SQL Example Uses the custom tag from the previous example to create an Interactive SQL Page that allows the user to browse data in the database. Source Code
Calendar Example Displays an HTML rendition of a calendar. This is useful for applications where a date needs to be selected. Source Code
Tree Example Loads the data for a tree control from a database table using a system generated model object. Source Code
Search the Product Category Description Presents the user with a search form that finds information in the product_category table. This example reuses the model created in the previous example. Source Code
Navigation Bar Example Presents the user with a navigation bar built from information in the examples and source_code tables. It provides an example of an alternate means of navigating this application. Source Code
List/Detail Data Entry Lets the user edit the contacts table using a list and detail page. Source Code
Internationalization Example Demonstrates the use of internationalization attributes on certain components in the framework that allow them to select a new language based on the browser language preferences. Source Code
Build the GUI in Java Demonstrates the ability to dynamically add components to the GUI using Java at runtime. Source Code
Using Direct JDBC Demonstrates the use of the SOFIA connection pool to execute direct JDBC/SQL against a database. Source Code
Using Beans to get the Data Demonstrates the use of the BeanDataStore component which can be used to get data from EJB value objects. Source Code
List Only Data Entry Lets the user edit the contacts table using a single list screen. This example reuses the model and validator from the List/Detail data entry example Source Code
Rich Client Data Entry A Data Entry screen that demonstrates SOFIA/Swing/Applet integration. Source Code
Personalization Example An example of selecting and applying a skin to the application. Source Code
Jasper Reports Integration An example of a Jasper Report running from a SOFIA model and the SOFIA Jasper Report Viewer Applet/Java Web Start Application. Source Code

Real World Sites Built With SOFIA

Site Description
fujifilm.com A Fuji-Film USA public site.
salmonllc.com Salmon LLC public site.
optionbazaar.com A site that provides tools for the analysis of securites.

SOFIA Documentation

User Guide (pdf)
Tutorial (pdf)
Tutorial source code (zip)
Tag Library Specifications (pdf)
Javadoc in HTML
Javadoc compiled into a Windows help file and compressed in a pkzip file
SOFIA Dreamweaver Demo Video
SOFIA IntelliJ Demo Video (models)
SOFIA IntelliJ Demo Video (controllers)

SOFIA Home Page Download SOFIA from SourceForge