 So, in this module, I'll talk about the client side web database programming. If you recall, I showed you a diagram in the previous slide, what things are done at the client side, and what things are done at the server side. The objective is to bring the databases on the web, right? And what we need to do at the client side. So, we need to develop, do some coding at the client side, right? And we need to use some external application also there. But remember one thing, that the client has to be thin. It is advantages to have a thin client. So, we cannot do a lot of programming work at the client end. We can have interim solutions, but they are not good for a long-term approach. So, let me go into more details. So, what is used typically at the client end, or what is used, the programming done at the client end, which will facilitate, which will help, or which will all together bring a traditional client server database application on the web. Remember, try to understand what I'm saying. That what I need to do at the client side to bring a traditional client server database application on the web. That is an interim solution. That is a quick and dirty way of bringing the database on the internet. It has its issues also. So, I'll be discussing those issues and the performance for each of these programming techniques. Not the techniques, but the techniques and tools also, which is JavaScript, which is a scripting language, ActiveX controls, which is for the Internet Explorer, Plugzins and external applications. Plugzins are, remember, they are dynamically linked libraries, DLLs, which you may have seen or heard. So, JavaScript, JavaScript can be used and is used for creating and customization of the interfaces to an application. In the context of the database, remember one thing that it is not a binary or running something which in the binary mode, it is interpreted at the client side. Of course, if the client has allowed the JavaScript to run, JavaScript can be used for mathematical calculations also. For example, if I enter my date of birth, instead of going to the main server, JavaScript can help calculate my age. Or if I would like to do a conversion into units or other things that can be done using JavaScript at the client end. And of course, JavaScript is also used for validation. Validation means that if I enter an email address, then the email address should have the necessary add sign and other domains also. So, this is some of the applications of JavaScript. The main advantage of JavaScript is that JavaScript needs Java plugins. JavaScript cannot do something without Java plugins and CGI. Common gaze gateway interface protocol based upon which we have a CGI script written in C or C++ or Java, which will facilitate actions, retrieval, writing on the database without a three-tier traditional web-based database application environment. So, with JavaScript, you need to have plugins. Performance, that is the key thing, sending the final action. Instead of going again and again to retrieve something from the main server, the web server, the database server, a collective request is sent which gives good performance. But remember one thing, since everything is dependent upon the client, the state stored at the client is maintained at the client. Therefore, if the client exits, the session is lost. The state is lost. That is not a good approach. It is an approach, a quick approach, but not a good approach. ActiveX. What is ActiveX? It extends the capability of Internet Explorer and it adds functionality. This functionality will help in accessing the data in the database, okay, using client and programming, client and programming, not the server and programming. Server and programming for doing all these things is the correct approach. And there are more than 1000 controls, maybe more, which adds functionality to IE Internet Explorer, which includes the controls for database access also. And it is very powerful because it also has most of the Windows functionality, which means that using IE, I can actually go with the plugins with the IE. With ActiveX, I can go to my hard disk, access the files, even save the files so all or most of the Windows functionality is there in ActiveX. And with the performance, minimize the network traffic. Instead of sending everything to the web server or to the database server, it sends, it collects them, collects and then sends that reduces the network traffic. The control information is collected and sent, reduces the network traffic. As a consequence, the performance goes up and offers a rich graphical user interface also, okay, and this will give good performance. Performance in the sense that I can work better, not in the sense of CPU. CPU performance with reference to network traffic, I have already mentioned over here. What are the plugins? Plugins are DLLs, Damage Link Laboratories. They also add functionality. ActiveX adds functionality, JavaScript adds functionalities, DLL adds functionality, but there are certain issues with the plugins. You need to install them at the client side and it's not possible to install these plugins in at all the clients. If you do it is very expensive in terms of time and money, it's not practical. It's not feasible, it can be done, it's not practical and feasible. So that is not a good solution. Using plugins, add the client end programming for database access. And it's also platform dependent. It means that the plugins in which I prepare for a certain platform, they are not likely to work on another platform. So I have to do that work again. ODEVC Open Database Connectivity and Object Linking and Embedding, I'll be talking about in more details in the subsequent sections. The point over here is that these plugins are loaded on demand. Loaded on demand. They are there, a person has registered for those plugins. And when the plugin is required, then the plugin is loaded in the memory. As a consequence, they are not preloaded in the traditional way, because preloading will incur the cost of loading and occupying the memory also. They are not preloaded, loaded on demand. And they're written in native code, binary. It means you'll get good performance. Unlike JavaScript, this will give good performance. And finally, I have these external applications. They can be new clients. They can be legacy clients. These are interim solutions which are at my client and at my PC and which help in access this database. Help in accessing database. Okay. These are on my PC. These are the plugins. But the thing is that they are hard to maintain. I have to change it at all the client. I have to reinstall it at all the clients. This is not feasible, like in the previous case. But the benefit is that there's no repeated connection. Why? Because it is stateful, traditional client server environment. It is stateful. But all of these solutions, JavaScript, ActiveX, plugin, external applications, they require a FAT client. It advantages to have a thin client. These are interim solutions, quick and dirty approach to bring your database applications on the web. In the next module, I'll talk about server and web server and programming. Thank you very much.