Login Options

Pages

How the Web works, and why you should care (Part IV - Conclusion)

Man! As business is growing, and my time is stretched beyond belief, I just realized that I have not posted anything on this blog for close to a year.  I am truly sorry, and I apologize to all the readers of this Blog. I will be making a concerted effort to post something at least once a month from now on. 

The final topic in this series on how the Web Works, and why you should care; will address server-side programming and how it can make your website dynamic and a more effective vehicle of communication between you and your customers (and potential customers).  A good website should always have fresh content.  You want your customers coming back (again and again) to see what is new, and to interact with you.  The more interaction you have with customers, the more business you will obtain from them. 

The web is full of static websites that never change.  Even those static websites with glitzy Flash animations, but that hardly ever change, are really missing the boat.  A website visitor might “Oooh” and “Aaah” over those cool visual effects, but when he or she is done with this short-lived jubilation they are likely never to return.  This is why you can’t completely document a good website.  It is ever-changing.

As you remember, various types of content are delivered by a web server to your browser, such as HTML, Javascript, CSS, photos, audio, video, and Flash. Your computer’s browser then renders these files into a pleasing format, but it does so on the client-side. Some of this content, such as Javascript and Flash, can be very powerful, and can display things differently to the user based on user input.  However, unless you utilize server-side programming the overall effect of the website will be limited to actual static contents of the content files delivered to the browser.

Server-side programming allows your website to dynamically generate the content files that are delivered to the client’s web browser.  For instance, instead of the HTML content being stored in a file on the web server, the web server can be instructed to read a database (such as MS SQL Sever or MySQL) in order to determine what HTML should be delivered to the client’s browser.  This type of programming is very prevalent in Content Management Systems, such as Drupal (PHP based) or DotNetNuke (ASP.NET based).  These systems are a collection of server-side programming that allows a web-site administrator to login, add new sections and pages to their website, and update the HTML on any existing pages through a WYSIWYG (What you see is what you get) interface.  The data from the website administrator is then saved in a database.  When a user visits the website, the database is read first, and then the web-server returns the content that is stored there for a particular page that is requested by the client.

Another methodology for delivering dynamic content is to utilize Javascript and a new Javascript add-on called AJAX (Asynchronous Javascript and XML). In some circles this is known as Web 2.0. When a user requests a page on a website, instead of asking the server to deliver the entire set of content for the page, a relatively small javascript file is delivered.  When the page is loaded the javascript automatically contacts a web service (a special type of server-side program that we’ll deal with in a future blog post) for the initial HTML it needs to load on the browser.  If the user clicks on a button or does something that requires that further content is needed, the javascript will again make an AJAX request to perhaps another web service that will provide the additional HTML content necessary.  Here’s an example: Perhaps a page is supposed to initially display a simple list of contacts within the company that the user can contact if they have questions.  Perhaps there is a link next to each contact that will open a small details window that displays a picture of the contact, and has detailed biographical information for that contact.  Since javascript popup windows are generally blocked these days, the “window” will need to appear like a window, but not be a completely new browser window.  Instead of loading all the details and pictures for every contact in the list, the initial AJAX call will only retrieve the list of contacts, and then display it on the screen.  When one of the links is clicked, an additional AJAX routine will be called in order to retrieve the detailed biographical information for that one contact and display it in a DHTML or pseudo-window.

Server-side programming is also very beneficial for capturing and storing information entered by users into web forms. Before server-side programming became prevalent the best one could do with information entered into a web form was to have the web server email someone the values of what was inputed.  Now you can process, validate, and store any information into a database, as well as sending nicely formatted HTML notification emails to interested parties.  Such power drives eCommerce credit card authorization, user logins, event registration pages, search functionality, and pretty much anything that you see that is cool on the internet!  It can also store inputed values into user cookies or session variables, so that user choices can be remembered for their entire visit to your site. (Ever wonder why a shopping cart remembers what items you have already added to it?)

There are a wide variety of programming languages that can be used in order to create this type of server-side functionality.  What is important to note is that the operating system and web server that you are operating must support these programming languages.  For instance, Microsoft ASP.NET Version 4.0 allows a programmer to program in the latest versions of C#.NET and VB.NET.  These are great and powerful programming languages, but they only work on web servers running Windows, and on the IIS 6.0 or 7.0 Web Server software package.  Java, and Java Server Pages (JSP) are also great options, but they are better suited for Unix Web Servers, running other web server software, like Apache (However, you can configure a Windows Server running IIS to use JSP.  You just need to do a lot of configuring). Other options include ColdFusion, PHP, Ruby, and Perl; most of which have a variety of versions for a variety of operating systems and web server software.  Why is all of this important to know?  Well, if you are in charge of purchasing a web server for your company, or you are in charge of selecting a web server hosting plan for your company, you need to know what programming language your developers want to work with.  That way you can select a Web Server or hosting plan thats going to work for your company.  Don’t let your programmers (or for that matter - a salesperson) dupe you into a high cost solution that your company doesn’t need.  Armed with the right information you can become an active participant in the conversation and help make the proper decisions for your business.  And thats “Why you should care!”

How the Web works, and why you should care (Part III).

In the last installment (Far too long ago) we discussed web servers and how they work to deliver content to your web browser.  As explained then, the information returned by a web server includes more than straight HTML.  It also includes CSS, Javascript, XML, graphics, and sound, along with other types of content information.  While […]

How the Web works, and why you should care (Part II).

In the last installment we discussed the Internet and its infrastructure.  Today we will delve into how web servers work with your browser.  There are many web technologies that exist, and more and more are added each month.  However, the basics of the World Wide Web have remained unchanged, and that is out topic for […]

How the Web works, and why you should care (Part I).

In today’s post we will be discussing how the web actually works, and why you , the business manager, should actually care.  This short article could easily be a 10 volume encyclopedia if we delved into too many details.  Furthermore, I would have to go take up a PhD in computer science before I could […]

I’m a Specializing Generalist, and You Should be too!

Before I delve into technical subjects I wanted to to take time to explain a little bit about my philosophy.  As the title of this post suggests, I am a Specializing Generalist and, moreover, I encourage people I meet to take this outlook on things.  By the end of this article I hope I have […]

Welcome!

Welcome to the “Mill Creek Considers…” blog.  This blog is focused on educating the non-technical business leaders of emerging companies with the IT knowledge it takes to effectively manage companies in this technical era.  It is not our intent to concentrate on technical minutiae, but rather to educate the “layman” to an understanding of basic […]