SOHOdb:1.0
edit this, make it better, get wikiSOHOdb • Overview • Custom Applications • 1.0/2.0
| table of contents |
What is SOHOdb 1.0?
A cross-platform, enterprise-class, data management application designed for simplicity in the "small office, home office" environment, but not limited to small business. SOHOdb includes integrated modules for customers, contacts, suppliers, employees, invoices, products, purchases, documents, projects and assets. These modules are used by nearly all businesses and organizations. Smaller businesses are under-represented in the IT landscape, therefore, this application was originally called "SOHO".
Technical Features
- Cross-connected modules for customer, supplier, invoice, purchase order, contacts, and other vital business data
- Data storage in industry leading MySQL database
- Use of web standards, like CSS styles (colours, positioning)
- Clean output to the browser, PHP code underneath
- Easy to use interface options, labeling and inputs
Why the CCL Licensing?
The Creative Commons License is a newer, customizable, and apolitical choice for licensing all kinds of creative and technical works. Software tools should be free (or inexpensive) and open (GPL'ed or CCL'ed). For example, the PHP server, or a Linux distribution should be open-source and completely unlimited. However, business solutions like SOHOdb should not always be expected to be GPL'ed or automatically associated with the politics of the FSF. We therefore offer SOHOdb under the Creative Commons License.
How does it Work?
SOHOdb works as a "server-side" application available via an internet browser. It can be installed on a single machine and accessed from that machine, it can be installed on two servers and accessed by a "client" machine anywhere on the network or across the internet, or it can be installed in clusters, or load balanced servers, with clients spread out across the network. It is based upon a "three-tier" model. The client machine can be any computer capable of running a web-browser, including some PDA's. All of the work is done on the server, which hides the programming and database abstraction from the end users.
What Technologies does it Use?
SOHOdb uses the PHP and XML languages via the PHP4 server module, along with the MySQL 3.23x RDBMS with normalized tables. SOHOdb also uses HTML and CSS to display the output of these technologies to the end user's browser.
Why PHP and MySQL?
There are three very important reasons for this: performance, standardization and money.
1. Performance: PHP4 has a very fast server module which executes PHP scripts, delivering a distinct performance advantage over Perl executables, CF pages, ASP components or JSP pages and servlets. The closest competition is Perl, but we believe PHP is faster (however, this is a debated subject with programmers). Since PHP also eliminates a programming layer, by allowing scripts and HTML output to reside on a single layer, performance is increased by eliminating extra TCP/IP requests.
MySQL has long been recognized as the fastest database around. It's daemon is extremely light and accepts native connections from both PHP and Perl. Since this eliminates yet another layer of abstraction, the ODBC/JDBC driver layer, performance is increased in two ways by using MySQL (mSQL, PostgreSQL, Sybase and others offer this as well, though MySQL is more popular).
Putting PHP and MySQL together allows for speeds which destroy the distinction between a static webpage and a dynamic database application. This combination has won numerous awards for reasons of performance, and even NASA has reported its NAIS database's speed increased signifigantly by moving from Oracle to MySQL.
2. Standardization: Both PHP and MySQL will install on all modern operating systems, with PHP and MySQL commands and programming needing no alteration. Compared to the closest competition on this front, Java, which promised this but did not deliver, standardization has finally been achieved with no sacrifices in performance or simplicity. The XHTML output can be tailored to any browser, or set for all browsers, just like a regular website. The end user usually cannot tell the difference either in appearance or performance between a website and a PHP/MySQL application. The XHTML source of the two can be identical.
3. Money: Both PHP and MySQL are free.
Compare this with: Enterprise Java Beans, requiring a proprietary Bean server, costing thousands of dollars, plus extra Java debugging on all platforms; JSP and Java servlets (without beans), free to use but costing extra time in debugging on all platforms; ASP, requiring IIS and Windows, costing thousands of dollars, not counting forced upgrades, and does not use open standards; Visual Basic, outmoded, requiring Windows on all tiers, and costing thousands of dollars; Cold Fusion, an alternative to ASP, costing thousands of dollars and using proprietary codes; SQL server, Sybase and Oracle, costing thousands to hundreds of thousands of dollars.
Why aren't PHP and MySQL more Popular?
They are hugely popular, but perhaps your consultants haven't told you. The enterprise marketplace is a tricky landscape, due to many insidious alliances and partnership programmes. It can be very difficult to get around the talk delivered by various consultants and their various service or application providers. This is not limited to a single company or provider, and even those who develop and support alternative platforms and solutions may limit their customers to their own stable of proprietary technologies. PHP and MySQL may not be the best choice for every single situation and customer, but most commercial consultants do not even offer it as an alternative, and prefer to stick their clients in a game of constant upgrades and broken technologies.
Where to Download?
SOHOdb 1.0 is available, and the current download (185k) is the first public release under the CCL. It is an update of SOHO Edition 1.0, and is currently running the SO cool demo as included in the tar archive (or different, as noted). Changes will be noted here as a simple changelog. Code is released under the CCL.
- SOHOdb 1.0 http://www.sohodb.net/download/sohodb-1.0.tar.gz (download folder) | README
- 09/17/2007 - updated header.php, invoices and purchases "pdf" for PHP5
- 08/07/2005 - converted/relicensed to SOHOdb 1.0 under CCL, redesigned
- 21/12/2003 - updated XML doc, error controls for incomplete data
- 02/12/2003 - added PDF invoices/purchases, customized styles/PDF
- 18/03/2003 - fixed invoices, invoices_print to pull correct customer address
- 01/09/2002 - removed session code and dynamic colour changes
- 12/09/2001 - changed locations entries for products/assets in default data
- 17/07/2001 - added new line & tabs to scripts for cleaner XHTML output
- 24/04/2001 - initial design of 1.0
- Apache under Unix/Linux installation recommended
- PHP 4.3.2 - PHP 5 required for application
- MySQL 3.23 - MySQL 4.1 required for database
- SOHOdb 1.0 data schema required
- No other server dependencies
Installation
- NOTE: A working knowledge of PHP and MySQL, as well as file transfer/permissions at the command line is highly recommended
- FTP or Copy files to webserver directory
- Ensure file permissions are correctly set for server
- Configure settings in the "connect.php" file (if advanced, customize "sohodb.sql" file)
- Import via MySQL the "sohodb.sql" file (new databases only!)
Credits
SOHOdb 1.0 designed by M.R.M. Parrott (proteus) and rimric design, with huge thanks to:
- Steven Hait, Nelson Thompson
- Peter Schuttevaar, Stephano Mazzocchi, Paul DuBois, Ed Zander, Ernie Miller, Mark Orr, David Pollack
- PHP.net and MySQL.com
- Jen Feraz and Hostasaurus
SOHOdb • Overview • Custom Applications • 1.0/2.0

