Let’s outline three main web-based application types according to the roles performed by the server and the client browser.
Type 1. Service-oriented Single-page Web Apps
The term ”Web 2.0” isn’t quite correct here. One of peculiarities of Web 2.0 is the principle of involving users into filling and repeated adjustments of content. This means Web 2.0 isn’t bound to one technology or a set of technologies.
Basically the term ”Web 2.0” means projects and services which are actively developed and improved by users themselves: blogs, wikis, social networks. This approach allows an easily made reverse conversion: publish an existing application on the web.
Responsiveness/Usability:
The volume of data transferred for updates, is minimal. That’s why responsiveness is at the highest level. UI is generated via JavaScript, it’s possible to implement any necessary variants.
Linkability:
One will need special tools and mechanisms, as well as frameworks which can use, for example, Hash-Bang mechanism.
SEO:
If it’s needed for a part of the application, a special mechanism will be needed for that purpose. The hardest one to promote. If the entire app is promoted directly, there’s no problem: it’s possible to promote the application container.
Speed of development:
Since the architecture is relatively new, there aren’t many specialists who are able to create a high-quality site/system based on this approach. It’s required to develop a web service and apply more specialized JavaScript frameworks which build the app architecture.
Performance:
This criterion is the least influenced on by the server side. On the client side, performance and browser type are of the biggest importance. The server only has to give the JavaScript application to the browser.
Scalability:
When there’s an increase in the number of users, it’s required to scale only the web services that give the business data. The web logic is on the client side. There is no content generation on the server.
Security:
For protected systems it’s required to develop a preventive architecture, which considers the peculiarities of open-source applications. The logic is shifted to the client JavaScript, which can be relatively easily modified by an intruder.
Type 2. JS generation widgets (AJAX)
A particular widget is in charge of a part of the page; partial changes will not affect the whole page. The foremost advantage is that updates from the server arrive only for the part of the page requested by the client. It’s also good that widgets are separated functionally.
Linkability:
Here special tools and mechanisms are needed. As a rule, Hash-Bang mechanism is applied.
Responsiveness/Usability:
The content, which is fully generated and cached on the server, can be instantly displayed on the client; here time is spent on getting the data for the widget and, as a rule, on templating. The volume of transferred data for a part of a page is smaller than for the whole page, that’s why responsiveness is higher. But since a page is a set of widgets, the applicable UI templates in a web application are limited by the chosen UI framework.
SEO:
There are special mechanisms for these tasks. For example, for promotion of websites based on this architecture it’s possible to predefine the list of promoted pages and make static URLs for them, without parameters and modifiers.
Performance:
The time and resources spent on generation of HTML content are relatively minor if compared to the time spent by the app on retrieving data from the databases, and on their processing before templating.
Scalability:
Same as for the first type of architecture.
Security:
Part of the logic is shifted to the client JavaScript which can be modified by an intruder.
Type 3. Server-side HTML Web Application
The most widespread web application architecture. The server generates HTML content and sends it to the client as a full-fledged HTML-page. Sometimes this architecture is called ”Web 1.0”, since it was the first to appear and currently dominates the sphere of web development.
Responsiveness/Usability:
Due to the limitations of mobile internet and huge amounts of transferred data, this architecture is hardly applicable in the mobile segment. The least optimal value among these architecture examples. A huge amount of data is transferred between the server and the client.
UI templates on the client depend directly on the frameworks applied on the server. The user has to wait until the whole page reloads, responding to trivial actions, for example, when only a part of the page needs to be reloaded.
Linkability:
The highest of the three, since it’s the easiest implementable. It’s due to the fact that by default one URL receives particular HTML-content on the server.
SEO:
Rather easily implemented, similarly to the previous criterion. The content is known beforehand.
Performance:
Therefore it’s necessary to generate data for the whole page (not only for the changed business data), and all the accompanying information (such as design). Tightly bound to responsiveness and scalability. Performance is relatively low because a big amount of data must be transferred, containing HTML, design, and business data.
Scalability:
There’s a much more complicated situation with scaling databases, but this task is the same for these three examples of software architecture. If we take a look at the generation of HTML, under the increasing load comes the moment when load balance will be needed.
Security:
All the security functionality is on the server side. The application behavior logic is on the server side. However, data are transferred overtly, so a protected channel may be needed (which is basically a story of any architecture that concerns the server).
Conclusion
Web Applications Architecture concerns the design and implementation of computer software that runs on web servers, instead of running solely on desktop computers, laptops or mobile devices.
- http://www.google.fr/url?q=https://www.designveloper.com/
- http://www.google.it/url?q=https://www.designveloper.com/
- http://www.google.ca/url?q=https://www.designveloper.com/
- http://www.google.nl/url?q=https://www.designveloper.com/
- http://www.google.pl/url?q=https://www.designveloper.com/
- http://www.google.com.au/url?q=https://www.designveloper.com/
- http://www.google.cz/url?q=https://www.designveloper.com/
- http://www.google.ch/url?q=https://www.designveloper.com/
- http://www.google.be/url?q=https://www.designveloper.com/
- http://www.google.com.tw/url?q=https://www.designveloper.com/
- http://www.google.at/url?q=https://www.designveloper.com/
- http://www.google.se/url?q=https://www.designveloper.com/
- http://www.google.com.tr/url?q=https://www.designveloper.com/
- http://www.google.dk/url?q=https://www.designveloper.com/
- http://www.bshare.cn/url?q=https://www.designveloper.com/
- http://www.google.com.hk/url?q=https://www.designveloper.com/
- http://www.google.hu/url?q=https://www.designveloper.com/
- http://www.google.pt/url?q=https://www.designveloper.com/
- http://www.google.com.sg/url?q=https://www.designveloper.com/
- http://www.google.co.nz/url?q=https://www.designveloper.com/
- http://www.google.co.za/url?q=https://www.designveloper.com/
- http://www.google.co.th/url?q=https://www.designveloper.com/
- http://www.google.com.ua/url?q=https://www.designveloper.com/
- http://www.google.no/url?q=https://www.designveloper.com/
0 comments: