 Dear students, this module is a continuation of the previous module But I will focus more on the performance aspects in this module Now web-based database applications are very complex Why? Because there are hybrid of different technologies, tools, applications, domains, of course the network also And all of these things have to work together And if some parts of this application puzzle are not working properly This will affect and impact and influence the entire performance of the application Before I go into the performance details, first I will spend some time and finish the security aspects with reference to Java and ActiveX Java has certain security features which are good Which is the class loader over here You can check the system security You can define the security levels of different actions which are taking place And you can also ensure that things are happening within the given desired established allocated security levels So if you are thinking about making web-based security applications, these are the features which are there in the Java Byte code verifier, checks for the format Checks if there is overflow or underflow Checks that there is no illegal data conversion That is there in the Java Java security There is a security manager over there also Which enforces the security policies It means you can make the security policies Through the security manager, you can enforce the security policies And prevent the attack on the client You are the client, you are the browser It prevents the attack on you So Java has some desirable security features Now we go of the ActiveX security As I have discussed before, ActiveX for Internet Explorer Com and Ole will talk more about it And for downloaded content Because as part of your web-based applications, you may be downloading files Audio files, video files Cookies also, other things also So that is catering for the download content And more, working of ActiveX works for uncertified certification authority certificates It means that it is up to you That when you are downloading an application Or download an applet Or run something It is up to you, your choice That you are getting something from an unauthorized Uncertified certification authority And it is up to you for that you decide If you want to go ahead with it Or you don't want to go ahead with it So you have to make it straight off So please be careful about it There are the performance issues Of course, I will not go into a lot of details But I will just briefly touch upon these performance issues Network consistency Everything is moving over the network Packets dropped Traffic congestion Links down Problems, server down Okay, so these are all issues that are happening So these, all of them affect the performance Because you may have very best Client and server resources which are over here But if the in-between network traffic is not reliable Is jittery Is jittery New words Is jittery Then you don't get consistent performance Which is there in a traditional client-server environment Two-tier environment That kind of network is not there, shareable Then are the client and server resources Of course if you have powerful resources Add the client and the server and you get good response Of course your client is thin But the server in a cloud environment is powerful Can give you good performance We will talk about it in more detail Database performance Okay, what database you have How you have designed it What is the schema What are its inherent strengths Content delivery You are downloading audio, video or animation Have you compressed it Have you format Have you divided it And so on State maintenance We have talked about it Cookies, URLs, session IDs Because if you maintain the state And you can continue with that state Then you don't have to again and again Do these things for the state Which we have discussed in detail Prior module Client-side processing That we discussed in all of detail Programming languages Which programming language you should be using You should use Java Or you should use only JavaScript Or you should use C or C++ in a CGI environment Or you should use some GUI tools Okay, for those database bridges Gateways Peak usage Design your system For the peak use is fine But how frequent or infrequent is that peak use So if you have designed your system For a peak And that peak only happens Maybe once in a lifetime Is that desirable Or you design for a system for a certain peak Which is not very high Of course then it's not a peak Or a second peak And then application design This is very important So what I will do is In the next slide I will just briefly go Two or three of these points in more detail To give you an idea Network consistency I have talked about over here And of course the peak application design So what happens is that Design takes a lot of time Right And if some certain things are not covered in the design And you say Okay, we will look at it later That later never comes What happens is that If there is a design flow That ripples That ripples out That ripples out That will affect everything It will touch And why this application design issue comes When this design is outsourced Or the development is outsourced If the design is done in-house And the development is outsourced And the quality measures are not stringent At the outsourced Organization entity as compared to the in-house Then your application design is not going to be very useful Your application will have the flaws Which will cost you dearly to fix them If they were not fixed So that is in-house versus outsourcing I hope you get the picture Thank you very much