Building A Data Driven Web Site

I have extensive experience designing object relational databases, and I want to put an database on line. Unfortunately, getting a high quality database on line is rather expensive. I have not been able to find any company willing to share space on their ORACLE server. So I am faced with the challenge of either learning new skills, or going through the expense of putting up my own server.

Although hosting a server is expensive. There is a growing number of web host that will allow you to put up databases using either ASP or PHP.

Standard Web Hosting Solutions

The biggest decision when designing a database is whether or not to host your own site, or to use a web hosting service. Web hosting services are generally less expensive, provide higher bandwidth, and can provide 24/7 service. The only downside, is that web hosts are not eager to let you run your software on their server.

Although web hosts do not allow you to run your own applications on their servers. Many web hosts allow you to access a database using either PHP or ASP. Both PHP and ASP are hypertext preprocessors. These services allow you to embed a script in a page. When the web server posts the page, the server will replace the interpret the script and create your HTML.

HTML preprocessing is an extremely powerful tool that will let you create dynamic HTML pages. You can create forms and extract data from a centralized database. However, you are not able to do advance object modeling.

PHP & MySQL (The Linux Solution)

If you are starting from scratch, and have the time to learn the vagaries of Linux. The PHP/MySQL combination is he more robust and less expensive than the ASP/MS Access combination. Both PHP and MySQL are part of the GNU open programming effort. RedHat Linux provide these software packages in their professional version of Linux, or you could download the software directly from the servers.

The biggest problem is that you have to have a Linux computer laying about. Well, being fed up with the Microsoft programs, I just purchased a Linux box from Penguin computing, but have not started on the road of PHP programming. As I learn more, I will say more.

If you use PHP, you will need to find a web hosting service, such as Cendent, that support PHP and MySQL.

ASP & Microsoft Access. (The Microsoft Solution)

If you are like me, and you have already invested in the Mircosoft, you might want to stick with the Microsoft solution--ASP. With ASP you access the database using ADO (ActiveX Database Objects). ADO can access any database that has an ODBC driver.

Your ASP pages can access data in Microsoft Access, Microsoft SQL Server, ORACLE, or any other major database on the market.

My web host for this site is FPToday. They allow me to up load a Microsoft Access database. So, until I can get a real database online, I have decided to experiment with the ASP/Access combination. You can see a sample form that will look up information in a very limited dictionary on the page: term_f.

The Expensive Solutions

Hypertext preprocessing is an easy and inexpensive way to access a database. But with preprocessing, the tendency is to embed all of the logic for your program into the web page. This limits your ability to design an overall object framework for your database.

With your business logic embedded in your web pages, it is extremely difficult to make changes to your site. For example, if you wanted to have customer entry screens for Spanish and English speaking customers, you would have to create two copies of the web page. To make a change in your business logic, you will have to make changes to both pages.

If you have encapsulated your logic in a object, you can make the change in both page simultaneously. The one and only problem with the object oriented approach is that you have to have your own server to build your own object model.

Colocating a Server

If you wish to put up your own server, you can find server farms that are willing to colocate your box. However, if you have a problem, the server farms really are not going to be able to do much more than try and reboot your machine. Colocating a server can be expensive. The quotes I have received have been in the area of $450 per month.