Saturday, May 28, 2022

PerformanceTesting-Feb14-Application Architecture, 2 tier Vs 3 Tier, Typical 3 tier architecture

Yeah good morning everyone so in the previous session i covered what are the different types of performance testing and we had one quick assessment right i have shown you some graphs and if you remember i asked you to identify each of those graphs right yes you have some quick assessment before .

Starting the session okay not that graphs but i want to have some i need to take some i want to take some quick assessment okay so i explained what are the different types of testing and i explained those all those types of testing in detail and we had some quick .

Assessment on the previous day concepts sorry on the so i have shown you some graphs and i asked to identify what type of test is this right so now let's when so the reason is behind this exercise is in some interviews interviewers will ask you to draw the .

Graph they will not show you the please remember that they will ask you to draw the graph for a load test or for s5 test rs testers so that's the reason for this exercise here is now coming back to this so let's have some peak assessment before moving on to the next session all right .

Before moving to the next concept let's have some quick assessment so chaitanya so what is a load test hello yes what is a load test .

so rl select uh what are the different types of testing in performance testing what are the different types of performance system there is two types of functional testing and non-functional testings no i asked what are the different types of performance testing .

I didn't ask what are the types of testing my question was what are the different types of performance testing different types of performance testing it's a spike test load test like okay .

test right what are the other performance test types superior spike test volume test stability test and failover test right what is stability test i told i did not uh explain that right .

Scalability testing yeah testing i covered scalable data yes yes so what is uh load testing so load testing where we gradually we give an expected load on the application like one to two hours and see what how the application is learning .

It's only for the short period of duration that is one to two hours yeah how the application behaves or how is the application behavior or how the application is responding yes sir okay so load test is something which we do with normal user load on the application for one to two hours yes right .

What is uh uh what is soap test uh it is a test done for long duration uh test based on business hours to identify memory leaks and connection leads it can be four hours or eight hours or one day three days in that way okay perfect yes thank you danish what is a stress test .

Okay ganesha isn't travelling during this time yeah next karishma what is like it's stability and response time by applying the load which is more than the design number of users sir that's just more than .

Am i correct yeah yeah spike test is nothing but it basically involves the application which have a feature of sudden increment in number of users and also the quick drop quick drop as well okay uh siri what is uh uh what is .

Volume destiny what is volume testing yes sir volume testing is normally when we test the application with a large uh flood of data load of data to check the behavior of the system uh .

That is known as fault listing right when there is a certain volume certain large volume of data in the database right so in volume testing we test the application behavior when there is certain large volume of data in the database isn't it and which one .

Represents this volume testing out of these graphs you are seeing graph number from 22 to 26 right which graph represents volume testing missing right and which one represents stress testing right so this represents a stress test right so here we are gradually .

Increasing the user load and what is the objective of doing this stretch test to identify if our application is sustaining with increase in load and it is running for a higher higher period .

Of time longer period of time and wait did i mention about duration in the stretch test no right just to identify i mean how far this application works and to identify the breakpoints right application breaking point to .

Identify the application breaking point and what is this one what what type of test is this this is spike and what is the normal user load here and what is the spike can you identify like what is the normal user mode and what are can you know when you mark those i will give you .

Control okay i'm giving you remote control yeah you got a control now can you mark like what is the normal user load and what is the spike here in this trap yes sir which parts are please .

Uh this is the normal load yeah try it at the bottom okay let me clear it fold and fold this way mark the normal user lot at the bottom and show the spikes on the top okay this is the normal user load and uh .

What is x axis and what is y axis what do we see on x-axis and y-axis uh x-axis is the test time okay thank you guys so shall we move to the next concept or if you have any queries we will discuss we move on to the next concept .

Which is i want to discuss like types of performance testing in detail yes every day we will have one quick assessment on the previous day concepts for the first five to ten minutes okay so i'm taking control and also after one month into the training i'll .

Share you an online assessment where you will be having 30 uh 30 questions 30 multiple choice questions which you should answer in 30 minutes okay so after one month into the training i will share the clear that online assessment so once you attempt the test i will get a mail like this let me .

Okay so i will get a mail like this and also you will also see uh your score like this right if you click on details for here and all these will be mult multiple choice questions so you have to answer 30 questions in 30 minutes all right then so let's move on to the next concept or the next topic is what .

Is application architecture what is true here versus what is 3dr and what is a typical three-tier architecture of leaders so first let's understand what is meant by an application architecture right so application architecture means pictorial support any web application it can be any uh it can be either a web .

Application or a mobile application right or a desktop application so what is meant by architecture means architecture is nothing but application architecture is nothing but pictorial representation of an applications components components means parts right that is the general meaning of component .

Right so in the application architecture diagram all the servers of that application will be represented in the in a diagram in the form of a picture right so it is a pictorial representation of an application's component software and connections application architecture diagram helps us to understand .

How these applications interact with each other to meet the business our user requirements right i'll show you some architecture diagrams in the next session so first let's understand what is meant by application architecture and what is meant by a server so here we came across some new term called server right so .

Let's understand what is a server is this is this definition clear based what is meant by application architecture is not clear okay so let me explain in detail with the help of it okay suppose this is a typical creative architecture application uh three-tier application architecture this is the .

Diagram of a typical or a traditional three-tier application architecture so if you observe here i will explain this diagram so i will explain this any application will have okay so when you when thousands of users are you know any user is accessing the .

Application using the browser right suppose you type gmail.com or you type amazon.com or flipkart.com right or bigbasket.com right so whenever you access any application from any browser like this see this is a typical web application architecture your request will first go to something .

Called web server and then application server and then database server so architecture diagram is nothing but the pictorial representation of the server or the components components of that application okay so that's what i mentioned here it is a pictorial representation of an .

Application component software and connections and how these applications interact with each other to meet the business or user requirements say for example you type gmail.com or pica.com or bigbasket.com right you are accessing any application like this okay so let's see .

Amazon noting right so you are sending a request to the server and you got response from the server isn't it yes so from a browser we used a browser and we accessed we accessed the application right so what happens is in the uh behind the scenes what happens is .

Whenever you are using any browser and exchange application your request will go to the amazon server okay it will go to the amazon servers and you will get the response you are getting the response here yes one okay now this architecture diagram what .

Does the architecture diagram help you understand is how these servers interact with each other to meet your business or user requirements right suppose you search for some product here let's say for example you search for some product okay so all these details will be see for example all the products available .

Which are matching with this search item with the prod the search item all these products will be available in the all these details will be available in the amazons amazon applications database server right all these details will be there in the database server so when you send a request to that right first your request .

Will go to the web server and then it will go to application server and then database server and application server will get those details from the database server and it will send to web server and web server will send it to the browser that is how that is what happens in the background like when you search for some .

Product or let's say for example you want to you search the ticket availability on red bus right okay uh red bus is not a right example here so i'll explain why later on suppose you search for like a fine availability from one station to another station .

Right when you click on search right so you are getting all these details right so what all the what are the trends available between these two stations and what is that time of that what is the departure time and what is the availability on each class right all these data will be .

Stored in the database server and your application server will get those details from the database server and it will send to web server and then web server will send the response to the browser so this is how a typical three tier architecture our typical web application works let's say limit this to web application we'll .

Discuss about other types of applications later on is it clear so far did you understood the understand this statement yes yes how these servers interact with each other to meet the business or user .

Requirements is this a statement understood now okay and also architecture diagram shows you what are the servers in that application what is what all software are there and what are the functions how are the connections going from so it will show what are the connections .

Available means how these are components are connected with each other how these components are connected with each other you see some connections here right observe here you are sending a request and you know you see a two-sided arrow mark because you send the request and this is the response again you see lot of connections in between .

Right isn't it so your architecture diagram shows like what are the what are the application components or what are the servers involved and what are the software i mean see i'll come to this what is the software under and what are the connections involved in that application .

Right and what is meant by a server here so server means it is a software or computer program or hardware right i heard that you know there was an interview question like someone that when someone was attending an interview with some three years experience right .

So once not my students by the way okay so one of the interviewer asked this question what is one by a server right she wouldn't answer that question he or she could not answer that personalities what is done by a server right so basically server is a software or a computer program or hardware .

Which understands your request process your request and sends back the response which understands your request let's say for example you sent a request to amazon you sent it you have sent a http request to amazon right you just typed amazon.com or flipkart.com right you're sending a request to the server .

Right what request you are requesting this amazon dotting home page that is a request and this is the response you got from the server and in case of card this is the response you got from the server are we clear on request and response first of all right so a server is a software or a .

Computer program or hardware which understands your request process your request and sends back the response are these three statements are these v lines understood now it can be a software or a computer program or hardware is it clear see suppose there is a computer which .

You are using for you know on which this application is running so you can call that also as a server that hardware right at the box on which your that application is running right that is also we can call that as a server rls here also we have some web server application server database server these are not you know when you say web server .

Um see it web when is a web server it is not a hardware component all these three web servers may be running on a single computer okay i'll explain that in detail first is this statement understood you know what is meant by understanding the request processing the request and sends .

Back the response is a performance testing project right or you know whenever you join as a functional testing name so you should know what you should know what is the application architecture of that project of that application okay so and that helps you to understand what .

Are the software's what what are the different servers of in that application and how the connections are established between each server and all this all these details how your request will be processed and you'll get all those details from the architecture diagram there are a few people from .

Civil background right can you relate this to your your field background what is um no what is the equivalent one in your know in your civil background i think you have you have something called blueprint or something right yeah any questions here someone is asking something yes sir hurry here sir .

So like what does it mean like web server i'll come to that i'll explain that when i am when i come to this slide deck i'll explain what is web server what is application server and what is database server and what is the difference between web .

Server and app server i'll explain that so all right so let's go let's move on to the next one so two tier versus three tier architecture if you remember i gave some examples already to this concept okay suppose you are work so let's take a bank example right as an end user we most of us all of us are are having a .

Net banking account account isn't it sorry not banking you have net banking this you have a net banking account or else you know whenever you have whenever you have a bank account you will be using through net banking isn't it yes if you want to do some fun transfer or if you want to make some payment you can do that through net banking right .

Yes yes so basically that is a web interface right so let's say for example if you are using icsrbank.com you are using icsa bank banks net banking application wherein you are using a browser to access the application and you are you are doing carrying out .

Your transactions whatever transactions fund transfer or bill payment or whatever it is right but if you go to a bank suppose you want to deposit some cash or you want to withdraw some cash right and you go to your bank will the bank employee use and use the same ad banking application like us .

Will they use this as the bank.com.com they will be using some core banking application for banking application like financial in india most of the banks use this software called most of the banks use this software called financial and remember this is the product of invoices this financial .

Application is developed by our infosys company right they will be most of the banks are using this in india at least right so they will be using this financial application on their machine on their desktop or laptop right so they will not use a browser like us and they will not use .

The browser-based application but they will be using the application installed on their machine right that is the best example for this two-tier architecture so they will have some client installed on the machine cynical software client will be installed on their machine which may be .

Developed in c dot net or java and that will be communicating directly with the database or of course there may be some uh there will be some application server as well here right there will be some application server here as well so but they will not be .

Using a browser basically that's what i want to say but whenever you are using a browser right so but as an end user we will be using some browser right because installing the application is not required for us isn't it we can use any browser and access the url and let's use the .

Application right so all browser-based applications are browser-based applications files under this three-tier architecture as an end user we will be using any browser like internet explorer ie stands for internet explorer or we have edge now that ie was replaced by edge browser right our chrome our firefox and we will .

Be accessing the application like this from a browser so all these browser-based applications falls under this three-tier architecture whereas these are called as desktop applications are thick client applications so these are also called as thick client .

Application is also called as a desktop application so and these inclined what we call inclined application is all browser-based applications web applications right let me click it in this way .

Browser-based applications browser based applications are called as inclined applications so let me explain why they are called like that right suppose if you are using a desktop application for example and see and let me give one more example for this every one of you joined this meeting .

Through zoom client right did you install the zoom application on your machine or you joined from a browser zoom application right so install some zoom client on your machine right and we can also attend this meeting zoom meeting from a browser by going to .

Zoom.os right by going to this url zoom dot us let me show you quickly that one you can join this meeting uh you can also join this meeting by going to opening a browser and go to zoom.os and click on this join a meeting you can use this feature also to join .

The meeting there is some issue with chrome browser with room meeting somehow it's not working right so you can join the zoom meeting by clicking on join a meeting isn't it and if you enter the meeting id here and click join you can join from a browser also isn't it so .

Then you are using the browser based application isn't it you are accessing the application you are asked let me voice invert listen is my voice not audible for every everyone .

That should be issue on your side secondly i don't think so now you can audible oh okay right so you can use zoom meeting in two ways one way is you can install the zoom client on your machine zoom software on your machine and you can join zoom meeting that's how you join now .

The other option is like you can join the zoom medium from a browser by going to this url right so then you are using a thin client means you did not you need not install anything on your machine so that's why this is called as thin plane already you have some browsers installed for accessing any application you need not install anything on your machine so .

If you are using a application by through a browser right that becomes a thin client application we call that as a thin client application but if you need to install some application on your machine we call that as a thick client because here you could take more cpu and more .

Memory and you some disk space also right and that's why that is called a desktop application if you are using from the desktop that is called a desktop application and if you are using from a browser that becomes a web-based application web application is it clear what is the difference between a chic client and thin client .

Yes sir yes sir and we call this as the two tier right this thick client applications are desktop applications are called two-tier applications and this is called as three tier applications it should be pronounced as tear okay are we clear so far what are the diff .

What is the difference between a thick client and inclined application yes shall we move to the next one yes right now let's understand what is the what is the architecture of a three-tier application right so as an end user different users will be using different process that's why we have .

Internet explorer chrome and firefox and so some users may be using edge browser some users may be using safari browser there are a lot of browsers different types of browsers in the market right we have edge browser we have bravo browser there is a new browser called brave right have you ever used that or do you know .

That there is one new browser like i think which i came across i came to know that last year so this is brave browser so good thing with this browser is like it will block all the ads between disk it will not display any ads understood .

Okay that is one good feature of this web browser so in this also we have netscape and safari lot of other progress right so and whenever you access any application from any of these browsers your request will first go to the web server .

Something called web server okay i'll explain this what is this load balancer later on okay first let's understand what is this web server and why it is called as presentation tier it's called as presentation tier let's understand why it is called as presentation here and what is application server and why is it why is .

It called as logic tier and what is database server right first let's understand your first your request will first go to the web server let's say for example i open a new browser and type let me close this open a new browser and let's let's say i type gmail.com right .

The first time you access gmail every user will see the same page yes or no yes sir rs if you take irctc example right you type irctc.4. every user will see the same page yes or no yes sir and this page doesn't change frequently .

This is a static page this is a static page of course the date will change except that you know the page the images and all this doesn't change whether you type gmail.com or irctc home page or ics bank.com right these pages doesn't change frequently yes or no and .

Everyone see this page only the same page yes or no agree with me yes so this is a static page when it says static what is the meaning of static place right that doesn't change right and uh two terms here one more term you have to .

Understand is dynamic what is dynamic changing right let me use i will use this one dynamically static meaning right so dynamic means it is capable of changing which changes right static means stationary or fixed isn't it understood guys static means stationary or fixed .

Isn't it dynamic means which changes capable of action or change right so why are we discussing this is all the static content if you are sending a request for static page all that static content will be served by served by this web server means when you access the home page of gmail or icsevant.com or ircdc your .

Request will go to web server and then web server will send the response to you it will not go to there is no need of going that request going to application server or database server right so your web server will serve that purpose you will serve that static pages is it clear this .

Now when does this application server come into picture let's understand that i'll take the same example and suppose you search for trends from one station to another station station and if you click on search right so i told you just before right all these details will be stored in the .

Database server isn't it all these details will be stored in the database server now your request will go to the web server and whenever there is some and also one more thing observe here this data changes frequently right this at least the availability details .

And all changes yes or no yes so can we call this as dynamic content yes yes yes this numbers changes right availability and all changes wait wait list number available english standalone right so web server will not have these details in such cases whenever you .

Search for trends between two stations or whenever you log into gmail and say for example i login to my given okay so i enter my email address here and click on next okay okay now it should show my inbox once i in one and once i enter my credentials and login it will show my inbox if you .

Log in it will show your inbox right again this is dynamic content right yes sir this has to be changed right and we always we need to get the new updates also right so whenever there is some whenever you are sending a request for dynamic content right then application server comes into picture .

And this is called as logic tier why this is called as application tier or logic there is suppose you search for trans between two stations right so it should it it should process some logic means it will run a query in the background something like this it should run a query like this one it should run a .

Query like this select all star means alternates select star from trains table where departure city is equal to and destination city or arrival city right destination city is equal to .

Angular 10 so it should application server will will run this query right it does this processing it process this query right it will run that it will have application server will have that code or logic for getting all the trains from head .

Over to bangalore or whatever cities you select and that details that all the trains all the trains data will be stored in the trains table on the database server so it will process some logic and it will send you the response right so that is .

Where your application server comes into picture that's why this is called as logic tier or application here clear guest so any dynamic content to any request for the dynamic content will be handled by application server and database server any request for static content will be served by the web server itself if you are sending a request for .

A static page that will be handled by web server itself okay and now if you are searching for trends or if you log into the application and it should show you the inbox gmail application or whatever it is it should show you your inbox right then what does it do what does it do .

This application server will process that logic verify your credentials again credentials will be stored in the database right it will verify whether you entered a wrong correct password or not and then it will get your mailbox from the database and the application server will send the response to web server and web server .

Will send the response to the browser that is how your request will be fulfilled or your request will be processed right now we understood what is this web server application server and database server yes sir yes sir all right so .

Now let's so i'll explain this load balancer what is this load balancer and all later on okay for now understand you know when you say three tier architecture application what are the different components or what are the different servers and what is meant by a server and what is meant by web server application .

Server and database server so all the static content will be served by the web server and all the dynamic content will be served by application server right and if required this application server will connect to the database and get the details from the database and it will process your request and send to web server web server will send that .

Response to the browser finally web server will send the response to the browser clear case yes sir now let let's understand now what does this you know presentation layer logic layer and database layer consists of right so in this diagram you know i will .

Try to help you understand what does this presentation tear so you see here right presentation to your logic peer and persistence here so presentation tier will be made up of html css and javascript right see whatever presentation layer .

Means this is nothing but this one the page that you are seeing right this the the page that you are seeing will be typically made up of html css and javascript shall we see that that let me try to show that right click right click anywhere on the browser .

On the page okay and click this view page source everyone please do this open any website and use this option view page source can you please do that everyone you see something here dog type html yes are you with me yes sir .

You see some at the top you see some doc type as html means doc doc type means document type so this is a html document means what is this html stands for hyper text you know that right right html stands for hypertext markup language .

So that is the language in which your html pages are designed and all these websites are designed that is a language in which this is designed right so apart from html you have something called css let me show you that i'm searching for css control f you can do control f to get this window this one and .

Search for css you see here there are some css files observed here you see some problems let me show you the css file name yeah see here nla revamp library min dot js and something called custom min.js sorry dot css you see some css files right .

Jquery.multiselect.css right so this is the css that is mentioned here i'll explain what is the purpose of that css soon right so any web page is made up of html css and javascript let me show you the javascript also typically most of the websites are made up of these three components .

Dot they search for dot js you see here there is something called google analytics analytics dot js gtm.js isn't it there is something called tab 120657.js so any webpage that you see like will be typically made up of html css and .

Javascript okay so your presentation layer means presentation layer means whatever you see in the browser that is that is typically made up of html css and javascript now let's understand what is the perk we know html so suppose you know what is the html used for that is the language in which your .

Web pages are designed okay you can see what is html so hypertext markup language it is the standard language for creating web pages it is a standard markup language for creating web pages are we good here case are you with me yes sir yes sir .

This html language will be used for creating web pages right now what is know what is let's understand what is the css and javascript okay so any web page consists of see any web page consists of let's say take this example any webpage consists of some buttons some images right and some drop .

Down here is a drop down right and if you click on login right so it will show you some text box these are called as text boxes isn't it this is a text box and this is a drop down drop list pictures right so these are text boxes and you have a button here right so .

Right all these text boxes and buttons will be developed using html language okay these drop downs are a check box this is called as a checkbox all these check boxes right are these text boxes these buttons all these will be developed using html language now pss apart from this different components webpage components .

You know you have something else like this is a bank dot bank image right it should be displayed over here right and you see a button in orange color right and of course this will be written in html only or the color will be defined in html language only but it should be displayed at here at this position right .

All this layout will be defined using css means our text box should be displayed here next to the text box there should be a you know that keyboard icon right all this layout will be defined in css file so that is the purpose of this css .

This one css stands for cascading styles tools let's you know let me show you that what is css let's google for what is css what is css cs css stands for cascading stylesheets css describes how html elements are to be displayed displayed on the screen wrapper on or in other media what does css does .

This it describes how html elements are to be displayed on the screen when i say html elements what are the different html elements text box drop down buttons perfect right those are the different html elements text box drop down or check box radio buttons all these are called html elements now css describes .

How these elements should be displayed on the screen right and css stands for cascading style sheets is it clear guys yes sir right so that is the purpose of css css now how about this javascript what is the purpose of this javascript let's understand that .

Right so javascript is used for first let me explain let me search what is javascript guys why i am showing like this is you can do this after the session right after the session you can go through this right you should explore in that way and let me show you one more thing so instead of typing here right so .

What you so let me go to css i have one separate slide on this let me show you that here it is so you see here css stands for cascading style sheets css describes how html elements are to be displayed right so you can what you can do is when you are .

Going through this material i shared this material to those who joined your who confirmed your joining right so you can right click and use this option explore javascript right on the slide deck then it will show you the google search results you need not open a browser and you need not type it again the whole thing right .

And if you want to understand what is xml just right click and explore explore xml right explore xml it will show the google search results here itself you like this like this tip yes sir yes i would like right so you can use this feature guys .

Right you just right click over here and use this option or remember this short shortcut ctrl r shift i alright so coming back to this so what is javascript so javascript is a programming language for the web it can update and change both html and css you can update and change .

Both html and css right so basically javascript can calculate manipulate and validate data let me and in the bracket i mentioned as client-side validations let me explain what is this client-side validation okay what is meant by client here by the way when i say client-side validation any .

Guess what is meant by client here client is nothing but browser browser ok now what is done by client side validation let me explain that so you type gmail.com right let i take the same gmail.com example right suppose you you know you are on this page you are supposed to enter either your email .

Address or phone yes yes are you with me yes sir yes right suppose you you need to enter your either your email or phone number so i so this is a valid email address right this is a valid email address and if i click on next it should ask me the password the application should .

Prompt me the password right but suppose if you enter some you know some some junk characters like this is this a value it should give you an error it should give you an error right so if i enter some special characters okay let me find some special characters like this .

Right if i click on next what should happen it should still show some display some error messages like this isn't it so this is called as client-side validation means this validation whether it is a valid email address or not right so whether it is a the format is valid or .

Not right so no no email address can exist in this format right right so this validation will happen on the browser itself right then that is called as client-side validation this this particular thing will not go to the gmail server right whatever characters you entered right need not go .

To the gmail server right and this validation can be happened in the browser itself if the validation happens in the browser then this is called as client side validation and that code will be written in a javascript file whatever code is required to validate this right that code will be written in .

The javascript file so that's why here you can see javascript can be used to calculate manipulate and validate data right and client-side validation so this mostly javascript is used for client-side validations now is it clear what is the purpose of why do we have three things three .

Components in the presentation layer and what is the purpose of each tomorrow we will have an assessment yes all right yes sir yes next comes logic tier so in this diagram we have logic here right so this logic layer logic tr presentation sorry the application here .

Will be developed in some programming language like java.net php or python that's what this diagram tells you right this application tier will be developed using some programming language any of these programming languages like java.net or php or python and this database layer we have one more tier called database right so .

There are different types of databases like mysql sql server oracle postgresql you have mongodb you have sap hana so your database layer can contain any of these database servers right and nowadays so this is all about presentation layer logic tier and database view is this clear or reading .

Queries here and now and this is the web layout means when you are accessing any application from the browser this is how the layout will be isn't it but if you are accessing any application from the mobile browser this is how the layout will be right yes so one more layer got added here we have .

Web web layout and mobile web browser layout this is the new one that is added right so that's why you know i that is called as ntr architecture so anything c 3d or 4tl like that so anything about vdl that it can be called as a ntr architecture where n can be any number when you say nt or architecture n can be .

Any number is this clear for everyone what is ntr architecture and what is the what what are the different components are what are the different components of a presentation here and logic tier and database here yes sir okay so shall we move to the next one .

It's already 9 40 i'll stop it here guys for today right so we will continue with performance tomorrow i am going to explain now before starting performance testing life cycle i want to explain you what is some http basics .

I will take this later tomorrow i want to explain cdp basics http request and response and then i will explain the performance system let's see you same time tomorrow let me finish recording and for recording purpose thanks for watching and have a nice day like share .

Subscribe

RELATED ARTICLES

Most Popular