NV2 Multi-user Overview
Here we provide a brief introduction to multi-user access in NV2 and to some related network considerations. This introduction should provide a basic understanding of the architecture without getting bogged down in advanced network or security issues. We touch on a number of topics that are directly or indirectly related to multi-user database access.
All NV2 multi-user communication is through TCP/IP. There are no vendor-specific protocols. TCP/IP is often simply (and somewhat loosely) referred to as the internet. In fact, all contemporary computers have this protocol built in and if your computer network card is connected you will be able to access NV2 servers on other computers connected directly or indirectly to yours. You need no special software or hardware to run NV2 in a multi-user environment. Microsoft server, Novell server, or any similar products are not required; nor do they get in the way. For servers at remote sites, i.e. somewhere outside your immediate business premises, your computer will need remote access. However, you can be reasonably sure you have remote access if you have access to the world wide web using a browser.
An NV2 database is a file that has an .NV2 extension. It contains accounting data for an accounting entity such as a company. In accounting terms we refer to a database simply as a set of books.
An NV2 server is an NV2 program running on any Windows 2000/XP computer. There is nothing special about the computer used to run the server. The server can be configured to offer access to any database in its directory system. The server can offer simultaneous access to any number of databases.
An NV2 workstation is an NV2 program running on any Windows 2000/XP computer. Again, there are no special requirements for the computer used. A workstation can open and access any number of databases simultaneously. A workstation opens a local database by selecting a directory from its own directory system. A workstation opens a remote database by specifying a server and then selecting from the list of databases offered by that server. There are only two differences between opening local and remote databases:
- A local database is automatically opened with single-user access and a remote database is automatically opened with multi-user access.
- When opening a remote database, the server has to be identified. This is done using either an IP (internet address such as 192.168.0.257), or a computer name, i.e. the domain name of the server computer, also sometimes referred to as a URL.
When you have a database open, you can not really tell whether you have single or multi-user access unless you explicitly check (by glancing at the window title). The experience is the same either way. All accounting operations are exactly the same. You might be reminded from time to time that you have multi-user access if you happen to be viewing information that other users are changing directly or indirectly. For example, if you are viewing an income statement, then it will change automatically on a transaction-by-transaction basis as other users add or change transactions affecting the income statement.
The workstation and server programs are both included with NV2. You can run either by simply selecting it from the start menu. This means that any computer with NV2 installed can act as either a workstation or as a server, or in fact both, since you can run a server and workstation simultaneously on the same computer. However, there are licensing considerations. Each NV2 installation running a workstation or server must be registered with Q.W.Page.
Each user logs into a database by specifying a user name and a password. From that point forward the user is restricted by the access rights granted by the administrator of that database. Database security is not really a multi-user issue because there is no difference whatever between a user's right to access a database whether with single or multi-user access. Therefore we will not pursue the topic of security further here.
NV2, even with multi-user access, is real-time. There are no batches. Users do not have to exit a database so that changes made by other users can be batched to the database. When one user makes a change to the database, the result instantly appears to all other users.
No File or Record Locking
NV2 does not use file or record locking. NV2 has been designed from the ground up using an entirely new proprietary technology. Multiple users accessing the same database can simultaneously post to the same accounts. They can use the same journal. In the extreme case, multiple users can even work on the same transaction such as an invoice.
Instead of any form of locking, NV2 detects collisions and reports them in detail. Because of the underlying NV2 technology, collisions are exceedingly rare unless you go out of your way to create them. For example, two users can work on the same invoice without collision and they would both have to be modifying exactly the same line item before a collision would occur. If a collision does occur, the "first" user "wins" and the second is notified that his/her change was rejected and exactly who "won". In addition, the change made by the "winning" user will instantly appear on the "loser's" screen.
Each database tracks information about the users who have accessed it. Each time a user opens a database a session record is added. The session record identifies the user, the login and logout times, the workstation used, and so on. Sessions are available for each user individually and for the database as a whole.
The Audit Trail
Every change made to a database, by any user, is tracked in the audit trail. The audit trail is especially critical when more than one user accesses a database so we go into some detail here. The audit trail allows changes to be selected a number of ways:
- Audit records can be selected by session to identify exactly what an individual user did during a particular session.
- Audit records can be selected by user for an audit of everything an individual user has ever done to that database.
- Audit records can be selected for the database as a whole, for a total record of changes to the entire database.
- Audit records can be selected for a particular object such as an account or transaction to determine who did what, when they did it and from what computer it was done.
In addition, each selection can be sorted in a number of ways. For example, the changes can be viewed in strict chronological order to trace the changes in the order they happened, or by user, or by session, and so on.
All information about each insert, change, or delete is kept by the audit trail. In each case you can identify:
- The user who made the change.
- When the change was made.
- Exactly what the change was, right down to the contents of each field before and after the change.
- The workstation computer from which the change was made.
In general, users only have access to audit information if they have been explicitly granted access by the database administrator. Users can be granted access to specific subsets of the audit trail. For example, a user can be granted access to his/her own user audit without being granted to that of other users.
Monitoring Server Connections
The server displays a table of databases to which it is offering access. The current connections for each database are also displayed. This allows someone with physical access to the server computer to monitor the connections. Information about each connection identifies the database and the workstation currently accessing it. A person monitoring the server can terminate any connection with extreme prejudice by simply deleting it. An error message is displayed on the workstation indicating that a connection has been lost, and identifying the server and the database.
Internet Port Numbers
Each internet service such as http (world wide web), ftp (file transfer protocol), etc, is associated with a port number. NV2 servers and workstations are pre-configured to communicate on a default port number and this is sufficient for most purposes. However, port numbers can be configured and a server can offer any number of databases on any number of different port numbers simultaneously. Correspondingly, a workstation can open any number of remote databases on any number of servers and different ports simultaneously. Although this ability is rarely necessary, it addresses special circumstances where additional security is required or where conflicts arise with other network software.
FAQ - Frequently Asked Questions
How many users can access a database?
There is no limit to the number of users that can access the same database simultaneously.
How many databases can a workstation open?
There is no limit to the number of databases that a workstation can open. Any combination of these databases can be local or remote. Any combination of remote databases can be on different servers,
How many databases can a server manage?
There is no limit to the number of databases that a server can offer to workstations.
Which computer do I have to use as the server?
You can install NV2 on any computer and use it as a server, subject to license agreements. There are no special technical requirements. However there are other considerations. For example, a business might keep a server in a room to which physical access can be controlled. But this is mainly to restrict general access to the directory containing the company database so that users cannot copy, delete, or otherwise access the directory containing the database through the operating system.
What about firewalls?
NV2 offers basic TCP/IP access. Firewalls are generally set up on a case by case basis for specific security reasons and therefore they have to be addressed on a case by case basis. Firewalls are generally independent of NV2 and can be addressed using independent third-party consultants. However, as a part of standard Q.W.Page support services, we will do our best to help when we can.
What about Apple and Linux?
NV2 was designed from the beginning as a platform-independent application. At the time of this writing Q.W.Page has not yet released NV2 for Apple or Linux. The reason is simply due to current business priorities and is not due to any technical limitation. When NV2 is released for Apple and Linux you will be able to use Apple and Linux computers as NV2 workstations and/or servers and these workstations/servers will have access to or offer databases to any other Windows, Apple, or Linux computers.