How to introduce open source systems to co-exist with Windows environment in small and medium sized industries (SMI).
By John Chee
Now even our government is talking about installing Open Source systems. But how much inroad have we made in terms of number of installations of open source systems in the country? What is the confidence level of embarking open source systems on a large scale?
Whenever we talked about open source systems in Malaysia, we complained about the followings:
a) Total cost of ownership is high.
b) Difficult to get support especially when new staff have to take over existing open source systems when he/she joins a new company.
c) Learning curve is steep.
d) The list just goes on and on… However these are genuine issues.
a) LET'S GET STARTED
I rememebered my grandma mentioned something like this: "You can see a faint light at the far end of the tunnel. Now that you have a lit candle in hand, you need to start walking. When you reach the tunnel, only then you will see the big bright picture!" You see, we just have to START working on something.
b) SCENARIO – I'm giving a real-life example of a typical SMI company in Malaysia.
i) Database servers
I used to have MS SQL Server as the database server at the backend. Now that I couldn't afford to buy commercial databases, I added MySQL to my existing list of database servers.
ii) File server, email server and web server
I used to have one box with Windows 2000 sitting on it. Because my company was controlling IT expenditure, I decided by saving the company money by installing Linux (Fedore Core) in the 4 new servers for file sharing, email server, database and web server.
iii) These are the open source applications I installed on the 4 Linux boxes:
- File server – SAMBA file server.
- Email server – Sendmail is one of the bullet-proof application.
- Database server – MySQL database server.
- Web server – Apache with PHP installed as a module.
iv) ERP – Oracle e-Business Suite Full Suite
The ERP application also run on 2 Linux boxes; one for production server and the other for development purpose.
v) Existing applications
There are 10 business divisions (business units) in our company. The nature of each business varies considerably from the other. For example, there is (ball) Bearings trading business where we have to keep 20,000 stock keeping units (SKU).
Then, there is the Heavy Machinery division. In addition to keeping thousands of SKU, we also run a machinery workshop to repair equipment and vehicles.
We also run the ink-printing business. Do you see the Expiry Date on the cap of drinking water bottles?
Do you notice the label printed on the fresh eggs you buy in supermarkets? These are examples of what ink-printing machine does.
Can you imagine the business requirements needed by the 10 divisions? If each division needs 2-3 applications, just imagine the number of applications ( 10 x 3 = 30) you have to maintain to satisfy most of the business units.
The reason why we need so many applications is because the nature of each business varies considerably with the other. There are some applications which are used by all the business units like Leave application and Local Purchases. Generally, there are about 20 concurrent users accessing an application.
vi) Networking
Because I have about 200 PCs, I decided to have a network of 10.2.21.0 with a subnet mask of 255.255.255.0. In the Head Office, all the PCs have static IP like this (10.2.21.2, 10.2.21.44, 10.2.21.249, etc). The branches will have network like 10.3.1, 10.4.1, 10.5.1 and so on.
vi) IT Infra-structure
- All our servers are located in Petaling Jaya, which is our Head Office. There are 10 branches located in the whole of Malaysia and Singapore and they will access our servers using the broadband TMNet Streamyx and leased lines.
The branches are installed with firewalls and have fixed public IP addresses.
c) LET'S GET THE BALL ROLLING
Now you have seen the above scenario of an SMI company. Please note that this is not a virtual company. This is a real life scenario. I have successfully installed about 10 open source systems (and presently still installing) to co-exist with the Windows environment during my 15 years in IT.
Now how do I do that? Well, life is not a bed full of roses. I'm going to explain some of the situations and what I did to resolve them.
i) Visual Basic language and MySQL database server
Previously, there are many programs written in Visual Basic or MS Access using VBA, against an MS SQL Server database server. You know, nowadays, it's easier to get a Visual Basic guy. These program are still running like horses and well maintained.
The business units have more requirements because their businesses are growing and the customer expectations are changing. So new applications have to be written.
I'm getting existing Visual Basic programmers to write programs and utilise MySQL as a database backend server, which sits on a Linux box. The programs just run like magic. The Visual Basic program access the MySQL database server through ODBC.
Well, you might be cursing,"Why not write PHP programs and access MySQL. They are just a perfect match.". You are right. I could just have done that! But I'm just dangling a carrot for the programmer. Old habits die hard. The programmers are going through a transition period. After writing a couple of programs, I managed to successfully coach them to let them gradually appreciate the power of open source MySQL, which is another heavy-duty database server.
Presently, these Visual Basic applications which utilised MySQL, are heavily used by endusers
- Customer Quotation system
- Local Purchase Order system
- Salespersons Activity Monitoring system
ii) Reporting I
Consequently, I have many programs written in PHP and MySQL databases. Apache is the default web server.
Internet programs, like PHP, in general, are thin clients. Its strength lies in its ability to allow remote acccess by users. In this scenario, endusers all over Malaysia and Singapore are happy that they can access the programs without much hastle. However, when it comes to reporting or consolidation of reports for senior managers, one method is to use rich clients.
Because our existing endusers are so hands-on with MS Access, they prefer to use Access to access MySQL database for reporting. Well, that's one way of doing it. Since they are happy, I'm also happy for them.
In MS Access, the end users make use of Tables, Queries, Forms and Reports. They access the MySQL database server through ODBC. And the result is that they can create beautiful reports on the fly. And they are using Snapshot Viewer to send reports through email The business managers are satisfied… and I am happy for them.
iii) Reporting II
The Oracle e-Business ERP Suite runs on Oracle database, which sits on a Linux box. No doubt we are getting the reports from Oracle Forms and Discoverer.
For additional reports, the end users and programmers are using Access as a front-end to generate reports out of the ERP system!
iv) File sharing
The file-print server runs on Windows 2000 server and it has been running like a horse. Because of the growing business and affordable Linux systems, we purchase 2 more servers for file sharing. By using open source SAMBA, the endusers are not even aware that the servers are running on Linux. The Linux box also serves as an FTP server.
v) Email server
We are using open source Sendmail. This mail server has no problem accommodating all users in the company.
vi) Proxy server
We are using open source Squid. This proxy server is another heavy-duty application.
vii) Virus scanners
All our Linux servers are installed with virus scanner softwares. There are many open-source virus buster softwares and they are second to none.
viii) Intrusion detection system (IDS)
This is another great application which we have installed in one of our Linux servers.
ix) Enterprise Backup server
AMANDA is the name of our reliable backup system. We are using her to do all the daily scheduled backups of the database servers and file servers.
d) CONCLUSION
You will notice that if you start using open source softwares, you are practically using FREE softwares. All you need is to buy the hardware box.
Imagine just how much it would cost to use commercial products to build the applications as I mentioned above.
But the benefits doesn't stop here. You can go to www.freshmeat.net or www.sourceforge.net to download free applications.
OH! I've almost forgotten to tell you. I've also installed these applications for FREE for the benefit of all the users in my company:
a) Meeting Room Booking Syste
b) Web Calendar
c) Computer Hardware/Software Inventory Monitoring system
Read more articles here
About John Chee
Find out more at http://nextlevel.com.my/tutor/johncws.
Copyright Notice
This article is copyrighted by John Chee. You are allowed to reprint
this article on your web site as long as you include the full article text, the
author profile information above and this Copyright & Reprint Notices.
|