 So in this module, we'll talk about the server side programming and we'll also talk about the security aspects because as I have mentioned in the prior modules that TCP IP was not built for exchanging confidential data to perform e-commerce. So security aspects are there and they need to be covered. The security aspects are covered through firewalls through proxy servers through digital certificates through secured HTTP and then of course there are other issues also which is the authentication which is authorization and the list goes on. So these are the security aspects that will be covered in this module. Also what I will cover in this module which is the introduction to the main thing. So this is the introduction of the main aspect and the intro of the intro over here is that I will also cover what is the programming done for the with reference to the APIs with reference to the CGI and with reference to the other programming aspects and the modules and the techniques and the technologies which are with reference to the server side. And I will also give you very very briefly the advantages, the disadvantages and the issues which are associated with it. So let's start with the details. So I have this CGI common gateway interface and the programming is done using C, using C sharp also and traditionally it was done in Perl. The advantages it is independent of the platform, independent of the language being used. So it is very flexible, it is independent of the server being used. So the advantage is that the possibilities are limitless. And then we have this extended CGI also which also supports independence which has certain features also. And then we have those server APIs which are the extensions like we have the extensions in the browser and then the vendors make their own APIs also. The advantage of these APIs and these extensions are they give good performance. But the downside is that they have a certain level of complexity associated with them. Hence we have the CGI versus APIs and the proprietary HTTP servers. Now these give performance but they have the issues which are the architectural issues which are the dependence issues. So one has to look at a trade off, do a trade off that which is important or how important one thing is the performance or the maintenance or going along with it on a long term basis. So that we will go into more details. Then we have these native APIs, application programming interfaces. And these are with reference to a certain ecosystem, a certain vendor, a certain company. And then we have ODBC, Open Database Connectivity. For ODBC which was which was spearheaded by Microsoft, it allows installing certain components at the client end which makes the connectivity with the databases such as SQL server even with Oracle also that is there over there. And these are the benefits and the shortcomings which I mentioned earlier. The main benefits are the performance and the shortcomings could be the proprietary nature of the architecture. Then we have the template driven packages and we have the shortcomings. So I will cover the details when we come to those main topics. And then we have GUI applications, graphical user interfaces. Now the people which are used to point and click type of environment, visual environment, they find these GUI based applications for development for the server side programming very attractive. And of course they are attractive and they are easy to use also and the learning curve is not very steep. But the downside is that these tools, they generate the code and the performance of that code is not same or it's not better than the code which is written by experienced programmers. The bottom line over here is that the code written by experienced programmers it performs better as compared to the code generated by point and click visual interface tools. Then of course we have these issues of with reference to database applications running over the internet about the privacy. Privacy means that whatever I am sending over the internet that is only between me, the sender and the receiver. Then is the integrity. Integrity means that the whatever is sent we have covered privacy then is the integrity. Integrity means that whatever I have sent that does not changes while it's in transition. It does not changes while it is being communicated that is integrity. Then is the authenticity. Authenticity means that if someone is sending me something then I am sure that this person is the person who has sent that data that information to me. And then is the non fabrication. Non fabrication means that the it is not fabricated. I cannot fabricate myself. And the other aspect as per different authors is that the sender cannot fabricate himself or herself that is the non fabrication non-repudiation. Non-repudiation means that if I send something over the internet I send email then I cannot say or the sender cannot say that the sender did not send it. So if the data comes from a web server as per my request then the web server or the associated software there is a trail and that trail associates the sender which the material which has been sent and no illegal request by the client can be made to the main server. For example the client is not or should not be allowed to inject code in a text box and that code runs on the server. And of course that no malicious code can be sent from the other end. So it kind of ensures the security the journals these are the general security issues for web based applications. Now see that a web based application is a collection and a combination of many many modules and of course then there are proxies then there are firewalls authentication certificates and the list goes on we'll cover all of this in the subsequent modules.