The web operates as a client-server architecture where browsers act as clients connecting to web servers, which then communicate with database servers; on the client side, only JavaScript and Web Assembly run in browsers, while server-side offers many choices like PHP, .NET, Java, and Python; database access standards like ODBC provide universal connectivity across platforms, with conformance levels ranging from basic (core) to advanced (level 2) features, and connection strings define how applications connect to databases using specific drivers and configurations.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
CIS4301 Chapter11 Part1Added:
Okay, welcome to chapter 11. Wait, does that mean we're going bankrupt?
No, chapter 11 is about the web server environment.
Okay, learning objectives on page 509.
So, there are different object models that you can choose when you're putting together any type of application, not necessarily specific to the web, but you're writing an application of some sort and you have some choices. And um there's a an OBC open database connect kind of a thing and and it's kind of a universal standard and a lot of people use that and so there's different techniques you can use. I mean you could use the the proprietary stuff like Microsoft does the the net versions of things and its net driver uses a proprietary piece of technology called ADO.NET net and blah blah blah and and goes through all this stuff. Um or you could go for a little bit more open depending on what platform you're at. And then last one is basically learn the importance of how XML fits into this entire puzzle. The XML language.
So the concepts so you know basically what happens is when you connect to the web um you over here and the user is using some sort of a device and then it's going to be connecting the browser most likely is going to be connecting to the internet right and then it's going to go to the servers and the servers are going to have the databases we've seen this kind of thing so the web is inherently a client server kind of environment I mean just from the get-go uh there's that's just the way the web is built is that your your PC or more correctly your browser is the client because you could have multiple browsers open simultaneously. It's not the PC that's being the the client. It's this the browsers that are being the client.
So the browsers and then all the way over to the web server and the web server can have a connection to a database server. But anyway, yes, it's inherently a client server architecture from its design. So page 512, they start talking about web processing. So the client side, what what actual how much how much computing do you actually do inside the browser? Well, to tell you the truth, there's really only two things that actually run inside the browser. There used to be a lot more uh but uh you've probably heard of JavaScript.
Okay, JavaScript is a a language that's designed to be run in the browser. Uh, by the way, just as a a side note, JavaScript and Java are not related in any way other than the first four letters of their names. That's it. Okay, don't get that confused. And the other one relatively new is called Web Assembly. So, JavaScript and Web Assembly are the only two things that actually run in the browser. Nothing else does. In the old days, um, you could download a a Java applet and, uh, there was a plugin, you would put it into your browser and it would allow it to run Java. And I don't know, it it just got security got out of hand and basically they said that's a really dumb idea. So that that no longer exists anywhere. Okay.
So on the client side, there are really no choices. It's JavaScript or Web Assembly. And most people don't do web assembly. The only time I've ever seen web assembly is like one of those goofy like games that you play over the through your browser. Okay, that's about all I've ever seen. Uh most people just use JavaScript because it's just so easy to to work with on the server side.
Okay, on the server side, there's lots of choices. I mean, you can use this a thing called PHP. Don't worry about the threeletter acronyms. We're going to get to those. You know, a net kind of a thing. There's lots of different choices for I want to write this in Java, fine, right ahead. You know, I want to write it in Python, fine, right ahead. You know, so on the server side, you can do practically anything you want. It's just the on the client side, it's just JavaScript and web assembly. So, as you can probably tell, the uh the server, the web server um talks to the database, which probably is not on the same machine most likely. Uh mainly because the reason why you break things up like that is how you tune the machines. If you tune a machine for doing really really well for the web and tune a machine for doing really really well for databases, they're not the same kind of tuning. So typically you don't put them in the same machine. So this is most likely two different machines, a web server and a database.
So remember when we talked way way way way back we start talking about the license agreements in in uh like for example Microsoft SQL Server um we in we talked about how one of there was a web edition and that was because there's only one connection between the web server and the database server. You might have a million customers over here but they only the database only sees the one connection. So it's only one as far as the database is concerned there's only one user to this database and so the licensing can be a lot simpler. Um you know so if you had a choice between uh a licensing model in by user or by CPU you would definitely pick the by user one because that would be probably be the cheapest right okay I'm glad you guys figured this out. Okay. So, a two-tiered environment is, you know, the the PC with the web browser and then you have a server that has both uh the web services running. Uh one of them is called Apache. Uh I one of them there's another one called Internet Information Services. That's another one called EngineX. Lots of them. Uh and then also having the web server on the same machine. That would be a two-tier.
That's actually not very common because I mentioned that tuning the machines is tough. A three tier would be browser, web, database, which is kind of kind of not shown here, but hey, come on, kind of.
So, a scaling is a big issue. And the reason why you want to break it out is because I want to be able to have lots and lots of stuff. So here's my my computer running the the the client browser and it asks for a page and so the web server says okay the web server says hey hang on database server and the database server goes over here and does this. So you could, you know, making this thing three tier makes a lot of sense cuz I can double up on the number of web servers. If I'm if I'm getting a lots and lots of traffic, I can like put in three of these. And if and if I need the more database, I can put in two of those. So I don't have to don't have to do them in pairs, right? I could have as many of these things as I need and as many of those things as as I need independently. So it just makes sense that three tier would be the way to go.
Okay. So on pageuage uh 514 they start talking about the data access standards.
So you might think well wait a minute now you know we don't really need an uh standard way of getting things on because up to now we've all just been using you know like the SQL Server Management Studio. Well in the real world you do not install the SQL Server Management Studio on people's desk to to be able to go in and talk to the database. they're running some sort of an application either an application on the machine or a web-based application which is kind of what this chapter is about. So they never actually see SQL server management studio. So we need some standards on how to connect and so um ODBC uh open database connect uh is a was a industry consortium that kind of got together and said hey um let's make it so all this stuff is standard. Here's the standard way you ask for a table to be open. Here's the standard way you run a query. Here's the standard way you do all these things. And they basically were able to strongarm all the vendors into supporting an OBBC driver of some sort. So that basically any application written in whatever language in whatever platform whether it be a a standard windform app or you know maybe it's an app for a smartphone or maybe it's a you know a full-blown web app whatever it is whatever the platform whatever the language we still need a standard way of being able to connect so it's kind of sort of like the the Star Trek universal translator you know it can talk to anything okay an an alternative is thing called um active data object objects ado.net.
Now, it's kind of a Microsoft thing. Uh they have opened up the source code for an awful lot of this, so it's not quite as bad, but in when you use ADO.NET, it defaults to like using the native drivers to be able to connect to the database. Uh those things are not open.
Uh those are proprietary. I mean, you don't have to use them. You can use ODBC to get there. So, it's a a framework that fits on top of your database application. And we're going to do a demo of that here in a minute or two.
Okay. So, this is such a this web environment is such a a normal thing that you can actually go out and and get um a disk or ISO image that contains everything already pre-built. It's called the LAMP stack lamp. L A M P. L stands for Linux. A stands for Apache.
That's the name of a a web service. um M for MySQL and P stand used to stand for for PHP but it P basically just means programming now. Anyway, preconfigured.
So you download an ISO file, you go to some machine someplace, you install this thing and push the button and Presto change. You got the operating system installed, you got the web server installed, you got the database installed, you got everything installed, it's all done for you. That's pretty dog on quick way to to get a a database driven web server up and running and it's free the whole thing. Okay, cool.
So, back to OBBC on page 515.
So, it does require some sort of a driver uh to make things work. So, each vendor provides their own OBBC driver.
Uh so, a browser coming in some sort of a web server. You you have a choice. You could go to native interface that is quite frankly probably a little faster, you know, using the Microsoft, you know, SQL Server drivers directly to the DBMS.
Okay? Or you can go to ODBC connections to get to the, you know, Microsoft SQL Server um DBMS and then it connects to all these things. So if you have a real honest to God relational database, that's how it's done. you have choices and then you can connect to non-database things you know you know file files and emails and spreadsheets and pictures and audio and all those kinds of things which don't really go through the normal process of being stored in a database.
So, I'm going to kind of skip the architectural part of this and kind of continue on. On page um 517, they start talking about the conformance levels, the ODBC conformance levels. So, basically there are three levels of this. Um the core level basically is, you know, the barebones minimum. So, if I'm a I'm a vendor of a of a micro I mean a database product, I I I get to choose where I'm at. So bare bones means I can eat connect, I can execute SQL statements, I can retrieve the data and that's about it. Okay, make you know commit and roll back transactions. Cool.
And level one is allows you to you know connect to with specific and get partial results and catalog information and and level two is you know retrieve the native form of the SQL call a translation library process scrollable cursors and all the rest of that stuff.
So basically the reason for telling you all this is let's say all I wanted to do was to connect to this old ancient uh database and pull a table from it. And I'm only going to do that one time. You know I'm going to connect pull the table put it in my modern database. Okay. I would all I need would be like the core API level. I wouldn't need a very high conformance level because I just need to connect pull the data and that's it.
Now, probably the Cororo would not be suitable if I was to going to continuously connect to it. Like, okay, we're going to run the new database and the old database simultaneously. So, I've got some old um database that no one's ever heard of before. It's been out of business for 10 years. If so, I would probably have to get a higher conformance level to be able to to to make that work continuously, like non-stop communication between the two databases. So, ODBC is cool and there's different levels.
Okay, so how do you tell it which which platform you're using, whether you're using ODBC or whatever? Well, there's this really cool thing called connectionstrains.com, which is actually a pretty cool website, and basically it'll help you with how to do these things. I'm going to go to SQL Server. I'm going to say I want a a Microsoft ODBC driver. And then uh down here, here's some examples using standard security and trusted and connecting to a particular instance. Um, and then here's using a non-standard port and blah blah blah blah blah blah blah blah blah blah blah blah blah. Lots and lots of examples. So, you could just copy and paste this and go, okay, that's exactly what I want. That tells it what framework that I'm using. I'm using an ODBC or the other choices up here. Um, before we got to that was uh, you know, I can use the an OLEDB. That's a Microsoft uh, specific thing. And there's other types of things in here.
So then the net libraries. So all these choices on how you connect to a machine.
Okay, we're coming up on the 15 minute mark.
Related Videos
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 viewsโข2026-05-28
How agent o11y differs from traditional o11y โ Phil Hetzel, Braintrust
aiDotEngineer
450 viewsโข2026-05-28
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanation๐ฏโ
LearnwithSahera
1K viewsโข2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 viewsโข2026-05-29
Search Algorithms Explained in 60 Seconds! ๐ค๐จ
samarthtuliofficial
218 viewsโข2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 viewsโข2026-05-30
Introduction to Problem Solving Part - 1 | Lecture 1 | Intermediate DSA
ascensionix
107 viewsโข2026-05-29
So What's Odin Lang Even Good For
TechOverTea
131 viewsโข2026-06-01











