 So in this module, I'll be talking about database gateway. So what is a database gateway? A database gateway is like a bridge between the web and the database. And what comes in between is all this course is about. So the web database gateway is critical to ensure that what is required at the ends is met. And the details are in the next slide. So what I'll talk about is a client server versus the traditional versus the web based. Remember one thing, that a database which we are using is stateful. Stateful means that the database remembers who connected, when connected, who is connected. We are talking in the context of a traditional client server environment. But in the context of the web, the HTTP protocol is stateless. Stateless means it doesn't remember who connected and if the connection came from that site again, that source again. So a web gateway connects stateful with the stateless. Try to understand these things, read the notes, and ask questions also. So I will give a brief comparison of these two things. Then what is in the web database gateways? And what are the responsibilities of the web server? What is happening over there? And what are the responsibilities of the client or the browser? Let's go ahead. So a web database gateway or in a web environment, one transaction per connection. Remember, one transaction per connection. So it means that when the connection is made, we can have only one transaction on it, which is the literal meaning. But the point is that the web does not remembers that connection which took place. That is why it is stateless. But in the traditional environment, we can have multiple transactions per connection. So a web gateway connects something which is stateful, which is stateless. This is over here is the web database gateway, stateful with stateless. So these are differences between the web database client server application and the traditional client server application. Now it involves number of things. We have the client and number of things are happening at the client end. Number of applications have to be installed at the client end to make things work. And a number of things have to be done at the server end also. So the de facto standard, which I'll talk about in a lot of detail, we'll have a module is common gateway interface, CGI. Now CGI is not a programming paradigm. It is a protocol. I'll talk more about it. So what we have at the client side, things are happening and at the server side, things are happening. So we have things which are done at the client end, which is the next module also. Client side programming, the server side programming. And what is at the client side programming is browser extensions. Browser extensions add functionality to the browser because the browser, when we have this functionality, we can do additional things. I'll talk more about it. And then we have the external applications. These external applications might be residing at the client end, okay, it is all there already there. And these external application help connect the database with the client. This is a quick and dirty approach of bringing your database on the web, but it is not the desired approach. We'll talk more about it. And we have the CGI and then we have the extended CGI which supports distributed processing and is more secure. We'll talk more about it. And the list goes on. So this is happening at the client side and this is happening at the server side. What are the responsibilities of the web server? Listening for HTTP requests, checking the validity of the request. If the request is valid, then finding the requested content and displaying it, sending it. And if necessary, authenticating it in the context of a, if somebody is authorized to read something or write something, delivering the thing and spawning programs if required. Now these programs are spawned and there are a number of variables associated with it and delivering them and then closing the connection and displaying error messages if necessary. So these are some of the things which are happening at the server end and I have listed what techniques and what tools and what technologies are going to be used which I'll discuss at the server end. And what happens at the client end or the browser end? Rendering HTML documents. Rendering means creating the document as per the HTML code, assigning color, font, shape, size and so on showing the image allowing user navigate the links sending the data, interpreting Java applets that adds more functionality to your website and executing the plugins and so on and interpreting the JavaScript. JavaScript which I'll talk about very briefly and we'll have number of modules also is a scripting language. It is not run in as an executable code and it runs at the client end and it has a lot of functionality, useful functionality which we'll talk about in the next module and of course active X controls which adds functionality to Internet Explorer specific to Microsoft technology. So this is all for this module and I'll go into more details in the next module. Thank you.