Wildfire International
Ph. 650-592-9607 [USA]
Fax 650-592-2593 [USA]
info@mlmsoftware.com

 
 
 
 
     
  Client-Server Architecture

When you start an MLM company, you are hoping for the explosive growth that characterizes this industry.  To handle the growth without having your software “hit the wall,” and without trying to perform difficult - if not impossible - software conversions later, you need software that was designed to handle high-volumes of mission critical data.  That’s Wildfire Enterprise. 

Description of Client-Server  

In a nutshell, every database software system has two parts: the front-end GUI [graphical user’s interface], and the back-end data tables or database.  

Below are two diagrams: the first represents distributed processing which is used by desktop database programs and other non-client-server programs.  The second represents client-server processing which is used by serious businesses.  Virtually 100% of mission critical applications use client-server architecture [mainframe applications use the same basic approach].  

     

Non Client-Server 

 
   

Front
End 
Interface

Send Query to Data Tables =>
<= Send Data to Workstation
Process on Workstation
Send Results to Tables =>

Back End
Data
Tables

         
     

Client-Server

 
   

Front
End 
Interface

Send Query to Data RDBMS =>
Process on Server
<=Send Results to Workstation

Back End
RDBMS 

The processing location is highlighted in gray.  Processing includes everything other than simple data entry like generating a downline report, processing commissions, etc. 

These diagrams help explain the fundamental, and overwhelmingly powerful differences between simple desktop databases and enterprise-capable, client-server applications: 

  • The Front End Interface - the GUI - is the same in both cases, except that Wildfire Enterprise is 20 times faster than programs like FoxPro due to the use of machine code to write it.
  • Desktop applications use simple data tables, while client-server applications use far more sophisticated and powerful RDBMS's [Relational Database Management System]. 
  • Client-server applications perform processing on the server, while desktop applications send the data to the workstation, then perform the processing there [that's correct, all that data is sent out over the network at slow network speeds].

The Benefits 

This results in massive advantages for client-server architecture, including: 

  • It greatly reduces the amount of traffic on the network making larger networks possible.
  • It makes remote access practical [i.e. anything that goes over a phone line, including Internet and Wide Area Networks].
  • It greatly speeds up processing since everything isn’t passed over the network; it’s done in the server’s RAM.
  • It greatly reduces data corruption.
  • It greatly reduces indexing errors.  
  • It means that you need a good computer for the server, but the workstations can be inexpensive ... saving money.   
  • Most importantly, it means that simple improvements to the server - like adding more RAM - will improve processing power greatly.  On the other hand, such improvements would have almost no effect in non-client-server processing because the processing is done on the remote workstations anyway.  To upgrade a distributed processing network would require upgrading all of the remote workstations, while you could achieve the same effect with a client-server system by just adding more RAM [32 Meg of RAM is less than $100 today]. 

The benefits of client-server architecture are so profound that many data systems designers say they offer client-server systems to keep their sales from falling through the floor, but its a big stretch.  Programs like CodeBase and Btrieve claim client-server, but they do little more than provide remote views, which is required but is only about 1% of what makes software true client-server.  

How to Tell if it’s Client-Server 

Wildfire rewrote its software completely to properly construct a client-server system.  This was a requirement because processing has to be moved from the GUI to the RDBMS.  Software which has been converted from a previous Windows or DOS version probably has not been rewritten as Enterprise has been; therefore, it isn’t client-server regardless of the back-end being used, so be careful about the claims people make. 

A client-server system:

Includes an RDBMS because, without it, the server does not have the intelligence to perform complex, processing tasks.  However, you can use an RDBMS without being client-server. 
  
Cannot be an upgrade from a non-client-server system.  This is because the software is written completely differently for these two methods.  It takes a complete re-write of the software to go from one to the other. 
  
Is far more than just using the SQL programming language; non-client-server systems can use SQL as well.  While it is true that client-server systems are always written in SQL, this alone does not mean that it is client-server architecture.  

All MLM software designers know that client-server is required by serious MLM businesses.  Therefore, some claim to offer client-server systems, or they try to trick you into thinking they do by offering an SQL upgrade [remember point #2 above].  But, now you know better.