| Unlike Javascript, web programming languages are full | | | | information in. One of the tables is to store email |
| fledged programming languages. They are also known | | | | addresses for your visitor, maybe another one for |
| as server-side programming languages because a | | | | your blog, and maybe another one for your members |
| server translates the code and then returns the | | | | area account information. |
| necessary information back to the browser in HTML | | | | How would you communicate with the database |
| format. So if you ever see webpages ending in .php | | | | though? Good news, there is a standard language in |
| or .cfm or .aspx in your address bar then that page | | | | place that is used to communicate with databases. |
| was created using a web programming language. | | | | It's known as SQL Query Language, not to be |
| How does a web programming language work | | | | confused with SQL Server. SQL, Structured Query |
| though? | | | | Language, is not a programming language, it's a |
| Well we first talked about HTML, which is just static | | | | computer language that's used by almost all major |
| data - meaning that the information on the webpage | | | | databases which allows you to write queries that can |
| doesn't change unless someone manually changes it. | | | | be run to access and manage the data stored on |
| With a web programming though every time a web | | | | your database. You can write a query that brings |
| programming language loads it can bring back new | | | | back the newest record for the newest member. |
| information directly from say a database. Let's say | | | | The database will execute the query and bring back |
| you're a web programmer and you want to display | | | | that information for you. |
| dynamic information on the webpage by bringing | | | | What if you have specific information that you want |
| something from the database, maybe the most | | | | to search for, like a book on Your web programming |
| recent member that joined your website. Let's | | | | language will take the information which you entered |
| assume you have a small database, we'll talk more | | | | into the search box on the webpage and then once |
| about database in the next section, and it stores the | | | | you click go it will take what you entered and |
| name and email addresses of the members that | | | | combine it with the SQL query and send it off to the |
| have signed up to your newsletter. | | | | database to let the database try and find that book. |
| A web programmer will start with a webpage similar | | | | Once the database finds the book it brings that back |
| to a normal html/xhtml webpage. They'll then add | | | | and the web programming language will display it |
| code on the page using the programming language | | | | accordingly. |
| and change the name of file to something like | | | | You can also use SQL for searching for information, |
| NewMembersName.cfm instead of | | | | adding new information, updating information, deleting |
| NewMembersName.html. They'll then upload the file to | | | | information and other advanced queries. I say |
| their website host, just like you would upload a | | | | advanced because if you want to store tons and |
| normal html file. But in this case it will work a bit | | | | tons of data and manage it correctly then you'll need |
| differently. Normally when an HTML file is requested | | | | to work with a RDBMS, a Relational Database |
| the server just sends all the information to your | | | | Management System. |
| browser and your browser displays it for you, that's | | | | Why RDBMS? Well let's say you went to and you |
| why HTML is static. In the case of a web | | | | bought a book. The Amazon database creates a |
| programming language, the process works a little | | | | record and then remembers that you bought this |
| differently. | | | | book. But what if you decided to buy 2 or 5 books, |
| If you request example.com/newmembersname.cfm | | | | would it make 5 additional accounts with your names |
| then the server will first parse through the code on | | | | and address along for each of the 5 different books |
| that page, and then once it's found the newest | | | | that you bought. NO. |
| member from the database it will display that | | | | Relational Databases are used in such cases to |
| information where the programmer originally wanted | | | | decrease redundancy ie: get rid of repetitive |
| it placed on the webpage. | | | | information. An RDBMS database is designed so that |
| Then once it's finished the webpage is sent back to | | | | the tables are tied, related, to each other and they |
| your browser. And since the information that it sends | | | | know how to manage information correctly. |
| to your browser is only the pure html you're browser | | | | In this case they'll have a table for your account and |
| can easily display it correctly. This is why it's called | | | | another table which keeps a track of all Amazon |
| Server Side Programming because it doesn't matter | | | | products. Now in realtiy I'm sure Amazon has more |
| whether your browser supports Coldfusion MX, PHP | | | | then just two tables infact an RDBMS system can |
| or other languages because it's the server's job to | | | | often take up dozens and dozens of tables to help |
| decipher that programming language and turn it into | | | | increase efficiency, and help reduce redundant |
| HTML that you're browser can easily understand. | | | | information. |
| If you tried to upload a newmembersname.php file to | | | | There you have it. Now you know how the website |
| a server that didn't support that programming | | | | development technologies work and how they all fit |
| language then the server wouldn't know what to do | | | | in together. For more about Website Development |
| with that file and it would just allow you to download | | | | visit a resource that is number one of my list of |
| the file normally, along with the code that the | | | | bookmarks: Here are some links that you might also |
| programmer used. But since the server, atleast in this | | | | like: |
| scenario, does support Coldfusion MX it wouldn't | | | | CSSZengarden.com, |
| display any of that code to you, only the parsed | | | | SitePoint.com, |
| HTML. | | | | Wikipedia CSS - en.wikipedia.org/wiki |
| When I first saw a dynamic page I used to wonder | | | | Cascading_Style_Sheets |
| what makes this page so special, the code looks just | | | | So what's next. If you're interested in furthering your |
| like HTML. Well that's because it is HTML it's just that | | | | skills then I would suggest learning more about AJAX. |
| the server had already translated the web | | | | Ajax is not a language. It's actually a methodology |
| programming language that was part of the .cfm | | | | which combines several technologies that are already |
| page and turned it into HTML that you're browser | | | | available and combines them in such a way that it |
| can easily understand. | | | | makes AJAX websites appear dynamic, almost like |
| Viola, and that is how a Web Programming / Server | | | | the software installed on your computer. In normal |
| Side languages work. You'll find commonly used web | | | | web page you would type in the name of a book. |
| programming such as PHP, ColdFusion MX, and | | | | Once you press enter, the webpage forwards that |
| ASP.NET. Php is free and open source and you can | | | | information which is sent to server-side programming |
| usually see it in action for files ending with .php | | | | language which then adds it to an SQL query to |
| extensions. Coldfusion was originally developed by | | | | search the database for that book. Once you're on |
| Allaire which was then acquired by Macromedia, which | | | | the next page that information is displayed on that |
| is now part of Adobe Systems. Yes the same | | | | page. |
| company that created Adobe Photoshop and the | | | | BUT with AJAX once you press enter the AJAX |
| PDF file format. ASP.Net is part of the Microsoft .NET | | | | takes over. The DHTML detects your click, calls on |
| framework. I'm a big fan of Coldfusion MX, so you'll | | | | the javascript, which uses DOM - Document object |
| have to believe me when I say ColdFusion MX is the | | | | model to access the information you entered. The |
| best in this galaxy, unless you think I might be a bit | | | | Javascript then sends that information to a web |
| biased. Oh well. | | | | programming page. The webprogramming language, |
| Allright you've gotten this far, might as well read up | | | | which ever one you decide to use, checks to see if |
| on how databases fit into the whole schema of | | | | that books is available in the database. If the book is |
| things. Actually the concept of database is fairly easy | | | | there then that information is sent back to the |
| to understand. It's used to store information. I mean | | | | browser. The Javascript, using XMLHttp, detects that |
| just think about it, without a database how would | | | | the information has arrived and then uses DOM to |
| Hotmail verify you're password, how would MySpace | | | | show the information back onto the webpage |
| remember the comments that you left on your | | | | without the webpage ever refreshing. The effect are |
| friend's myspace page which you wish you hadn't | | | | pretty amazing. |
| when you were drunk.. Moving on. That's because it | | | | I'm sure as the web evolves we'll see more and |
| was stored on a database. There are several | | | | more amazing technologies. If you're interested in |
| different databases. You've proabably heard of | | | | keeping up-to-date with these technologies then I |
| Microsoft SQL Server, Oracle, MySQL which is | | | | would recommend subscribing to some of top |
| opensource and free database, and also Microsoft | | | | newsletters in the industry - CNet, ZDNet, SitePoint, |
| Access. | | | | and Lockergnome. |
| To speed things along let's just assume that you've | | | | Enjoy! |
| created a database and also a few tables to store | | | | |