 Residents, now continuing with the previous last two modules, this is the third module add the data access layer. In this module, I will very briefly touch upon XML, but I will spend some more time on five design considerations. The purpose is as before to have a wonderful high performance experience and you should retain the visitor on your website. So let me very briefly talk about XML. XML is used for interoperability of data structures across different databases. And when you are designing using XML, I will not get a lot of details, but you should take into consideration the XML reader writers and careful when the data sets are very large and you have to take into consideration indexing also to give performance. So these are some of the considerations for XML. Now let's go at those five design considerations. So as you can see, we have these manageability considerations. Manageability considerations ensure that how you are going to manage and maintain your web-based database applications and performance considerations also, which is obvious. Security considerations are obvious. Deployment considerations. How do you place, engage, install, deploy your wonderful web-enabled database applications and finally the technology considerations because I will show you a table also with reference to technology considerations. The point here is that being a web-based database designer, you should be able to translate, transform, convert the requirements into the technology that if this is the requirement, this technology should be used. If this is the requirement, this technology should be used. This of course will become clear as I show you the table. So manageability considerations use common interface types because if you create your customized interface types, everybody is not accustomed to it. So when you have these common interface types, then it becomes easy to manage your applications, to maintain your applications and use custom entities. Now you see that there's a difference over here. That over here we said common, over here they are custom. They are not the same. Why? Because for certain cases, for the entities, you will use the customized entities to manage, to have your application more manageable, derived business entities from base class. Because the system has been designed based upon certain requirements and your business entities should be based upon those base classes that will make managing your application more manageable, kind of circular. Performance considerations, connection, pooling and simulate load. Now remember one thing, when you pool the connections, the benefit of pooling the connections is that you don't have to repeat certain things. That is one benefit. Simulating the load, I have seen in real life that people come up with very tall claims about how their application is going to perform, theoretically. But simulate the load, please put the load in terms of the number of users, in terms of the data transfer, in terms of the number of requests and so on. That will give you an idea about how your application is going to perform. You are not going to wait till deploying your application and seeing it crash in the worst case. Tune isolation levels of the queries, batching the commands. This I've already mentioned in the previous module also that if you are doing something like this again, again, again, okay, this will take more time. But if you batch them together, then the overhead is amortized across these requests, gives better performance, use optimistic concurrency, try to have execution in concurrency and use the ordinal lookup. All of these things add to a good high performing web-based database applications. Of course, details are there in the notes. Security considerations use Windows authentication. Now a lot of smart people have a lot of time invested into ensuring authentication, which is in the Windows. So a better approach is use the Windows authentication, encrypt the connections. I'll have more about encryption in the subsequent modules. When the encryption is there in the connection end to end, it will, of course, ensure the integrity and the security and the privacy of whatever is passing between the receiver and the sender. I'll have more in the subsequent modules. Use sort hash. Hashing you may have covered in a course in data structures and algorithms. Sort hash adds, uses random numbers to increase the randomness and to distribute the data which is being hashed. And caller should be providing the identity information so that it is ensured that the connection is made from an authorized person or entity. And the data is going to an authorized person or entity. And of course, use string, use parameterization instead of string concatenation, because the string concatenation has the security issues. Deployment considerations, data access and business layer on same tier. When they're on the same tier, there is less traffic across the tiers. And for remote data access, use the TCP protocol because the TCP protocol was built is a transmission control protocol. And data access layer not on the database server. Database server is on the last tier, the third tier where and the data access layer is on not on their tier. Because that not only affects the performance, but the deployment is separated from the bridge between the application layer and the database server itself. So these are the consideration. And the last one is the table which I was mentioning. Earlier, and you can see over there that for the basic support application like this, you need edu.net. And for data driven web application, ASP.net, these are Microsoft specific. Of course, there are other vendors also, which have their own solutions. But I am talking about this ecosystem because there is a lot of functionality and technologies which are available for these types of applications. So you can see that depending upon if you have this requirement, you can use this. If you have ASP.net user interface, you can use a data reader and so on. So as web database application developer, you should be able to translate the end user requirements into the technologies. So that's all I have for this module.