Configure and test applications for multi-user network use
Identify and document current system components and configuration 2
The audit 2
Identifying existing hardware and software 3
Identify and map system interaction 7
What data is required 7
Multi-user data access considerations 8
Examine all existing applications and plan required upgrades or reconfigurations 11
Network performance 11
Other system requirements 12
System incompatibilities 14
Identifying additional resources and installation procedures 17
Test reconfiguration for successful interface with existing system 18
Planning the test 19
Conducting the test 20
Running the test 21
Putting into production 22
Summary 23
Check your progress 23
Identify and document current system components and configuration
The audit
Before you can determine the impact of a new application on your network you must have a clear understanding of the current network’s components. One way of gaining this understanding is to identify and document the network through audits of hardware and software.
The word audit is used in many contexts, particularly with respect to financial accounts. In general, the word audit is associated with some form of official investigation to ensure quality.
Reflection
Why do you think management might request a network systems audit?
Feedback
A network systems audit will give you a list of all the components and resources in the network, their configurations, and relationships. Having accurate documentation of your network is useful in many ways. It can help you with planning, preventative maintenance, disaster recovery, impact assessments, OH&S, and even compliance.
Audit documentation
The deliverable or outcome of a network systems audit is usually a report or a database listing all components. The policy document at your organisation may require that a hardware and software register be established after a network systems audit is performed. Once the register is established, there is a need to follow an ongoing process of updating and re-evaluating the register to keep it current and synchronised with changes to the actual systems.
Reflection
If you were to do a network audit, what sorts of things would you include in your investigation?
Feedback
You might like to include the details of servers, desktop computers, peripheral devices such as printers and backup devices, network devices such as routers, operating systems, applications, etc.
Identifying existing hardware and software
In this topic we are concerned with performing a network audit as a preliminary to installing new multi-user applications.
Reflection
What do you think such an audit is concerned with?
Feedback
This type of audit is an investigation into the network systems which will support or be affected by the installation of a software package. It is useful to undertake this investigation prior to an upgrade or purchase of new software.
Activity
Think about your current computer for a moment. Write down a list of characteristics of your computer that might affect the correct running of a software application.
Feedback
When installing new software, some of the features that will effect the correct operation of a software package include the physical configuration of your machine. You need to consider the hardware components that make up your computer. An audit might collect data on details such as:
· Type of machine (PC, Apple, etc.)
· CPU type and speed
· Memory
· Hard disk size
· Installed cards (network cards, sound cards, graphics cards)
· Peripheral devices such as a CD ROM drive, a printer, etc.
The other important issue to consider is the list of software applications that are already installed on the computer.
· What is the operating system?
· What applications are installed?
· What is the version of the application?
· Is the software properly licensed?
In addition, it is often useful to audit the applications which are most commonly used by the staff, how and when they use the applications and which applications are most critical to their job roles. This can help with optimising the computer systems to be more efficient and effective, depending on who uses which systems the most. It can also help you to identify critical applications that need to be included in an investigation of software interoperability. Software interoperability will be discussed in more detail, later in the topic.
Analysing existing networks
There is a wide range of administration tools supplied with the operating system or available from third party vendors. These tools and utilities can provide very sophisticated diagnostics of network hardware and software.
Often you should be using these tools purely to confirm information that is already in the network register, and determine the current capacity of the systems.
Reflection
Why is it necessary to confirm the software and hardware registries in this case? What would happen if we chose a new software application based on incorrect network documentation?
Feedback
It is possible that we might select software which is not suitable for our network and it behaves unexpectedly, costing the company additional money in order to rectify issues with the new software. In the worst case, the software would not work at all and would need to be replaced.
Hardware and operating system settings
For the purposes of this topic, the diagnostic tests are reasonably simple. There are several basic tools that can be used to determine a computer’s hardware and software configuration.
Example: Windows tools
In a Windows-based computer these tools range from simply using Windows Explorer to get basic information on:
1 free disk space in the status panel
2 storage devices detected
3 network connections
4 the version of the operating system.
There is also a Sysinfo program that has many useful diagnostics, particularly under the System heading, including:
1 free disk space
2 RAM
3 total disk space
4 operating system
5 other useful information regarding versions of currently loaded DLLs, executables running and more complex statistics.
You can find the sysinfo program MSInfo32.exe in the folder at:
c:\Program Files\Common Files\Microsoft Shared\MSInfo\
Application software
The Control Panel, Add/Remove Programs applet indicates programs installed on the computer. Unfortunately this is only useful in the case where programs have registered with the Control Panel applet, so not all installed programs appear in this list. To run the applet, go to the Start menu and select Control Panel (XP), and then double click on the Add/Remove Programs icon.
Sometimes the best way to check if a program is installed correctly is to try running it from the Start menu, or double clicking on the program icon in the Explorer.
Identify and map system interaction
Before you can determine if the new software is suitable to be installed on your network, you will need to research the technical specifications and requirements of the new software. In particular we will be focusing on the data requirements of the new application.
What data is required
It is outside the scope of this topic to cover the whole subject of user data requirements, so here we will focus on simple data sharing concepts.
Reflection
Assume that a real estate sales person had a spreadsheet that listed all the possible buyers that they had ever met. Because of an increase in workload a second sales person is to work as an assistant and help with sales. First, think of the disadvantages of making this assistant create and maintain their own spreadsheet.
Second, if they were to share the spreadsheet stored on a server and access it through each of their own PCs, what issues do you think they would have to consider?
Feedback
Disadvantages of creating a second spreadsheet would be:
· They may not record exactly the same details.
· Buyers may be duplicated in both.
· One user may think that the other has a buyer entered when neither do.
· It can be difficult to get a total view of buyers.
With one spreadsheet in place they would need to consider:
· Can they both access the spreadsheet at the same time?
· If adding a new user, will it be seen by the other instantaneously?
· What happens when changes are made?
· Will the assistant be able to perform the same tasks as the other sales person?
Multi-user data access considerations
Most applications that are designed to be multi-user will have features built into them to overcome some of these issues. It is still important for the administrator to be aware of these issues though especially during the installation and configuration of the application.
It is also possible that applications that are primarily single user are also used across a network and data is to be shared. A good example of this is Microsoft Access.
Activity
Open Excel twice so you have two instances of it running. Try opening the same spreadsheet on each. What message do you get?
Feedback
You should see something like this:
Figure 1: Message received when two users open the same file
Notice that the system will let the second instance open the file but only as a Read Only file. If this user want to save the changes that they have made then they must save the spreadsheet with another name. The problem now is that there are two spreadsheets to maintain.
Two users cannot change the same spreadsheet simultaneously.
While this may be acceptable for a spreadsheet it is not acceptable for a database that is designed to be multi-user. We don’t want to create different databases for each and every user!
Concurrency
One of the first considerations when sharing a database is to allow the same database to be opened in a shared mode. Databases can contain large amounts of data and chances are that two users will not necessarily need to access the exact, same piece of information at the same time.
If users only ever want to read data then there is not much of a problem with concurrency. But if users want to change data then we need to ‘lock’ parts of the database to be only updated by one person at a time.
Reflection
Look back at the message you got with the Excel example, what part of the spreadsheet was locked for update?
Feedback
In this case the whole file was locked.
Reflection
With a database what parts could possibly be locked?
Feedback
In theory a database could be locked at:
· the whole database level
· a table
· a column
· a row.
A common approach which allows for a reasonable user access is to lock rows or records. What this means is that two users cannot change the same record at the same time.
Deadlock or ‘deadly embrace’?
While the exact mechanisms for locking data are outside the scope of this topic, this is a well-known issue that you should be aware of. Again, today’s databases do have the capability to overcome this problem but if you ever find yourself in a role where you are writing database access code you may need to consider it.
Imagine that two users are working on the same database.
User A is interested in knowing which products have been sold and user B is interested in customers.
User A looks up Product 1234 and at that moment the 1234 Product record is locked. Meanwhile user B looks up Customer 4567 and that record is locked.
User A sees that Product 1234 was purchased by Customer 4567 and wants to check on their address. When they try to access the record though, it is locked. Their application may wait for the record to become available which will normally happen when user B releases the record.
But user B notices that Customer 4567 bought Product 1234 and wants to confirm what this product was. When they try to access the record though, it is locked. Their application may wait for the record to become available which will normally happen when user A releases the record. But user A is waiting and so will not release their record!
So we now have two applications waiting for the other to release the record and, of course, neither will. The application could hang there forever!
As stated, most multi-user applications and databases have mechanisms for avoiding the above situation, but it can still occur with poor programming.
So, as you prepare for the installation of the application or the database you should ensure that it will work in a multi-user environment and familiarise yourself with the way it handles locking and other concurrency issues.
Examine all existing applications and plan required upgrades or reconfigurations
Network performance
As you review the upgrade requirements there will be network issues that you will be looking out for. One of the main issues to consider is performance.
Networks may now cover the globe and if you work for an international company you can roam anywhere and still get to your data. With such a large network there will be parts of it that have slower links than others. The quickest is normally a local area network, while wide networks are slower.
When analysing user access to data you need to consider where the user is and where the data is. There may be a third player which is some sort of server that controls what the user sees. Generally speaking though, if the data needs to travel across a part of the network that has a slow link, then performance will suffer. So as network administrator, you should try to keep data and users together on the same high-speed segment.
Reflection
If you can’t bring users and data together, what are your other options?
Feedback
One option is to maintain the status quo and inform users that they may suffer performance problems. They may be prepared to live with these if they are still getting other features and functionality from the application.
Alternatively you may need to consider whether the database or parts of it should be duplicated across the network. Some applications can allow for fault tolerant databases that can be duplicated on two servers. The backup database may then possibly be used to service local users. It may even be possible to copy whole or parts of the database across the network but this would normally only be practical with databases of a limited size.