Spread of a client-server architecture has given a push to mass development of billing systems by small groups of people of moderate competence. The reason why the market of billing systems is over flooded with primitive solutions is that simplicity and relatively short time of work with built in DBMS languages is needed to make a solution on simple computing algorithm. Such "systems" can calculate only forward and if a recalculation is needed it is done manually and result is recorded as "recalculation". It means that the basic function of a billing system: automatic calculation only and recalculation is missing. Such systems are considered as "registrars", their function is basically to form the reports but the value of such reports is low because data in two tier client-server solutions are not secured properly moreover manual recalculations is necessary.
The current situation in the billing systems market can be explained by the lack of standard server applications (MIDDLEWARE) to develop such systems. Some of the developers made attempts to use Internet-servers but due to lack of necessary functions this attempt failed.
To solve this issue Megasoft company formed a working group to develop an independent application server for billing systems. By 1999 this had been successfully completed and new system software was developed under the name of «Server v.1.13 billing» - «software for three-tier accounting systems», this solution was patented under Ukrainian law.
Based on «Server v.1.13 billing» Megasoft prepared a series of new billing systems with three-tier - client- application server - DBMS server architecture, the functionality is significantly different from existing client-server applications.
- High performance speed, implementing of nontrivial mechanisms for calculations of cost of utility assets (gas, water, heat, electricity), using all data at hand (readings of meters, including fake readings detection, or the variety of bonuses and subsidies accrual mechanisms) was achieved by using C++ object oriented programming language with good debugging options and possibility of compiling into machine code, which allowed refusing from storage procedures, avoiding other interpreting faults as well as eliminating direct dependency on a DBMS developing company.
- Using different combinations of workstations, e.g. a fat client with rich functionality (number of service functions including connection of peripherals which is impossible in a thin client) under Windows and a thin client for Internet technologies without connection speed lost for general functions of the system.
- Efficient distribution of computing power without considerable fall for internal synchronizing of tasks processed due to paralleling internal processes between processors as well as hardware distribution into several computers.
- Rational division of a billing system into components gives an opportunity to modify a system should a need arise; the components may be changed independently.
- A new level of system stability against external factors (e.g. interruptible power supply, virus attacks, remote connections failures). When there are a big number of workstations (intra network and external connections) the destabilizing impact is growing and leading to data loss, but applied architectural solution makes this impossible.
- This solution makes impossible unauthorized access to login/password database (that is possible in client-server type of systems), here a client has access to application server only and he has no direct access to data server.
- For exchange of information (client-application server) the custom protocols are used inside standard TCP/IP, it is possible to manage data exchange, change the package size, archive and encrypt data. These advance the system into new level of data protection, using both intranet and Internet the system gives stable and effective work even if the data speed falls down.